#include <MonodomainMatrixBasedAssembler.hpp>
Public Member Functions | |
MonodomainMatrixBasedAssembler (AbstractMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, MonodomainPde< SPACE_DIM > *pPde, BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 > *pBcc, unsigned numQuadPoints=2) | |
void | ConstructVectorForMatrixBasedRhsAssembly (Vec currentSolution) |
Protected Attributes | |
MonodomainRhsMatrixAssembler < SPACE_DIM > * | mpMonodomainRhsMatrixAssembler |
This class makes use of the functionality in its parent, AbstractDynamicAssemblerMixin, for specifying a constant matrix B and time-dependent vector z such that the finite element RHS vector b (in Ax=b) satisfies Bz=b, and therefore b can be constructed very quickly each timestep (compared to looping over elements and assembling it.
For the monodomain problem, B is the mass matrix (see MonodomainRhsMatrixAssembler) and z = CA V^{m}/dt - A I_ionic - Istim where V is the vector of voltages are the last timestep, and I_ionic and I_stim are nodewise vectors of ionic currents and stimulus currents (and C is the capacitance and A surface-area-to-volume ratio).
Definition at line 142 of file MonodomainMatrixBasedAssembler.hpp.
MonodomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >::MonodomainMatrixBasedAssembler | ( | AbstractMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, | |
MonodomainPde< SPACE_DIM > * | pPde, | |||
BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 > * | pBcc, | |||
unsigned | numQuadPoints = 2 | |||
) | [inline] |
Constructor calls base constructor and creates and stores rhs-matrix.
Definition at line 117 of file MonodomainMatrixBasedAssembler.cpp.
References DistributedVector::CreateVec(), MonodomainRhsMatrixAssembler< DIM >::GetMatrix(), and AbstractCardiacPde< SPACE_DIM >::SetCacheReplication().
void MonodomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >::ConstructVectorForMatrixBasedRhsAssembly | ( | Vec | currentSolution | ) | [inline] |
This constructs the vector z such that b (in Ax=b) is given by Bz = b. See class documentation.
Definition at line 145 of file MonodomainMatrixBasedAssembler.cpp.
References DistributedVector::CreateVec(), and AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, SimpleDg0ParabolicAssembler< ELEMENT_DIM, SPACE_DIM, NON_HEART, MonodomainDg0Assembler< ELEMENT_DIM, SPACE_DIM > > >::mpMesh.