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)
 
ColMajorMatrixtype & get_concentration ()
 
ColMajorKokkosScalarMatrix get_device_concentration () const
 
std::span< double const > getVolumeData () const
 
std::span< double > getContributionData () const
 
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
 
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:

◆ ScalarSimulation() [2/3]

Simulation::ScalarSimulation::ScalarSimulation ( ScalarSimulation && other)
deletenoexcept

◆ ScalarSimulation() [3/3]

Simulation::ScalarSimulation::ScalarSimulation ( const ScalarSimulation & other)
deletenoexcept

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

◆ getContributionData()

std::span< double > Simulation::ScalarSimulation::getContributionData ( ) const
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

◆ operator=() [2/2]

ScalarSimulation Simulation::ScalarSimulation::operator= ( ScalarSimulation && other)
delete

◆ performStep()

void Simulation::ScalarSimulation::performStep ( double d_t,
const FlowMatrixType & m_transition )
Here is the call graph for this function:

◆ performStepGL()

void Simulation::ScalarSimulation::performStepGL ( double d_t,
const FlowMatrixType & m_transition,
const ColMajorMatrixtype & mtr,
MassTransfer::Sign sign )
Here is the call graph for this function:

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

◆ 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:

Member Data Documentation

◆ concentrations

EigenKokkos Simulation::ScalarSimulation::concentrations
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: