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
00031 #ifndef BIDOMAINWITHBATHASSEMBLER_HPP_
00032 #define BIDOMAINWITHBATHASSEMBLER_HPP_
00033
00034 #include "BidomainAssembler.hpp"
00035
00040 template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
00041 class BidomainWithBathAssembler : public BidomainAssembler<ELEMENT_DIM,SPACE_DIM>
00042 {
00043 protected:
00055 virtual c_matrix<double,2*(ELEMENT_DIM+1),2*(ELEMENT_DIM+1)> ComputeMatrixTerm(
00056 c_vector<double, ELEMENT_DIM+1> &rPhi,
00057 c_matrix<double, SPACE_DIM, ELEMENT_DIM+1> &rGradPhi,
00058 ChastePoint<SPACE_DIM> &rX,
00059 c_vector<double,2> &rU,
00060 c_matrix<double, 2, SPACE_DIM> &rGradU ,
00061 Element<ELEMENT_DIM,SPACE_DIM>* pElement);
00062
00074 virtual c_vector<double,2*(ELEMENT_DIM+1)> ComputeVectorTerm(
00075 c_vector<double, ELEMENT_DIM+1> &rPhi,
00076 c_matrix<double, SPACE_DIM, ELEMENT_DIM+1> &rGradPhi,
00077 ChastePoint<SPACE_DIM> &rX,
00078 c_vector<double,2> &u,
00079 c_matrix<double, 2, SPACE_DIM> &rGradU ,
00080 Element<ELEMENT_DIM,SPACE_DIM>* pElement);
00081
00082 public:
00090 BidomainWithBathAssembler(AbstractTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* pMesh,
00091 BidomainTissue<SPACE_DIM>* pTissue,
00092 unsigned numQuadPoints = 2)
00093 : BidomainAssembler<ELEMENT_DIM,SPACE_DIM>(pMesh,pTissue,numQuadPoints)
00094 {
00095 }
00096
00100 ~BidomainWithBathAssembler()
00101 {
00102 }
00103 };
00104
00105 #endif