LifeV
|
BidomainSolver - Class featuring the usual solver for bidomain equations. More...
#include <ElectroETABidomainSolver.hpp>
Protected Member Functions | |
void | importFibers (vectorPtr_Type M_fiberPtr, std::string fibersFile, meshPtr_Type M_localMeshPtr) |
Private Member Functions | |
void | setParameters () |
void | init () |
void | init (commPtr_Type comm) |
void | init (meshPtr_Type meshPtr) |
void | init (ionicModelPtr_Type model) |
void | init (commPtr_Type comm, ionicModelPtr_Type model) |
void | init (meshPtr_Type meshPtr, ionicModelPtr_Type model) |
Get Methods | |
const Real & | surfaceVolumeRatio () const |
get the surface to volume ratio More... | |
const Real & | initialTime () const |
get the initial time (by default 0) More... | |
const Real & | timeStep () const |
get the final time More... | |
const Real & | endTime () const |
get the time step More... | |
const VectorSmall< 3 > & | diffusionTensorIntra () const |
get the diagonal intra cellular diffusion tensor More... | |
const VectorSmall< 3 > & | diffusionTensorExtra () const |
get the diagonal extra cellular diffusion tensor More... | |
const std::string | elementsOrder () const |
get the order of the elements More... | |
const ionicModelPtr_Type | ionicModelPtr () const |
get the pointer to the ionic model More... | |
const commPtr_Type | commPtr () const |
get the pointer to the Epetra communicator More... | |
const meshPtr_Type | localMeshPtr () const |
get the pointer to the partitioned mesh More... | |
const meshPtr_Type | fullMeshPtr () const |
get the pointer to the partitioned mesh More... | |
const ETFESpacePtr_Type | ETFESpacePtr () const |
get the pointer to the ETA finite element space More... | |
const feSpacePtr_Type | feSpacePtr () const |
get the pointer to the usual finite element space More... | |
const blockMatrixPtr_Type | massMatrixPtr () const |
get the pointer to the mass matrix More... | |
const blockMatrixPtr_Type | stiffnessMatrixPtr () const |
get the pointer to the stiffness matrix More... | |
const blockMatrixPtr_Type | globalMatrixPtr () const |
get the pointer to the global matrix More... | |
const blockVectorPtr_Type | rhsPtr () const |
get the pointer to the right hand side More... | |
const blockVectorPtr_Type | rhsPtrUnique () const |
get the pointer to the unique version of the right hand side More... | |
const vectorPtr_Type | potentialTransPtr () const |
get the pointer to the transmembrane potential More... | |
blockVectorPtr_Type | potentialGlobalPtr () |
get the pointer to the potential More... | |
const vectorPtr_Type | potentialExtraPtr () const |
get the pointer to the extra cellular potential More... | |
const vectorPtr_Type | fiberPtr () const |
get the pointer to the fiber vector More... | |
const vectorPtr_Type | appliedCurrentIntraPtr () |
get the pointer to the applied intra cellular current vector More... | |
const linearSolverPtr_Type | linearSolverPtr () const |
get the pointer to the linear solver More... | |
const vectorOfPtr_Type & | globalSolution () const |
get the pointer to the vector of pointers containing the transmembrane potential (at 0) and the gating variables More... | |
const vectorOfPtr_Type & | globalRhs () const |
get the pointer to the vector of pointers containing the rhs for transmembrane potential (at 0) and the gating variables More... | |
vectorPtr_Type | displacementPtr () const |
get the pointer to the transmembrane potential More... | |
ETFESpaceVectorialPtr_Type | displacementETFESpacePtr () const |
bool | lumpedMassMatrix () const |
Set Methods | |
void | setSurfaceVolumeRatio (const Real &p) |
set the surface to volume ratio More... | |
void | setInitialTime (const Real &p) |
set the starting time More... | |
void | setTimeStep (const Real &p) |
set the ending time More... | |
void | setEndTime (const Real &p) |
set the time step More... | |
void | setDiffusionTensorIntra (const VectorSmall< 3 > &p) |
set the intra cellular diagonal diffusion tensor More... | |
void | setDiffusionTensorExtra (const VectorSmall< 3 > &p) |
set the extra cellular diagonal diffusion tensor More... | |
void | setIonicModelPtr (const ionicModelPtr_Type p) |
set the pointer to the ionic model More... | |
void | setCommPtr (const commPtr_Type p) |
set the pointer to the Epetra communicator More... | |
void | setLocalMeshPtr (const meshPtr_Type p) |
set the pointer to the partitioned mesh More... | |
void | setFullMeshPtr (const meshPtr_Type p) |
set the pointer to the partitioned mesh More... | |
void | setETFESpacePtr (const ETFESpacePtr_Type p) |
set the pointer to the ETA fe space More... | |
void | setFeSpacePtr (const feSpacePtr_Type p) |
set the pointer to the usual fe space More... | |
void | setMassMatrixPtr (const blockMatrixPtr_Type p) |
set the pointer to the mass matrix More... | |
void | setStiffnessMatrixPtr (const blockMatrixPtr_Type p) |
set the pointer to the stiffness matrix More... | |
void | setGlobalMatrixPtr (const blockMatrixPtr_Type p) |
set the pointer to the global matrix More... | |
void | setRhsPtr (const blockVectorPtr_Type p) |
set the pointer to the right hand side More... | |
void | setRhsPtrUnique (const blockVectorPtr_Type p) |
set the pointer to the unique version of the right hand side More... | |
void | setPotentialExtraPtr (const vectorPtr_Type p) |
void | setPotentialTransPtr (const vectorPtr_Type p) |
void | setAppliedCurrentIntraPtr (const vectorPtr_Type p) |
set the pointer to the intra cell applied current vector More... | |
void | setLinearSolverPtr (const linearSolverPtr_Type p) |
set the pointer to the linear solver More... | |
void | setGlobalSolution (const vectorOfPtr_Type &p) |
set the vector of pointers containing the transmembrane potential (at 0) and the gating variables More... | |
void | setGlobalRhs (const vectorOfPtr_Type &p) |
set the vector of pointers containing the rhs for the transmembrane potential (at 0) and the gating variables More... | |
void | setFiberPtr (const vectorPtr_Type p) |
set the pointer to the fiber direction vector More... | |
void | setDisplacementPtr (const vectorPtr_Type p) |
set the pointer to displacement of the tissue More... | |
Copy Methods | |
void | setIonicModel (const ionicModel_Type &p) |
void | setComm (const comm_Type &p) |
void | setLocalMesh (const mesh_Type &p) |
void | setFullMesh (const mesh_Type &p) |
void | setETFESpace (const ETFESpace_Type &p) |
void | setFeSpace (const feSpace_Type &p) |
void | setMassMatrix (const matrix_Type &p) |
void | setStiffnessMatrix (const matrix_Type &p) |
void | setGlobalMatrix (const matrix_Type &p) |
void | setRhs (const vector_Type &p) |
void | setRhsUnique (const vector_Type &p) |
void | setPotentialTrans (const vector_Type &p) |
void | setPotentialExtra (const blockVector_Type &p) |
void | setFiber (const vector_Type &p) |
void | setDisplacement (const vector_Type &p) |
void | setAppliedCurrentIntra (const vector_Type &p) |
void | setLinearSolver (const linearSolver_Type &p) |
void | copyGlobalSolution (const vectorOfPtr_Type &p) |
void | setVariablePtr (const vectorPtr_Type p, int j) |
void | copyGlobalRhs (const vectorOfPtr_Type &p) |
void | setLumpedMassMatrix (bool p) const |
Methods | |
void | setup (GetPot &dataFile, short int ionicSize) |
void | setup (std::string meshName, std::string meshPath, GetPot &dataFile, short int ionicSize) |
void | setupMassMatrix () |
create mass matrix More... | |
void | setupMassMatrix (vector_Type &disp) |
create mass matrix More... | |
void | setupLumpedMassMatrix () |
create mass matrix More... | |
void | setupLumpedMassMatrix (vector_Type &disp) |
void | setupStiffnessMatrix () |
create stiffness matrix More... | |
void | setupStiffnessMatrix (vectorPtr_Type disp) |
create stiffness matrix in a moving domain More... | |
void | setupStiffnessMatrix (VectorSmall< 3 > diffusionIntra, VectorSmall< 3 > diffusionExtra) |
create stiffness matrix given a diagonal diffusion tensor More... | |
void | setupGlobalMatrix () |
create stiffness matrix given the fiber direction and a diagonal diffusion tensor More... | |
void | setupLinearSolver (GetPot dataFile) |
setup the linear solver More... | |
void | setupLinearSolver (GetPot dataFile, list_Type list) |
setup the linear solver More... | |
void | initializePotential () |
Initialize the potentials to zero. More... | |
void | initializePotentialTrans (Real k) |
Initialize the potential to the value k. More... | |
void | initializePotentialExtra (Real k) |
void | initializeAppliedCurrentIntra () |
Initialize the applied current to zero. More... | |
void | initializeAppliedCurrentIntra (Real k) |
Initialize the intra cellular applied current to the value k. More... | |
void | setupGlobalSolution (short int ionicSize) |
creates a vector of pointers to store the solution More... | |
void | setupGlobalRhs (short int ionicSize) |
creates a vector of pointers to store the rhs More... | |
void | setParameters (list_Type list) |
Set parameters from an xml file. More... | |
void | partitionMesh (std::string meshName, std::string meshPath) |
partition the mesh More... | |
void | setPotentialFromFunctionTrans (function_Type &f, Real time=0.0) |
given a boost function initialize the transmembrane potential More... | |
void | setPotentialFromFunctionExtra (function_Type &f, Real time=0.0) |
given a boost function initialize the extra cellular potential More... | |
void | setAppliedCurrentFromFunctionIntra (function_Type &f, Real time=0.0) |
given a boost function initialize the applied intra cellular current More... | |
void | solveOneReactionStepFE (int subiterations=1) |
Solves one reaction step using the forward Euler scheme. More... | |
void | solveOneReactionStepFE (matrix_Type &mass, int subiterations=1) |
void | solveOneReactionStepRL (int subiterations=1) |
void | updateRhs () |
Update the rhs. More... | |
void | solveOneDiffusionStepBDF2 (vectorPtr_Type previousPotentialGlobalPtr) |
Solves one diffusion step using the BDF2 scheme. More... | |
void | solveOneDiffusionStepBE () |
Solves one diffusion step using the backward Euler scheme. More... | |
void | solveOneSplittingStep () |
Solve one full step with operator splitting. More... | |
void | solveSplitting () |
Solve the system with operator splitting from M_initialTime to the M_endTime with time step M_timeStep. More... | |
void | solveOneSplittingStep (IOFile_Type &exporter, Real t) |
Solve one full step with operator splitting and export the solution. More... | |
void | solveSplitting (IOFile_Type &exporter) |
Solve the system with operator splitting from M_initialTime to the M_endTime with time step M_timeStep and export the solution. More... | |
void | solveSplitting (IOFile_Type &exporter, Real dt) |
Solve the system with operator splitting from M_initialTime to the M_endTime with time step M_timeStep and export the solution every dt. More... | |
void | setupPotentialExporter (IOFile_Type &exporter) |
add to a given exporter the pointer to the potential More... | |
void | setupPotentialExporter (IOFile_Type &exporter, std::string fileName) |
add to a given exporter the pointer to the potential saved with name fileName More... | |
void | setupExporter (IOFile_Type &exporter, std::string fileName="output", std::string folder="./") |
add to a given exporter the pointer to the potential and to the gating variables saved with name fileName More... | |
void | setupFibers () |
Generates a default fiber direction (0,1,0) More... | |
void | setupFibers (VectorSmall< 3 > fibers) |
Generates the fiber direction given the three component of the vector (F_x,F_y,F_z) More... | |
void | setupFibers (std::string fibersFile) |
Imports the fiber direction from a hdf5 file. More... | |
void | setupFibers (std::string fibersFile, std::string directory, int format=0) |
Imports the fiber direction from a vtk file ( format = 0), or text file. More... | |
void | solveOneStepGatingVariablesFE () |
Solves the gating variables with forward Euler. More... | |
void | solveOneStepGatingVariablesRL () |
void | computeRhsSVI () |
Compute the rhs using state variable interpolation. More... | |
void | computeRhsICI () |
Compute the rhs using ionic current interpolation. More... | |
void | computeRhsICI (matrix_Type &mass) |
void | solveOneICIStep () |
Solve one full step with ionic current interpolation. More... | |
void | solveOneICIStep (matrix_Type &mass) |
void | solveOneSVIStep () |
Solve one full step with ionic current interpolation. More... | |
void | solveICI () |
solve system using ICI from M_initialTime to the M_endTime with time step M_timeStep More... | |
void | solveSVI () |
solve system using SVI from M_initialTime to the M_endTime with time step M_timeStep More... | |
void | solveOneICIStep (IOFile_Type &exporter, Real t) |
Solve one full step with ionic current interpolation and export the solution. More... | |
void | solveOneSVIStep (IOFile_Type &exporter, Real t) |
Solve one full step with ionic current interpolation and export the solution. More... | |
void | solveICI (IOFile_Type &exporter) |
solve system using ICI from M_initialTime to the M_endTime with time step M_timeStep and export the solution More... | |
void | solveSVI (IOFile_Type &exporter) |
solve system using SVI from M_initialTime to the M_endTime with time step M_timeStep and export the solution More... | |
void | solveICI (IOFile_Type &exporter, Real dt) |
Solve the system using ICI from M_initialTime to the M_endTime with time step M_timeStep and export the solution every dt. More... | |
void | solveSVI (IOFile_Type &exporter, Real dt) |
Solve the using SVI from M_initialTime to the M_endTime with time step M_timeStep and export the solution every dt. More... | |
void | exportFiberDirection (std::string postDir="./") |
Generates a file where the fiber direction is saved. More... | |
void | exportFiberDirection (IOFile_Type &exporter) |
save the fiber direction into the given exporter More... | |
void | exportSolution (IOFile_Type &exporter, Real t) |
Save the solution in the exporter. More... | |
void | importSolution (GetPot &dataFile, std::string prefix, std::string postDir, Real time) |
Import solution. More... | |
void | setInitialConditions () |
void | registerActivationTime (vector_Type &activationTimeVector, Real time, Real threshold=0.0) |
save the fiber direction into the given exporter More... | |
BidomainSolver - Class featuring the usual solver for bidomain equations.
Definition at line 106 of file ElectroETABidomainSolver.hpp.
typedef Mesh mesh_Type |
Definition at line 121 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<mesh_Type> meshPtr_Type |
Definition at line 122 of file ElectroETABidomainSolver.hpp.
typedef VectorEpetra vector_Type |
Definition at line 124 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<VectorEpetra> vectorPtr_Type |
Definition at line 125 of file ElectroETABidomainSolver.hpp.
Definition at line 127 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<blockVector_Type> blockVectorPtr_Type |
Definition at line 128 of file ElectroETABidomainSolver.hpp.
typedef std::vector<vectorPtr_Type> vectorOfPtr_Type |
Definition at line 130 of file ElectroETABidomainSolver.hpp.
typedef MatrixEpetra<Real> matrix_Type |
Definition at line 134 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 135 of file ElectroETABidomainSolver.hpp.
typedef MatrixEpetraStructured<Real> blockMatrix_Type |
Definition at line 137 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<blockMatrix_Type> blockMatrixPtr_Type |
Definition at line 138 of file ElectroETABidomainSolver.hpp.
typedef Epetra_Comm comm_Type |
Definition at line 140 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<comm_Type> commPtr_Type |
Definition at line 141 of file ElectroETABidomainSolver.hpp.
typedef ETFESpace<mesh_Type, MapEpetra, 3, 1> ETFESpace_Type |
Definition at line 143 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<ETFESpace<mesh_Type, MapEpetra, 3, 1> > ETFESpacePtr_Type |
Definition at line 144 of file ElectroETABidomainSolver.hpp.
typedef ETFESpace<mesh_Type, MapEpetra, 3, 3> ETFESpaceVectorial_Type |
Definition at line 146 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<ETFESpaceVectorial_Type> ETFESpaceVectorialPtr_Type |
Definition at line 147 of file ElectroETABidomainSolver.hpp.
typedef FESpace<mesh_Type, MapEpetra> feSpace_Type |
Definition at line 149 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<feSpace_Type> feSpacePtr_Type |
Definition at line 150 of file ElectroETABidomainSolver.hpp.
typedef LinearSolver linearSolver_Type |
Definition at line 152 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<LinearSolver> linearSolverPtr_Type |
Definition at line 153 of file ElectroETABidomainSolver.hpp.
typedef Exporter<mesh_Type> IOFile_Type |
Definition at line 156 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<IOFile_Type> IOFilePtr_Type |
Definition at line 157 of file ElectroETABidomainSolver.hpp.
typedef ExporterData<mesh_Type> IOData_Type |
Definition at line 158 of file ElectroETABidomainSolver.hpp.
typedef ExporterEnsight<mesh_Type> ensightIOFile_Type |
Definition at line 159 of file ElectroETABidomainSolver.hpp.
typedef ExporterHDF5< mesh_Type > hdf5IOFile_Type |
Definition at line 161 of file ElectroETABidomainSolver.hpp.
typedef LifeV::Preconditioner basePrec_Type |
Definition at line 164 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<basePrec_Type> basePrecPtr_Type |
Definition at line 165 of file ElectroETABidomainSolver.hpp.
typedef LifeV::PreconditionerML prec_Type |
Definition at line 166 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<prec_Type> precPtr_Type |
Definition at line 167 of file ElectroETABidomainSolver.hpp.
typedef IonicModel ionicModel_Type |
Definition at line 169 of file ElectroETABidomainSolver.hpp.
typedef ElectroIonicModel superIonicModel |
Definition at line 170 of file ElectroETABidomainSolver.hpp.
typedef std::shared_ptr<ionicModel_Type> ionicModelPtr_Type |
Definition at line 171 of file ElectroETABidomainSolver.hpp.
typedef Teuchos::ParameterList list_Type |
Definition at line 173 of file ElectroETABidomainSolver.hpp.
typedef std::function< Real (const Real& t, const Real& x, const Real& y, const Real& z, const ID& i) > function_Type |
Definition at line 177 of file ElectroETABidomainSolver.hpp.
typedef MatrixSmall<3, 3> matrixSmall_Type |
Definition at line 179 of file ElectroETABidomainSolver.hpp.
ElectroETABidomainSolver | ( | list_Type | list, |
GetPot & | dataFile, | ||
ionicModelPtr_Type | model | ||
) |
Constructor.
Teuchos::ParameterList | parameter list |
GetPot | datafile (for preconditioner) |
std::shared_ptr<IonicModel> | chosen ionic model pointer |
Definition at line 1100 of file ElectroETABidomainSolver.hpp.
ElectroETABidomainSolver | ( | GetPot & | dataFile, |
ionicModelPtr_Type | model, | ||
meshPtr_Type | meshPtr | ||
) |
Constructor.
GetPot | datafile (for preconditioner) |
std::shared_ptr<IonicModel> | chosen ionic model pointer |
std::shared_ptr<Mesh> | Pointer to the partitioned mesh |
Definition at line 1152 of file ElectroETABidomainSolver.hpp.
ElectroETABidomainSolver | ( | list_Type | list, |
GetPot & | dataFile, | ||
ionicModelPtr_Type | model, | ||
commPtr_Type | comm | ||
) |
Constructor.
Teuchos::ParameterList | parameter list |
GetPot | datafile (for preconditioner) |
std::shared_ptr<IonicModel> | chosen ionic model pointer |
std::shared_ptr<Epetra_Comm> | Epetra communicator |
Definition at line 1110 of file ElectroETABidomainSolver.hpp.
ElectroETABidomainSolver | ( | list_Type | list, |
GetPot & | dataFile, | ||
ionicModelPtr_Type | model, | ||
meshPtr_Type | meshPtr | ||
) |
Constructor.
Teuchos::ParameterList | parameter list |
GetPot | datafile (for preconditioner) |
std::shared_ptr<IonicModel> | chosen ionic model pointer |
std::shared_ptr<Mesh> | Pointer to the partitioned mesh |
Definition at line 1121 of file ElectroETABidomainSolver.hpp.
ElectroETABidomainSolver | ( | std::string | meshName, |
std::string | meshPath, | ||
GetPot & | dataFile, | ||
ionicModelPtr_Type | model | ||
) |
Constructor.
string | file name of the mesh |
string | path to the mesh |
GetPot | datafile (for preconditioner) |
std::shared_ptr<IonicModel> | chosen ionic model pointer |
Definition at line 1131 of file ElectroETABidomainSolver.hpp.
ElectroETABidomainSolver | ( | std::string | meshName, |
std::string | meshPath, | ||
GetPot & | dataFile, | ||
ionicModelPtr_Type | model, | ||
commPtr_Type | comm | ||
) |
Constructor.
string | file name of the mesh |
string | path to the mesh |
GetPot | datafile (for preconditioner) |
std::shared_ptr<IonicModel> | chosen ionic model pointer |
std::shared_ptr<Epetra_Comm> | Epetra communicator |
Definition at line 1141 of file ElectroETABidomainSolver.hpp.
ElectroETABidomainSolver | ( | const ElectroETABidomainSolver< Mesh, IonicModel > & | solver | ) |
Copy Constructor.
ElectroETABidomainSolver | object |
Definition at line 1162 of file ElectroETABidomainSolver.hpp.
|
inlinevirtual |
Destructor.
Definition at line 272 of file ElectroETABidomainSolver.hpp.
ElectroETABidomainSolver< Mesh, IonicModel > & operator= | ( | const ElectroETABidomainSolver< Mesh, IonicModel > & | solver | ) |
Operator=()
ElectroETABidomainSolver | object |
Definition at line 1197 of file ElectroETABidomainSolver.hpp.
|
inline |
get the surface to volume ratio
Not used in the code ( implicit definition inside the diffusion tensor)
Definition at line 285 of file ElectroETABidomainSolver.hpp.
|
inline |
get the initial time (by default 0)
Definition at line 291 of file ElectroETABidomainSolver.hpp.
|
inline |
get the final time
Definition at line 296 of file ElectroETABidomainSolver.hpp.
|
inline |
get the time step
Definition at line 301 of file ElectroETABidomainSolver.hpp.
|
inline |
get the diagonal intra cellular diffusion tensor
Definition at line 306 of file ElectroETABidomainSolver.hpp.
|
inline |
get the diagonal extra cellular diffusion tensor
Definition at line 311 of file ElectroETABidomainSolver.hpp.
|
inline |
get the order of the elements
Definition at line 316 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the ionic model
Definition at line 321 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the Epetra communicator
Definition at line 326 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the partitioned mesh
Definition at line 331 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the partitioned mesh
Definition at line 336 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the ETA finite element space
Definition at line 341 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the usual finite element space
Definition at line 346 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the mass matrix
Definition at line 351 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the stiffness matrix
Definition at line 356 of file ElectroETABidomainSolver.hpp.
|
inline |
|
inline |
get the pointer to the right hand side
Definition at line 372 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the unique version of the right hand side
Definition at line 377 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the transmembrane potential
Definition at line 382 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the potential
Definition at line 387 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the extra cellular potential
Definition at line 392 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the fiber vector
Definition at line 398 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the applied intra cellular current vector
Definition at line 403 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the linear solver
Definition at line 409 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the vector of pointers containing the transmembrane potential (at 0) and the gating variables
Definition at line 414 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the vector of pointers containing the rhs for transmembrane potential (at 0) and the gating variables
Definition at line 419 of file ElectroETABidomainSolver.hpp.
|
inline |
get the pointer to the transmembrane potential
Definition at line 424 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 429 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 434 of file ElectroETABidomainSolver.hpp.
|
inline |
set the surface to volume ratio
Real | surface to volume ratio |
Definition at line 448 of file ElectroETABidomainSolver.hpp.
|
inline |
set the starting time
Real | initial time |
Definition at line 457 of file ElectroETABidomainSolver.hpp.
|
inline |
set the ending time
Real | ending time |
Definition at line 465 of file ElectroETABidomainSolver.hpp.
|
inline |
set the time step
Real | time step |
Definition at line 473 of file ElectroETABidomainSolver.hpp.
|
inline |
set the intra cellular diagonal diffusion tensor
VectorSmall<3> | diagonal intra cellular diffusion tensor |
Definition at line 481 of file ElectroETABidomainSolver.hpp.
|
inline |
set the extra cellular diagonal diffusion tensor
VectorSmall<3> | diagonal extra cellular diffusion tensor |
Definition at line 489 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the ionic model
std::shared_ptr<IonicModel> | pointer to the ionic model |
Definition at line 498 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the Epetra communicator
std::shared_ptr<Epetra_Comm> | pointer to the Epetra communicator |
Definition at line 507 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the partitioned mesh
std::shared_ptr<Mesh> | pointer to the partitioned mesh |
Definition at line 515 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the partitioned mesh
std::shared_ptr<Mesh> | pointer to the partitioned mesh |
Definition at line 523 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the ETA fe space
std::shared_ptr<ETFESpace<Mesh,MapEpetra,3,1>> | pointer to the ETA fe space |
Definition at line 531 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the usual fe space
std::shared_ptr<IFESpace<Mesh,MapEpetra>> | pointer to the usual fe space |
Definition at line 539 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the mass matrix
std::shared_ptr<MatrixEpetra<Real>> | pointer to the mass matrix |
Definition at line 548 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the stiffness matrix
std::shared_ptr<MatrixEpetra<Real>> | pointer to the stiffness matrix |
Definition at line 556 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the global matrix
std::shared_ptr<MatrixEpetra<Real>> | pointer to the global matrix |
Definition at line 564 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the right hand side
std::shared_ptr<VectorEpetra> | pointer to the right hand side |
Definition at line 572 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the unique version of the right hand side
std::shared_ptr<VectorEpetra> | pointer to the unique version of the right hand side |
Definition at line 580 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 585 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 591 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the intra cell applied current vector
std::shared_ptr<VectorEpetra> | pointer to the intra cellular applied current vector |
Definition at line 602 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the linear solver
std::shared_ptr<LinearSolver> | pointer to the linear solver |
Definition at line 611 of file ElectroETABidomainSolver.hpp.
|
inline |
set the vector of pointers containing the transmembrane potential (at 0) and the gating variables
std::vector<std::shared_ptr<VectorEpetra>> | vector of pointers containing the transmembrane potential (at 0) and the gating variables |
Definition at line 619 of file ElectroETABidomainSolver.hpp.
|
inline |
set the vector of pointers containing the rhs for the transmembrane potential (at 0) and the gating variables
std::vector<std::shared_ptr<VectorEpetra>> | vector of pointers containing the rhs for the transmembrane potential (at 0) and the gating variables |
Definition at line 627 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to the fiber direction vector
std::shared_ptr<VectorEpetra> | pointer to the fiber direction vector |
Definition at line 635 of file ElectroETABidomainSolver.hpp.
|
inline |
set the pointer to displacement of the tissue
Definition at line 640 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 649 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 653 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 657 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 661 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 665 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 669 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 673 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 677 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 681 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 685 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 689 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 693 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 698 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 703 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 707 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 711 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 715 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 719 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 727 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 732 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 740 of file ElectroETABidomainSolver.hpp.
void setup | ( | GetPot & | dataFile, |
short int | ionicSize | ||
) |
Definition at line 1325 of file ElectroETABidomainSolver.hpp.
void setup | ( | std::string | meshName, |
std::string | meshPath, | ||
GetPot & | dataFile, | ||
short int | ionicSize | ||
) |
Definition at line 1367 of file ElectroETABidomainSolver.hpp.
void setupMassMatrix | ( | ) |
create mass matrix
Definition at line 1377 of file ElectroETABidomainSolver.hpp.
void setupMassMatrix | ( | vector_Type & | disp | ) |
create mass matrix
Definition at line 1416 of file ElectroETABidomainSolver.hpp.
void setupLumpedMassMatrix | ( | ) |
create mass matrix
Definition at line 1443 of file ElectroETABidomainSolver.hpp.
void setupLumpedMassMatrix | ( | vector_Type & | disp | ) |
Definition at line 1474 of file ElectroETABidomainSolver.hpp.
void setupStiffnessMatrix | ( | ) |
create stiffness matrix
Definition at line 1566 of file ElectroETABidomainSolver.hpp.
void setupStiffnessMatrix | ( | vectorPtr_Type | disp | ) |
create stiffness matrix in a moving domain
Definition at line 1655 of file ElectroETABidomainSolver.hpp.
void setupStiffnessMatrix | ( | VectorSmall< 3 > | diffusionIntra, |
VectorSmall< 3 > | diffusionExtra | ||
) |
create stiffness matrix given a diagonal diffusion tensor
Definition at line 1584 of file ElectroETABidomainSolver.hpp.
void setupGlobalMatrix | ( | ) |
create stiffness matrix given the fiber direction and a diagonal diffusion tensor
setup the total matrix
Definition at line 1729 of file ElectroETABidomainSolver.hpp.
void setupLinearSolver | ( | GetPot | dataFile | ) |
setup the linear solver
A file named BidomainSolverParamList.xml must be in the execution folder with the parameters to set the linear solver
Definition at line 1740 of file ElectroETABidomainSolver.hpp.
setup the linear solver
Definition at line 1766 of file ElectroETABidomainSolver.hpp.
|
inline |
Initialize the potentials to zero.
Definition at line 786 of file ElectroETABidomainSolver.hpp.
|
inline |
Initialize the potential to the value k.
Definition at line 793 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 799 of file ElectroETABidomainSolver.hpp.
|
inline |
Initialize the applied current to zero.
Definition at line 807 of file ElectroETABidomainSolver.hpp.
|
inline |
Initialize the intra cellular applied current to the value k.
Definition at line 813 of file ElectroETABidomainSolver.hpp.
void setupGlobalSolution | ( | short int | ionicSize | ) |
creates a vector of pointers to store the solution
The first pointer points to the vector of the transmembrane potential, while the others point to the gating variables
Definition at line 1783 of file ElectroETABidomainSolver.hpp.
void setupGlobalRhs | ( | short int | ionicSize | ) |
creates a vector of pointers to store the rhs
The first pointer points to the rhs of the transmembrane potential, while the others point to the rhs of the gating variables
Definition at line 1797 of file ElectroETABidomainSolver.hpp.
void setParameters | ( | list_Type | list | ) |
Set parameters from an xml file.
Definition at line 2011 of file ElectroETABidomainSolver.hpp.
|
inline |
partition the mesh
Definition at line 832 of file ElectroETABidomainSolver.hpp.
|
inline |
given a boost function initialize the transmembrane potential
Definition at line 838 of file ElectroETABidomainSolver.hpp.
|
inline |
given a boost function initialize the extra cellular potential
Definition at line 845 of file ElectroETABidomainSolver.hpp.
|
inline |
given a boost function initialize the applied intra cellular current
Definition at line 852 of file ElectroETABidomainSolver.hpp.
void solveOneReactionStepFE | ( | int | subiterations = 1 | ) |
Solves one reaction step using the forward Euler scheme.
Definition at line 1811 of file ElectroETABidomainSolver.hpp.
void solveOneReactionStepFE | ( | matrix_Type & | mass, |
int | subiterations = 1 |
||
) |
void solveOneReactionStepRL | ( | int | subiterations = 1 | ) |
Definition at line 1830 of file ElectroETABidomainSolver.hpp.
|
inline |
void solveOneDiffusionStepBDF2 | ( | vectorPtr_Type | previousPotentialGlobalPtr | ) |
Solves one diffusion step using the BDF2 scheme.
void solveOneDiffusionStepBE | ( | ) |
Solves one diffusion step using the backward Euler scheme.
Definition at line 1850 of file ElectroETABidomainSolver.hpp.
void solveOneSplittingStep | ( | ) |
Solve one full step with operator splitting.
Definition at line 1864 of file ElectroETABidomainSolver.hpp.
void solveSplitting | ( | ) |
Solve the system with operator splitting from M_initialTime to the M_endTime with time step M_timeStep.
void solveOneSplittingStep | ( | IOFile_Type & | exporter, |
Real | t | ||
) |
Solve one full step with operator splitting and export the solution.
void solveSplitting | ( | IOFile_Type & | exporter | ) |
Solve the system with operator splitting from M_initialTime to the M_endTime with time step M_timeStep and export the solution.
void solveSplitting | ( | IOFile_Type & | exporter, |
Real | dt | ||
) |
Solve the system with operator splitting from M_initialTime to the M_endTime with time step M_timeStep and export the solution every dt.
void setupPotentialExporter | ( | IOFile_Type & | exporter | ) |
add to a given exporter the pointer to the potential
Definition at line 1876 of file ElectroETABidomainSolver.hpp.
void setupPotentialExporter | ( | IOFile_Type & | exporter, |
std::string | fileName | ||
) |
add to a given exporter the pointer to the potential saved with name fileName
Definition at line 1889 of file ElectroETABidomainSolver.hpp.
void setupExporter | ( | IOFile_Type & | exporter, |
std::string | fileName = "output" , |
||
std::string | folder = "./" |
||
) |
add to a given exporter the pointer to the potential and to the gating variables saved with name fileName
Definition at line 1902 of file ElectroETABidomainSolver.hpp.
void setupFibers | ( | ) |
Generates a default fiber direction (0,1,0)
Definition at line 1235 of file ElectroETABidomainSolver.hpp.
void setupFibers | ( | VectorSmall< 3 > | fibers | ) |
Generates the fiber direction given the three component of the vector (F_x,F_y,F_z)
Definition at line 1255 of file ElectroETABidomainSolver.hpp.
|
inline |
Imports the fiber direction from a hdf5 file.
Definition at line 935 of file ElectroETABidomainSolver.hpp.
|
inline |
Imports the fiber direction from a vtk file ( format = 0), or text file.
Definition at line 941 of file ElectroETABidomainSolver.hpp.
void solveOneStepGatingVariablesFE | ( | ) |
Solves the gating variables with forward Euler.
void solveOneStepGatingVariablesRL | ( | ) |
void computeRhsSVI | ( | ) |
Compute the rhs using state variable interpolation.
void computeRhsICI | ( | ) |
Compute the rhs using ionic current interpolation.
void computeRhsICI | ( | matrix_Type & | mass | ) |
void solveOneICIStep | ( | ) |
Solve one full step with ionic current interpolation.
where ${I}$ is the vector of the ionic currents $I_j = I_{ion}(V_j^n)$
void solveOneICIStep | ( | matrix_Type & | mass | ) |
void solveOneSVIStep | ( | ) |
Solve one full step with ionic current interpolation.
void solveICI | ( | ) |
solve system using ICI from M_initialTime to the M_endTime with time step M_timeStep
void solveSVI | ( | ) |
solve system using SVI from M_initialTime to the M_endTime with time step M_timeStep
void solveOneICIStep | ( | IOFile_Type & | exporter, |
Real | t | ||
) |
Solve one full step with ionic current interpolation and export the solution.
where ${I}$ is the vector of the ionic currents $I_j = I_{ion}(V_j^n)$
void solveOneSVIStep | ( | IOFile_Type & | exporter, |
Real | t | ||
) |
Solve one full step with ionic current interpolation and export the solution.
void solveICI | ( | IOFile_Type & | exporter | ) |
solve system using ICI from M_initialTime to the M_endTime with time step M_timeStep and export the solution
void solveSVI | ( | IOFile_Type & | exporter | ) |
solve system using SVI from M_initialTime to the M_endTime with time step M_timeStep and export the solution
void solveICI | ( | IOFile_Type & | exporter, |
Real | dt | ||
) |
Solve the system using ICI from M_initialTime to the M_endTime with time step M_timeStep and export the solution every dt.
void solveSVI | ( | IOFile_Type & | exporter, |
Real | dt | ||
) |
Solve the using SVI from M_initialTime to the M_endTime with time step M_timeStep and export the solution every dt.
void exportFiberDirection | ( | std::string | postDir = "./" | ) |
Generates a file where the fiber direction is saved.
Definition at line 1268 of file ElectroETABidomainSolver.hpp.
void exportFiberDirection | ( | IOFile_Type & | exporter | ) |
save the fiber direction into the given exporter
Definition at line 1286 of file ElectroETABidomainSolver.hpp.
|
inline |
Save the solution in the exporter.
Definition at line 1004 of file ElectroETABidomainSolver.hpp.
Import solution.
Definition at line 1299 of file ElectroETABidomainSolver.hpp.
|
inline |
Definition at line 1012 of file ElectroETABidomainSolver.hpp.
void registerActivationTime | ( | vector_Type & | activationTimeVector, |
Real | time, | ||
Real | threshold = 0.0 |
||
) |
save the fiber direction into the given exporter
|
private |
Definition at line 1987 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1922 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1951 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1960 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1939 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1970 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1978 of file ElectroETABidomainSolver.hpp.
|
protected |
|
private |
Definition at line 1033 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1035 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1037 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1038 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1039 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1040 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1041 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1043 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1044 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1045 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1047 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1048 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1049 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1051 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1052 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1054 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1055 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1056 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1057 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1058 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1060 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1062 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1063 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1065 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1067 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1069 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1072 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1074 of file ElectroETABidomainSolver.hpp.
|
private |
Definition at line 1076 of file ElectroETABidomainSolver.hpp.