#include <BidomainAssembler.hpp>
Public Member Functions | |
BidomainAssembler (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, BidomainTissue< SPACE_DIM > *pTissue, double dt, unsigned numQuadPoints=2) | |
~BidomainAssembler () | |
Protected Member Functions | |
void | ResetInterpolatedQuantities () |
void | IncrementInterpolatedQuantities (double phiI, const Node< SPACE_DIM > *pNode) |
virtual c_matrix< double, 2 *(ELEMENT_DIM+1), 2 *(ELEMENT_DIM+1)> | ComputeMatrixTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 2 > &rU, c_matrix< double, 2, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, 2 *(ELEMENT_DIM+1)> | ComputeVectorTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 2 > &u, c_matrix< double, 2, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, 2 *ELEMENT_DIM > | ComputeVectorSurfaceTerm (const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > &rSurfaceElement, c_vector< double, ELEMENT_DIM > &rPhi, ChastePoint< SPACE_DIM > &rX) |
Protected Attributes | |
BidomainTissue< SPACE_DIM > * | mpBidomainTissue |
HeartConfig * | mpConfig |
double | mIionic |
double | mIIntracellularStimulus |
double | mIExtracellularStimulus |
double | mDt |
Definition at line 43 of file BidomainAssembler.hpp.
BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::BidomainAssembler | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, | |
BidomainTissue< SPACE_DIM > * | pTissue, | |||
double | dt, | |||
unsigned | numQuadPoints = 2 | |||
) | [inline] |
Constructor stores the mesh and pde and sets up boundary conditions.
pMesh | pointer to the mesh | |
pTissue | pointer to the tissue | |
dt | timestep | |
numQuadPoints | number of quadrature points in each dimension |
Definition at line 160 of file BidomainAssembler.cpp.
References HeartConfig::Instance(), and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mpConfig.
BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::~BidomainAssembler | ( | ) | [inline] |
Destructor.
Definition at line 149 of file BidomainAssembler.hpp.
void BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ResetInterpolatedQuantities | ( | ) | [inline, protected, virtual] |
Overridden ResetInterpolatedQuantities() method.
Reimplemented from AbstractFeObjectAssembler< ELEMENT_DIM, SPACE_DIM, 2, true, true, CARDIAC >.
Definition at line 35 of file BidomainAssembler.cpp.
References BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIIntracellularStimulus, and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIionic.
void BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::IncrementInterpolatedQuantities | ( | double | phiI, | |
const Node< SPACE_DIM > * | pNode | |||
) | [inline, protected, virtual] |
Overridden IncrementInterpolatedQuantities() method.
phiI | ||
pNode |
Reimplemented from AbstractFeObjectAssembler< ELEMENT_DIM, SPACE_DIM, 2, true, true, CARDIAC >.
Definition at line 43 of file BidomainAssembler.cpp.
References Node< SPACE_DIM >::GetIndex(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIIntracellularStimulus, BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIionic, and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mpBidomainTissue.
c_matrix< double, 2 *(ELEMENT_DIM+1), 2 *(ELEMENT_DIM+1)> BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm | ( | c_vector< double, ELEMENT_DIM+1 > & | rPhi, | |
c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > & | rGradPhi, | |||
ChastePoint< SPACE_DIM > & | rX, | |||
c_vector< double, 2 > & | rU, | |||
c_matrix< double, 2, SPACE_DIM > & | rGradU, | |||
Element< ELEMENT_DIM, SPACE_DIM > * | pElement | |||
) | [inline, protected, virtual] |
This method is called by AssembleOnElement() and tells the assembler the contribution to add to the element stiffness matrix.
rPhi | The basis functions, rPhi(i) = phi_i, i=1..numBases | |
rGradPhi | Basis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i) | |
rX | The point in space | |
rU | The unknown as a vector, u(i) = u_i | |
rGradU | The gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j) | |
pElement | Pointer to the element |
Reimplemented in BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >.
Definition at line 55 of file BidomainAssembler.cpp.
References HeartConfig::GetCapacitance(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex(), HeartConfig::GetSurfaceAreaToVolumeRatio(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mDt, BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mpBidomainTissue, and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mpConfig.
Referenced by BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm().
c_vector< double, 2 *(ELEMENT_DIM+1)> BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm | ( | c_vector< double, ELEMENT_DIM+1 > & | rPhi, | |
c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > & | rGradPhi, | |||
ChastePoint< SPACE_DIM > & | rX, | |||
c_vector< double, 2 > & | u, | |||
c_matrix< double, 2, SPACE_DIM > & | rGradU, | |||
Element< ELEMENT_DIM, SPACE_DIM > * | pElement | |||
) | [inline, protected, virtual] |
This method is called by AssembleOnElement() and tells the assembler the contribution to add to the element stiffness vector.
rPhi | The basis functions, rPhi(i) = phi_i, i=1..numBases | |
rGradPhi | Basis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i) | |
rX | The point in space | |
u | The unknown as a vector, u(i) = u_i | |
rGradU | The gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j) | |
pElement | Pointer to the element |
Reimplemented in BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >.
Definition at line 111 of file BidomainAssembler.cpp.
References HeartConfig::GetCapacitance(), HeartConfig::GetSurfaceAreaToVolumeRatio(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mDt, BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIIntracellularStimulus, BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIionic, and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mpConfig.
Referenced by BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm().
c_vector< double, 2 *ELEMENT_DIM > BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorSurfaceTerm | ( | const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > & | rSurfaceElement, | |
c_vector< double, ELEMENT_DIM > & | rPhi, | |||
ChastePoint< SPACE_DIM > & | rX | |||
) | [inline, protected, virtual] |
This method is called by AssembleOnSurfaceElement() and tells the assembler what to add to the element stiffness matrix arising from surface element contributions.
rSurfaceElement | the element which is being considered. | |
rPhi | The basis functions, rPhi(i) = phi_i, i=1..numBases | |
rX | The point in space |
Reimplemented from AbstractFeObjectAssembler< ELEMENT_DIM, SPACE_DIM, 2, true, true, CARDIAC >.
Definition at line 138 of file BidomainAssembler.cpp.
References AbstractFeObjectAssembler< ELEMENT_DIM, SPACE_DIM, 2, true, true, CARDIAC >::mpBoundaryConditions.
BidomainTissue<SPACE_DIM>* BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mpBidomainTissue [protected] |
The PDE to be solved.
Definition at line 47 of file BidomainAssembler.hpp.
Referenced by BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::IncrementInterpolatedQuantities().
HeartConfig* BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mpConfig [protected] |
Local cache of the configuration singleton instance
Definition at line 49 of file BidomainAssembler.hpp.
Referenced by BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::BidomainAssembler(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm().
double BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIionic [protected] |
Ionic current to be interpolated from cache
Definition at line 51 of file BidomainAssembler.hpp.
Referenced by BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::IncrementInterpolatedQuantities(), and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ResetInterpolatedQuantities().
double BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIIntracellularStimulus [protected] |
Intracellular stimulus to be interpolated from cache
Definition at line 53 of file BidomainAssembler.hpp.
Referenced by BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::IncrementInterpolatedQuantities(), and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ResetInterpolatedQuantities().
double BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mIExtracellularStimulus [protected] |
Extracellular stimulus to be interpolated from cache
Definition at line 55 of file BidomainAssembler.hpp.
double BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::mDt [protected] |
Timestep (used in LHS matrix creation)
Definition at line 57 of file BidomainAssembler.hpp.
Referenced by BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), and BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm().