PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
LocalSpace_PCC_2D.cpp File Reference
#include "LocalSpace_PCC_2D.hpp"
#include "CommonUtilities.hpp"
#include "VTKUtilities.hpp"
#include "ZFEM_PCC_2D_Creator.hpp"
#include <memory>
#include <numbers>
Include dependency graph for LocalSpace_PCC_2D.cpp:

Namespaces

namespace  Polydim
 
namespace  Polydim::PDETools
 
namespace  Polydim::PDETools::LocalSpace_PCC_2D
 Unified interface to the 2D primal conforming (PCC) local spaces.
 

Functions

ReferenceElement_Data Polydim::PDETools::LocalSpace_PCC_2D::CreateReferenceElement (const Polydim::PDETools::LocalSpace_PCC_2D::MethodTypes &method_type, const unsigned int method_order)
 Create the reference element for the chosen method and order.
 
Gedim::MeshUtilities::MeshGeometricData2DConfig Polydim::PDETools::LocalSpace_PCC_2D::MeshGeometricDataConfigiguration (const ReferenceElement_Data &reference_element_data)
 Geometric-data configuration required by the selected method.
 
LocalSpace_Data Polydim::PDETools::LocalSpace_PCC_2D::CreateLocalSpace (const double &geometric_tolerance_1D, const double &geometric_tolerance_2D, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const unsigned int cell2D_index, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data)
 Build the local space on a given cell.
 
Eigen::MatrixXd Polydim::PDETools::LocalSpace_PCC_2D::BasisFunctionsValues (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data, const Polydim::VEM::PCC::ProjectionTypes &projectionType=Polydim::VEM::PCC::ProjectionTypes::Pi0km1)
 Evaluate the basis functions at the internal quadrature points.
 
Eigen::MatrixXd Polydim::PDETools::LocalSpace_PCC_2D::BasisFunctionsValues (const ReferenceElement_Data &reference_element_data, const LocalSpace_Data &local_space_data, const Eigen::MatrixXd &points, const Polydim::VEM::PCC::ProjectionTypes &projectionType=Polydim::VEM::PCC::ProjectionTypes::Pi0km1)
 Evaluate the basis functions at arbitrary points.
 
Eigen::MatrixXd Polydim::PDETools::LocalSpace_PCC_2D::BasisFunctionsLaplacianValues (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data, const Polydim::VEM::PCC::ProjectionTypes &projectionType=Polydim::VEM::PCC::ProjectionTypes::Pi0km1Der)
 Evaluate the basis-function Laplacians at the internal quadrature points.
 
Eigen::MatrixXd Polydim::PDETools::LocalSpace_PCC_2D::BasisFunctionsValuesOnEdge (const unsigned int &edge_local_index, const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data, const Eigen::MatrixXd &pointsCurvilinearCoordinates)
 Evaluate the basis functions on a given edge.
 
std::vector< Eigen::MatrixXd > Polydim::PDETools::LocalSpace_PCC_2D::BasisFunctionsDerivativeValues (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data, const Polydim::VEM::PCC::ProjectionTypes &projectionType=Polydim::VEM::PCC::ProjectionTypes::Pi0km1Der)
 Evaluate the basis-function derivatives at the internal quadrature points.
 
std::vector< Eigen::MatrixXd > Polydim::PDETools::LocalSpace_PCC_2D::BasisFunctionsDerivativeValues (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data, const Eigen::MatrixXd &points, const Polydim::VEM::PCC::ProjectionTypes &projectionType=Polydim::VEM::PCC::ProjectionTypes::Pi0km1Der)
 Evaluate the basis-function derivatives at arbitrary points.
 
Gedim::Quadrature::QuadratureData Polydim::PDETools::LocalSpace_PCC_2D::InternalQuadrature (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data)
 Internal quadrature rule of the cell.
 
unsigned int Polydim::PDETools::LocalSpace_PCC_2D::Size (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data)
 Number of local degrees of freedom of the cell.
 
Eigen::MatrixXd Polydim::PDETools::LocalSpace_PCC_2D::StabilizationMatrix (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data, const Polydim::VEM::PCC::ProjectionTypes &projectionType=Polydim::VEM::PCC::ProjectionTypes::PiNabla)
 Compute the (VEM) stabilization matrix of the local space.
 
Eigen::MatrixXd Polydim::PDETools::LocalSpace_PCC_2D::EdgeDofsCoordinates (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data, const unsigned int edge_local_index)
 Coordinates of the DOFs associated with a given edge.
 
Gedim::Quadrature::QuadratureData Polydim::PDETools::LocalSpace_PCC_2D::InternalDofsCoordinates (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data)
 Coordinates (and weights) of the internal DOFs of the cell.
 
Eigen::VectorXd Polydim::PDETools::LocalSpace_PCC_2D::InternalDofs (const ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data, const Eigen::VectorXd &values_at_dofs, const Gedim::Quadrature::QuadratureData &internal_dofs_coordinates)
 Compute the internal DOF values of a function.
 
PDETools::DOFs::DOFsManager::MeshDOFsInfo Polydim::PDETools::LocalSpace_PCC_2D::SetMeshDOFsInfo (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Gedim::MeshMatricesDAO &mesh, const std::map< unsigned int, Polydim::PDETools::DOFs::DOFsManager::MeshDOFsInfo::BoundaryInfo > &boundary_info)
 Build the degrees-of-freedom layout over the mesh.
 
Performance_Data Polydim::PDETools::LocalSpace_PCC_2D::ComputePerformance (const Polydim::PDETools::LocalSpace_PCC_2D::ReferenceElement_Data &reference_element_data, const Polydim::PDETools::LocalSpace_PCC_2D::LocalSpace_Data &local_space_data)
 Compute the per-cell performance metrics of the local space.
 
void Polydim::PDETools::LocalSpace_PCC_2D::export_dofs (const Gedim::GeometryUtilities &geometry_utilities, const Gedim::MeshMatricesDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData2D &mesh_geometric_data, const Polydim::PDETools::DOFs::DOFsManager::MeshDOFsInfo &mesh_dofs_info, const Polydim::PDETools::DOFs::DOFsManager::DOFsData &dofs_data, const Gedim::IArray &right_hand_side, const Gedim::IArray &solution, const Gedim::IArray &solution_strongs, const std::string &file_path)
 Export the DOFs and solution fields to file for visualization.