Chi-Tech
|
#include <LagrangeDiscontinuous.h>
Public Member Functions | |
void | BuildSparsityPattern (std::vector< int64_t > &nodal_nnz_in_diag, std::vector< int64_t > &nodal_nnz_off_diag, const UnknownManager &unknown_manager) const override |
int64_t | MapDOF (const chi_mesh::Cell &cell, unsigned int node, const UnknownManager &unknown_manager, unsigned int unknown_id, unsigned int component) const override |
int64_t | MapDOFLocal (const chi_mesh::Cell &cell, unsigned int node, const UnknownManager &unknown_manager, unsigned int unknown_id, unsigned int component) const override |
int64_t | MapDOF (const chi_mesh::Cell &cell, unsigned int node) const override |
int64_t | MapDOFLocal (const chi_mesh::Cell &cell, unsigned int node) const override |
size_t | GetNumGhostDOFs (const UnknownManager &unknown_manager) const override |
std::vector< int64_t > | GetGhostDOFIndices (const UnknownManager &unknown_manager) const override |
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 CellMapping & | GetCellMapping (const chi_mesh::Cell &cell) const |
SpatialDiscretizationType | Type () const |
const chi_mesh::MeshContinuum & | Grid () 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 | |
static std::shared_ptr< LagrangeDiscontinuous > | New (const chi_mesh::MeshContinuum &grid, QuadratureOrder q_order=QuadratureOrder::SECOND, CoordinateSystemType cs_type=CoordinateSystemType::CARTESIAN) |
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) |
Protected Member Functions | |
void | OrderNodes () |
Protected Member Functions inherited from chi_math::spatial_discretization::LagrangeBase | |
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) | |
Private Member Functions | |
LagrangeDiscontinuous (const chi_mesh::MeshContinuum &grid, QuadratureOrder q_order, CoordinateSystemType cs_type) | |
Additional Inherited Members | |
Public Types inherited from chi_math::SpatialDiscretization | |
typedef std::function< double(const chi_mesh::Vector3 &)> | SpatialWeightFunction |
Data Fields inherited from chi_math::SpatialDiscretization | |
const UnknownManager | UNITARY_UNKNOWN_MANAGER |
Protected Types inherited from chi_math::SpatialDiscretization | |
typedef SpatialDiscretizationType | SDMType |
Generalization of the Galerkin Finite Element Method with Lagrange basis functions for use by a Discontinuous Finite Element Method (DFEM).
Definition at line 13 of file LagrangeDiscontinuous.h.
|
explicitprivate |
Constructor.
Definition at line 15 of file lagD_00_constrdestr.cc.
|
overridevirtual |
Builds the sparsity pattern for a Discontinuous Finite Element Method.
Implements chi_math::SpatialDiscretization.
Definition at line 13 of file lagD_03_buildsparsity.cc.
|
overridevirtual |
Returns the ghost DOF indices.
Implements chi_math::SpatialDiscretization.
Definition at line 18 of file lagD_05_utils.cc.
|
overridevirtual |
Get the number of ghost degrees-of-freedom.
Implements chi_math::SpatialDiscretization.
Definition at line 10 of file lagD_05_utils.cc.
|
inlineoverridevirtual |
Maps the local address of a degree of freedom. This can include ghost entries if the specific discretization has any. Default structure here is a single scalar unknown.
Implements chi_math::SpatialDiscretization.
Definition at line 41 of file LagrangeDiscontinuous.h.
|
overridevirtual |
Provides a mapping of cell's DOF from a DFEM perspective.
Implements chi_math::SpatialDiscretization.
Definition at line 13 of file lagD_04_mappings.cc.
|
inlineoverridevirtual |
Maps the local address of a degree of freedom. This can include ghost entries if the specific discretization has any. Default structure here is a single scalar unknown.
Implements chi_math::SpatialDiscretization.
Definition at line 45 of file LagrangeDiscontinuous.h.
|
overridevirtual |
Provides a mapping of cell's DOF from a DFEM perspective.
Implements chi_math::SpatialDiscretization.
Definition at line 86 of file lagD_04_mappings.cc.
|
static |
Construct a shared object using the protected constructor.
Definition at line 29 of file lagD_00_constrdestr.cc.
|
protected |
Reorders the nodes for parallel computation in a Continuous Finite Element calculation.
Definition at line 18 of file lagD_02_ordering.cc.
|
protected |
Definition at line 60 of file LagrangeDiscontinuous.h.
|
protected |
Definition at line 61 of file LagrangeDiscontinuous.h.