Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

AffineReferenceCell.h

Go to the documentation of this file.
00001 #ifndef AFFINEREFERENCECELL_H
00002 #define AFFINEREFERENCECELL_H
00003 
00004 #include "SundanceDefs.h"
00005 
00006 #include "ReferenceCellBase.h"
00007 
00008 namespace Sundance
00009 {
00010 
00011   using namespace TSF;
00012   using std::string;
00013 
00014   using std::ostream;
00015 
00016   /** \ingroup LowLevelGeometry
00017       AffineReferenceCell is a reference object for cells whose mapping from
00018       reference to physical coordinates is an affine transformation. For
00019       such cells, the Jacobian is a constant and we can do simpler calculations.
00020   */
00021 
00022 
00023   class AffineReferenceCell : public ReferenceCellBase
00024     {
00025     public:
00026       /** \name Developer-only methods */
00027       //@{
00028       /** Empty ctor */
00029       AffineReferenceCell() : ReferenceCellBase() {;}
00030       /** dtor */
00031       virtual ~AffineReferenceCell() {;}
00032 
00033       /** identify self as affine */
00034       virtual bool isAffine() const {return true;}
00035 
00036       /** get jacobian at a set of points  */
00037       virtual void jacobian(const Cell& cell,
00038                             const TSFArray<Point>& refpts,
00039                             TSFArray<CellJacobian>& J) const ;
00040 
00041       /** get jacobian determinant at a set of points  */
00042       virtual void detJacobian(const Cell& cell,
00043                                const TSFArray<Point>& refpts,
00044                                TSFArray<double>& detJ) const ;
00045 
00046       /** pullback maps physical coords to reference coords. */
00047       virtual void pullBack(const Cell& cell,
00048                             const TSFArray<Point>& phys,
00049                             TSFArray<Point>& ref) const ;
00050       //@}
00051     private:
00052     };
00053 
00054 }
00055 #endif

Contact:
Kevin Long (krlong@ca.sandia.gov)


Documentation generated by