36 #ifndef _ABSTRACTLINEARELLIPTICPDE_HPP_
37 #define _ABSTRACTLINEARELLIPTICPDE_HPP_
40 #include <boost/serialization/base_object.hpp>
42 #include "AbstractLinearPde.hpp"
44 #include "ChastePoint.hpp"
46 #include "Element.hpp"
59 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
65 friend class boost::serialization::access;
72 template<
class Archive>
73 void serialize(Archive & archive,
const unsigned int version)
75 archive & boost::serialization::base_object<AbstractLinearPde<ELEMENT_DIM, SPACE_DIM> >(*this);
138 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
141 return ComputeConstantInUSourceTerm(rNode.
GetPoint(),
nullptr);
144 template <
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
147 return ComputeLinearInUCoeffInSourceTerm(rNode.
GetPoint(),
nullptr);
150 #endif //_ABSTRACTLINEARELLIPTICPDE_HPP_
virtual double ComputeLinearInUCoeffInSourceTermAtNode(const Node< SPACE_DIM > &rNode)
virtual ~AbstractLinearEllipticPde()
virtual double ComputeConstantInUSourceTermAtNode(const Node< SPACE_DIM > &rNode)
virtual c_matrix< double, SPACE_DIM, SPACE_DIM > ComputeDiffusionTerm(const ChastePoint< SPACE_DIM > &rX)=0
virtual double ComputeLinearInUCoeffInSourceTerm(const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)=0
virtual double ComputeConstantInUSourceTerm(const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)=0
AbstractLinearEllipticPde()
void serialize(Archive &archive, const unsigned int version)
ChastePoint< SPACE_DIM > GetPoint() const