|
| static int | build_bases (const mesh::Mesh3D &mesh, const std::string &assembler, const int quadrature_order, const int mass_quadrature_order, const int discr_orderp, const int discr_orderq, const bool bernstein, const bool serendipity, const bool has_polys, const bool is_geom_bases, const bool use_corner_quadrature, std::vector< ElementBases > &bases, std::vector< mesh::LocalBoundary > &local_boundary, std::map< int, InterfaceData > &poly_face_to_data, std::shared_ptr< mesh::MeshNodes > &mesh_nodes) |
| | Builds FE basis functions over the entire mesh (P1, P2 over tets, Q1, Q2 over hes).
|
| |
| static int | build_bases (const mesh::Mesh3D &mesh, const std::string &assembler, const int quadrature_order, const int mass_quadrature_order, const Eigen::VectorXi &discr_orderp, const Eigen::VectorXi &discr_orderq, const bool bernstein, const bool serendipity, const bool has_polys, const bool is_geom_bases, const bool use_corner_quadrature, std::vector< ElementBases > &bases, std::vector< mesh::LocalBoundary > &local_boundary, std::map< int, InterfaceData > &poly_face_to_data, std::shared_ptr< mesh::MeshNodes > &mesh_nodes) |
| | Builds FE basis functions over the entire mesh (P1, P2 over tets, Q1, Q2 over hex).
|
| |
| static Eigen::VectorXi | tet_face_local_nodes (const int p, const mesh::Mesh3D &mesh, mesh::Navigation3D::Index index) |
| |
| static Eigen::VectorXi | hex_face_local_nodes (const bool serendipity, const int q, const mesh::Mesh3D &mesh, mesh::Navigation3D::Index index) |
| |
| static Eigen::VectorXi | prism_face_local_nodes (const int p, const int q, const mesh::Mesh3D &mesh, mesh::Navigation3D::Index index) |
| |
Definition at line 18 of file LagrangeBasis3d.hpp.
| static int polyfem::basis::LagrangeBasis3d::build_bases |
( |
const mesh::Mesh3D & |
mesh, |
|
|
const std::string & |
assembler, |
|
|
const int |
quadrature_order, |
|
|
const int |
mass_quadrature_order, |
|
|
const int |
discr_orderp, |
|
|
const int |
discr_orderq, |
|
|
const bool |
bernstein, |
|
|
const bool |
serendipity, |
|
|
const bool |
has_polys, |
|
|
const bool |
is_geom_bases, |
|
|
const bool |
use_corner_quadrature, |
|
|
std::vector< ElementBases > & |
bases, |
|
|
std::vector< mesh::LocalBoundary > & |
local_boundary, |
|
|
std::map< int, InterfaceData > & |
poly_face_to_data, |
|
|
std::shared_ptr< mesh::MeshNodes > & |
mesh_nodes |
|
) |
| |
|
static |
Builds FE basis functions over the entire mesh (P1, P2 over tets, Q1, Q2 over hes).
Polygonal facets with > 4 vertices are dealt later on by the PolygonalBasis3d class.
- Parameters
-
| [in] | mesh | The input volumetric mesh |
| [in] | assembler | The pde to solve |
| [in] | quadrature_order | The quadrature order |
| [in] | mass_quadrature_order | The quadrature order for mass |
| [in] | discr_orderp | The order of the elements (1-4) |
| [in] | discr_orderq | The order of the second tensor (1-4) |
| [in] | bernstein | Uses bernstein bases or not (only for tets) |
| [in] | serendipity | Uses serendipity bases or not (only for hex) |
| [in] | has_polys | Does the mesh has polygons, if not the interface mapping is not necessary |
| [in] | is_geom_bases | Flag to decide if build geometric mapping or normal bases, used to decide if the nodes are important |
| [out] | bases | List of basis functions per element |
| [out] | local_boundary | List of descriptor per element, indicating which edge of the canonical elements lie on the boundary of the mesh |
| [out] | poly_edge_to_data | Data for edges at the interface with a polygon (used to build the harmonics inside polygons) |
- Returns
- The number of basis functions created.
Referenced by polyfem::mesh::Remesher::build_bases(), and polyfem::State::build_basis().