![]() |
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.