11 #ifndef MESHADAPT_CRVTET_H
12 #define MESHADAPT_CRVTET_H
27 CrvTet(VtxPtrVec in_vert_vec);
39 void deriv1_fd(
const Point3d in_xi, Mat3x3 & dxyz_dxi,
double step = 1.0e-3);
43 void deriv1_by_eta_fd(
const Point3d in_eta, Mat3x3 & dxyz_deta,
double step = 1.0e-3);
47 void dxi_deta(
const Point3d in_eta, Mat3x3 & out_dxi_deta);
49 virtual int v_ent_type()
const;
51 virtual int v_data_size()
const;
53 virtual std::string v_tag_name()
const;
77 virtual void v_eval_by_eta(Point3d in, Point3d & out);
92 virtual void v_diff_by_xi(Point3d in,
int j, Point3d & out);
112 virtual int v_eval(Point3d in_xi, Point3d & out_pos) = 0;
116 virtual int v_eval_deriv1(Point3d in_xi, Mat3x3 & out_dxyz_dxi) = 0;
118 #endif//MESHADAPT_CRVTET_H
This class is design to represent the 3D high-order curved tetrahedron element. The data member shoul...
Definition: CrvTet.h:23
virtual int v_eval_deriv1(Point3d in_xi, Mat3x3 &out_dxyz_dxi)=0
detailed implementation of derivative evaluation
void dxi_deta(const Point3d in_eta, Mat3x3 &out_dxi_deta)
evaluate first derivative of coord transformation
Definition: CrvTet.cc:81
double JacRatio()
get the Jacobian Ratio
Definition: CrvTet.cc:290
virtual void v_diff_by_xi(Point3d in, Mat3x3 &out)
evaluate Jacobian of the mapping w.r.t. volume coordinate system
Definition: CrvTet.cc:142
void deriv1_fd(const Point3d in_xi, Mat3x3 &dxyz_dxi, double step=1.0e-3)
Evaluate first derivative numerically by finite difference.
Definition: CrvTet.cc:187
CrvTet(VtxPtrVec in_vert_vec)
ctor with ordered vertices as input
Definition: CrvTet.cc:21
virtual void v_diff_by_eta(Point3d in, Mat3x3 &out)
Definition: CrvTet.cc:162
FacePtrVec m_faces
a vector of faces bounding the tet, ordered by its vertices
Definition: CrvTet.h:107
virtual void v_eval_by_coll_eta(Point3d in, Point3d &out)
evaluate mapping w.r.t. the collapsed cartesian coordinates
Definition: CrvTet.cc:125
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...
Definition: CrvTet.cc:214
virtual int v_get_exp_dim()
expansion dimension for curved tet is set to be 3
Definition: CrvTet.h:99
void setup_vertices()
set up internal vertex storage
Definition: CrvTet.cc:100
virtual int v_eval(Point3d in_xi, Point3d &out_pos)=0
detailed implementation of evaluation
double AspectRatio()
get the Aspect Ratio
Definition: CrvTet.cc:265
double RadiusRatio()
get the Radius Ratio
Definition: CrvTet.cc:242
base class for curved mesh entity
Definition: CrvEnt.h:21
virtual void v_eval_by_xi(Point3d in, Point3d &out)
evaluate mapping with respect to volume/barycentric coordinate system
Definition: CrvTet.cc:111
EdgePtrVec m_edges
a vector of edges bounding the tet, ordered by its vertices
Definition: CrvTet.h:104
virtual ~CrvTet()
dtor
Definition: CrvTet.cc:63