PolyFEM
|
Class for a priori refinement, see 'Decoupling .. ' paper for details. More...
#include <APriori.hpp>
Static Public Member Functions | |
static void | p_refine (const mesh::Mesh &mesh, const double B, const bool h1_formula, const int base_p, const int discr_order_max, io::OutStatsData &stats, Eigen::VectorXi &disc_orders) |
compute a priori prefinement | |
Private Member Functions | |
APriori () | |
Static Private Member Functions | |
static void | p_refine (const mesh::Mesh2D &mesh2d, const double B, const bool h1_formula, const int base_p, const int discr_order_max, io::OutStatsData &stats, Eigen::VectorXi &disc_orders) |
compute a priori prefinement in 2d | |
static void | p_refine (const mesh::Mesh3D &mesh3d, const double B, const bool h1_formula, const int base_p, const int discr_order_max, io::OutStatsData &stats, Eigen::VectorXi &disc_orders) |
compute a priori prefinement in 3d | |
Class for a priori refinement, see 'Decoupling .. ' paper for details.
Definition at line 14 of file APriori.hpp.
|
inlineprivate |
Definition at line 17 of file APriori.hpp.
|
static |
compute a priori prefinement
[in] | mesh | mesh |
[in] | B | The target deviation of the error on elements from perfect element error, for a priori geometry-dependent p-refinement, see 'Decoupling .. ' paper. |
[in] | h1_formula | lgacy code |
[in] | base_p | base element degree |
[in] | discr_order_max | maximum element degree |
[out] | stats | statistics to record angles, etc |
[out] | disc_orders | output per element order, assumes the array has correct size |
Definition at line 242 of file APriori.cpp.
References polyfem::mesh::Mesh::is_volume(), and p_refine().
Referenced by polyfem::State::build_basis(), and p_refine().
|
staticprivate |
compute a priori prefinement in 2d
[in] | mesh2d | mesh |
[in] | B | The target deviation of the error on elements from perfect element error, for a priori geometry-dependent p-refinement, see 'Decoupling .. ' paper. |
[in] | h1_formula | lgacy code |
[in] | base_p | base element degree |
[in] | discr_order_max | maximum element degree |
[out] | stats | statistics to record angles, etc |
[out] | disc_orders | output per element order, assumes the array has correct size |
Definition at line 47 of file APriori.cpp.
References polyfem::mesh::Mesh::face_vertex(), polyfem::mesh::Mesh2D::get_edges(), polyfem::mesh::Mesh2D::get_index_from_face(), polyfem::refinement::get_opt_p(), polyfem::mesh::Mesh::is_simplex(), polyfem::logger(), polyfem::io::OutStatsData::max_angle, polyfem::mesh::Mesh::n_faces(), polyfem::mesh::Mesh2D::next_around_face(), polyfem::mesh::Mesh::point(), polyfem::io::OutStatsData::sigma_avg, polyfem::io::OutStatsData::sigma_max, polyfem::io::OutStatsData::sigma_min, and polyfem::mesh::Mesh2D::switch_face().
|
staticprivate |
compute a priori prefinement in 3d
[in] | mesh3d | mesh |
[in] | B | The target deviation of the error on elements from perfect element error, for a priori geometry-dependent p-refinement, see 'Decoupling .. ' paper. |
[in] | h1_formula | lgacy code |
[in] | base_p | base element degree |
[in] | discr_order_max | maximum element degree |
[out] | stats | statistics to record angles, etc |
[out] | disc_orders | output per element order, assumes the array has correct size |
Definition at line 141 of file APriori.cpp.
References polyfem::mesh::Mesh3D::cell_edge(), polyfem::mesh::Mesh::cell_vertex(), polyfem::mesh::Mesh3D::edge_neighs(), polyfem::mesh::Mesh3D::get_edges(), polyfem::refinement::get_opt_p(), polyfem::mesh::Mesh::is_simplex(), polyfem::logger(), polyfem::io::OutStatsData::max_angle, polyfem::mesh::Mesh::n_cells(), polyfem::mesh::Mesh::n_elements(), polyfem::mesh::Mesh::point(), polyfem::io::OutStatsData::sigma_avg, polyfem::io::OutStatsData::sigma_max, polyfem::io::OutStatsData::sigma_min, and V.