Chi-Tech
|
#include <PieceWiseLinearContinuous.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< PieceWiseLinearContinuous > | 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::PieceWiseLinearBase | |
PieceWiseLinearBase (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 | |
std::map< uint64_t, int64_t > | node_mapping_ |
std::map< uint64_t, int64_t > | ghost_node_mapping_ |
Protected Attributes inherited from chi_math::spatial_discretization::PieceWiseLinearBase | |
QuadratureLine | line_quad_order_arbitrary_ |
QuadratureTriangle | tri_quad_order_arbitrary_ |
QuadratureQuadrilateral | quad_quad_order_arbitrary_ |
QuadratureTetrahedron | tet_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::MeshContinuum & | ref_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_ |
Private Member Functions | |
PieceWiseLinearContinuous (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 piecewise linear basis functions for use by a Continues Finite Element Method (CFEM).
Definition at line 14 of file PieceWiseLinearContinuous.h.
|
explicitprivate |
Constructor.
Definition at line 13 of file pwlc_00_constrdestr.cc.
|
overridevirtual |
Builds the sparsity pattern for a Continuous Finite Element Method.
Utility mappings
Implements chi_math::SpatialDiscretization.
Definition at line 18 of file pwlc_03_buildsparsity.cc.
|
overridevirtual |
Returns the ghost DOF indices.
Implements chi_math::SpatialDiscretization.
Definition at line 24 of file pwlc_05_utils.cc.
|
overridevirtual |
Get the number of ghost degrees-of-freedom.
Implements chi_math::SpatialDiscretization.
Definition at line 14 of file pwlc_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 42 of file PieceWiseLinearContinuous.h.
|
overridevirtual |
Maps a vertex id according to a developed node ordering.
Implements chi_math::SpatialDiscretization.
Definition at line 14 of file pwlc_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 46 of file PieceWiseLinearContinuous.h.
|
overridevirtual |
Maps a vertex id according to a developed node ordering.
Implements chi_math::SpatialDiscretization.
Definition at line 54 of file pwlc_04_mappings.cc.
|
static |
Construct a shared object using the protected constructor.
Definition at line 27 of file pwlc_00_constrdestr.cc.
|
protected |
Reorders the nodes for parallel computation in a Continuous Finite Element calculation.
Definition at line 20 of file pwlc_02_ordering.cc.
|
protected |
Definition at line 62 of file PieceWiseLinearContinuous.h.
|
protected |
Definition at line 61 of file PieceWiseLinearContinuous.h.