Nektar++
Loading...
Searching...
No Matches
solvers
CardiacEPSolver
CellModels
CourtemancheRamirezNattel98.h
Go to the documentation of this file.
1
///////////////////////////////////////////////////////////////////////////////
2
//
3
// File: CourtemancheRamirezNattel98.h
4
//
5
// For more information, please see: http://www.nektar.info
6
//
7
// The MIT License
8
//
9
// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
10
// Department of Aeronautics, Imperial College London (UK), and Scientific
11
// Computing and Imaging Institute, University of Utah (USA).
12
//
13
// Permission is hereby granted, free of charge, to any person obtaining a
14
// copy of this software and associated documentation files (the "Software"),
15
// to deal in the Software without restriction, including without limitation
16
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
17
// and/or sell copies of the Software, and to permit persons to whom the
18
// Software is furnished to do so, subject to the following conditions:
19
//
20
// The above copyright notice and this permission notice shall be included
21
// in all copies or substantial portions of the Software.
22
//
23
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
24
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29
// DEALINGS IN THE SOFTWARE.
30
//
31
// Description: Courtemanche-Ramirez-Nattel cell model
32
//
33
///////////////////////////////////////////////////////////////////////////////
34
35
#ifndef NEKTAR_SOLVERS_ADRSOLVER_EQUATIONSYSTEMS_COURTEMANCHE_H
36
#define NEKTAR_SOLVERS_ADRSOLVER_EQUATIONSYSTEMS_COURTEMANCHE_H
37
38
#include <
CardiacEPSolver/CellModels/CellModel.h
>
39
40
namespace
Nektar
41
{
42
class
CourtemancheRamirezNattel98
:
public
CellModel
43
{
44
45
public
:
46
/// Creates an instance of this class
47
static
CellModelSharedPtr
create
(
48
const
LibUtilities::SessionReaderSharedPtr
&pSession,
49
const
MultiRegions::ExpListSharedPtr
&pField)
50
{
51
return
MemoryManager<CourtemancheRamirezNattel98>::AllocateSharedPtr
(
52
pSession, pField);
53
}
54
55
/// Name of class
56
static
std::string
className
;
57
58
/// Constructor
59
CourtemancheRamirezNattel98
(
60
const
LibUtilities::SessionReaderSharedPtr
&pSession,
61
const
MultiRegions::ExpListSharedPtr
&pField);
62
63
/// Destructor
64
~CourtemancheRamirezNattel98
()
override
;
65
66
protected
:
67
/// Computes the reaction terms $f(u,v)$ and $g(u,v)$.
68
void
v_Update
(
const
Array
<
OneD
,
const
Array<OneD, NekDouble>
> &inarray,
69
Array
<
OneD
,
Array<OneD, NekDouble>
> &outarray,
70
const
NekDouble
time)
override
;
71
72
/// Prints a summary of the model parameters.
73
void
v_GenerateSummary
(
SummaryList
&s)
override
;
74
75
void
v_SetInitialConditions
()
override
;
76
77
std::string
v_GetCellVarName
(
size_t
idx)
override
;
78
79
private
:
80
NekDouble
C_m
;
81
NekDouble
g_Na
;
82
NekDouble
g_K1
;
83
NekDouble
g_to
;
84
NekDouble
g_Kr
;
85
NekDouble
g_Kur_scaling
;
86
NekDouble
g_Ks
;
87
NekDouble
g_b_Na
;
88
NekDouble
g_b_Ca
;
89
NekDouble
g_Ca_L
;
90
NekDouble
R
;
91
NekDouble
T
;
92
NekDouble
F
;
93
NekDouble
Na_o
;
94
NekDouble
K_o
;
95
NekDouble
sigma
;
96
NekDouble
K_i
;
97
NekDouble
K_m_Na_i
;
98
NekDouble
I_Na_K_max
;
99
NekDouble
I_NaCa_max
;
100
NekDouble
gamma
;
101
NekDouble
Ca_o
;
102
NekDouble
K_m_Na
;
103
NekDouble
K_m_Ca
;
104
NekDouble
K_sat
;
105
NekDouble
I_p_Ca_max
;
106
NekDouble
Trpn_max
;
107
NekDouble
Km_Trpn
;
108
NekDouble
Cmdn_max
;
109
NekDouble
Csqn_max
;
110
NekDouble
Km_Cmdn
;
111
NekDouble
Km_Csqn
;
112
NekDouble
NSR_I_up_max
;
113
NekDouble
NSR_I_Ca_max
;
114
NekDouble
NSR_K_up
;
115
NekDouble
JSR_K_rel
;
116
NekDouble
JSR_V_cell
;
117
NekDouble
JSR_V_rel
;
118
NekDouble
JSR_V_up
;
119
NekDouble
tau_tr
;
120
NekDouble
K_Q10
;
121
NekDouble
V_i
;
122
123
enum
Variants
124
{
125
eOriginal
,
126
eAF
127
};
128
enum
Variants
model_variant
;
129
130
static
std::string
lookupIds
[];
131
static
std::string
def
;
132
};
133
134
}
// namespace Nektar
135
136
#endif
CellModel.h
Nektar::Array
Definition
BasicUtils/SharedArray.hpp:57
Nektar::CellModel
Cell model base class.
Definition
CellModel.h:66
Nektar::CourtemancheRamirezNattel98
Definition
CourtemancheRamirezNattel98.h:43
Nektar::CourtemancheRamirezNattel98::R
NekDouble R
Definition
CourtemancheRamirezNattel98.h:90
Nektar::CourtemancheRamirezNattel98::I_p_Ca_max
NekDouble I_p_Ca_max
Definition
CourtemancheRamirezNattel98.h:105
Nektar::CourtemancheRamirezNattel98::v_GenerateSummary
void v_GenerateSummary(SummaryList &s) override
Prints a summary of the model parameters.
Definition
CourtemancheRamirezNattel98.cpp:599
Nektar::CourtemancheRamirezNattel98::g_Ks
NekDouble g_Ks
Definition
CourtemancheRamirezNattel98.h:86
Nektar::CourtemancheRamirezNattel98::JSR_V_up
NekDouble JSR_V_up
Definition
CourtemancheRamirezNattel98.h:118
Nektar::CourtemancheRamirezNattel98::v_SetInitialConditions
void v_SetInitialConditions() override
Definition
CourtemancheRamirezNattel98.cpp:605
Nektar::CourtemancheRamirezNattel98::K_Q10
NekDouble K_Q10
Definition
CourtemancheRamirezNattel98.h:120
Nektar::CourtemancheRamirezNattel98::sigma
NekDouble sigma
Definition
CourtemancheRamirezNattel98.h:95
Nektar::CourtemancheRamirezNattel98::JSR_K_rel
NekDouble JSR_K_rel
Definition
CourtemancheRamirezNattel98.h:115
Nektar::CourtemancheRamirezNattel98::JSR_V_rel
NekDouble JSR_V_rel
Definition
CourtemancheRamirezNattel98.h:117
Nektar::CourtemancheRamirezNattel98::create
static CellModelSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
Creates an instance of this class.
Definition
CourtemancheRamirezNattel98.h:47
Nektar::CourtemancheRamirezNattel98::model_variant
enum Variants model_variant
Definition
CourtemancheRamirezNattel98.h:128
Nektar::CourtemancheRamirezNattel98::K_m_Na_i
NekDouble K_m_Na_i
Definition
CourtemancheRamirezNattel98.h:97
Nektar::CourtemancheRamirezNattel98::Cmdn_max
NekDouble Cmdn_max
Definition
CourtemancheRamirezNattel98.h:108
Nektar::CourtemancheRamirezNattel98::Ca_o
NekDouble Ca_o
Definition
CourtemancheRamirezNattel98.h:101
Nektar::CourtemancheRamirezNattel98::K_m_Na
NekDouble K_m_Na
Definition
CourtemancheRamirezNattel98.h:102
Nektar::CourtemancheRamirezNattel98::def
static std::string def
Definition
CourtemancheRamirezNattel98.h:131
Nektar::CourtemancheRamirezNattel98::Variants
Variants
Definition
CourtemancheRamirezNattel98.h:124
Nektar::CourtemancheRamirezNattel98::eOriginal
@ eOriginal
Definition
CourtemancheRamirezNattel98.h:125
Nektar::CourtemancheRamirezNattel98::eAF
@ eAF
Definition
CourtemancheRamirezNattel98.h:126
Nektar::CourtemancheRamirezNattel98::V_i
NekDouble V_i
Definition
CourtemancheRamirezNattel98.h:121
Nektar::CourtemancheRamirezNattel98::g_b_Na
NekDouble g_b_Na
Definition
CourtemancheRamirezNattel98.h:87
Nektar::CourtemancheRamirezNattel98::g_Kr
NekDouble g_Kr
Definition
CourtemancheRamirezNattel98.h:84
Nektar::CourtemancheRamirezNattel98::JSR_V_cell
NekDouble JSR_V_cell
Definition
CourtemancheRamirezNattel98.h:116
Nektar::CourtemancheRamirezNattel98::C_m
NekDouble C_m
Definition
CourtemancheRamirezNattel98.h:80
Nektar::CourtemancheRamirezNattel98::T
NekDouble T
Definition
CourtemancheRamirezNattel98.h:91
Nektar::CourtemancheRamirezNattel98::NSR_K_up
NekDouble NSR_K_up
Definition
CourtemancheRamirezNattel98.h:114
Nektar::CourtemancheRamirezNattel98::Km_Trpn
NekDouble Km_Trpn
Definition
CourtemancheRamirezNattel98.h:107
Nektar::CourtemancheRamirezNattel98::K_sat
NekDouble K_sat
Definition
CourtemancheRamirezNattel98.h:104
Nektar::CourtemancheRamirezNattel98::g_to
NekDouble g_to
Definition
CourtemancheRamirezNattel98.h:83
Nektar::CourtemancheRamirezNattel98::v_Update
void v_Update(const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) override
Computes the reaction terms $f(u,v)$ and $g(u,v)$.
Definition
CourtemancheRamirezNattel98.cpp:160
Nektar::CourtemancheRamirezNattel98::NSR_I_up_max
NekDouble NSR_I_up_max
Definition
CourtemancheRamirezNattel98.h:112
Nektar::CourtemancheRamirezNattel98::Na_o
NekDouble Na_o
Definition
CourtemancheRamirezNattel98.h:93
Nektar::CourtemancheRamirezNattel98::NSR_I_Ca_max
NekDouble NSR_I_Ca_max
Definition
CourtemancheRamirezNattel98.h:113
Nektar::CourtemancheRamirezNattel98::gamma
NekDouble gamma
Definition
CourtemancheRamirezNattel98.h:100
Nektar::CourtemancheRamirezNattel98::g_Na
NekDouble g_Na
Definition
CourtemancheRamirezNattel98.h:81
Nektar::CourtemancheRamirezNattel98::v_GetCellVarName
std::string v_GetCellVarName(size_t idx) override
Definition
CourtemancheRamirezNattel98.cpp:630
Nektar::CourtemancheRamirezNattel98::K_o
NekDouble K_o
Definition
CourtemancheRamirezNattel98.h:94
Nektar::CourtemancheRamirezNattel98::g_Kur_scaling
NekDouble g_Kur_scaling
Definition
CourtemancheRamirezNattel98.h:85
Nektar::CourtemancheRamirezNattel98::g_b_Ca
NekDouble g_b_Ca
Definition
CourtemancheRamirezNattel98.h:88
Nektar::CourtemancheRamirezNattel98::Csqn_max
NekDouble Csqn_max
Definition
CourtemancheRamirezNattel98.h:109
Nektar::CourtemancheRamirezNattel98::tau_tr
NekDouble tau_tr
Definition
CourtemancheRamirezNattel98.h:119
Nektar::CourtemancheRamirezNattel98::~CourtemancheRamirezNattel98
~CourtemancheRamirezNattel98() override
Destructor.
Definition
CourtemancheRamirezNattel98.cpp:156
Nektar::CourtemancheRamirezNattel98::I_Na_K_max
NekDouble I_Na_K_max
Definition
CourtemancheRamirezNattel98.h:98
Nektar::CourtemancheRamirezNattel98::F
NekDouble F
Definition
CourtemancheRamirezNattel98.h:92
Nektar::CourtemancheRamirezNattel98::Km_Cmdn
NekDouble Km_Cmdn
Definition
CourtemancheRamirezNattel98.h:110
Nektar::CourtemancheRamirezNattel98::g_Ca_L
NekDouble g_Ca_L
Definition
CourtemancheRamirezNattel98.h:89
Nektar::CourtemancheRamirezNattel98::className
static std::string className
Name of class.
Definition
CourtemancheRamirezNattel98.h:56
Nektar::CourtemancheRamirezNattel98::Trpn_max
NekDouble Trpn_max
Definition
CourtemancheRamirezNattel98.h:106
Nektar::CourtemancheRamirezNattel98::I_NaCa_max
NekDouble I_NaCa_max
Definition
CourtemancheRamirezNattel98.h:99
Nektar::CourtemancheRamirezNattel98::lookupIds
static std::string lookupIds[]
Definition
CourtemancheRamirezNattel98.h:130
Nektar::CourtemancheRamirezNattel98::Km_Csqn
NekDouble Km_Csqn
Definition
CourtemancheRamirezNattel98.h:111
Nektar::CourtemancheRamirezNattel98::g_K1
NekDouble g_K1
Definition
CourtemancheRamirezNattel98.h:82
Nektar::CourtemancheRamirezNattel98::K_i
NekDouble K_i
Definition
CourtemancheRamirezNattel98.h:96
Nektar::CourtemancheRamirezNattel98::K_m_Ca
NekDouble K_m_Ca
Definition
CourtemancheRamirezNattel98.h:103
Nektar::MemoryManager::AllocateSharedPtr
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
Definition
NekMemoryManager.hpp:166
Nektar::LibUtilities::SessionReaderSharedPtr
std::shared_ptr< SessionReader > SessionReaderSharedPtr
Definition
SessionReader.h:119
Nektar::MultiRegions::ExpListSharedPtr
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
Definition
LocTraceToTraceMap.h:56
Nektar::SolverUtils::SummaryList
std::vector< std::pair< std::string, std::string > > SummaryList
Definition
Misc.h:46
Nektar
Definition
CoupledSolver.h:2
Nektar::CellModelSharedPtr
std::shared_ptr< CellModel > CellModelSharedPtr
A shared pointer to an EquationSystem object.
Definition
CellModel.h:55
Nektar::NekDouble
double NekDouble
Definition
NektarUnivTypeDefs.hpp:43
Nektar::OneD
Definition
NektarUnivTypeDefs.hpp:54
Generated on Sun Nov 9 2025 20:17:00 for Nektar++ by
1.9.8