SCOREC core
Parallel unstructured mesh tools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
crvBezierShapes.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015 Scientific Computation Research Center
3  *
4  * This work is open source software, licensed under the terms of the
5  * BSD license as described in the LICENSE file in the top-level directory.
6  */
7 
8 #ifndef CRVBEZIERSHAPES_H
9 #define CRVBEZIERSHAPES_H
10 
14 namespace crv {
15 
18 void BlendedTriangleGetValues(apf::Mesh* m, apf::MeshEntity* e,
19  apf::Vector3 const& xi, apf::NewArray<double>& values);
20 void BlendedTriangleGetLocalGradients(apf::Mesh* m, apf::MeshEntity* e,
21  apf::Vector3 const& xi, apf::NewArray<apf::Vector3>& grads);
22 void BlendedTetGetValues(apf::Mesh* m, apf::MeshEntity* e,
23  apf::Vector3 const& xi, apf::NewArray<double>& values);
24 void BlendedTetGetLocalGradients(apf::Mesh* m, apf::MeshEntity* e,
25  apf::Vector3 const& xi, apf::NewArray<apf::Vector3>& grads);
26 
28 typedef void (*bezierShape)(int P,
29  apf::Vector3 const& xi,
30  apf::NewArray<double>& values);
31 
33 typedef void (*bezierShapeGrads)(int P,
34  apf::Vector3 const& xi,
35  apf::NewArray<apf::Vector3>& grads);
36 
38 extern const bezierShape bezier[apf::Mesh::TYPES];
41 
46 void getBezierTransformationMatrix(int type, int P,
48  const apf::Vector3 *range);
54 void getBezierTransformationMatrix(int parentType,
55  int childType, int P,
57  const apf::Vector3* childRange);
58 
59 }
60 
61 #endif
compile-time (static) matrix
Definition: mthMatrix.h:23
placeholder to set array sizes
Definition: apfMesh.h:166
const bezierShapeGrads bezierGrads[apf::Mesh::TYPES]
table of shape function gradients
void BlendedTriangleGetValues(apf::Mesh *m, apf::MeshEntity *e, apf::Vector3 const &xi, apf::NewArray< double > &values)
shape blending functions
Interface to a mesh part.
Definition: apfMesh.h:103
void getBezierTransformationMatrix(int type, int P, mth::Matrix< double > &A, const apf::Vector3 *range)
Get transformation matrix corresponding to a parametric range.
convenience wrapper over apf::Vector&lt;3&gt;
Definition: apfVector.h:150
void(* bezierShape)(int P, apf::Vector3 const &xi, apf::NewArray< double > &values)
typedef for table of shape functions
void(* bezierShapeGrads)(int P, apf::Vector3 const &xi, apf::NewArray< apf::Vector3 > &grads)
typedef for table of shape function gradients
const bezierShape bezier[apf::Mesh::TYPES]
table of shape functions