PolyFEM
|
#include <PolygonalBasis3d.hpp>
Static Public Member Functions | |
static void | compute_integral_constraints (const assembler::Assembler &assembler, const mesh::Mesh3D &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::Mesh3D &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_face_to_data, std::map< int, std::pair< Eigen::MatrixXd, Eigen::MatrixXi > > &mapped_boundary) |
Build bases over the remaining polygons of a mesh. | |
Definition at line 17 of file PolygonalBasis3d.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 volume mesh |
[in] | n_bases | Total number of bases functions in the mesh |
[in] | quadrature_order | Quadrature order for the polyhedra |
[in] | mass_quadrature_order | Quadrature order for the polyhedra 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_face_to_data | Additional data computed for faces at the interface with a polygon |
mapped_boundary | Map element id > (V, E) triangle mesh surface formed by the image of the collocation points trough the geometric mapping of the boundary faces | |
[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 575 of file PolygonalBasis3d.cpp.
References polyfem::basis::ElementBases::bases, polyfem::basis::compute_epsilon(), compute_integral_constraints(), polyfem::basis::ElementBases::has_parameterization, polyfem::mesh::Mesh::is_polytope(), polyfem::mesh::Mesh3D::is_volume(), polyfem::mesh::Mesh::n_elements(), polyfem::assembler::Assembler::name(), polyfem::mesh::orient_closed_surface(), polyfem::assembler::AssemblerUtils::quadrature_order(), 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 401 of file PolygonalBasis3d.cpp.
References polyfem::assembler::ElementAssemblyValues::compute(), polyfem::assembler::AssemblyValues::global, polyfem::assembler::AssemblyValues::grad_t_m, polyfem::mesh::Mesh::is_polytope(), polyfem::mesh::Mesh3D::is_volume(), polyfem::mesh::Mesh::n_elements(), polyfem::assembler::AssemblyValues::val, and vals.
Referenced by build_bases().