#include <Diffusion.h>

Classes | |
struct | ConcentrationSet |
struct | DiffusionCompartmentSet |
struct | DiffusionMatrixSet |
Public Member Functions | |
~DiffusionCalculator ()=default | |
void | Initialize (SESubstanceManager &subMgr) |
void | SetDiffusionState () |
void | CalculateLinearDiffusionMethods () |
void | CalculateNonLinearDiffusionMethods () |
std::vector< DiffusionCompartmentSet > & | GetDiffusionSets () |
std::vector< SESubstance * > & | GetFacilitatedDiffusionSubstances () |
std::vector< SESubstance * > & | GetInstantDiffusionSubstances () |
std::vector< SESubstance * > & | GetSimpleDiffusionSubstances () |
![]() | |
Loggable () | |
Loggable (Logger *log) | |
virtual | ~Loggable () |
virtual Logger * | GetLogger () const |
Protected Member Functions | |
DiffusionCalculator (BioGears &bg) | |
void | ClearConcentrations () |
void | CalculateActiveIonDiffusion (DiffusionCompartmentSet &cmptSet) |
Calculates the mass transport of ionic species Na, K, Ca, Cl against their electrochemical gradient using active pumps and cotransport. More... | |
void | CalculateMacromoleculeDiffusion (DiffusionCompartmentSet &cmptSet, const SESubstance &sub) |
void | CalculatePassiveLymphDiffusion (SELiquidCompartment &source, SELiquidCompartment &target, const SESubstance &sub) |
void | CalculateFacilitatedDiffusion (DiffusionCompartmentSet &cmptSet, const SESubstance &sub, double combinedCoefficient_g_Per_s) |
void | CalculatePerfusionLimitedDiffusion (DiffusionCompartmentSet &cmptSet, const SESubstance &sub, double partitionCoeff) |
![]() | |
virtual void | Debug (const char *msg, const char *origin="") const |
virtual void | Debug (const std::string &msg, const std::string &origin=empty) const |
virtual void | Debug (std::ostream &msg, const std::string &origin=empty) const |
virtual void | Info (const char *msg, const char *origin="") const |
virtual void | Info (const std::string &msg, const std::string &origin=empty) const |
virtual void | Info (std::ostream &msg, const std::string &origin=empty) const |
virtual void | Warning (const char *msg, const char *origin="") const |
virtual void | Warning (const std::string &msg, const std::string &origin=empty) const |
virtual void | Warning (std::ostream &msg, const std::string &origin=empty) const |
virtual void | Error (const char *msg, const char *origin="") const |
virtual void | Error (const std::string msg, const std::string origin=empty) const |
virtual void | Error (std::ostream &msg, const std::string &origin=empty) const |
virtual void | Fatal (const char *msg, const char *origin="") const |
virtual void | Fatal (const std::string &msg, const std::string &origin=empty) const |
virtual void | Fatal (std::ostream &msg, const std::string &origin=empty) const |
Static Protected Member Functions | |
static auto | make_unique (BioGears &bg) -> std::unique_ptr< DiffusionCalculator > |
Protected Attributes | |
BioGears & | m_data |
![]() | |
Logger * | m_Logger |
Private Member Functions | |
void | DistributeMassbyVolumeWeighted (SELiquidCompartment &cmpt, const SESubstance &sub, double mass, const MassUnit &unit) |
void | DistributeMassbyMassWeighted (SELiquidCompartment &cmpt, const SESubstance &sub, double mass, const MassUnit &unit) |
double | SodiumPotassiumPump (double intraNa_mM, double extraNa_mM, double extraK_mM, double potential_V) |
double | CalciumPump (double intraCa_M) |
Private Attributes | |
double | m_dt_s |
std::vector< SESubstance * > | m_SimpleDiffusionSubstances |
std::vector< SESubstance * > | m_InstantDiffusionSubstances |
std::vector< SESubstance * > | m_FacilitatedDiffusionSubstances |
ConcentrationSet | m_InstantSubConcentrations |
ConcentrationSet | m_SimpleSubConcentrations |
DiffusionMatrixSet | m_InstantSubMatrices |
DiffusionMatrixSet | m_SimpleSubMatrices |
std::vector< DiffusionCompartmentSet > | m_DiffusionSets |
Eigen::VectorXd | m_PermeabilityCoefficients |
Eigen::VectorXd | m_TissueMasses_g |
Eigen::VectorXd | m_VolumeRatiosVascularExtra |
Eigen::VectorXd | m_VolumeRatiosExtraIntra |
Friends | |
class | BioGears |
class | BioGearsEngineTest |
Additional Inherited Members | |
![]() | |
static const std::string | empty |
static const char * | empty_cStr |
Constructor & Destructor Documentation
|
protected |
|
default |
Member Function Documentation
|
private |
|
protected |
Calculates the mass transport of ionic species Na, K, Ca, Cl against their electrochemical gradient using active pumps and cotransport.
- Parameters
-
tissue tissue compartment vascular vascular space adjoining tissue compartment extra extracellular space in tissue compartment intra intracellular space in tissue compartment timestep_s the time step
This active transport moves ions to maintain their resting intracellular and extracellular concentrations using the cell membrane potential and active transport. The current experience by each ion is calculated by comparing its nernst potential to the membrane potential. Active pumps are then called which have been tuned to drive ionic current to maintain homeostatic concentrations. Since this method replaces diffusion for Na, Ca, K, and Cl, transport from the extracellular space to the vascular space is also handled here and balancing of the ions is also performed.
\ [lindblad] 1996model
|
protected |
void biogears::DiffusionCalculator::CalculateLinearDiffusionMethods | ( | ) |
|
protected |
void biogears::DiffusionCalculator::CalculateNonLinearDiffusionMethods | ( | ) |
- Todo:
- Define relationship between tissue mass and membrane area.
|
protected |
|
protected |
|
protected |
|
private |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
void biogears::DiffusionCalculator::Initialize | ( | SESubstanceManager & | subMgr | ) |
|
staticprotected |
void biogears::DiffusionCalculator::SetDiffusionState | ( | ) |
|
private |
Friends And Related Function Documentation
|
friend |
|
friend |
Member Data Documentation
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |