PolyFEM
|
#include <PolygonalBasis2d.hpp>
Static Public Member Functions | |
static void | compute_integral_constraints (const assembler::LinearAssembler &assembler, const mesh::Mesh2D &mesh, const int n_bases, const std::vector< ElementBases > &bases, const std::vector< ElementBases > &gbases, Eigen::MatrixXd &basis_integrals) |
static int | build_bases (const assembler::LinearAssembler &assembler, const int n_samples_per_edge, const mesh::Mesh2D &mesh, const int n_bases, const int quadrature_order, const int mass_quadrature_order, const int integral_constraints, std::vector< ElementBases > &bases, const std::vector< ElementBases > &gbases, const std::map< int, InterfaceData > &poly_edge_to_data, std::map< int, Eigen::MatrixXd > &mapped_boundary) |
Build bases over the remaining polygons of a mesh. | |
Definition at line 18 of file PolygonalBasis2d.hpp.
|
static |
Build bases over the remaining polygons of a mesh.
[in] | n_samples_per_edge | Number of collocation samples per polygon edge (including endpoints) |
[in] | mesh | Input surface mesh |
[in] | n_bases | Total number of bases functions in the mesh |
[in] | quadrature_order | Quadrature order for the polygons |
[in] | mass_quadrature_order | Quadrature order for the polygons for mass |
[in] | integral_constraints | Order of the integral constraints (0 = no constraints, 1 = linear, 2 = quadratic) |
[in,out] | bases | List of the different basis (shape functions) used to discretize the PDE |
[in] | gbases | List of the different basis used to discretize the geometry of the mesh |
[in] | poly_edge_to_data | Additional data computed for edges at the interface with a polygon |
[out] | mapped_boundary | Map element id -> #S x dim polyline formed by the collocation points on the boundary of the polygon. The collocation points are mapped through the geometric mapping of the element across the edge, so this polyline may differ from the original polygon. |
[in] | element_types | Per-element tag indicating the type of each element (see Mesh.hpp) |
[in] | values | Per-element shape functions for the PDE, evaluated over the element, used for the system matrix assembly (used for linear reproduction) |
[in] | gvalues | Per-element shape functions for the geometric mapping, evaluated over the element (get boundary of the polygon) |
Definition at line 348 of file PolygonalBasis2d.cpp.
References polyfem::basis::ElementBases::bases, polyfem::basis::compute_epsilon(), compute_integral_constraints(), polyfem::quadrature::PolygonQuadrature::get_quadrature(), polyfem::basis::ElementBases::has_parameterization, polyfem::mesh::Mesh::is_polytope(), polyfem::assembler::Assembler::is_tensor(), polyfem::mesh::Mesh2D::is_volume(), polyfem::mesh::Mesh::n_elements(), polyfem::assembler::Assembler::name(), polyfem::assembler::AssemblerUtils::quadrature_order(), polyfem::mesh::sample_polygon(), polyfem::basis::ElementBases::set_bases_func(), polyfem::basis::ElementBases::set_grads_func(), polyfem::basis::ElementBases::set_mass_quadrature(), polyfem::basis::ElementBases::set_quadrature(), and val.
Referenced by polyfem::State::build_polygonal_basis().
|
static |
Definition at line 176 of file PolygonalBasis2d.cpp.
References polyfem::assembler::LinearAssembler::assemble(), polyfem::assembler::ElementAssemblyValues::compute(), da, polyfem::assembler::AssemblyValues::global, polyfem::basis::RBFWithQuadratic::index_mapping(), polyfem::mesh::Mesh::is_polytope(), polyfem::assembler::Assembler::is_tensor(), polyfem::mesh::Mesh2D::is_volume(), polyfem::mesh::Mesh::n_elements(), polyfem::basis::RBFWithQuadratic::setup_monomials_strong_2d(), polyfem::basis::RBFWithQuadratic::setup_monomials_vals_2d(), polyfem::assembler::AssemblyValues::val, and vals.
Referenced by build_bases().