Chi-Tech
chi_math::spatial_discretization::LagrangeBase Class Reference

#include <LagrangeBase.h>

Inheritance diagram for chi_math::spatial_discretization::LagrangeBase:
chi_math::spatial_discretization::FiniteElementBase chi_math::SpatialDiscretization chi_math::spatial_discretization::LagrangeContinuous chi_math::spatial_discretization::LagrangeDiscontinuous

Protected Member Functions

 LagrangeBase (const chi_mesh::MeshContinuum &grid, QuadratureOrder q_order, SDMType sdm_type, CoordinateSystemType cs_type)
 
void CreateCellMappings ()
 
- Protected Member Functions inherited from chi_math::spatial_discretization::FiniteElementBase
 FiniteElementBase (const chi_mesh::MeshContinuum &grid, CoordinateSystemType cs_type, SDMType sdm_type, QuadratureOrder q_order)
 
- Protected Member Functions inherited from chi_math::SpatialDiscretization
 SpatialDiscretization (const chi_mesh::MeshContinuum &grid, CoordinateSystemType cs_type, SDMType sdm_type)
 

Protected Attributes

PointQuadrature point_quadrature_
 
QuadratureLine line_quad_order_arbitrary_
 
QuadratureTriangle tri_quad_order_arbitrary_
 
QuadratureQuadrilateral quad_quad_order_arbitrary_
 
QuadratureTetrahedron tet_quad_order_arbitrary_
 
QuadratureHexahedron hex_quad_order_arbitrary_
 
QuadratureWedge wedge_quad_order_arbitrary_
 
- Protected Attributes inherited from chi_math::spatial_discretization::FiniteElementBase
const QuadratureOrder q_order_
 
- Protected Attributes inherited from chi_math::SpatialDiscretization
const chi_mesh::MeshContinuumref_grid_
 
std::vector< std::unique_ptr< CellMapping > > cell_mappings_
 
std::map< uint64_t, std::shared_ptr< CellMapping > > nb_cell_mappings_
 
uint64_t local_block_address_ = 0
 
std::vector< uint64_t > locJ_block_address_
 
std::vector< uint64_t > locJ_block_size_
 
uint64_t local_base_block_size_ = 0
 
uint64_t globl_base_block_size_ = 0
 
const CoordinateSystemType coord_sys_type_
 

Additional Inherited Members

- Public Types inherited from chi_math::SpatialDiscretization
typedef std::function< double(const chi_mesh::Vector3 &)> SpatialWeightFunction
 
- Public Member Functions inherited from chi_math::spatial_discretization::FiniteElementBase
QuadratureOrder GetQuadratureOrder () const
 
- Public Member Functions inherited from chi_math::SpatialDiscretization
std::pair< std::set< uint32_t >, std::set< uint32_t > > MakeCellInternalAndBndryNodeIDs (const chi_mesh::Cell &cell) const
 
const CellMappingGetCellMapping (const chi_mesh::Cell &cell) const
 
SpatialDiscretizationType Type () const
 
const chi_mesh::MeshContinuumGrid () const
 
CoordinateSystemType GetCoordinateSystemType () const
 
virtual void BuildSparsityPattern (std::vector< int64_t > &nodal_nnz_in_diag, std::vector< int64_t > &nodal_nnz_off_diag, const UnknownManager &unknown_manager) const =0
 
virtual int64_t MapDOF (const chi_mesh::Cell &cell, unsigned int node, const UnknownManager &unknown_manager, unsigned int unknown_id, unsigned int component) const =0
 
virtual int64_t MapDOFLocal (const chi_mesh::Cell &cell, unsigned int node, const UnknownManager &unknown_manager, unsigned int unknown_id, unsigned int component) const =0
 
virtual int64_t MapDOF (const chi_mesh::Cell &cell, unsigned int node) const =0
 
virtual int64_t MapDOFLocal (const chi_mesh::Cell &cell, unsigned int node) const =0
 
size_t GetNumLocalDOFs (const UnknownManager &unknown_manager) const
 
size_t GetNumGlobalDOFs (const UnknownManager &unknown_manager) const
 
virtual size_t GetNumGhostDOFs (const UnknownManager &unknown_manager) const =0
 
virtual std::vector< int64_t > GetGhostDOFIndices (const UnknownManager &unknown_manager) const =0
 
size_t GetNumLocalAndGhostDOFs (const UnknownManager &unknown_manager) const
 
size_t GetCellNumNodes (const chi_mesh::Cell &cell) const
 
const std::vector< chi_mesh::Vector3 > & GetCellNodeLocations (const chi_mesh::Cell &cell) const
 
std::vector< std::vector< std::vector< int > > > MakeInternalFaceNodeMappings (double tolerance=1.0e-12) const
 For each local cell, for each face, for each face-node, provides a mapping to the adjacent cell's nodes. More...
 
void CopyVectorWithUnknownScope (const std::vector< double > &from_vector, std::vector< double > &to_vector, const UnknownManager &from_vec_uk_structure, unsigned int from_vec_uk_id, const UnknownManager &to_vec_uk_structure, unsigned int to_vec_uk_id) const
 
virtual void LocalizePETScVector (Vec petsc_vector, std::vector< double > &local_vector, const UnknownManager &unknown_manager) const
 
virtual void LocalizePETScVectorWithGhosts (Vec petsc_vector, std::vector< double > &local_vector, const UnknownManager &unknown_manager) const
 
SpatialWeightFunction GetSpatialWeightingFunction () const
 
virtual ~SpatialDiscretization ()=default
 
- Static Public Member Functions inherited from chi_math::SpatialDiscretization
static double CartesianSpatialWeightFunction (const chi_mesh::Vector3 &point)
 
static double CylindricalRZSpatialWeightFunction (const chi_mesh::Vector3 &point)
 
static double Spherical1DSpatialWeightFunction (const chi_mesh::Vector3 &point)
 
- Data Fields inherited from chi_math::SpatialDiscretization
const UnknownManager UNITARY_UNKNOWN_MANAGER
 
- Protected Types inherited from chi_math::SpatialDiscretization
typedef SpatialDiscretizationType SDMType
 

Detailed Description

Base class for Lagrange spatial discretizations.

Definition at line 19 of file LagrangeBase.h.

Constructor & Destructor Documentation

◆ LagrangeBase()

chi_math::spatial_discretization::LagrangeBase::LagrangeBase ( const chi_mesh::MeshContinuum grid,
QuadratureOrder  q_order,
SDMType  sdm_type,
CoordinateSystemType  cs_type 
)
protected

Definition at line 20 of file LagrangeBase.cc.

Member Function Documentation

◆ CreateCellMappings()

void chi_math::spatial_discretization::LagrangeBase::CreateCellMappings ( )
protected

Definition at line 37 of file LagrangeBase.cc.

Field Documentation

◆ hex_quad_order_arbitrary_

QuadratureHexahedron chi_math::spatial_discretization::LagrangeBase::hex_quad_order_arbitrary_
protected

Definition at line 32 of file LagrangeBase.h.

◆ line_quad_order_arbitrary_

QuadratureLine chi_math::spatial_discretization::LagrangeBase::line_quad_order_arbitrary_
protected

Definition at line 28 of file LagrangeBase.h.

◆ point_quadrature_

PointQuadrature chi_math::spatial_discretization::LagrangeBase::point_quadrature_
protected

Definition at line 27 of file LagrangeBase.h.

◆ quad_quad_order_arbitrary_

QuadratureQuadrilateral chi_math::spatial_discretization::LagrangeBase::quad_quad_order_arbitrary_
protected

Definition at line 30 of file LagrangeBase.h.

◆ tet_quad_order_arbitrary_

QuadratureTetrahedron chi_math::spatial_discretization::LagrangeBase::tet_quad_order_arbitrary_
protected

Definition at line 31 of file LagrangeBase.h.

◆ tri_quad_order_arbitrary_

QuadratureTriangle chi_math::spatial_discretization::LagrangeBase::tri_quad_order_arbitrary_
protected

Definition at line 29 of file LagrangeBase.h.

◆ wedge_quad_order_arbitrary_

QuadratureWedge chi_math::spatial_discretization::LagrangeBase::wedge_quad_order_arbitrary_
protected

Definition at line 33 of file LagrangeBase.h.


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