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 set_transition (CmaUtils::StateCooMatrixType &&transition)
void performStepGL (double d_t, const ColMajorMatrixtype< double > &mtr, MassTransfer::Sign sign)
void performStep (double d_t)
void synchro_sources ()
ColMajorMatrixtype< double > & get_concentration ()
ColMajorKokkosScalarMatrix< double > get_device_concentration () const
std::span< double const > volume_span () const
std::span< double > contribution_span () const
std::span< double > contribution_span_mut ()
const DiagonalType & getVolume () const
auto getConcentrationArray () const
kernelContribution get_kernel_contribution () const
const ColMajorMatrixtype< double > & get_mass_transfer () const
std::span< double > getConcentrationData ()
std::size_t n_row () const noexcept
std::size_t n_col () const noexcept
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< double > total_mass
kernelContribution contribs
FlowMatrixType m_transition
DiagonalType volumes_inverse
DiagonalType m_volumes
DiagonalType sink
EigenKokkos< double > concentrations
RowMajorEigenKokkos< double > 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

◆ contribution_span()

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

◆ contribution_span_mut()

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

◆ deep_copy_concentration()

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

◆ get_concentration()

ColMajorMatrixtype< double > & Simulation::ScalarSimulation::get_concentration ( )
nodiscard

◆ get_device_concentration()

ColMajorKokkosScalarMatrix< double > Simulation::ScalarSimulation::get_device_concentration ( ) const
nodiscard

◆ get_kernel_contribution()

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

◆ get_mass_transfer()

const ColMajorMatrixtype< double > & Simulation::ScalarSimulation::get_mass_transfer ( ) const
nodiscard
Here is the call graph for this function:

◆ getConcentrationArray()

auto Simulation::ScalarSimulation::getConcentrationArray ( ) const
inlinenodiscard
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getConcentrationData()

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

◆ getVolume()

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

◆ n_col()

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

◆ n_row()

std::size_t Simulation::ScalarSimulation::n_row ( ) const
nodiscardnoexcept
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)

◆ performStepGL()

void Simulation::ScalarSimulation::performStepGL ( double d_t,
const ColMajorMatrixtype< double > & 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
Here is the caller graph for this function:

◆ set_kernel_contribs_to_host()

void Simulation::ScalarSimulation::set_kernel_contribs_to_host ( ) const
inline
Here is the caller graph for this function:

◆ set_mass()

void Simulation::ScalarSimulation::set_mass ( )
Here is the caller graph for this function:

◆ set_sink()

void Simulation::ScalarSimulation::set_sink ( std::uint64_t i_compartment,
double val )
inline
Here is the caller graph for this function:

◆ set_transition()

void Simulation::ScalarSimulation::set_transition ( CmaUtils::StateCooMatrixType && transition)

◆ set_zero_contribs()

void Simulation::ScalarSimulation::set_zero_contribs ( )
inline
Here is the caller graph for this function:

◆ 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:
Here is the caller graph for this function:

◆ synchro_sources()

void Simulation::ScalarSimulation::synchro_sources ( )

◆ volume_span()

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

Member Data Documentation

◆ concentrations

EigenKokkos<double> Simulation::ScalarSimulation::concentrations
private

◆ contribs

kernelContribution Simulation::ScalarSimulation::contribs
private

◆ m_transition

FlowMatrixType Simulation::ScalarSimulation::m_transition
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<double> Simulation::ScalarSimulation::sources
private

◆ total_mass

ColMajorMatrixtype<double> Simulation::ScalarSimulation::total_mass
private

◆ volumes_inverse

DiagonalType Simulation::ScalarSimulation::volumes_inverse
private

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