KASKADE 7 development version
|
Convenience base class for membrane models providing numerical differentiation. More...
#include <membraneModels.hh>
Convenience base class for membrane models providing numerical differentiation.
Definition at line 56 of file membraneModels.hh.
Public Types | |
typedef Dune::FieldVector< double, nGating > | Gating |
Vector type holding gating variables. More... | |
typedef Dune::FieldMatrix< double, nGating, nGating > | GatingJacobian |
Matrix type for the Jacobian of the gating dynamics. More... | |
Public Member Functions | |
MembraneModelBase () | |
Default constructor. More... | |
MembraneModelBase (std::string const &name) | |
Constructor specifying the model data. More... | |
std::string const & | name () const |
Human-readable name of the membrane model. More... | |
std::pair< double, Gating > const & | restState () const |
Value of the resting state fixed point. More... | |
double | current_du (double u, Gating const &v, double h=1e-5) const |
The transmembrane ion current derivative w.r.t. the transmembrane voltage. More... | |
Gating | current_dv (double u, Gating const &v) const |
The transmembrane ion current derivative w.r.t. the gating variables. More... | |
Gating | gatingRhs_du (double u, Gating const &v) const |
The derivative of the right hand side for the evolution of gating variables w.r.t. the transmembrane voltage. More... | |
GatingJacobian | gatingRhs_dv (double u, Gating const &v) const |
The derivative of the right hand side for the evolution of gating variables w.r.t. the gating variables. More... | |
Static Public Attributes | |
static int const | nGating = n |
Number of gating variables. More... | |
Protected Member Functions | |
void | setRestState (double uFix, Gating const &vFix) |
Accepts an (approximate) resting state. More... | |
typedef Dune::FieldVector<double,nGating> Kaskade::MembraneModelBase< Derived, n >::Gating |
Vector type holding gating variables.
Definition at line 66 of file membraneModels.hh.
typedef Dune::FieldMatrix<double,nGating,nGating> Kaskade::MembraneModelBase< Derived, n >::GatingJacobian |
Matrix type for the Jacobian of the gating dynamics.
Definition at line 71 of file membraneModels.hh.
|
inline |
Default constructor.
Name and resting state are default initialized, i.e. set to "" and 0.0, respectively.
Definition at line 78 of file membraneModels.hh.
|
inline |
Constructor specifying the model data.
name | the human-readable model name |
uFix | the resting state of the transmembrane voltage |
vFix | the resting state of the gating variables |
Definition at line 86 of file membraneModels.hh.
|
inline |
The transmembrane ion current derivative w.r.t. the transmembrane voltage.
This is a default implementation based on numerical differentiation. Overload this if a better implementation is available.
u | transmembrane voltage [V] |
v | gating variables |
h | step size for numerical differentiation |
Definition at line 109 of file membraneModels.hh.
Referenced by Kaskade::MembraneModelBase< Derived, n >::setRestState().
|
inline |
The transmembrane ion current derivative w.r.t. the gating variables.
This convenience method performs numerical differentiation and should be overwritten in derived classes by a better implementation.
u | transmembrane voltage |
v | gating variables |
Definition at line 126 of file membraneModels.hh.
|
inline |
The derivative of the right hand side for the evolution of gating variables w.r.t. the transmembrane voltage.
This default implementation uses numerical differentiation for computing the derivative.
u | transmembrane voltage |
v | gating variables |
Definition at line 146 of file membraneModels.hh.
|
inline |
The derivative of the right hand side for the evolution of gating variables w.r.t. the gating variables.
u | transmembrane voltage |
v | gating variables |
Definition at line 158 of file membraneModels.hh.
Referenced by Kaskade::MembraneModelBase< Derived, n >::setRestState().
|
inline |
Human-readable name of the membrane model.
Definition at line 93 of file membraneModels.hh.
|
inline |
Value of the resting state fixed point.
Definition at line 98 of file membraneModels.hh.
|
inlineprotected |
Accepts an (approximate) resting state.
uFix | approximate resting state of the transmembrane voltage |
vFix | approximate resting state of the gating variables |
The method shall be used by derived classes to provide an approximate value of the resting state (which needs to be a stable fixed point). A few iterations of Newton's method are performed in order to obtain an accurate value.
Definition at line 181 of file membraneModels.hh.
|
static |
Number of gating variables.
Definition at line 61 of file membraneModels.hh.
Referenced by Kaskade::MembraneModelBase< Derived, n >::current_dv(), Kaskade::MembraneModelBase< Derived, n >::gatingRhs_dv(), and Kaskade::MembraneModelBase< Derived, n >::setRestState().