|
Nektar++
|
Aliev Panfilov model. More...
#include <AlievPanfilov.h>
Public Member Functions | |
| CellModelAlievPanfilov (const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField) | |
| ~CellModelAlievPanfilov () override | |
Public Member Functions inherited from Nektar::CellModel | |
| CellModel (const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField) | |
| virtual | ~CellModel () |
| void | Initialise () |
| Initialise the cell model storage and set initial conditions. More... | |
| void | TimeIntegrate (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
| Time integrate the cell model by one PDE timestep. More... | |
| void | Update (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
| Compute the derivatives of cell model variables. More... | |
| void | GenerateSummary (SummaryList &s) |
| Print a summary of the cell model. More... | |
| size_t | GetNumCellVariables () |
| std::string | GetCellVarName (size_t idx) |
| Array< OneD, NekDouble > | GetCellSolutionCoeffs (size_t idx) |
| Array< OneD, NekDouble > | GetCellSolution (size_t idx) |
Static Public Member Functions | |
| static CellModelSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField) |
| Creates an instance of this class. More... | |
Static Public Attributes | |
| static std::string | className |
| Name of class. More... | |
Protected Member Functions | |
| void | v_Update (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) override |
| void | v_GenerateSummary (SummaryList &s) override |
| void | v_SetInitialConditions () override |
Protected Member Functions inherited from Nektar::CellModel | |
| virtual void | v_Update (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time)=0 |
| virtual void | v_GenerateSummary (SummaryList &s)=0 |
| virtual std::string | v_GetCellVarName (size_t idx) |
| virtual void | v_SetInitialConditions ()=0 |
| void | LoadCellModel () |
Private Attributes | |
| NekDouble | m_a |
| Trigger parameter a. More... | |
| NekDouble | m_k |
| Scaling parameter k. More... | |
| NekDouble | m_mu1 |
| Restitution parameter \(\mu_1\). More... | |
| NekDouble | m_mu2 |
| Restitution parameter \(\mu_2\). More... | |
| NekDouble | m_eps |
| Restitution parameter \(\epsilon\). More... | |
| Array< OneD, NekDouble > | m_uu |
| Temporary space for storing \(u^2\) when computing reaction term. More... | |
| Array< OneD, NekDouble > | m_uuu |
| Temporary space for storing \(u^3\) when computing reaction term. More... | |
| Array< OneD, NekDouble > | m_tmp1 |
| Workspace for computing reaction term. More... | |
| Array< OneD, NekDouble > | m_tmp2 |
| Workspace for computing reaction term. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::CellModel | |
| LibUtilities::SessionReaderSharedPtr | m_session |
| Session. More... | |
| MultiRegions::ExpListSharedPtr | m_field |
| Transmembrane potential field from PDE system. More... | |
| size_t | m_nq |
| Number of physical points. More... | |
| size_t | m_nvar |
| Number of variables in cell model (inc. transmembrane voltage) More... | |
| NekDouble | m_lastTime |
| Timestep for pde model. More... | |
| size_t | m_substeps |
| Number of substeps to take. More... | |
| Array< OneD, Array< OneD, NekDouble > > | m_cellSol |
| Cell model solution variables. More... | |
| Array< OneD, Array< OneD, NekDouble > > | m_wsp |
| Cell model integration workspace. More... | |
| bool | m_useNodal |
| Flag indicating whether nodal projection in use. More... | |
| StdRegions::StdNodalTriExpSharedPtr | m_nodalTri |
| StdNodalTri for cell model calculations. More... | |
| StdRegions::StdNodalTetExpSharedPtr | m_nodalTet |
| Array< OneD, Array< OneD, NekDouble > > | m_nodalTmp |
| Temporary array for nodal projection. More... | |
| std::vector< int > | m_concentrations |
| Indices of cell model variables which are concentrations. More... | |
| std::vector< int > | m_gates |
| Indices of cell model variables which are gates. More... | |
| Array< OneD, Array< OneD, NekDouble > > | m_gates_tau |
| Storage for gate tau values. More... | |
Aliev Panfilov model.
Definition at line 43 of file AlievPanfilov.h.
| Nektar::CellModelAlievPanfilov::CellModelAlievPanfilov | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
| const MultiRegions::ExpListSharedPtr & | pField | ||
| ) |
Definition at line 51 of file AlievPanfilov.cpp.
References m_a, Nektar::CellModel::m_concentrations, m_eps, m_k, m_mu1, m_mu2, Nektar::CellModel::m_nq, Nektar::CellModel::m_nvar, m_tmp1, m_tmp2, m_uu, and m_uuu.
|
inlineoverride |
Definition at line 61 of file AlievPanfilov.h.
|
inlinestatic |
Creates an instance of this class.
Definition at line 47 of file AlievPanfilov.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
overrideprotectedvirtual |
Implements Nektar::CellModel.
Definition at line 186 of file AlievPanfilov.cpp.
References Nektar::SolverUtils::AddSummaryItem(), m_a, m_eps, m_k, m_mu1, and m_mu2.
|
overrideprotectedvirtual |
Implements Nektar::CellModel.
Definition at line 199 of file AlievPanfilov.cpp.
References Vmath::Fill(), Nektar::CellModel::m_cellSol, and Nektar::CellModel::m_nq.
|
overrideprotectedvirtual |
Implements Nektar::CellModel.
Definition at line 71 of file AlievPanfilov.cpp.
References m_a, m_eps, m_k, m_mu1, m_mu2, Nektar::CellModel::m_nq, m_tmp1, m_tmp2, m_uu, m_uuu, Vmath::Neg(), Vmath::Sadd(), Vmath::Smul(), Vmath::Svtvp(), Vmath::Vadd(), Vmath::Vdiv(), Vmath::Vmul(), and Vmath::Vvtvp().
|
static |
Name of class.
Registers the class with the Factory.
Definition at line 56 of file AlievPanfilov.h.
|
private |
Trigger parameter a.
Definition at line 76 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), v_GenerateSummary(), and v_Update().
|
private |
Restitution parameter \(\epsilon\).
Definition at line 84 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), v_GenerateSummary(), and v_Update().
|
private |
Scaling parameter k.
Definition at line 78 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), v_GenerateSummary(), and v_Update().
|
private |
Restitution parameter \(\mu_1\).
Definition at line 80 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), v_GenerateSummary(), and v_Update().
|
private |
Restitution parameter \(\mu_2\).
Definition at line 82 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), v_GenerateSummary(), and v_Update().
Workspace for computing reaction term.
Definition at line 91 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), and v_Update().
Workspace for computing reaction term.
Definition at line 93 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), and v_Update().
Temporary space for storing \(u^2\) when computing reaction term.
Definition at line 87 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), and v_Update().
Temporary space for storing \(u^3\) when computing reaction term.
Definition at line 89 of file AlievPanfilov.h.
Referenced by CellModelAlievPanfilov(), and v_Update().