Chaste
Release::2017.1
|
#include <CorriasBuistSMCModified.hpp>
Public Member Functions | |
CorriasBuistSMCModified (boost::shared_ptr< AbstractIvpOdeSolver > pSolver, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus) | |
~CorriasBuistSMCModified () | |
void | VerifyStateVariables () |
double | GetIIonic (const std::vector< double > *pStateVariables=NULL) |
void | EvaluateYDerivatives (double time, const std::vector< double > &rY, std::vector< double > &rDY) |
void | SetFakeIccStimulusPresent (bool present) |
bool | GetFakeIccStimulusPresent () |
double | SetCarbonMonoxideScaleFactor () |
void | SetCarbonMonoxideScaleFactor (double scaleFactor) |
double | GetCarbonMonoxideScaleFactor () |
Public Member Functions inherited from AbstractCardiacCell | |
AbstractCardiacCell (boost::shared_ptr< AbstractIvpOdeSolver > pOdeSolver, unsigned numberOfStateVariables, unsigned voltageIndex, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus) | |
virtual | ~AbstractCardiacCell () |
void | Init () |
void | SetTimestep (double dt) |
virtual void | SolveAndUpdateState (double tStart, double tEnd) |
virtual OdeSolution | Compute (double tStart, double tEnd, double tSamp=0.0) |
virtual void | ComputeExceptVoltage (double tStart, double tEnd) |
void | SetVoltage (double voltage) |
double | GetVoltage () |
unsigned | GetNumberOfStateVariables () const |
unsigned | GetNumberOfParameters () const |
std::vector< double > | GetStdVecStateVariables () |
const std::vector< std::string > & | rGetStateVariableNames () const |
void | SetStateVariables (const std::vector< double > &rVariables) |
void | SetStateVariable (unsigned index, double newValue) |
void | SetStateVariable (const std::string &rName, double newValue) |
double | GetAnyVariable (const std::string &rName, double time=0.0) |
double | GetParameter (const std::string &rParameterName) |
double | GetParameter (unsigned parameterIndex) |
void | SetParameter (const std::string &rParameterName, double value) |
virtual void | SetState (CellModelState state) |
virtual void | SetSlowValues (const std::vector< double > &rSlowValues) |
virtual void | GetSlowValues (std::vector< double > &rSlowValues) |
virtual bool | IsFastOnly () |
virtual void | AdjustOutOfRangeSlowValues (std::vector< double > &rSlowValues) |
virtual unsigned | GetNumSlowValues () |
Public Member Functions inherited from AbstractCardiacCellInterface | |
AbstractCardiacCellInterface (boost::shared_ptr< AbstractIvpOdeSolver > pOdeSolver, unsigned voltageIndex, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus) | |
virtual | ~AbstractCardiacCellInterface () |
unsigned | GetVoltageIndex () |
void | SetStimulusFunction (boost::shared_ptr< AbstractStimulusFunction > pStimulus) |
double | GetStimulus (double time) |
void | SetIntracellularStimulusFunction (boost::shared_ptr< AbstractStimulusFunction > pStimulus) |
double | GetIntracellularStimulus (double time) |
double | GetIntracellularAreaStimulus (double time) |
void | SetUsedInTissueSimulation (bool tissue=true) |
virtual boost::shared_ptr< RegularStimulus > | UseCellMLDefaultStimulus () |
bool | HasCellMLDefaultStimulus () |
virtual AbstractLookupTableCollection * | GetLookupTableCollection () |
boost::shared_ptr< AbstractStimulusFunction > | GetStimulusFunction () |
const boost::shared_ptr< AbstractStimulusFunction > | GetStimulusFunction () const |
const boost::shared_ptr< AbstractIvpOdeSolver > | GetSolver () const |
void | SetSolver (boost::shared_ptr< AbstractIvpOdeSolver > pSolver) |
virtual void | SetVoltageDerivativeToZero (bool clamp=true) |
void | SetFixedVoltage (double voltage) |
virtual void | SetStretch (double stretch) |
virtual double | GetIntracellularCalciumConcentration () |
Public Member Functions inherited from AbstractOdeSystem | |
AbstractOdeSystem (unsigned numberOfStateVariables) | |
virtual | ~AbstractOdeSystem () |
virtual bool | CalculateStoppingEvent (double time, const std::vector< double > &rY) |
virtual double | CalculateRootFunction (double time, const std::vector< double > &rY) |
bool | GetUseAnalyticJacobian () |
const std::vector< double > & | rGetConstStateVariables () const |
Public Member Functions inherited from AbstractParameterisedSystem< std::vector< double > > | |
AbstractParameterisedSystem (unsigned numberOfStateVariables) | |
std::vector< double > & | rGetStateVariables () |
std::vector< double > | GetStateVariables () |
void | SetStateVariables (const std::vector< double > &rStateVariables) |
double | GetStateVariable (unsigned index) const |
double | GetStateVariable (const std::string &rName) const |
void | SetStateVariable (unsigned index, double newValue) |
void | SetStateVariable (const std::string &rName, double newValue) |
void | SetDefaultInitialConditions (const std::vector< double > &rInitialConditions) |
void | SetDefaultInitialCondition (unsigned index, double initialCondition) |
std::vector< double > | GetInitialConditions () const |
void | ResetToInitialConditions () |
double | GetParameter (unsigned index) const |
double | GetParameter (const std::string &rName) const |
void | SetParameter (const std::string &rName, double value) |
void | SetParameter (unsigned index, double value) |
double | GetAnyVariable (unsigned index, double time=0.0, std::vector< double > *pDerivedQuantities=NULL) |
double | GetAnyVariable (const std::string &rName, double time=0.0, std::vector< double > *pDerivedQuantities=NULL) |
void | SetAnyVariable (unsigned index, double value) |
void | SetAnyVariable (const std::string &rName, double value) |
virtual std::vector< double > | ComputeDerivedQuantities (double time, const std::vector< double > &rState) |
std::vector< double > | ComputeDerivedQuantitiesFromCurrentState (double time) |
Public Member Functions inherited from AbstractUntemplatedParameterisedSystem | |
AbstractUntemplatedParameterisedSystem (unsigned numberOfStateVariables) | |
virtual | ~AbstractUntemplatedParameterisedSystem () |
boost::shared_ptr< const AbstractOdeSystemInformation > | GetSystemInformation () const |
std::string | GetSystemName () const |
unsigned | GetNumberOfAttributes () const |
bool | HasAttribute (const std::string &rName) const |
double | GetAttribute (const std::string &rName) const |
unsigned | GetNumberOfStateVariables () const |
const std::vector< std::string > & | rGetStateVariableNames () const |
const std::vector< std::string > & | rGetStateVariableUnits () const |
unsigned | GetStateVariableIndex (const std::string &rName) const |
bool | HasStateVariable (const std::string &rName) const |
std::string | GetStateVariableUnits (unsigned index) const |
unsigned | GetNumberOfParameters () const |
const std::vector< std::string > & | rGetParameterNames () const |
const std::vector< std::string > & | rGetParameterUnits () const |
unsigned | GetParameterIndex (const std::string &rName) const |
bool | HasParameter (const std::string &rName) const |
std::string | GetParameterUnits (unsigned index) const |
unsigned | GetNumberOfDerivedQuantities () const |
const std::vector< std::string > & | rGetDerivedQuantityNames () const |
const std::vector< std::string > & | rGetDerivedQuantityUnits () const |
unsigned | GetDerivedQuantityIndex (const std::string &rName) const |
bool | HasDerivedQuantity (const std::string &rName) const |
std::string | GetDerivedQuantityUnits (unsigned index) const |
unsigned | GetAnyVariableIndex (const std::string &rName) const |
bool | HasAnyVariable (const std::string &rName) const |
std::string | GetAnyVariableUnits (unsigned index) const |
std::string | GetAnyVariableUnits (const std::string &rName) const |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
Protected Member Functions inherited from AbstractParameterisedSystem< std::vector< double > > | |
std::string | DumpState (const std::string &rMessage) |
std::string | DumpState (const std::string &rMessage, std::vector< double >Y) |
std::string | DumpState (const std::string &rMessage, std::vector< double >Y, double time) |
void | CheckParametersOnLoad (const std::vector< double > &rParameters, const std::vector< std::string > &rParameterNames) |
Protected Attributes inherited from AbstractCardiacCell | |
double | mDt |
Protected Attributes inherited from AbstractCardiacCellInterface | |
unsigned | mVoltageIndex |
boost::shared_ptr< AbstractIvpOdeSolver > | mpOdeSolver |
boost::shared_ptr< AbstractStimulusFunction > | mpIntracellularStimulus |
bool | mSetVoltageDerivativeToZero |
bool | mIsUsedInTissue |
bool | mHasDefaultStimulusFromCellML |
double | mFixedVoltage |
Protected Attributes inherited from AbstractOdeSystem | |
bool | mUseAnalyticJacobian |
Protected Attributes inherited from AbstractParameterisedSystem< std::vector< double > > | |
std::vector< double > | mStateVariables |
std::vector< double > | mParameters |
Protected Attributes inherited from AbstractUntemplatedParameterisedSystem | |
unsigned | mNumberOfStateVariables |
boost::shared_ptr< AbstractOdeSystemInformation > | mpSystemInfo |
This class is a modified version of the model of a gastric Smooth Muscle Cell.
Reference publication is:
Corrias A, Buist ML. "A quantitative model of gastric smooth muscle cellular activation." Ann Biomed Eng. 2007 Sep;35(9):1595-607. Epub 2007 May 8.
Modifications include:
Definition at line 58 of file CorriasBuistSMCModified.hpp.
CorriasBuistSMCModified::CorriasBuistSMCModified | ( | boost::shared_ptr< AbstractIvpOdeSolver > | pSolver, |
boost::shared_ptr< AbstractStimulusFunction > | pIntracellularStimulus | ||
) |
Constructor
pSolver | is a pointer to the ODE solver |
pIntracellularStimulus | is a pointer to the intracellular stimulus |
Definition at line 46 of file CorriasBuistSMCModified.cpp.
References ACh, Asurf, Asurf_in_cm_square, Ca_o, CaiRest, Cm, EK, ENa, EnsCC, F, FoRT, gBK_max, gCaL_max, gcouple, HeartConfig::GetCapacitance(), gKA_max, gKb_max, gKr_max, gLVA_max, gNa_max, gnsCC_max, hCa, AbstractCardiacCell::Init(), OdeSystemInformation< ODE_SYSTEM >::Instance(), HeartConfig::Instance(), JCaExt_max, K_o, Ki, mFakeIccStimulusPresent, AbstractUntemplatedParameterisedSystem::mpSystemInfo, mScaleFactorCarbonMonoxide, Na_o, Nai, Q10Ca, Q10K, Q10Na, R, RToF, sCa, T, T_correct_Ca, T_correct_gBK, T_correct_K, T_correct_Na, Texp, and VolCell.
CorriasBuistSMCModified::~CorriasBuistSMCModified | ( | ) |
Destructor
Definition at line 117 of file CorriasBuistSMCModified.cpp.
|
virtual |
Compute the RHS of the FitHugh-Nagumo system of ODEs
time | the current time, in milliseconds |
rY | current values of the state variables |
rDY | to be filled in with derivatives |
Implements AbstractOdeSystem.
Definition at line 191 of file CorriasBuistSMCModified.cpp.
References ACh, Asurf, Ca_o, CaiRest, EK, ENa, EnsCC, F, gCaL_max, gcouple, AbstractCardiacCellInterface::GetStimulus(), gKA_max, gKb_max, gKr_max, gLVA_max, gNa_max, gnsCC_max, hCa, JCaExt_max, mFakeIccStimulusPresent, mScaleFactorCarbonMonoxide, AbstractCardiacCellInterface::mSetVoltageDerivativeToZero, RToF, sCa, T_correct_Ca, T_correct_gBK, T_correct_K, T_correct_Na, and VolCell.
double CorriasBuistSMCModified::GetCarbonMonoxideScaleFactor | ( | ) |
Definition at line 139 of file CorriasBuistSMCModified.cpp.
References mScaleFactorCarbonMonoxide.
bool CorriasBuistSMCModified::GetFakeIccStimulusPresent | ( | ) |
Definition at line 134 of file CorriasBuistSMCModified.cpp.
References mFakeIccStimulusPresent.
|
virtual |
Calculates the ionic current
pStateVariables | the state variables of this model |
Now convert to microA over cm^2, the units that Chaste needs
Implements AbstractCardiacCellInterface.
Definition at line 144 of file CorriasBuistSMCModified.cpp.
References ACh, Asurf, Ca_o, EK, ENa, EnsCC, F, gCaL_max, gKA_max, gKb_max, gKr_max, gLVA_max, gNa_max, gnsCC_max, JCaExt_max, mScaleFactorCarbonMonoxide, AbstractParameterisedSystem< std::vector< double > >::rGetStateVariables(), RToF, T_correct_gBK, and VolCell.
|
inlineprivate |
Boost Serialization method for archiving/checkpointing. Archives the object and its member variables.
archive | The boost archive. |
version | The current version of this class. |
Definition at line 69 of file CorriasBuistSMCModified.hpp.
double CorriasBuistSMCModified::SetCarbonMonoxideScaleFactor | ( | ) |
void CorriasBuistSMCModified::SetCarbonMonoxideScaleFactor | ( | double | scaleFactor | ) |
Set the carbon monoxide scale factor. This will multiply the following currents: I_kr, I_Ka, Ibk
scaleFactor | the scale factor that multiply the currents. |
Definition at line 124 of file CorriasBuistSMCModified.cpp.
References mScaleFactorCarbonMonoxide.
void CorriasBuistSMCModified::SetFakeIccStimulusPresent | ( | bool | present | ) |
Set whether we want the fake ICC stimulus or not. It changes the member variable mFakeIccStimulusPresent (which is true by default).
present | - true if we want the fake ICC stimulus, false otherwise |
Definition at line 129 of file CorriasBuistSMCModified.cpp.
References mFakeIccStimulusPresent.
|
virtual |
Now empty
Reimplemented from AbstractParameterisedSystem< std::vector< double > >.
Definition at line 121 of file CorriasBuistSMCModified.cpp.
|
private |
acetylcholine conc (mM)
Definition at line 100 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
surface area (mm^2)
Definition at line 91 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
Surface area in cm^2
Definition at line 90 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
mM
Definition at line 131 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
baseline Ca conc (mM)
Definition at line 101 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), and EvaluateYDerivatives().
|
private |
membrane capacitance, pF
Definition at line 88 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
Nernst potential for K (mV)
Definition at line 127 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
Nernst potential for Na (mV)
Definition at line 128 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
Nernst potential for nsCC (mV)
Definition at line 129 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
nC/nmol
Definition at line 138 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
1/mV
Definition at line 139 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
max conductance of IBK)
Definition at line 106 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
max conductance of ICaL
Definition at line 105 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
coupling conductance bewteen fake ICC and SMC
Definition at line 112 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), and EvaluateYDerivatives().
|
private |
max conductance of IKA
Definition at line 108 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
max conductance of IKb
Definition at line 107 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
max conductance of IKr
Definition at line 109 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
max conductance of ILVA
Definition at line 104 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
max conductance of INa
Definition at line 110 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
max conductance of InsCC
Definition at line 111 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
conc for half inactivation of fCa
Definition at line 94 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), and EvaluateYDerivatives().
|
private |
max flux of CaSR (mM/ms)
Definition at line 113 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
mM
Definition at line 132 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
intra K conc (mM)
Definition at line 98 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
True if the fake built-in ICC stimulus is present
Definition at line 86 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), GetFakeIccStimulusPresent(), and SetFakeIccStimulusPresent().
|
private |
Scale factor for CO-affected currents Note that this the number that multiply the currents, hence it is not [CO], but a function of [CO] (for example, 2.8*[CO] - 0.1)
Definition at line 81 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), GetCarbonMonoxideScaleFactor(), GetIIonic(), and SetCarbonMonoxideScaleFactor().
|
private |
mM
Definition at line 133 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
intra Na conc (mM)
Definition at line 99 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
(dim)
Definition at line 116 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
(dim)
Definition at line 117 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
(dim)
Definition at line 118 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
pJ/nmol/K
Definition at line 136 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
mV
Definition at line 140 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
lope factor for inactivation of fCa
Definition at line 95 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), and EvaluateYDerivatives().
|
private |
degK
Definition at line 137 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
temperature correction for Ca (dim)
Definition at line 121 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), and EvaluateYDerivatives().
|
private |
temperature correction for gBK
Definition at line 124 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().
|
private |
temperature correction for K (dim)
Definition at line 122 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), and EvaluateYDerivatives().
|
private |
temperature correction for Na (dim)
Definition at line 123 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), and EvaluateYDerivatives().
|
private |
(degK)
Definition at line 119 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified().
|
private |
cell volume (mm^3)
Definition at line 93 of file CorriasBuistSMCModified.hpp.
Referenced by CorriasBuistSMCModified(), EvaluateYDerivatives(), and GetIIonic().