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

#include <FiniteElementBase.h>

Inheritance diagram for chi_math::spatial_discretization::FiniteElementBase:
chi_math::SpatialDiscretization chi_math::spatial_discretization::LagrangeBase chi_math::spatial_discretization::PieceWiseLinearBase chi_math::spatial_discretization::LagrangeContinuous chi_math::spatial_discretization::LagrangeDiscontinuous chi_math::spatial_discretization::PieceWiseLinearContinuous chi_math::spatial_discretization::PieceWiseLinearDiscontinuous

Public Member Functions

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
 

Protected Member Functions

 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

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
 
- 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 Finite Element spatial discretization class.

Definition at line 13 of file FiniteElementBase.h.

Constructor & Destructor Documentation

◆ FiniteElementBase()

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

Definition at line 19 of file FiniteElementBase.h.

Member Function Documentation

◆ GetQuadratureOrder()

chi_math::QuadratureOrder chi_math::spatial_discretization::FiniteElementBase::GetQuadratureOrder ( ) const

Definition at line 4 of file FiniteElementBase.cc.

Field Documentation

◆ q_order_

const QuadratureOrder chi_math::spatial_discretization::FiniteElementBase::q_order_
protected

Definition at line 27 of file FiniteElementBase.h.


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