00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef ABSTRACTCARDIACFEOBJECTASSEMBLER_HPP_
00031 #define ABSTRACTCARDIACFEOBJECTASSEMBLER_HPP_
00032
00033 #include "AbstractFeObjectAssembler.hpp"
00034 #include "HeartConfig.hpp"
00035 #include "AbstractCardiacTissue.hpp"
00036
00040 template <unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool CAN_ASSEMBLE_VECTOR, bool CAN_ASSEMBLE_MATRIX, InterpolationLevel INTERPOLATION_LEVEL>
00041 class AbstractCardiacFeObjectAssembler
00042 : public AbstractFeObjectAssembler<ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL>
00043 {
00044 protected:
00046 AbstractCardiacTissue<ELEMENT_DIM,SPACE_DIM>* mpCardiacTissue;
00047
00048 public:
00055 AbstractCardiacFeObjectAssembler(AbstractTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* pMesh,
00056 AbstractCardiacTissue<ELEMENT_DIM,SPACE_DIM>* pTissue,
00057 unsigned numQuadPoints)
00058 : AbstractFeObjectAssembler<ELEMENT_DIM,SPACE_DIM,PROBLEM_DIM,CAN_ASSEMBLE_VECTOR,CAN_ASSEMBLE_MATRIX,INTERPOLATION_LEVEL>(pMesh, numQuadPoints),
00059 mpCardiacTissue(pTissue)
00060 {
00061 assert(pTissue);
00062 }
00063
00069 AbstractCardiacFeObjectAssembler(AbstractTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* pMesh,
00070 AbstractCardiacTissue<ELEMENT_DIM,SPACE_DIM>* pTissue)
00071 : AbstractFeObjectAssembler<ELEMENT_DIM,SPACE_DIM,PROBLEM_DIM,CAN_ASSEMBLE_VECTOR,CAN_ASSEMBLE_MATRIX,INTERPOLATION_LEVEL>(pMesh),
00072 mpCardiacTissue(pTissue)
00073 {
00074 assert(pTissue);
00075 }
00076 };
00077
00078 #endif