BioCMAMC-ST
Simulation::ScalarSimulation Class Reference

#include <scalar_simulation.hpp>

Collaboration diagram for Simulation::ScalarSimulation:
[legend]

Public Member Functions

 ScalarSimulation (size_t n_compartments, size_t n_species, std::span< double > volume)
 ScalarSimulation (ScalarSimulation &&other) noexcept=delete
 ScalarSimulation (const ScalarSimulation &other) noexcept=delete
ScalarSimulation operator= (const ScalarSimulation &other)=delete
ScalarSimulation operator= (ScalarSimulation &&other)=delete
 ~ScalarSimulation ()=default
bool deep_copy_concentration (const std::vector< double > &data)
void reduce_contribs (std::span< const double > data)
void performStepGL (double d_t, const FlowMatrixType &m_transition, const ColMajorMatrixtype &mtr, MassTransfer::Sign sign)
void performStep (double d_t, const FlowMatrixType &m_transition)
void synchro_sources ()
ColMajorMatrixtype & get_concentration ()
ColMajorKokkosScalarMatrix get_device_concentration () const
std::span< double const > getVolumeData () const
std::span< double > getContributionData () const
std::span< double > getContributionData_mut ()
const DiagonalType & getVolume () const
auto getConcentrationArray () const
kernelContribution get_kernel_contribution () const
const ColMajorMatrixtype & get_mass_transfer () const
std::span< double > getConcentrationData ()
std::size_t n_row () const
std::size_t n_col () const
void set_mass ()
void set_kernel_contribs_to_host () const
void set_feed (std::uint64_t i_r, std::uint64_t i_c, double val)
void set_sink (std::uint64_t i_compartment, double val)
void set_zero_contribs ()
void setVolumes (std::span< const double > volumes, std::span< const double > inv_volumes)

Private Attributes

std::size_t n_r
std::size_t n_c
ColMajorMatrixtype total_mass
kernelContribution contribs
DiagonalType volumes_inverse
DiagonalType m_volumes
DiagonalType sink
EigenKokkos concentrations
RowMajorEigenKokkos sources

Constructor & Destructor Documentation

◆ ScalarSimulation() [1/3]

Simulation::ScalarSimulation::ScalarSimulation ( size_t n_compartments,
size_t n_species,
std::span< double > volume )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ScalarSimulation() [2/3]

Simulation::ScalarSimulation::ScalarSimulation ( ScalarSimulation && other)
deletenoexcept
Here is the call graph for this function:

◆ ScalarSimulation() [3/3]

Simulation::ScalarSimulation::ScalarSimulation ( const ScalarSimulation & other)
deletenoexcept
Here is the call graph for this function:

◆ ~ScalarSimulation()

Simulation::ScalarSimulation::~ScalarSimulation ( )
default

Member Function Documentation

◆ deep_copy_concentration()

bool Simulation::ScalarSimulation::deep_copy_concentration ( const std::vector< double > & data)

◆ get_concentration()

ColMajorMatrixtype & Simulation::ScalarSimulation::get_concentration ( )
nodiscard

◆ get_device_concentration()

ColMajorKokkosScalarMatrix Simulation::ScalarSimulation::get_device_concentration ( ) const
nodiscard

◆ get_kernel_contribution()

kernelContribution Simulation::ScalarSimulation::get_kernel_contribution ( ) const
inlinenodiscard

◆ get_mass_transfer()

const ColMajorMatrixtype & Simulation::ScalarSimulation::get_mass_transfer ( ) const
nodiscard

◆ getConcentrationArray()

auto Simulation::ScalarSimulation::getConcentrationArray ( ) const
inlinenodiscard

◆ getConcentrationData()

std::span< double > Simulation::ScalarSimulation::getConcentrationData ( )
inlinenodiscard

◆ getContributionData()

std::span< double > Simulation::ScalarSimulation::getContributionData ( ) const
inlinenodiscard

◆ getContributionData_mut()

std::span< double > Simulation::ScalarSimulation::getContributionData_mut ( )
inlinenodiscard

◆ getVolume()

const DiagonalType & Simulation::ScalarSimulation::getVolume ( ) const
inlinenodiscard

◆ getVolumeData()

std::span< double const > Simulation::ScalarSimulation::getVolumeData ( ) const
inlinenodiscard

◆ n_col()

std::size_t Simulation::ScalarSimulation::n_col ( ) const
nodiscard
Here is the caller graph for this function:

◆ n_row()

std::size_t Simulation::ScalarSimulation::n_row ( ) const
nodiscard
Here is the caller graph for this function:

◆ operator=() [1/2]

ScalarSimulation Simulation::ScalarSimulation::operator= ( const ScalarSimulation & other)
delete
Here is the call graph for this function:

◆ operator=() [2/2]

ScalarSimulation Simulation::ScalarSimulation::operator= ( ScalarSimulation && other)
delete
Here is the call graph for this function:

◆ performStep()

void Simulation::ScalarSimulation::performStep ( double d_t,
const FlowMatrixType & m_transition )

◆ performStepGL()

void Simulation::ScalarSimulation::performStepGL ( double d_t,
const FlowMatrixType & m_transition,
const ColMajorMatrixtype & mtr,
MassTransfer::Sign sign )

◆ reduce_contribs()

void Simulation::ScalarSimulation::reduce_contribs ( std::span< const double > data)

◆ set_feed()

void Simulation::ScalarSimulation::set_feed ( std::uint64_t i_r,
std::uint64_t i_c,
double val )
inline

◆ set_kernel_contribs_to_host()

void Simulation::ScalarSimulation::set_kernel_contribs_to_host ( ) const
inline

◆ set_mass()

void Simulation::ScalarSimulation::set_mass ( )

◆ set_sink()

void Simulation::ScalarSimulation::set_sink ( std::uint64_t i_compartment,
double val )
inline

◆ set_zero_contribs()

void Simulation::ScalarSimulation::set_zero_contribs ( )
inline

◆ setVolumes()

void Simulation::ScalarSimulation::setVolumes ( std::span< const double > volumes,
std::span< const double > inv_volumes )
inline
Here is the call graph for this function:

◆ synchro_sources()

void Simulation::ScalarSimulation::synchro_sources ( )

Member Data Documentation

◆ concentrations

EigenKokkos Simulation::ScalarSimulation::concentrations
private

◆ contribs

kernelContribution Simulation::ScalarSimulation::contribs
private

◆ m_volumes

DiagonalType Simulation::ScalarSimulation::m_volumes
private

◆ n_c

std::size_t Simulation::ScalarSimulation::n_c
private

◆ n_r

std::size_t Simulation::ScalarSimulation::n_r
private

◆ sink

DiagonalType Simulation::ScalarSimulation::sink
private

◆ sources

RowMajorEigenKokkos Simulation::ScalarSimulation::sources
private

◆ total_mass

ColMajorMatrixtype Simulation::ScalarSimulation::total_mass
private

◆ volumes_inverse

DiagonalType Simulation::ScalarSimulation::volumes_inverse
private

The documentation for this class was generated from the following files: