RefMap Class Reference
[Reference mapping]

Reference mapping (for evaluating integrals on a physical domain). More...

#include <refmap.h>

Inherits Transformable.

List of all members.

Public Member Functions

 RefMap ()
 NOTE: Use this constructor only if constructing an array of RefMaps, then call set_mesh immediately!
 RefMap (Mesh *mesh)
 NOTE: Always use this constructor whenever it is possible.
virtual ~RefMap ()
void set_mesh (Mesh *mesh)
 Sets the mesh where the reference map is working.
virtual void set_active_element (Element *e)
 Initializes the reference map for the specified element. Must be called prior to using all other functions in the class.
order3_t get_ref_order () const
order3_t get_inv_ref_order () const
double * get_jacobian (const int np, const QuadPt3D *pt, bool trans=true)
double3x3get_ref_map (const int np, const QuadPt3D *pt)
double3x3get_inv_ref_map (const int np, const QuadPt3D *pt)
double * get_phys_x (const int np, const QuadPt3D *pt)
double * get_phys_y (const int np, const QuadPt3D *pt)
double * get_phys_z (const int np, const QuadPt3D *pt)
double * get_face_jacobian (int face, const int np, const QuadPt3D *pt, bool trans=true)
void calc_face_normal (int iface, const int np, const QuadPt3D *pt, double *&nx, double *&ny, double *&nz)
 Calculate normals on the face.
virtual void push_transform (int son)
 See Transformable::push_transform().
virtual void pop_transform ()
 See Transformable::pop_transform().
void force_transform (uint64 sub_idx, Trf *ctm)

Protected Member Functions

void calc_const_inv_ref_map ()
double calc_face_const_jacobian (int face)

Protected Attributes

Meshmesh
ShapeFunctionpss
bool is_const_jacobian
double const_jacobian
double3x3 const_inv_ref_map
double3x3 const_ref_map
order3_t ref_order
order3_t inv_ref_order
int n_coefs
int indices [70]
Vertexcoefs
Vertex vertex [8]

Friends

class ExactSolution

Detailed Description

Reference mapping (for evaluating integrals on a physical domain).


Constructor & Destructor Documentation

RefMap::RefMap (  ) 

NOTE: Use this constructor only if constructing an array of RefMaps, then call set_mesh immediately!

RefMap::RefMap ( Mesh mesh  ) 

NOTE: Always use this constructor whenever it is possible.

RefMap::~RefMap (  )  [virtual]

Member Function Documentation

void RefMap::calc_const_inv_ref_map (  )  [protected]
double RefMap::calc_face_const_jacobian ( int  face  )  [protected]
void RefMap::calc_face_normal ( int  iface,
const int  np,
const QuadPt3D pt,
double *&  nx,
double *&  ny,
double *&  nz 
)

Calculate normals on the face.

void RefMap::force_transform ( uint64  sub_idx,
Trf ctm 
)
double * RefMap::get_face_jacobian ( int  face,
const int  np,
const QuadPt3D pt,
bool  trans = true 
)
Returns:
The array of 'face jacobians' at points 'pt'
Parameters:
[in] trans - set to true if you want transformed values
double3x3 * RefMap::get_inv_ref_map ( const int  np,
const QuadPt3D pt 
)
Returns:
The transposed inverse matrices of the reference map precalculated at the points 'pt'.
Parameters:
[in] np - The number of points
[in] pt - Points for which we want the transposed jacobi matrices
order3_t RefMap::get_inv_ref_order (  )  const [inline]
Returns:
The increase in the integration order due to the inverse reference map.
double * RefMap::get_jacobian ( const int  np,
const QuadPt3D pt,
bool  trans = true 
)
Returns:
The array of jacobians of the reference map precalculated at the points 'pt'.
Parameters:
[in] np - The number of points
[in] pt - Points where the jacobian should be calculated
[in] trans - set to true if you want transformed values
double * RefMap::get_phys_x ( const int  np,
const QuadPt3D pt 
)
Returns:
The x-coordinates of the points transformed to the physical domain of the element
Parameters:
[in] np - The number of points
[in] pt - Points for which we want the x-coord
double * RefMap::get_phys_y ( const int  np,
const QuadPt3D pt 
)
Returns:
The y-coordinates of the points transformed to the physical domain of the element
Parameters:
[in] np - The number of points
[in] pt - Points for which we want the y-coord
double * RefMap::get_phys_z ( const int  np,
const QuadPt3D pt 
)
Returns:
The z-coordinates of the points transformed to the physical domain of the element
Parameters:
[in] np - The number of points
[in] pt - Points for which we want the z-coord
double3x3 * RefMap::get_ref_map ( const int  np,
const QuadPt3D pt 
)
Returns:
The jacobi matrices of the reference map precalculated at the points 'pt'.
Parameters:
[in] np - The number of points
[in] pt - Points for which we want the jacobi matrices
order3_t RefMap::get_ref_order (  )  const [inline]
Returns:
The increase in the integration order due to the reference map.
void RefMap::pop_transform (  )  [virtual]
void RefMap::push_transform ( int  son  )  [virtual]
void RefMap::set_active_element ( Element e  )  [virtual]

Initializes the reference map for the specified element. Must be called prior to using all other functions in the class.

Parameters:
[in] e - The element we want to work with

Reimplemented from Transformable.

void RefMap::set_mesh ( Mesh mesh  )  [inline]

Sets the mesh where the reference map is working.

Parameters:
mesh [in] Pointer to the mesh.

Friends And Related Function Documentation

friend class ExactSolution [friend]

Member Data Documentation

Vertex* RefMap::coefs [protected]
double RefMap::const_jacobian [protected]
int RefMap::indices[70] [protected]
bool RefMap::is_const_jacobian [protected]
Mesh* RefMap::mesh [protected]
int RefMap::n_coefs [protected]
ShapeFunction* RefMap::pss [protected]
Vertex RefMap::vertex[8] [protected]

The documentation for this class was generated from the following files:
Generated on Fri Sep 3 09:22:20 2010 for Hermes3D Library: Real Version by  doxygen 1.6.3