AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX > Class Template Reference

#include <AbstractFeAssemblerInterface.hpp>

Inherits boost::noncopyable.

Inherited by AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >, AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >, and AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, false, NORMAL >.

Collaboration diagram for AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AbstractFeAssemblerInterface ()
void SetMatrixToAssemble (Mat &rMatToAssemble, bool zeroMatrixBeforeAssembly=true)
void SetVectorToAssemble (Vec &rVecToAssemble, bool zeroVectorBeforeAssembly)
void Assemble ()
void AssembleMatrix ()
void AssembleVector ()
virtual ~AbstractFeAssemblerInterface ()

Protected Member Functions

virtual void DoAssemble ()=0

Protected Attributes

Vec mVectorToAssemble
Mat mMatrixToAssemble
bool mAssembleMatrix
bool mAssembleVector
bool mZeroMatrixBeforeAssembly
bool mZeroVectorBeforeAssembly
PetscInt mOwnershipRangeLo
PetscInt mOwnershipRangeHi

Detailed Description

template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
class AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >

A common bass class for AbstractFeVolumeIntegralAssembler (the main abstract assembler class), and other assembler classes (including continuum mechanics assemblers, which is why this class is separate to AbstractFeAssemblerInterface).

See AbstractFeVolumeIntegralAssembler documentation for info on these assembler classes.

Definition at line 44 of file AbstractFeAssemblerInterface.hpp.


Constructor & Destructor Documentation

template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AbstractFeAssemblerInterface (  )  [inline]

Constructor.

Definition at line 150 of file AbstractFeAssemblerInterface.hpp.

template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
virtual AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::~AbstractFeAssemblerInterface (  )  [inline, virtual]

Destructor.

Definition at line 144 of file AbstractFeAssemblerInterface.hpp.


Member Function Documentation

template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
void AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::Assemble (  )  [inline]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
void AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleMatrix (  )  [inline]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
void AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleVector (  )  [inline]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
virtual void AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::DoAssemble (  )  [protected, pure virtual]

The main assembly method. Protected, should only be called through Assemble(), AssembleMatrix() or AssembleVector() which set mAssembleMatrix, mAssembleVector accordingly. Pure and therefore is implemented in child classes. Will involve looping over elements (which may be volume, surface or cable elements), and computing integrals and adding them to the vector or matrix

Implemented in AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >, AbstractFeSurfaceIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >, AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >, AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >, AbstractFeSurfaceIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 3 >, AbstractFeSurfaceIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 2 >, AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 1, false, true, NORMAL >, AbstractFeVolumeIntegralAssembler< DIM, DIM, 3, false, true, NORMAL >, AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, true, INTERPOLATION_LEVEL >, AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, true, NONLINEAR >, and AbstractFeVolumeIntegralAssembler< DIM, DIM, 2, false, true, CARDIAC >.

Referenced by AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::Assemble(), AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleMatrix(), and AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleVector().

template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
void AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::SetMatrixToAssemble ( Mat &  rMatToAssemble,
bool  zeroMatrixBeforeAssembly = true 
) [inline]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
void AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::SetVectorToAssemble ( Vec rVecToAssemble,
bool  zeroVectorBeforeAssembly 
) [inline]

Member Data Documentation

template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
bool AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::mAssembleMatrix [protected]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
bool AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::mAssembleVector [protected]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
Mat AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::mMatrixToAssemble [protected]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
PetscInt AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::mOwnershipRangeHi [protected]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
PetscInt AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::mOwnershipRangeLo [protected]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
Vec AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::mVectorToAssemble [protected]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
bool AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::mZeroMatrixBeforeAssembly [protected]
template<bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX>
bool AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::mZeroVectorBeforeAssembly [protected]

The documentation for this class was generated from the following file:
Generated on Thu Dec 22 13:01:12 2011 for Chaste by  doxygen 1.6.3