CellModules
GrimesOxygen::PluginGrimesOxygen< cell_t > Class Template Reference

Class for managing spherical oxygen diffusion. More...

#include <PluginGrimesOxygen.hpp>

Public Member Functions

 PluginGrimesOxygen ()=default
 Default constructor. More...
 
 PluginGrimesOxygen (SpheroidManager::PluginSpheroidManager< cell_t > *sm)
 Constructor with spheroid manager. More...
 
void setPo (double p)
 Sets the external partial pressure of oxygen. More...
 
void setOxygenConsumption (double c)
 Sets the oxygen consumption rate. More...
 
void setDiffusionConstant (double d)
 Sets the diffusion constant. More...
 
void setOmega (double om)
 Sets the Henry constant for oxygen. More...
 
template<typename world_t >
void preBehaviorUpdate (world_t *w)
 Pre-behavior update hook for MecaCell. More...
 

Private Member Functions

void updateOxygen (std::vector< cell_t * > cells)
 Updates the oxygen levels for the given cells. More...
 
double eqOxygen (double cstConsoDiff, double rn, double r)
 Computes the partial pressure of oxygen for a cell. More...
 

Private Attributes

double a = 5.634224/10.0
 
double omega = 10.0*3.0318
 
double D = 2000.0
 
double po = 37.50319
 
SpheroidManager::PluginSpheroidManager< cell_t > * spheroidManager = nullptr
 

Detailed Description

template<typename cell_t>
class GrimesOxygen::PluginGrimesOxygen< cell_t >

Class for managing spherical oxygen diffusion.

Template Parameters
cell_tType of the cell.

Definition at line 29 of file PluginGrimesOxygen.hpp.

Constructor & Destructor Documentation

◆ PluginGrimesOxygen() [1/2]

template<typename cell_t >
GrimesOxygen::PluginGrimesOxygen< cell_t >::PluginGrimesOxygen ( )
inlinedefault

Default constructor.

◆ PluginGrimesOxygen() [2/2]

template<typename cell_t >
GrimesOxygen::PluginGrimesOxygen< cell_t >::PluginGrimesOxygen ( SpheroidManager::PluginSpheroidManager< cell_t > *  sm)
inline

Constructor with spheroid manager.

Parameters
smPointer to the spheroid manager.

Definition at line 92 of file PluginGrimesOxygen.hpp.

Member Function Documentation

◆ eqOxygen()

template<typename cell_t >
double GrimesOxygen::PluginGrimesOxygen< cell_t >::eqOxygen ( double  cstConsoDiff,
double  rn,
double  r 
)
inlineprivate

Computes the partial pressure of oxygen for a cell.

Parameters
cstConsoDiffConstant for consumption and diffusion.
rnNecrotic radius.
rDistance from the centroid.
Returns
Partial pressure of oxygen.

Definition at line 63 of file PluginGrimesOxygen.hpp.

◆ preBehaviorUpdate()

template<typename cell_t >
template<typename world_t >
void GrimesOxygen::PluginGrimesOxygen< cell_t >::preBehaviorUpdate ( world_t *  w)
inline

Pre-behavior update hook for MecaCell.

Updates oxygen quantities.

Template Parameters
world_tType of the world.
Parameters
wPointer to the world.

Definition at line 131 of file PluginGrimesOxygen.hpp.

◆ setDiffusionConstant()

template<typename cell_t >
void GrimesOxygen::PluginGrimesOxygen< cell_t >::setDiffusionConstant ( double  d)
inline

Sets the diffusion constant.

Parameters
dDiffusion constant.

Definition at line 113 of file PluginGrimesOxygen.hpp.

◆ setOmega()

template<typename cell_t >
void GrimesOxygen::PluginGrimesOxygen< cell_t >::setOmega ( double  om)
inline

Sets the Henry constant for oxygen.

Parameters
omHenry constant for oxygen.

Definition at line 120 of file PluginGrimesOxygen.hpp.

◆ setOxygenConsumption()

template<typename cell_t >
void GrimesOxygen::PluginGrimesOxygen< cell_t >::setOxygenConsumption ( double  c)
inline

Sets the oxygen consumption rate.

Parameters
cOxygen consumption rate.

Definition at line 106 of file PluginGrimesOxygen.hpp.

◆ setPo()

template<typename cell_t >
void GrimesOxygen::PluginGrimesOxygen< cell_t >::setPo ( double  p)
inline

Sets the external partial pressure of oxygen.

Parameters
pExternal partial pressure of oxygen.

Definition at line 99 of file PluginGrimesOxygen.hpp.

◆ updateOxygen()

template<typename cell_t >
void GrimesOxygen::PluginGrimesOxygen< cell_t >::updateOxygen ( std::vector< cell_t * >  cells)
inlineprivate

Updates the oxygen levels for the given cells.

Parameters
cellsVector of cell pointers.

Definition at line 43 of file PluginGrimesOxygen.hpp.

Member Data Documentation

◆ a

template<typename cell_t >
double GrimesOxygen::PluginGrimesOxygen< cell_t >::a = 5.634224/10.0
private

Oxygen consumption in 10^-7 m^3/kg/s = 10^-1 µm^3/ng/s

Definition at line 32 of file PluginGrimesOxygen.hpp.

◆ D

template<typename cell_t >
double GrimesOxygen::PluginGrimesOxygen< cell_t >::D = 2000.0
private

Diffusion constant in 10^-12 m^2/s = µm^2/s

Definition at line 34 of file PluginGrimesOxygen.hpp.

◆ omega

template<typename cell_t >
double GrimesOxygen::PluginGrimesOxygen< cell_t >::omega = 10.0*3.0318
private

Henry constant for oxygen at human temperature multiplied by density of a tumor and density of oxygen in 10^7 mmHg.kg/m^3 = 10 mmHg.ng/µm^3

Definition at line 33 of file PluginGrimesOxygen.hpp.

◆ po

template<typename cell_t >
double GrimesOxygen::PluginGrimesOxygen< cell_t >::po = 37.50319
private

External partial pressure of oxygen in mmHg

Definition at line 35 of file PluginGrimesOxygen.hpp.

◆ spheroidManager

template<typename cell_t >
SpheroidManager::PluginSpheroidManager<cell_t>* GrimesOxygen::PluginGrimesOxygen< cell_t >::spheroidManager = nullptr
private

Definition at line 36 of file PluginGrimesOxygen.hpp.


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