45 #ifndef _IONICMINIMALMODEL_H_ 46 #define _IONICMINIMALMODEL_H_ 48 #include <lifev/electrophysiology/solver/IonicModels/ElectroIonicModel.hpp> 50 #include <Teuchos_RCP.hpp> 51 #include <Teuchos_ParameterList.hpp> 52 #include "Teuchos_XMLParameterListHelpers.hpp" 58 class IonicMinimalModel :
public virtual ElectroIonicModel
64 typedef ElectroIonicModel super;
65 typedef std::shared_ptr<VectorEpetra> vectorPtr_Type;
66 typedef std::shared_ptr<VectorElemental> elvecPtr_Type;
67 typedef RegionMesh<LinearTetra> mesh_Type;
82 IonicMinimalModel ( Teuchos::ParameterList& parameterList );
87 IonicMinimalModel (
const IonicMinimalModel& model );
89 virtual ~IonicMinimalModel() {}
96 IonicMinimalModel& operator= (
const IonicMinimalModel& model );
112 inline const Real& Tetav()
const 116 inline const Real& Tetaw()
const 120 inline const Real& Tetavm()
const 124 inline const Real& Tetao()
const 128 inline const Real& Tauv1()
const 132 inline const Real& Tauv2()
const 136 inline const Real& Tauvp()
const 140 inline const Real& Tauw1()
const 144 inline const Real& Tauw2()
const 156 inline const Real& Tauwp()
const 160 inline const Real& Taufi()
const 164 inline const Real& Tauo1()
const 168 inline const Real& Tauo2()
const 172 inline const Real& Tauso1()
const 176 inline const Real& Tauso2()
const 188 inline const Real& Taus1()
const 192 inline const Real& Taus2()
const 204 inline const Real& Tausi()
const 208 inline const Real& Tauinf()
const 212 inline const Real& Winfstart()
const 218 inline void setUo (
const Real& p )
222 inline void setUu (
const Real& p )
226 inline void setTetav (
const Real& p )
230 inline void setTetaw (
const Real& p )
234 inline void setTetavm (
const Real& p )
238 inline void setTetao (
const Real& p )
242 inline void setTauv1 (
const Real& p )
246 inline void setTauv2 (
const Real& p )
250 inline void setTauvp (
const Real& p )
254 inline void setTauw1 (
const Real& p )
258 inline void setTauw2 (
const Real& p )
262 inline void setKw (
const Real& p )
266 inline void setUw (
const Real& p )
270 inline void setTauwp (
const Real& p )
274 inline void setTaufi (
const Real& p )
278 inline void setTauo1 (
const Real& p )
282 inline void setTauo2 (
const Real& p )
286 inline void setTauso1 (
const Real& p )
290 inline void setTauso2 (
const Real& p )
294 inline void setKso (
const Real& p )
298 inline void setUso (
const Real& p )
302 inline void setTaus1 (
const Real& p )
306 inline void setTaus2 (
const Real& p )
310 inline void setKs (
const Real& p )
314 inline void setUs (
const Real& p )
318 inline void setTausi (
const Real& p )
322 inline void setTauinf (
const Real& p )
326 inline void setWinfstart (
const Real& p )
328 this->M_winfstar = p;
333 void computePotentialRhsSVI (
const std::vector<vectorPtr_Type>& v,
334 std::vector<vectorPtr_Type>& rhs,
335 FESpace<mesh_Type,
MapEpetra>& uFESpace);
354 void computeGatingRhs (
const std::vector<Real>& v, std::vector<Real>& rhs);
356 void computeRhs (
const std::vector<Real>& v, std::vector<Real>& rhs);
359 Real computeLocalPotentialRhs (
const std::vector<Real>& v );
362 void computeGatingVariablesWithRushLarsen ( std::vector<Real>& v,
const Real dt );
415 inline ElectroIonicModel* createIonicMinimalModel()
417 return new IonicMinimalModel();
434 return std::tanh ( p[0] );
436 return_Type operator() (
const Real& p)
438 return std::tanh ( p );
443 MMTanhFunctor (
const MMTanhFunctor&) {}
463 return_Type operator() (
const Real& p)
477 MMHFunctor (
const MMHFunctor&) {}
488 std::cout.precision (15);
489 std::cout <<
"\nvalue: " << p[0];
491 return_Type operator() (
const Real& p)
493 std::cout.precision (15);
494 std::cout <<
"\nvalue: " << p;
499 MMSV (
const MMSV&) {}
void updateInverseJacobian(const UInt &iQuadPt)
static const LifeV::UInt elm_nodes_num[]
Epetra_Import const & importer()
Getter for the Epetra_Import.
static bool register_IonicMinimalModel
double Real
Generic real data.