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

#include <FiniteVolumeMapping.h>

Inheritance diagram for chi_math::cell_mapping::FiniteVolumeMapping:
chi_math::CellMapping

Public Member Functions

 FiniteVolumeMapping (const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell, const chi_mesh::Vector3 &cc, std::vector< std::vector< int > > face_node_mappings)
 
double ShapeValue (int i, const chi_mesh::Vector3 &xyz) const override
 
void ShapeValues (const chi_mesh::Vector3 &xyz, std::vector< double > &shape_values) const override
 
chi_mesh::Vector3 GradShapeValue (int i, const chi_mesh::Vector3 &xyz) const override
 
void GradShapeValues (const chi_mesh::Vector3 &xyz, std::vector< chi_mesh::Vector3 > &gradshape_values) const override
 
finite_element::VolumetricQuadraturePointData MakeVolumetricQuadraturePointData () const override
 
finite_element::SurfaceQuadraturePointData MakeSurfaceQuadraturePointData (size_t face_index) const override
 
- 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
 

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)
 
- 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::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

Cell mapping for a finite volume representation of a cell.

Definition at line 18 of file FiniteVolumeMapping.h.

Constructor & Destructor Documentation

◆ FiniteVolumeMapping()

chi_math::cell_mapping::FiniteVolumeMapping::FiniteVolumeMapping ( const chi_mesh::MeshContinuum grid,
const chi_mesh::Cell cell,
const chi_mesh::Vector3 cc,
std::vector< std::vector< int > >  face_node_mappings 
)
inlineexplicit

Definition at line 21 of file FiniteVolumeMapping.h.

Member Function Documentation

◆ GradShapeValue()

chi_mesh::Vector3 chi_math::cell_mapping::FiniteVolumeMapping::GradShapeValue ( int  i,
const chi_mesh::Vector3 xyz 
) const
inlineoverridevirtual

Returns the value of the required shape function gradient at the world xyz point.

Implements chi_math::CellMapping.

Definition at line 49 of file FiniteVolumeMapping.h.

◆ GradShapeValues()

void chi_math::cell_mapping::FiniteVolumeMapping::GradShapeValues ( const chi_mesh::Vector3 xyz,
std::vector< chi_mesh::Vector3 > &  gradshape_values 
) const
inlineoverridevirtual

Populates all the shape function gradient values at the given world xyz point. This method is optimized to minimize reallocation of gradshape_values.

Implements chi_math::CellMapping.

Definition at line 54 of file FiniteVolumeMapping.h.

◆ MakeSurfaceQuadraturePointData()

finite_element::SurfaceQuadraturePointData chi_math::cell_mapping::FiniteVolumeMapping::MakeSurfaceQuadraturePointData ( size_t  face_index) const
overridevirtual

Makes the surface quadrature point data for this element, at the specified face.

Implements chi_math::CellMapping.

Definition at line 22 of file FiniteVolumeMapping.cc.

◆ MakeVolumetricQuadraturePointData()

finite_element::VolumetricQuadraturePointData chi_math::cell_mapping::FiniteVolumeMapping::MakeVolumetricQuadraturePointData ( ) const
overridevirtual

Makes the volumetric/internal quadrature point data for this element.

Implements chi_math::CellMapping.

Definition at line 9 of file FiniteVolumeMapping.cc.

◆ ShapeValue()

double chi_math::cell_mapping::FiniteVolumeMapping::ShapeValue ( int  i,
const chi_mesh::Vector3 xyz 
) const
inlineoverridevirtual

Returns the value of the required shape function at the world xyz point.

Implements chi_math::CellMapping.

Definition at line 35 of file FiniteVolumeMapping.h.

◆ ShapeValues()

void chi_math::cell_mapping::FiniteVolumeMapping::ShapeValues ( const chi_mesh::Vector3 xyz,
std::vector< double > &  shape_values 
) const
inlineoverridevirtual

Populates all the shape function values at the given world xyz point. This method is optimized to minimize reallocation of shape_values.

Implements chi_math::CellMapping.

Definition at line 41 of file FiniteVolumeMapping.h.


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