00001 /* @file sharedJacobian.hh Shared data for bilinear forms on vectorial spaces. 00002 00003 00004 */ 00005 00006 #ifndef sharedjacobiangeometry_hh 00007 #define sharedjacobiangeometry_hh 00008 00009 #include "basics/cloneable.hh" 00010 00011 namespace concepts { 00012 00013 // forward declarations 00014 class Cell; 00015 00016 template<typename F> 00017 class Array; 00018 00019 00020 // ***************************************************** SharedJacobianDet ** 00021 00040 class SharedJacobianDet : public Cloneable { 00041 public: 00042 SharedJacobianDet() : detJacobian(0), lastCell(0) {} 00043 virtual ~SharedJacobianDet(); 00044 virtual SharedJacobianDet* clone() const { 00045 return new SharedJacobianDet(); } 00047 Array<Real> detJacobian; 00049 const Cell* lastCell; 00050 }; 00051 00052 00053 // ***************************************************** SharedJacobianAdj ** 00054 00075 template<uint dim> 00076 class SharedJacobianAdj : public Cloneable { 00077 public: 00078 SharedJacobianAdj() : detJacobianInv(0), adjJacobian(0), lastCell(0) {} 00079 virtual ~SharedJacobianAdj(); 00080 virtual SharedJacobianAdj* clone() const { 00081 return new SharedJacobianAdj(); } 00083 Array<Real> detJacobianInv; 00085 Array<Mapping<Real, dim> > adjJacobian; 00087 const Cell* lastCell; 00088 }; 00089 00090 } // namespace hp2D 00091 00092 #endif // sharedjacobiangeometry_hh