BioCMAMC-ST
Simulation::ScalarSimulation Class Reference

#include <scalar_simulation.hpp>

Collaboration diagram for Simulation::ScalarSimulation:
[legend]

Public Types

using concentration_view_t = concentration_t::host_view_type
using concentration_float_type = concentration_view_t::value_type

Public Member Functions

 ScalarSimulation (size_t n_compartments, size_t n_species, std::span< mass_balance_float_type > 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< concentration_float_type > &data)
void set_transition (CmaUtils::StateCooMatrixType &&transition)
void performStepGL (double d_t, const KokkosEigen::Alias::ColMajorMatrixtype< mass_balance_float_type > &mtr, MassTransfer::Sign sign)
void performStep (double d_t)
void synchro_sources ()
std::size_t n_row () const noexcept
std::size_t n_col () const noexcept
concentration_view_t get_concentration () noexcept
MC::KernelConcentrationType get_device_concentration () const
std::span< concentration_float_typegetConcentrationData ()
std::span< const concentration_float_typegetConcentrationData () const
auto getConcentrationArray () const
const KokkosEigen::Alias::DiagonalType< mass_balance_float_type > & getVolume () const noexcept
std::span< double const > volume_span () const
double volume_at (std::size_t) const
std::span< const double > contribution_span () const
std::span< double > contribution_span_mut ()
MC::kernelContribution get_kernel_contribution () const
void set_mass ()
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)
void clearNegs ()

Private Types

using concentration_t

Private Attributes

std::size_t n_r
std::size_t n_c
KokkosEigen::Alias::ColMajorMatrixtype< mass_balance_float_typetotal_mass
KokkosEigen::KokkosEigen2D< mass_balance_float_type, Kokkos::LayoutLeft, Kokkos::DefaultExecutionSpace > concentrations
KokkosEigen::KokkosEigen2D< mass_balance_float_type, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace > sources
MC::kernelContribution contribs
FlowMatrixType< mass_balance_float_typem_transition
KokkosEigen::Alias::DiagonalType< mass_balance_float_typem_volumes
KokkosEigen::Alias::DiagonalType< mass_balance_float_typevolumes_inverse
KokkosEigen::Alias::DiagonalType< mass_balance_float_typesink

Member Typedef Documentation

◆ concentration_float_type

using Simulation::ScalarSimulation::concentration_float_type = concentration_view_t::value_type

◆ concentration_t

Initial value:
Kokkos::LayoutLeft,
Kokkos::DefaultExecutionSpace>
Wraps a Kokkos 2D View as an Eigen matrix map.
Definition kokkos_eigen.hpp:52

◆ concentration_view_t

Constructor & Destructor Documentation

◆ ScalarSimulation() [1/3]

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

◆ ScalarSimulation() [2/3]

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

◆ ScalarSimulation() [3/3]

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

◆ ~ScalarSimulation()

Simulation::ScalarSimulation::~ScalarSimulation ( )
default
Here is the call graph for this function:

Member Function Documentation

◆ clearNegs()

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

◆ contribution_span()

std::span< const double > Simulation::ScalarSimulation::contribution_span ( ) const
inlinenodiscard
Here is the caller graph for this function:

◆ contribution_span_mut()

std::span< double > Simulation::ScalarSimulation::contribution_span_mut ( )
inlinenodiscard
Here is the caller graph for this function:

◆ deep_copy_concentration()

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

◆ get_concentration()

ScalarSimulation::concentration_view_t Simulation::ScalarSimulation::get_concentration ( )
nodiscardnoexcept
Here is the caller graph for this function:

◆ get_device_concentration()

MC::KernelConcentrationType Simulation::ScalarSimulation::get_device_concentration ( ) const
nodiscard
Here is the caller graph for this function:

◆ get_kernel_contribution()

MC::kernelContribution Simulation::ScalarSimulation::get_kernel_contribution ( ) const
inlinenodiscard
Here is the caller graph for this function:

◆ getConcentrationArray()

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

◆ getConcentrationData() [1/2]

std::span< double > Simulation::ScalarSimulation::getConcentrationData ( )
inlinenodiscard
Here is the caller graph for this function:

◆ getConcentrationData() [2/2]

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

◆ getVolume()

const KokkosEigen::Alias::DiagonalType< mass_balance_float_type > & Simulation::ScalarSimulation::getVolume ( ) const
inlinenodiscardnoexcept
Here is the caller graph for this function:

◆ 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

◆ 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 KokkosEigen::Alias::ColMajorMatrixtype< mass_balance_float_type > & mtr,
MassTransfer::Sign sign )

◆ 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_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_at()

double Simulation::ScalarSimulation::volume_at ( std::size_t index) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ volume_span()

std::span< double const > Simulation::ScalarSimulation::volume_span ( ) const
inlinenodiscard
Here is the caller graph for this function:

Member Data Documentation

◆ concentrations

KokkosEigen::KokkosEigen2D<mass_balance_float_type, Kokkos::LayoutLeft, Kokkos::DefaultExecutionSpace> Simulation::ScalarSimulation::concentrations
private

◆ contribs

MC::kernelContribution Simulation::ScalarSimulation::contribs
private

◆ m_transition

FlowMatrixType<mass_balance_float_type> Simulation::ScalarSimulation::m_transition
private

◆ m_volumes

KokkosEigen::Alias::DiagonalType<mass_balance_float_type> 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

KokkosEigen::Alias::DiagonalType<mass_balance_float_type> Simulation::ScalarSimulation::sink
private

◆ sources

KokkosEigen::KokkosEigen2D<mass_balance_float_type, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> Simulation::ScalarSimulation::sources
private

◆ total_mass

KokkosEigen::Alias::ColMajorMatrixtype<mass_balance_float_type> Simulation::ScalarSimulation::total_mass
private

◆ volumes_inverse

KokkosEigen::Alias::DiagonalType<mass_balance_float_type> Simulation::ScalarSimulation::volumes_inverse
private

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