PolyFEM
|
#include <AssemblerUtils.hpp>
Public Types | |
enum class | BasisType { SIMPLEX_LAGRANGE , CUBE_LAGRANGE , SPLINE , POLY } |
Public Member Functions | |
AssemblerUtils ()=delete | |
Static Public Member Functions | |
static std::string | other_assembler_name (const std::string &formulation) |
static std::shared_ptr< Assembler > | make_assembler (const std::string &formulation) |
static std::shared_ptr< MixedAssembler > | make_mixed_assembler (const std::string &formulation) |
static void | merge_mixed_matrices (const int n_bases, const int n_pressure_bases, const int problem_dim, const bool add_average, const StiffnessMatrix &velocity_stiffness, const StiffnessMatrix &mixed_stiffness, const StiffnessMatrix &pressure_stiffness, StiffnessMatrix &stiffness) |
utility to merge 3 blocks of mixed matrices, A=velocity_stiffness, B=mixed_stiffness, and C=pressure_stiffness A B B^T C | |
static int | quadrature_order (const std::string &assembler, const int basis_degree, const BasisType &b_type, const int dim) |
utility for retrieving the needed quadrature order to precisely integrate the given form on the given element basis | |
Definition at line 11 of file AssemblerUtils.hpp.
|
strong |
Enumerator | |
---|---|
SIMPLEX_LAGRANGE | |
CUBE_LAGRANGE | |
SPLINE | |
POLY |
Definition at line 19 of file AssemblerUtils.hpp.
|
delete |
|
static |
Definition at line 49 of file AssemblerUtils.cpp.
References polyfem::log_and_throw_error().
Referenced by polyfem::solver::AMIPSForm::AMIPSForm(), polyfem::State::init(), and polyfem::mesh::LocalRelaxationData< M >::init_assembler().
|
static |
Definition at line 105 of file AssemblerUtils.cpp.
References polyfem::log_and_throw_error().
Referenced by polyfem::State::init().
|
static |
utility to merge 3 blocks of mixed matrices, A=velocity_stiffness, B=mixed_stiffness, and C=pressure_stiffness A B B^T C
Definition at line 117 of file AssemblerUtils.cpp.
References val.
Referenced by polyfem::State::build_stiffness_mat(), polyfem::solver::TransientNavierStokesSolver::minimize(), polyfem::solver::NavierStokesSolver::minimize(), polyfem::solver::TransientNavierStokesSolver::minimize_aux(), and polyfem::solver::NavierStokesSolver::minimize_aux().
|
static |
Definition at line 37 of file AssemblerUtils.cpp.
Referenced by polyfem::State::init().
|
static |
utility for retrieving the needed quadrature order to precisely integrate the given form on the given element basis
Definition at line 182 of file AssemblerUtils.cpp.
References CUBE_LAGRANGE, and SIMPLEX_LAGRANGE.
Referenced by polyfem::basis::PolygonalBasis2d::build_bases(), polyfem::basis::PolygonalBasis3d::build_bases(), polyfem::basis::SplineBasis2d::build_bases(), polyfem::basis::SplineBasis3d::build_bases(), polyfem::basis::BarycentricBasis2d::build_bases(), and polyfem::State::n_boundary_samples().