PolyFEM
|
abstract class More...
#include <Assembler.hpp>
Public Types | |
typedef std::pair< std::string, Eigen::MatrixXd > | NamedMatrix |
typedef std::function< double(const RowVectorNd &, const RowVectorNd &, double, int)> | ParamFunc |
Public Member Functions | |
virtual | ~Assembler ()=default |
virtual std::string | name () const =0 |
int | size () const |
virtual void | set_size (const int size) |
virtual void | assemble (const bool is_volume, const int n_basis, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, const AssemblyValsCache &cache, const double t, StiffnessMatrix &stiffness, const bool is_mass=false) const |
virtual double | assemble_energy (const bool is_volume, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, const AssemblyValsCache &cache, const double t, const double dt, const Eigen::MatrixXd &displacement, const Eigen::MatrixXd &displacement_prev) const |
virtual Eigen::VectorXd | assemble_energy_per_element (const bool is_volume, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, const AssemblyValsCache &cache, const double t, const double dt, const Eigen::MatrixXd &displacement, const Eigen::MatrixXd &displacement_prev) const |
virtual void | assemble_gradient (const bool is_volume, const int n_basis, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, const AssemblyValsCache &cache, const double t, const double dt, const Eigen::MatrixXd &displacement, const Eigen::MatrixXd &displacement_prev, Eigen::MatrixXd &rhs) const |
virtual void | assemble_hessian (const bool is_volume, const int n_basis, const bool project_to_psd, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, const AssemblyValsCache &cache, const double t, const double dt, const Eigen::MatrixXd &displacement, const Eigen::MatrixXd &displacement_prev, utils::MatrixCache &mat_cache, StiffnessMatrix &grad) const |
virtual void | compute_scalar_value (const OutputData &data, std::vector< NamedMatrix > &result) const |
virtual void | compute_tensor_value (const OutputData &data, std::vector< NamedMatrix > &result) const |
virtual void | compute_stiffness_value (const double t, const assembler::ElementAssemblyValues &vals, const Eigen::MatrixXd &local_pts, const Eigen::MatrixXd &displacement, Eigen::MatrixXd &tensor) const |
virtual void | compute_dstress_dmu_dlambda (const OptAssemblerData &data, Eigen::MatrixXd &dstress_dmu, Eigen::MatrixXd &dstress_dlambda) const |
virtual void | compute_stress_grad_multiply_mat (const OptAssemblerData &data, const Eigen::MatrixXd &mat, Eigen::MatrixXd &stress, Eigen::MatrixXd &result) const |
virtual void | compute_stress_grad_multiply_stress (const OptAssemblerData &data, Eigen::MatrixXd &stress, Eigen::MatrixXd &result) const |
virtual void | compute_stress_grad_multiply_vect (const OptAssemblerData &data, const Eigen::MatrixXd &vect, Eigen::MatrixXd &stress, Eigen::MatrixXd &result) const |
virtual void | compute_stress_grad (const OptAssemblerData &data, const Eigen::MatrixXd &prev_grad_u_i, Eigen::MatrixXd &stress, Eigen::MatrixXd &result) const |
virtual void | compute_stress_prev_grad (const OptAssemblerData &data, const Eigen::MatrixXd &prev_grad_u_i, Eigen::MatrixXd &result) const |
virtual std::map< std::string, ParamFunc > | parameters () const =0 |
virtual VectorNd | compute_rhs (const AutodiffHessianPt &pt) const |
virtual Eigen::Matrix< AutodiffScalarGrad, Eigen::Dynamic, 1, 0, 3, 1 > | kernel (const int dim, const AutodiffGradPt &rvect, const AutodiffScalarGrad &r) const |
void | set_materials (const std::vector< int > &body_ids, const json &body_params, const Units &units) |
virtual void | add_multimaterial (const int index, const json ¶ms, const Units &units) |
virtual void | update_lame_params (const Eigen::MatrixXd &lambdas, const Eigen::MatrixXd &mus) |
virtual bool | is_linear () const =0 |
virtual bool | is_solution_displacement () const |
virtual bool | is_fluid () const |
virtual bool | is_tensor () const |
Protected Attributes | |
int | size_ = -1 |
abstract class
Definition at line 53 of file Assembler.hpp.
typedef std::pair<std::string, Eigen::MatrixXd> polyfem::assembler::Assembler::NamedMatrix |
Definition at line 56 of file Assembler.hpp.
typedef std::function<double(const RowVectorNd &, const RowVectorNd &, double, int)> polyfem::assembler::Assembler::ParamFunc |
Definition at line 57 of file Assembler.hpp.
|
virtualdefault |
|
inlinevirtual |
Reimplemented in polyfem::assembler::AMIPSEnergy, polyfem::assembler::AMIPSEnergyAutodiff, polyfem::assembler::FixedCorotational, polyfem::assembler::Helmholtz, polyfem::assembler::HookeLinearElasticity, polyfem::assembler::IncompressibleLinearElasticityDispacement, polyfem::assembler::IncompressibleLinearElasticityPressure, polyfem::assembler::LinearElasticity, polyfem::assembler::Mass, polyfem::assembler::MooneyRivlin3ParamElasticity, polyfem::assembler::MooneyRivlin3ParamSymbolic, polyfem::assembler::MooneyRivlinElasticity, polyfem::assembler::MultiModel, polyfem::assembler::NavierStokesVelocity, polyfem::assembler::NeoHookeanElasticity, polyfem::assembler::NeoHookeanAutodiff, polyfem::assembler::UnconstrainedOgdenElasticity, polyfem::assembler::IncompressibleOgdenElasticity, polyfem::assembler::SaintVenantElasticity, polyfem::assembler::StokesVelocity, polyfem::assembler::ViscousDamping, polyfem::assembler::GenericElastic< Derived >, polyfem::assembler::GenericElastic< AMIPSEnergyAutodiff >, polyfem::assembler::GenericElastic< IncompressibleOgdenElasticity >, polyfem::assembler::GenericElastic< MooneyRivlin3ParamElasticity >, polyfem::assembler::GenericElastic< MooneyRivlinElasticity >, polyfem::assembler::GenericElastic< NeoHookeanAutodiff >, and polyfem::assembler::GenericElastic< UnconstrainedOgdenElasticity >.
Definition at line 190 of file Assembler.hpp.
Referenced by set_materials().
|
inlinevirtual |
Reimplemented in polyfem::assembler::LinearAssembler, polyfem::assembler::BilaplacianMain, polyfem::assembler::BilaplacianAux, polyfem::assembler::Helmholtz, polyfem::assembler::HookeLinearElasticity, polyfem::assembler::IncompressibleLinearElasticityDispacement, polyfem::assembler::IncompressibleLinearElasticityPressure, polyfem::assembler::Laplacian, polyfem::assembler::LinearElasticity, polyfem::assembler::Mass, polyfem::assembler::StokesVelocity, and polyfem::assembler::StokesPressure.
Definition at line 68 of file Assembler.hpp.
References polyfem::log_and_throw_error(), and name().
Referenced by polyfem::solver::ElasticForm::compute_cached_stiffness(), and polyfem::solver::NavierStokesSolver::minimize().
|
inlinevirtual |
Reimplemented in polyfem::assembler::AMIPSEnergy, polyfem::assembler::NLAssembler, polyfem::assembler::FixedCorotational, polyfem::assembler::GenericElastic< Derived >, polyfem::assembler::GenericElastic< AMIPSEnergyAutodiff >, polyfem::assembler::GenericElastic< IncompressibleOgdenElasticity >, polyfem::assembler::GenericElastic< MooneyRivlin3ParamElasticity >, polyfem::assembler::GenericElastic< MooneyRivlinElasticity >, polyfem::assembler::GenericElastic< NeoHookeanAutodiff >, polyfem::assembler::GenericElastic< UnconstrainedOgdenElasticity >, polyfem::assembler::HookeLinearElasticity, polyfem::assembler::LinearElasticity, polyfem::assembler::MooneyRivlin3ParamSymbolic, polyfem::assembler::MultiModel, polyfem::assembler::NavierStokesVelocity, polyfem::assembler::NeoHookeanElasticity, polyfem::assembler::SaintVenantElasticity, polyfem::assembler::ViscousDamping, and polyfem::assembler::ViscousDampingPrev.
Definition at line 79 of file Assembler.hpp.
References polyfem::log_and_throw_error(), and name().
Referenced by polyfem::solver::ElasticForm::value_unweighted().
|
inlinevirtual |
Reimplemented in polyfem::assembler::NLAssembler.
Definition at line 89 of file Assembler.hpp.
References polyfem::log_and_throw_error(), and name().
Referenced by polyfem::solver::ElasticForm::value_per_element_unweighted().
|
inlinevirtual |
Reimplemented in polyfem::assembler::AMIPSEnergy, polyfem::assembler::NLAssembler, polyfem::assembler::FixedCorotational, polyfem::assembler::GenericElastic< Derived >, polyfem::assembler::GenericElastic< AMIPSEnergyAutodiff >, polyfem::assembler::GenericElastic< IncompressibleOgdenElasticity >, polyfem::assembler::GenericElastic< MooneyRivlin3ParamElasticity >, polyfem::assembler::GenericElastic< MooneyRivlinElasticity >, polyfem::assembler::GenericElastic< NeoHookeanAutodiff >, polyfem::assembler::GenericElastic< UnconstrainedOgdenElasticity >, polyfem::assembler::HookeLinearElasticity, polyfem::assembler::LinearElasticity, polyfem::assembler::MooneyRivlin3ParamSymbolic, polyfem::assembler::MultiModel, polyfem::assembler::NavierStokesVelocity, polyfem::assembler::NeoHookeanElasticity, polyfem::assembler::SaintVenantElasticity, polyfem::assembler::ViscousDamping, and polyfem::assembler::ViscousDampingPrev.
Definition at line 100 of file Assembler.hpp.
References polyfem::log_and_throw_error(), and name().
Referenced by polyfem::solver::ElasticForm::first_derivative_unweighted().
|
inlinevirtual |
Reimplemented in polyfem::assembler::AMIPSEnergy, polyfem::assembler::NLAssembler, polyfem::assembler::FixedCorotational, polyfem::assembler::GenericElastic< Derived >, polyfem::assembler::GenericElastic< AMIPSEnergyAutodiff >, polyfem::assembler::GenericElastic< IncompressibleOgdenElasticity >, polyfem::assembler::GenericElastic< MooneyRivlin3ParamElasticity >, polyfem::assembler::GenericElastic< MooneyRivlinElasticity >, polyfem::assembler::GenericElastic< NeoHookeanAutodiff >, polyfem::assembler::GenericElastic< UnconstrainedOgdenElasticity >, polyfem::assembler::HookeLinearElasticity, polyfem::assembler::LinearElasticity, polyfem::assembler::MooneyRivlin3ParamSymbolic, polyfem::assembler::MultiModel, polyfem::assembler::NavierStokesVelocity, polyfem::assembler::NeoHookeanElasticity, polyfem::assembler::SaintVenantElasticity, polyfem::assembler::ViscousDamping, and polyfem::assembler::ViscousDampingPrev.
Definition at line 113 of file Assembler.hpp.
References polyfem::log_and_throw_error(), and name().
Referenced by polyfem::solver::ElasticForm::second_derivative_unweighted().
|
inlinevirtual |
Reimplemented in polyfem::assembler::FixedCorotational, polyfem::assembler::LinearElasticity, and polyfem::assembler::NeoHookeanElasticity.
Definition at line 147 of file Assembler.hpp.
References polyfem::log_and_throw_adjoint_error().
Referenced by polyfem::solver::ElasticForm::force_material_derivative().
|
inlinevirtual |
Reimplemented in polyfem::assembler::Helmholtz, polyfem::assembler::HookeLinearElasticity, polyfem::assembler::Laplacian, polyfem::assembler::LinearElasticity, polyfem::assembler::Mass, polyfem::assembler::MultiModel, polyfem::assembler::NavierStokesVelocity, polyfem::assembler::NeoHookeanElasticity, polyfem::assembler::SaintVenantElasticity, and polyfem::assembler::StokesVelocity.
Definition at line 185 of file Assembler.hpp.
References polyfem::log_and_throw_error(), and name().
Referenced by polyfem::problem::ElasticCantileverExact::rhs(), polyfem::problem::ProblemWithSolution::rhs(), and polyfem::basis::RBFWithQuadratic::setup_monomials_strong_2d().
|
inlinevirtual |
Reimplemented in polyfem::assembler::ElasticityAssembler.
Definition at line 128 of file Assembler.hpp.
Referenced by polyfem::io::Evaluator::average_grad_based_function(), polyfem::io::Evaluator::check_scalar_value(), polyfem::io::Evaluator::compute_scalar_value(), and polyfem::io::Evaluator::compute_stress_at_quadrature_points().
|
inlinevirtual |
Reimplemented in polyfem::assembler::Laplacian, polyfem::assembler::LinearElasticity, and polyfem::assembler::NeoHookeanElasticity.
Definition at line 140 of file Assembler.hpp.
References polyfem::log_and_throw_error().
|
inlinevirtual |
Reimplemented in polyfem::assembler::ViscousDamping.
Definition at line 174 of file Assembler.hpp.
References polyfem::log_and_throw_adjoint_error().
Referenced by polyfem::solver::ElasticForm::force_shape_derivative().
|
inlinevirtual |
Reimplemented in polyfem::assembler::FixedCorotational, polyfem::assembler::GenericElastic< Derived >, polyfem::assembler::GenericElastic< AMIPSEnergyAutodiff >, polyfem::assembler::GenericElastic< IncompressibleOgdenElasticity >, polyfem::assembler::GenericElastic< MooneyRivlin3ParamElasticity >, polyfem::assembler::GenericElastic< MooneyRivlinElasticity >, polyfem::assembler::GenericElastic< NeoHookeanAutodiff >, polyfem::assembler::GenericElastic< UnconstrainedOgdenElasticity >, polyfem::assembler::Laplacian, polyfem::assembler::LinearElasticity, polyfem::assembler::MooneyRivlin3ParamSymbolic, and polyfem::assembler::NeoHookeanElasticity.
Definition at line 152 of file Assembler.hpp.
References polyfem::log_and_throw_adjoint_error().
Referenced by compute_stress_grad_multiply_stress(), and polyfem::solver::ElasticForm::force_shape_derivative().
|
inlinevirtual |
Reimplemented in polyfem::assembler::FixedCorotational, polyfem::assembler::GenericElastic< Derived >, polyfem::assembler::GenericElastic< AMIPSEnergyAutodiff >, polyfem::assembler::GenericElastic< IncompressibleOgdenElasticity >, polyfem::assembler::GenericElastic< MooneyRivlin3ParamElasticity >, polyfem::assembler::GenericElastic< MooneyRivlinElasticity >, polyfem::assembler::GenericElastic< NeoHookeanAutodiff >, polyfem::assembler::GenericElastic< UnconstrainedOgdenElasticity >, polyfem::assembler::LinearElasticity, polyfem::assembler::MooneyRivlin3ParamSymbolic, and polyfem::assembler::NeoHookeanElasticity.
Definition at line 158 of file Assembler.hpp.
References compute_stress_grad_multiply_mat(), and polyfem::assembler::OptAssemblerData::grad_u_i.
|
inlinevirtual |
Reimplemented in polyfem::assembler::GenericElastic< Derived >, polyfem::assembler::GenericElastic< AMIPSEnergyAutodiff >, polyfem::assembler::GenericElastic< IncompressibleOgdenElasticity >, polyfem::assembler::GenericElastic< MooneyRivlin3ParamElasticity >, polyfem::assembler::GenericElastic< MooneyRivlinElasticity >, polyfem::assembler::GenericElastic< NeoHookeanAutodiff >, polyfem::assembler::GenericElastic< UnconstrainedOgdenElasticity >, polyfem::assembler::MooneyRivlin3ParamSymbolic, and polyfem::assembler::NeoHookeanElasticity.
Definition at line 168 of file Assembler.hpp.
References polyfem::log_and_throw_error().
|
inlinevirtual |
Reimplemented in polyfem::assembler::ViscousDamping.
Definition at line 179 of file Assembler.hpp.
References polyfem::log_and_throw_adjoint_error().
Referenced by polyfem::solver::ElasticForm::force_shape_derivative().
|
inlinevirtual |
Reimplemented in polyfem::assembler::ElasticityAssembler.
Definition at line 133 of file Assembler.hpp.
Referenced by polyfem::io::Evaluator::compute_stress_at_quadrature_points(), polyfem::io::Evaluator::compute_tensor_value(), and polyfem::io::OutGeometryData::save_surface().
|
inlinevirtual |
Reimplemented in polyfem::assembler::NavierStokesVelocity, polyfem::assembler::StokesVelocity, and polyfem::assembler::StokesPressure.
Definition at line 199 of file Assembler.hpp.
Referenced by polyfem::State::set_materials(), and polyfem::assembler::GenericTensorProblem::set_units().
|
pure virtual |
Implemented in polyfem::assembler::LinearAssembler, polyfem::assembler::NLAssembler, polyfem::assembler::HookeLinearElasticity, and polyfem::assembler::LinearElasticity.
Referenced by polyfem::solver::ElasticForm::compute_cached_stiffness(), polyfem::solver::ElasticForm::ElasticForm(), and polyfem::solver::ElasticForm::second_derivative_unweighted().
|
inlinevirtual |
Reimplemented in polyfem::assembler::ElasticityAssembler.
Definition at line 198 of file Assembler.hpp.
|
inlinevirtual |
Reimplemented in polyfem::assembler::ElasticityAssembler, polyfem::assembler::NavierStokesVelocity, and polyfem::assembler::StokesVelocity.
Definition at line 200 of file Assembler.hpp.
Referenced by polyfem::basis::PolygonalBasis2d::build_bases(), polyfem::basis::RBFWithQuadratic::compute_constraints_matrix_2d(), polyfem::basis::RBFWithQuadraticLagrange::compute_constraints_matrix_2d(), polyfem::basis::PolygonalBasis2d::compute_integral_constraints(), polyfem::problem::KernelProblem::is_scalar(), and polyfem::State::set_materials().
|
inlinevirtual |
Reimplemented in polyfem::assembler::LinearElasticity, polyfem::assembler::Helmholtz, and polyfem::assembler::Laplacian.
Definition at line 187 of file Assembler.hpp.
References polyfem::log_and_throw_error(), and name().
Referenced by polyfem::problem::KernelProblem::eval_fun().
|
pure virtual |
Implemented in polyfem::assembler::AMIPSEnergy, polyfem::assembler::AMIPSEnergyAutodiff, polyfem::assembler::BilaplacianMain, polyfem::assembler::BilaplacianAux, polyfem::assembler::FixedCorotational, polyfem::assembler::Helmholtz, polyfem::assembler::HookeLinearElasticity, polyfem::assembler::IncompressibleLinearElasticityDispacement, polyfem::assembler::IncompressibleLinearElasticityPressure, polyfem::assembler::Laplacian, polyfem::assembler::LinearElasticity, polyfem::assembler::Mass, polyfem::assembler::MooneyRivlin3ParamElasticity, polyfem::assembler::MooneyRivlin3ParamSymbolic, polyfem::assembler::MooneyRivlinElasticity, polyfem::assembler::MultiModel, polyfem::assembler::NavierStokesVelocity, polyfem::assembler::NeoHookeanElasticity, polyfem::assembler::NeoHookeanAutodiff, polyfem::assembler::UnconstrainedOgdenElasticity, polyfem::assembler::IncompressibleOgdenElasticity, polyfem::assembler::SaintVenantElasticity, polyfem::assembler::StokesVelocity, polyfem::assembler::StokesPressure, polyfem::assembler::OperatorSplitting, and polyfem::assembler::ViscousDamping.
Referenced by assemble(), assemble_energy(), assemble_energy_per_element(), assemble_gradient(), assemble_hessian(), polyfem::basis::PolygonalBasis2d::build_bases(), polyfem::basis::PolygonalBasis3d::build_bases(), compute_rhs(), polyfem::solver::ElasticForm::force_material_derivative(), polyfem::solver::ElasticForm::force_shape_derivative(), and kernel().
|
pure virtual |
Implemented in polyfem::assembler::AMIPSEnergy, polyfem::assembler::AMIPSEnergyAutodiff, polyfem::assembler::BilaplacianMain, polyfem::assembler::BilaplacianAux, polyfem::assembler::FixedCorotational, polyfem::assembler::Helmholtz, polyfem::assembler::HookeLinearElasticity, polyfem::assembler::IncompressibleLinearElasticityDispacement, polyfem::assembler::IncompressibleLinearElasticityPressure, polyfem::assembler::Laplacian, polyfem::assembler::LinearElasticity, polyfem::assembler::Mass, polyfem::assembler::MooneyRivlin3ParamElasticity, polyfem::assembler::MooneyRivlin3ParamSymbolic, polyfem::assembler::MooneyRivlinElasticity, polyfem::assembler::MultiModel, polyfem::assembler::NavierStokesVelocity, polyfem::assembler::NeoHookeanElasticity, polyfem::assembler::NeoHookeanAutodiff, polyfem::assembler::UnconstrainedOgdenElasticity, polyfem::assembler::IncompressibleOgdenElasticity, polyfem::assembler::SaintVenantElasticity, polyfem::assembler::StokesVelocity, polyfem::assembler::StokesPressure, and polyfem::assembler::ViscousDamping.
Referenced by polyfem::io::OutGeometryData::save_surface(), and polyfem::io::OutGeometryData::save_volume().
void polyfem::assembler::Assembler::set_materials | ( | const std::vector< int > & | body_ids, |
const json & | body_params, | ||
const Units & | units | ||
) |
Definition at line 97 of file Assembler.cpp.
References add_multimaterial(), and polyfem::logger().
|
inlinevirtual |
Reimplemented in polyfem::assembler::HookeLinearElasticity, polyfem::assembler::IncompressibleLinearElasticityPressure, polyfem::assembler::MultiModel, polyfem::assembler::SaintVenantElasticity, and polyfem::assembler::StokesPressure.
Definition at line 64 of file Assembler.hpp.
Referenced by polyfem::State::set_materials(), polyfem::assembler::HookeLinearElasticity::set_size(), polyfem::assembler::MultiModel::set_size(), polyfem::assembler::SaintVenantElasticity::set_size(), polyfem::State::solve_transient_navier_stokes_split(), and polyfem::assembler::RhsAssembler::time_bc().
|
inline |
Definition at line 63 of file Assembler.hpp.
References size_.
Referenced by polyfem::assembler::AMIPSEnergyAutodiff::add_multimaterial(), polyfem::assembler::FixedCorotational::add_multimaterial(), polyfem::assembler::HookeLinearElasticity::add_multimaterial(), polyfem::assembler::IncompressibleLinearElasticityDispacement::add_multimaterial(), polyfem::assembler::LinearElasticity::add_multimaterial(), polyfem::assembler::MultiModel::add_multimaterial(), polyfem::assembler::NavierStokesVelocity::add_multimaterial(), polyfem::assembler::NeoHookeanElasticity::add_multimaterial(), polyfem::assembler::NeoHookeanAutodiff::add_multimaterial(), polyfem::assembler::SaintVenantElasticity::add_multimaterial(), polyfem::assembler::StokesVelocity::add_multimaterial(), polyfem::assembler::ViscousDamping::add_multimaterial(), polyfem::assembler::HookeLinearElasticity::assemble(), polyfem::assembler::IncompressibleLinearElasticityDispacement::assemble(), polyfem::assembler::LinearElasticity::assemble(), polyfem::assembler::Mass::assemble(), polyfem::assembler::StokesVelocity::assemble(), polyfem::assembler::AMIPSEnergy::assemble_gradient(), polyfem::assembler::FixedCorotational::assemble_gradient(), polyfem::assembler::HookeLinearElasticity::assemble_gradient(), polyfem::assembler::LinearElasticity::assemble_gradient(), polyfem::assembler::MooneyRivlin3ParamSymbolic::assemble_gradient(), polyfem::assembler::NavierStokesVelocity::assemble_gradient(), polyfem::assembler::NeoHookeanElasticity::assemble_gradient(), polyfem::assembler::SaintVenantElasticity::assemble_gradient(), polyfem::assembler::ViscousDamping::assemble_gradient(), polyfem::assembler::ViscousDampingPrev::assemble_gradient(), polyfem::assembler::AMIPSEnergy::assemble_hessian(), polyfem::assembler::FixedCorotational::assemble_hessian(), polyfem::assembler::HookeLinearElasticity::assemble_hessian(), polyfem::assembler::LinearElasticity::assemble_hessian(), polyfem::assembler::MooneyRivlin3ParamSymbolic::assemble_hessian(), polyfem::assembler::NeoHookeanElasticity::assemble_hessian(), polyfem::assembler::SaintVenantElasticity::assemble_hessian(), polyfem::assembler::ViscousDamping::assemble_hessian(), polyfem::assembler::ViscousDampingPrev::assemble_hessian(), polyfem::assembler::AMIPSEnergy::assign_stress_tensor(), polyfem::assembler::FixedCorotational::assign_stress_tensor(), polyfem::assembler::HookeLinearElasticity::assign_stress_tensor(), polyfem::assembler::IncompressibleLinearElasticityDispacement::assign_stress_tensor(), polyfem::assembler::LinearElasticity::assign_stress_tensor(), polyfem::assembler::MooneyRivlin3ParamSymbolic::assign_stress_tensor(), polyfem::assembler::NeoHookeanElasticity::assign_stress_tensor(), polyfem::assembler::SaintVenantElasticity::assign_stress_tensor(), polyfem::assembler::FixedCorotational::compute_dstress_dmu_dlambda(), polyfem::assembler::FixedCorotational::compute_energy(), polyfem::assembler::ViscousDamping::compute_energy(), polyfem::assembler::ViscousDampingPrev::compute_energy(), polyfem::assembler::AMIPSEnergy::compute_energy_aux(), polyfem::assembler::GenericElastic< Derived >::compute_energy_aux(), polyfem::assembler::HookeLinearElasticity::compute_energy_aux(), polyfem::assembler::LinearElasticity::compute_energy_aux(), polyfem::assembler::MooneyRivlin3ParamSymbolic::compute_energy_aux(), polyfem::assembler::NeoHookeanElasticity::compute_energy_aux(), polyfem::assembler::SaintVenantElasticity::compute_energy_aux(), polyfem::assembler::AMIPSEnergy::compute_energy_aux_gradient_fast(), polyfem::assembler::FixedCorotational::compute_energy_aux_gradient_fast(), polyfem::assembler::MooneyRivlin3ParamSymbolic::compute_energy_aux_gradient_fast(), polyfem::assembler::NeoHookeanElasticity::compute_energy_aux_gradient_fast(), polyfem::assembler::AMIPSEnergy::compute_energy_hessian_aux_fast(), polyfem::assembler::FixedCorotational::compute_energy_hessian_aux_fast(), polyfem::assembler::MooneyRivlin3ParamSymbolic::compute_energy_hessian_aux_fast(), polyfem::assembler::NeoHookeanElasticity::compute_energy_hessian_aux_fast(), polyfem::assembler::NavierStokesVelocity::compute_N(), polyfem::assembler::Helmholtz::compute_rhs(), polyfem::assembler::HookeLinearElasticity::compute_rhs(), polyfem::assembler::LinearElasticity::compute_rhs(), polyfem::assembler::MultiModel::compute_rhs(), polyfem::assembler::NavierStokesVelocity::compute_rhs(), polyfem::assembler::NeoHookeanElasticity::compute_rhs(), polyfem::assembler::SaintVenantElasticity::compute_rhs(), polyfem::assembler::StokesVelocity::compute_rhs(), polyfem::assembler::LinearElasticity::compute_stiffness_value(), polyfem::assembler::NeoHookeanElasticity::compute_stiffness_value(), polyfem::assembler::ViscousDamping::compute_stress_aux(), polyfem::assembler::ViscousDamping::compute_stress_grad(), polyfem::assembler::ViscousDamping::compute_stress_grad_aux(), polyfem::assembler::FixedCorotational::compute_stress_grad_multiply_mat(), polyfem::assembler::LinearElasticity::compute_stress_grad_multiply_mat(), polyfem::assembler::MooneyRivlin3ParamSymbolic::compute_stress_grad_multiply_mat(), polyfem::assembler::FixedCorotational::compute_stress_grad_multiply_stress(), polyfem::assembler::LinearElasticity::compute_stress_grad_multiply_stress(), polyfem::assembler::MooneyRivlin3ParamSymbolic::compute_stress_grad_multiply_stress(), polyfem::assembler::MooneyRivlin3ParamSymbolic::compute_stress_grad_multiply_vect(), polyfem::assembler::NeoHookeanElasticity::compute_stress_grad_multiply_vect(), polyfem::assembler::ElasticityAssembler::compute_stress_tensor(), polyfem::assembler::NavierStokesVelocity::compute_W(), polyfem::assembler::AMIPSEnergyAutodiff::elastic_energy(), polyfem::assembler::MooneyRivlin3ParamElasticity::elastic_energy(), polyfem::assembler::MooneyRivlinElasticity::elastic_energy(), polyfem::assembler::NeoHookeanAutodiff::elastic_energy(), polyfem::assembler::MooneyRivlin3ParamSymbolic::elastic_energy(), polyfem::assembler::MooneyRivlin3ParamSymbolic::get_grad_hess_autodiff(), polyfem::assembler::Helmholtz::kernel(), polyfem::assembler::FixedCorotational::parameters(), polyfem::assembler::HookeLinearElasticity::parameters(), polyfem::assembler::IncompressibleLinearElasticityDispacement::parameters(), polyfem::assembler::LinearElasticity::parameters(), polyfem::assembler::NeoHookeanElasticity::parameters(), polyfem::assembler::SaintVenantElasticity::parameters(), set_size(), polyfem::assembler::HookeLinearElasticity::set_size(), polyfem::assembler::IncompressibleLinearElasticityPressure::set_size(), polyfem::assembler::MultiModel::set_size(), polyfem::assembler::SaintVenantElasticity::set_size(), and polyfem::assembler::RhsAssembler::time_bc().
|
inlinevirtual |
Reimplemented in polyfem::assembler::FixedCorotational, polyfem::assembler::LinearElasticity, and polyfem::assembler::NeoHookeanElasticity.
Definition at line 192 of file Assembler.hpp.
References polyfem::log_and_throw_error().
|
protected |
Definition at line 203 of file Assembler.hpp.
Referenced by polyfem::assembler::Mass::add_multimaterial(), set_size(), polyfem::assembler::IncompressibleLinearElasticityPressure::set_size(), polyfem::assembler::StokesPressure::set_size(), and size().