![]() |
Chaste
Release::3.4
|
#include <CorriasBuistSMCModified.hpp>
Inheritance diagram for CorriasBuistSMCModified:
Collaboration diagram for CorriasBuistSMCModified: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().