Public Member Functions | Private Member Functions | List of all members
CrvTetLinear Class Reference

This class implements the linear tet geometry of 1st order. More...

#include <CrvTetLinear.h>

Inheritance diagram for CrvTetLinear:
Inheritance graph
[legend]
Collaboration diagram for CrvTetLinear:
Collaboration graph
[legend]

Public Member Functions

 CrvTetLinear (VtxPtrVec in_vert_vec)
 ctor
 
 ~CrvTetLinear ()
 dtor
 
- Public Member Functions inherited from CrvTet
 CrvTet (VtxPtrVec in_vert_vec)
 ctor with ordered vertices as input
 
 CrvTet (pMeshEnt in_tet)
 ctor with a topo mesh entity as input
 
virtual ~CrvTet ()
 dtor
 
void deriv1_fd (const Point3d in_xi, Mat3x3 &dxyz_dxi, double step=1.0e-3)
 Evaluate first derivative numerically by finite difference.
 
void deriv1_by_eta_fd (const Point3d in_eta, Mat3x3 &dxyz_deta, double step=1.0e-3)
 Evaluate first derivative w.r.t. standard cartesian coordinates numerically by finite difference.
 
void dxi_deta (const Point3d in_eta, Mat3x3 &out_dxi_deta)
 evaluate first derivative of coord transformation More...
 
virtual int v_ent_type () const
 
virtual int v_data_size () const
 
virtual std::string v_tag_name () const
 
double RadiusRatio ()
 get the Radius Ratio
 
double AspectRatio ()
 get the Aspect Ratio
 
double JacRatio ()
 get the Jacobian Ratio
 
- Public Member Functions inherited from CrvEnt
 CrvEnt (pMeshEnt in_mesh_ent)
 ctor More...
 
 CrvEnt (VtxPtrVec in_vert_vec)
 ctor More...
 
virtual ~CrvEnt ()
 dtor
 
void get_xi_by_eta (Point3d in_eta, Point3d &out_xi)
 evaluate barycentric coordinates given the standard coordinates More...
 
void get_eta_by_ceta (Point3d in_ceta, Point3d &out_eta)
 evaluate standard coordinates given the collapsed/tensor coordinates More...
 
void get_xi_by_ceta (Point3d in_ceta, Point3d &out_xi)
 evaluate barycentric coordinates given the collapsed/tensor coordinates More...
 
void eval_by_xi (Point3d in, Point3d &out)
 evaluate xyz by barycentric coordinates More...
 
void eval_by_eta (Point3d in, Point3d &out)
 evaluate xyz by standard cartesian coordinates More...
 
void eval_by_coll_eta (Point3d in, Point3d &out)
 evaluate xyz by collapsed/tensor coordinates More...
 
void diff_by_xi (Point3d in, Mat3x3 &out)
 evaluate dxyz/dxi, return all derivs in a matrix form More...
 
void diff_by_xi (Point3d in, int j, Point3d &out)
 evaluate dxyz/dxi_j, return derivs in one direction More...
 
void diff_by_eta (Point3d in, Mat3x3 &out)
 evaluate derivatives w.r.t. standard cartesian coordinates More...
 
void diff_by_eta (Point3d in, int j, Point3d &out)
 evaluate derivatives w.r.t. standard cartesian coordinates in one direction More...
 
void set_id (int i)
 sets entity id
 
int get_id ()
 gets entity id
 
int get_exp_dim ()
 return dimension in xi or eta
 
int get_coord_dim ()
 return coordinate dimension in xyz
 
pMeshEnt get_vertex (int i)
 return the ith bounding vertex of the mesh entity More...
 
int ent_type ()
 return the topological entity type. 0 – vertex, 1 – edge, 2 – face, 3 – region
 
int data_size ()
 return the number of doubles associated with the current mesh entity
 
std::string tag_name ()
 return the name string of the data
 
int save_nodal_data_to_mesh (double *in_data)
 save the data to the underlying mesh database
 
int load_nodal_data_from_mesh (double **out_data)
 fetch data from mesh database
 
bool has_data ()
 return whether the entity has high-order shape data
 
bool edge_on_model_bdry (pMeshEnt vtx0, pMeshEnt vtx1)
 return whether the mesh edge is classified on model edge or face
 
bool face_on_model_bdry (pMeshEnt vtx0, pMeshEnt vtx1, pMeshEnt vtx2)
 return whether the mesh face is classified on model face
 

Private Member Functions

virtual int v_eval (Point3d in_xi, Point3d &out_pos)
 evaluate mapping More...
 
virtual int v_eval_deriv1 (Point3d in_xi, Mat3x3 &out_jac)
 evaluate first derivative More...
 

Additional Inherited Members

- Protected Member Functions inherited from CrvTet
void setup_vertices ()
 set up internal vertex storage
 
virtual void v_eval_by_xi (Point3d in, Point3d &out)
 evaluate mapping with respect to volume/barycentric coordinate system
 
virtual void v_eval_by_eta (Point3d in, Point3d &out)
 
virtual void v_eval_by_coll_eta (Point3d in, Point3d &out)
 evaluate mapping w.r.t. the collapsed cartesian coordinates
 
virtual void v_diff_by_xi (Point3d in, Mat3x3 &out)
 evaluate Jacobian of the mapping w.r.t. volume coordinate system $ \frac{x_i}{\xi_j} $

\begin{eqnarray*} \frac{\partial x_1}{\partial \xi_1}, \frac{\partial x_1}{\partial \xi_2}, \frac{\partial x_1}{\partial \xi_3} \\ \frac{\partial x_2}{\partial \xi_1}, \frac{\partial x_2}{\partial \xi_2}, \frac{\partial x_2}{\partial \xi_3} \\ \frac{\partial x_3}{\partial \xi_1}, \frac{\partial x_3}{\partial \xi_2}, \frac{\partial x_3}{\partial \xi_3} \end{eqnarray*}


 
virtual void v_diff_by_xi (Point3d in, int j, Point3d &out)
 
virtual void v_diff_by_eta (Point3d in, Mat3x3 &out)
 
virtual void v_diff_by_eta (Point3d in, int j, Point3d &out)
 
virtual int v_get_exp_dim ()
 expansion dimension for curved tet is set to be 3
 
- Protected Member Functions inherited from CrvEnt
virtual int v_get_coord_dim ()
 all curved entities are assumed to be embeded in 3D space
 
pMeshEnt get_mesh_ent ()
 get the mesh entity
 
void set_mesh_ent (pMeshEnt in_ent)
 set the mesh entity
 
- Protected Attributes inherited from CrvTet
EdgePtrVec m_edges
 a vector of edges bounding the tet, ordered by its vertices
 
FacePtrVec m_faces
 a vector of faces bounding the tet, ordered by its vertices
 
- Protected Attributes inherited from CrvEnt
VtxPtrVec m_vert_vec
 ordered set of mesh vertices
 
pMeshEnt m_mesh_ent
 topological mesh entity
 
std::vector< Point3d > m_ctrl_pt_vec
 container used to store the control point values
 

Detailed Description

This class implements the linear tet geometry of 1st order.

Member Function Documentation

int CrvTetLinear::v_eval ( Point3d  in_xi,
Point3d &  out_pos 
)
privatevirtual

evaluate mapping

Todo:
implementation

Implements CrvTet.

int CrvTetLinear::v_eval_deriv1 ( Point3d  in_xi,
Mat3x3 &  out_jac 
)
privatevirtual

evaluate first derivative

Todo:
implementation

Implements CrvTet.


The documentation for this class was generated from the following files: