Chi-Tech
chi_math::cell_mapping::PieceWiseLinearBaseMapping Class Reference

#include <PieceWiseLinearBaseMapping.h>

Inheritance diagram for chi_math::cell_mapping::PieceWiseLinearBaseMapping:
chi_math::CellMapping chi_math::cell_mapping::PieceWiseLinearPolygonMapping chi_math::cell_mapping::PieceWiseLinearPolyhedronMapping chi_math::cell_mapping::PieceWiseLinearSlabMapping

Public Types

typedef std::vector< double > VecDbl
 
typedef std::vector< chi_mesh::Vector3VecVec3
 

Public Member Functions

 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::CellReferenceCell () const
 
const chi_mesh::MeshContinuumReferenceGrid () 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
 

Static Protected Member Functions

static std::vector< chi_mesh::Vector3GetVertexLocations (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)
 

Additional Inherited Members

- 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)
 
- Protected Attributes inherited from chi_math::CellMapping
const chi_mesh::MeshContinuumref_grid_
 
const chi_mesh::Cellcell_
 
const size_t num_nodes_
 
const std::vector< chi_mesh::Vector3node_locations_
 
double volume_ = 0.0
 
std::vector< double > areas_
 
const std::vector< std::vector< int > > face_node_mappings_
 

Detailed Description

Base class for all cell piece-wise linear cell-mappings.

Definition at line 15 of file PieceWiseLinearBaseMapping.h.

Member Typedef Documentation

◆ VecDbl

Definition at line 19 of file PieceWiseLinearBaseMapping.h.

◆ VecVec3

Constructor & Destructor Documentation

◆ PieceWiseLinearBaseMapping()

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 
)

Constructor.

Definition at line 11 of file PieceWiseLinearBaseMapping.cc.

Member Function Documentation

◆ GetVertexLocations()

std::vector< chi_mesh::Vector3 > chi_math::cell_mapping::PieceWiseLinearBaseMapping::GetVertexLocations ( const chi_mesh::MeshContinuum grid,
const chi_mesh::Cell cell 
)
staticprotected

Definition at line 69 of file PieceWiseLinearBaseMapping.cc.

◆ MakeFaceNodeMapping()

std::vector< std::vector< int > > chi_math::cell_mapping::PieceWiseLinearBaseMapping::MakeFaceNodeMapping ( const chi_mesh::Cell cell)
staticprotected

This section just determines a mapping of face dofs to cell dofs. This is pretty simple since we can just loop over each face dof then subsequently loop over cell dofs, if the face dof node index equals the cell dof node index then the mapping is assigned.

This mapping is not used by any of the methods in this class but is used by methods requiring the surface integrals of the shape functions.

Definition at line 35 of file PieceWiseLinearBaseMapping.cc.


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