Chi-Tech
|
#include <PieceWiseLinearPolyhedronMapping.h>
Data Structures | |
struct | FEface_data |
struct | FEnodeFaceMap |
struct | FEnodeMap |
struct | FEnodeSideMap |
struct | FEside_data3d |
Public Member Functions | |
PieceWiseLinearPolyhedronMapping (const chi_mesh::Cell &polyh_cell, const chi_mesh::MeshContinuum &ref_grid, const QuadratureTetrahedron &volume_quadrature, const QuadratureTriangle &surface_quadrature) | |
finite_element::VolumetricQuadraturePointData | MakeVolumetricQuadraturePointData () const override |
finite_element::SurfaceQuadraturePointData | MakeSurfaceQuadraturePointData (size_t face_index) const override |
double | ShapeValue (int i, const chi_mesh::Vector3 &xyz) const override |
chi_mesh::Vector3 | GradShapeValue (int i, const chi_mesh::Vector3 &xyz) const override |
void | ShapeValues (const chi_mesh::Vector3 &xyz, std::vector< double > &shape_values) const override |
void | GradShapeValues (const chi_mesh::Vector3 &xyz, std::vector< chi_mesh::Vector3 > &gradshape_values) const override |
Public Member Functions inherited from chi_math::cell_mapping::PieceWiseLinearBaseMapping | |
PieceWiseLinearBaseMapping (const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell, size_t num_nodes, std::vector< std::vector< int > > face_node_mappings) | |
Public Member Functions inherited from chi_math::CellMapping | |
const chi_mesh::Cell & | ReferenceCell () const |
const chi_mesh::MeshContinuum & | ReferenceGrid () const |
size_t | NumNodes () const |
size_t | NumFaceNodes (size_t face_index) const |
const std::vector< std::vector< int > > & | GetFaceNodeMappings () const |
double | CellVolume () const |
double | FaceArea (size_t face_index) const |
int | MapFaceNode (size_t face_index, size_t face_node_index) const |
virtual double | ShapeValue (int i, const chi_mesh::Vector3 &xyz) const =0 |
virtual void | ShapeValues (const chi_mesh::Vector3 &xyz, std::vector< double > &shape_values) const =0 |
virtual chi_mesh::Vector3 | GradShapeValue (int i, const chi_mesh::Vector3 &xyz) const =0 |
virtual void | GradShapeValues (const chi_mesh::Vector3 &xyz, std::vector< chi_mesh::Vector3 > &gradshape_values) const =0 |
const std::vector< chi_mesh::Vector3 > & | GetNodeLocations () const |
virtual finite_element::VolumetricQuadraturePointData | MakeVolumetricQuadraturePointData () const =0 |
virtual finite_element::SurfaceQuadraturePointData | MakeSurfaceQuadraturePointData (size_t face_index) const =0 |
virtual | ~CellMapping ()=default |
Private Member Functions | |
double | FaceSideShape (uint32_t face_index, uint32_t side_index, uint32_t i, const chi_mesh::Vector3 &qpoint, bool on_surface=false) const |
double | FaceSideGradShape_x (uint32_t face_index, uint32_t side_index, uint32_t i) const |
double | FaceSideGradShape_y (uint32_t face_index, uint32_t side_index, uint32_t i) const |
double | FaceSideGradShape_z (uint32_t face_index, uint32_t side_index, uint32_t i) const |
Static Private Member Functions | |
static double | TetShape (uint32_t index, const chi_mesh::Vector3 &qpoint, bool on_surface=false) |
static double | TetGradShape_x (uint32_t index) |
static double | TetGradShape_y (uint32_t index) |
static double | TetGradShape_z (uint32_t index) |
Private Attributes | |
std::vector< double > | face_betaf_ |
Face Beta-factor. More... | |
double | alphac_ |
Cell alpha-factor. More... | |
std::vector< FEface_data > | face_data_ |
Holds determinants and data tet-by-tet. More... | |
std::vector< FEnodeMap > | node_side_maps_ |
Maps nodes to side tets. More... | |
const QuadratureTetrahedron & | volume_quadrature_ |
const QuadratureTriangle & | surface_quadrature_ |
Additional Inherited Members | |
Public Types inherited from chi_math::cell_mapping::PieceWiseLinearBaseMapping | |
typedef std::vector< double > | VecDbl |
typedef std::vector< chi_mesh::Vector3 > | VecVec3 |
Protected Types inherited from chi_math::CellMapping | |
typedef std::function< void(const chi_mesh::MeshContinuum &, const chi_mesh::Cell &, double &, std::vector< double > &)> | VandAFunction |
Protected Member Functions inherited from chi_math::CellMapping | |
CellMapping (const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell, size_t num_nodes, std::vector< chi_mesh::Vector3 > node_locations, std::vector< std::vector< int > > face_node_mappings, const VandAFunction &volume_area_function) | |
Static Protected Member Functions inherited from chi_math::cell_mapping::PieceWiseLinearBaseMapping | |
static std::vector< chi_mesh::Vector3 > | GetVertexLocations (const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell) |
static std::vector< std::vector< int > > | MakeFaceNodeMapping (const chi_mesh::Cell &cell) |
Static Protected Member Functions inherited from chi_math::CellMapping | |
static void | ComputeCellVolumeAndAreas (const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell, double &volume, std::vector< double > &areas) |
Protected Attributes inherited from chi_math::CellMapping | |
const chi_mesh::MeshContinuum & | ref_grid_ |
const chi_mesh::Cell & | cell_ |
const size_t | num_nodes_ |
const std::vector< chi_mesh::Vector3 > | node_locations_ |
double | volume_ = 0.0 |
std::vector< double > | areas_ |
const std::vector< std::vector< int > > | face_node_mappings_ |
Object for handling piecewise linear shape functions on polyhedron shaped 3D cells.
Definition at line 15 of file PieceWiseLinearPolyhedronMapping.h.
chi_math::cell_mapping::PieceWiseLinearPolyhedronMapping::PieceWiseLinearPolyhedronMapping | ( | const chi_mesh::Cell & | polyh_cell, |
const chi_mesh::MeshContinuum & | ref_grid, | ||
const QuadratureTetrahedron & | volume_quadrature, | ||
const QuadratureTriangle & | surface_quadrature | ||
) |
Constructor for the Piecewise Linear Polyhedron cell finite elment view.
Definition at line 16 of file pwl_polyhedron_00_constrdestr.cc.
|
private |
Precomputes the gradx-shape function values of a face-side pair at a quadrature point
Definition at line 31 of file pwl_polyhedron_01b_sidevalues.cc.
|
private |
Precomputes the grady-shape function values of a face-side pair at a quadrature point
Definition at line 73 of file pwl_polyhedron_01b_sidevalues.cc.
|
private |
Precomputes the gradz-shape function values of a face-side pair at a quadrature point
Definition at line 115 of file pwl_polyhedron_01b_sidevalues.cc.
|
private |
Precomputes the shape function values of a face-side pair at a quadrature point
Definition at line 8 of file pwl_polyhedron_01b_sidevalues.cc.
|
overridevirtual |
Returns the evaluation of grad-shape function i at the supplied point.
Implements chi_math::CellMapping.
Definition at line 108 of file pwl_polyhedron_02_xyz_shapefuncs.cc.
|
overridevirtual |
Populates gradshape_values with the value of each shape function's gradient evaluated at the supplied point.
Implements chi_math::CellMapping.
Definition at line 171 of file pwl_polyhedron_02_xyz_shapefuncs.cc.
|
overridevirtual |
Makes the surface quadrature point data for this element, at the specified face.
Implements chi_math::CellMapping.
Definition at line 89 of file pwl_polyhedron_04_initqpdata.cc.
|
overridevirtual |
Makes the volumetric/internal quadrature point data for this element.
Implements chi_math::CellMapping.
Definition at line 9 of file pwl_polyhedron_04_initqpdata.cc.
|
overridevirtual |
Returns the evaluation of shape function i at the supplied point.
Implements chi_math::CellMapping.
Definition at line 11 of file pwl_polyhedron_02_xyz_shapefuncs.cc.
|
overridevirtual |
Populates shape_values with the value of each shape function's value evaluate at the supplied point.
Implements chi_math::CellMapping.
Definition at line 60 of file pwl_polyhedron_02_xyz_shapefuncs.cc.
|
staticprivate |
Definition at line 20 of file pwl_polyhedron_01a_reftet.cc.
|
staticprivate |
Definition at line 31 of file pwl_polyhedron_01a_reftet.cc.
|
staticprivate |
Definition at line 42 of file pwl_polyhedron_01a_reftet.cc.
|
staticprivate |
Definition at line 6 of file pwl_polyhedron_01a_reftet.cc.
|
private |
Cell alpha-factor.
Definition at line 122 of file PieceWiseLinearPolyhedronMapping.h.
|
private |
Face Beta-factor.
Definition at line 121 of file PieceWiseLinearPolyhedronMapping.h.
|
private |
Holds determinants and data tet-by-tet.
Definition at line 125 of file PieceWiseLinearPolyhedronMapping.h.
|
private |
Maps nodes to side tets.
Definition at line 126 of file PieceWiseLinearPolyhedronMapping.h.
|
private |
Definition at line 129 of file PieceWiseLinearPolyhedronMapping.h.
|
private |
Definition at line 128 of file PieceWiseLinearPolyhedronMapping.h.