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

#include <PieceWiseLinearSlabMapping.h>

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

Public Member Functions

 PieceWiseLinearSlabMapping (const chi_mesh::Cell &slab_cell, const chi_mesh::MeshContinuum &ref_grid, const QuadratureLine &volume_quadrature)
 
finite_element::VolumetricQuadraturePointData MakeVolumetricQuadraturePointData () const override
 
finite_element::SurfaceQuadraturePointData MakeSurfaceQuadraturePointData (size_t face_index) const override
 
double SlabShape (uint32_t index, const chi_mesh::Vector3 &qpoint, bool on_surface=false, uint32_t edge=0) const
 
double SlabGradShape (uint32_t index) const
 
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::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
 

Private Attributes

chi_mesh::Vector3 v0_
 
uint64_t v0i_
 
uint64_t v1i_
 
std::array< chi_mesh::Normal, 2 > normals_
 
const QuadratureLinevolume_quadrature_
 
double h_
 

Additional Inherited Members

- Public Types inherited from chi_math::cell_mapping::PieceWiseLinearBaseMapping
typedef std::vector< double > VecDbl
 
typedef std::vector< chi_mesh::Vector3VecVec3
 
- 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::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)
 
- 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

Object for handling slab shaped piecewise linear shape functions.

Definition at line 15 of file PieceWiseLinearSlabMapping.h.

Constructor & Destructor Documentation

◆ PieceWiseLinearSlabMapping()

chi_math::cell_mapping::PieceWiseLinearSlabMapping::PieceWiseLinearSlabMapping ( const chi_mesh::Cell slab_cell,
const chi_mesh::MeshContinuum ref_grid,
const QuadratureLine volume_quadrature 
)

Constructor for a slab view.

Definition at line 8 of file pwl_slab_00_constrdestr.cc.

Member Function Documentation

◆ GradShapeValue()

chi_mesh::Vector3 chi_math::cell_mapping::PieceWiseLinearSlabMapping::GradShapeValue ( int  i,
const chi_mesh::Vector3 xyz 
) const
overridevirtual

Returns the evaluation of grad-shape function i at the supplied point.

Implements chi_math::CellMapping.

Definition at line 61 of file pwl_slab_02_x_shapefuncs.cc.

◆ GradShapeValues()

void chi_math::cell_mapping::PieceWiseLinearSlabMapping::GradShapeValues ( const chi_mesh::Vector3 xyz,
std::vector< chi_mesh::Vector3 > &  gradshape_values 
) const
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 72 of file pwl_slab_02_x_shapefuncs.cc.

◆ MakeSurfaceQuadraturePointData()

finite_element::SurfaceQuadraturePointData chi_math::cell_mapping::PieceWiseLinearSlabMapping::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 74 of file pwl_slab_04_initqpdata.cc.

◆ MakeVolumetricQuadraturePointData()

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

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

Implements chi_math::CellMapping.

Definition at line 9 of file pwl_slab_04_initqpdata.cc.

◆ ShapeValue()

double chi_math::cell_mapping::PieceWiseLinearSlabMapping::ShapeValue ( int  i,
const chi_mesh::Vector3 xyz 
) const
overridevirtual

Shape function i evaluated at given point for the slab.

Implements chi_math::CellMapping.

Definition at line 9 of file pwl_slab_02_x_shapefuncs.cc.

◆ ShapeValues()

void chi_math::cell_mapping::PieceWiseLinearSlabMapping::ShapeValues ( const chi_mesh::Vector3 xyz,
std::vector< double > &  shape_values 
) const
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 33 of file pwl_slab_02_x_shapefuncs.cc.

◆ SlabGradShape()

double chi_math::cell_mapping::PieceWiseLinearSlabMapping::SlabGradShape ( uint32_t  index) const

Definition at line 24 of file pwl_slab_01_refslab.cc.

◆ SlabShape()

double chi_math::cell_mapping::PieceWiseLinearSlabMapping::SlabShape ( uint32_t  index,
const chi_mesh::Vector3 qpoint,
bool  on_surface = false,
uint32_t  edge = 0 
) const

Definition at line 6 of file pwl_slab_01_refslab.cc.

Field Documentation

◆ h_

double chi_math::cell_mapping::PieceWiseLinearSlabMapping::h_
private

Definition at line 60 of file PieceWiseLinearSlabMapping.h.

◆ normals_

std::array<chi_mesh::Normal, 2> chi_math::cell_mapping::PieceWiseLinearSlabMapping::normals_
private

Definition at line 58 of file PieceWiseLinearSlabMapping.h.

◆ v0_

chi_mesh::Vector3 chi_math::cell_mapping::PieceWiseLinearSlabMapping::v0_
private

Definition at line 55 of file PieceWiseLinearSlabMapping.h.

◆ v0i_

uint64_t chi_math::cell_mapping::PieceWiseLinearSlabMapping::v0i_
private

Definition at line 56 of file PieceWiseLinearSlabMapping.h.

◆ v1i_

uint64_t chi_math::cell_mapping::PieceWiseLinearSlabMapping::v1i_
private

Definition at line 57 of file PieceWiseLinearSlabMapping.h.

◆ volume_quadrature_

const QuadratureLine& chi_math::cell_mapping::PieceWiseLinearSlabMapping::volume_quadrature_
private

Definition at line 59 of file PieceWiseLinearSlabMapping.h.


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