BidomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <BidomainMatrixBasedAssembler.hpp>

Inheritance diagram for BidomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >:

Inheritance graph
[legend]
Collaboration diagram for BidomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 BidomainMatrixBasedAssembler (AbstractMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, BidomainPde< SPACE_DIM > *pPde, BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 2 > *pBcc, unsigned numQuadPoints=2)
virtual void ConstructVectorForMatrixBasedRhsAssembly (Vec currentSolution)

Protected Attributes

BidomainRhsMatrixAssembler
< SPACE_DIM > * 
mpBidomainRhsMatrixAssembler


Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class BidomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >

BidomainMatrixBasedAssembler

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 bidomain problem, B is the mass matrix for 2 unknowns (see BidomainRhsMatrixAssembler) ***IF*** the unknowns were ordered [V1 V2 .. V_N phi_e1 ... phi_eN ], then z would be

z = [z1] [z2] where z1 = CA V^{m}/dt - A I_ionic - Istim_intra and z2 = -Istim_extra,

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 160 of file BidomainMatrixBasedAssembler.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
BidomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >::BidomainMatrixBasedAssembler ( AbstractMesh< ELEMENT_DIM, SPACE_DIM > *  pMesh,
BidomainPde< SPACE_DIM > *  pPde,
BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 2 > *  pBcc,
unsigned  numQuadPoints = 2 
) [inline]

Constructor calls base constructor and creates and stores rhs-matrix.

Definition at line 140 of file BidomainMatrixBasedAssembler.cpp.

References DistributedVector::CreateVec(), BidomainRhsMatrixAssembler< DIM >::GetMatrix(), and AbstractCardiacPde< SPACE_DIM >::SetCacheReplication().


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void BidomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >::ConstructVectorForMatrixBasedRhsAssembly ( Vec  currentSolution  )  [inline, virtual]

This constructs the vector z such that b (in Ax=b) is given by Bz = b. See main class documentation.

Definition at line 169 of file BidomainMatrixBasedAssembler.cpp.

References DistributedVector::Begin(), DistributedVector::End(), and DistributedVector::Restore().


The documentation for this class was generated from the following files:

Generated on Wed Mar 18 12:52:18 2009 for Chaste by  doxygen 1.5.5