PolyFEM
Loading...
Searching...
No Matches
polyfem::solver::AdjointTools Namespace Reference

Functions

double integrate_objective (const varform::DifferentiableVarForm &varform, const IntegrableFunctional &j, const Eigen::MatrixXd &solution, const std::set< int > &interested_ids, const SpatialIntegralType spatial_integral_type, const int cur_step=0)
 
void dJ_du_step (const varform::DifferentiableVarForm &varform, const IntegrableFunctional &j, const Eigen::MatrixXd &solution, const std::set< int > &interested_ids, const SpatialIntegralType spatial_integral_type, const int cur_step, Eigen::VectorXd &term)
 
void compute_shape_derivative_functional_term (const varform::DifferentiableVarForm &varform, const Eigen::MatrixXd &solution, const IntegrableFunctional &j, const std::set< int > &interested_ids, const SpatialIntegralType spatial_integral_type, Eigen::VectorXd &term, const int cur_time_step)
 
void dJ_shape_static_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const Eigen::MatrixXd &sol, const Eigen::MatrixXd &adjoint, Eigen::VectorXd &one_form)
 
void dJ_shape_homogenization_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const Eigen::MatrixXd &sol, const Eigen::MatrixXd &adjoint, Eigen::VectorXd &one_form)
 
void dJ_periodic_shape_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const PeriodicMeshToMesh &periodic_mesh_map, const Eigen::VectorXd &periodic_mesh_representation, const Eigen::MatrixXd &sol, const Eigen::MatrixXd &adjoint, Eigen::VectorXd &one_form)
 
void dJ_shape_transient_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const Eigen::MatrixXd &adjoint_nu, const Eigen::MatrixXd &adjoint_p, Eigen::VectorXd &one_form)
 
void dJ_material_static_adjoint_term (const varform::DifferentiableVarForm &varform, const Eigen::MatrixXd &sol, const Eigen::MatrixXd &adjoint, Eigen::VectorXd &one_form)
 
void dJ_material_transient_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const Eigen::MatrixXd &adjoint_nu, const Eigen::MatrixXd &adjoint_p, Eigen::VectorXd &one_form)
 
void dJ_friction_transient_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const Eigen::MatrixXd &adjoint_nu, const Eigen::MatrixXd &adjoint_p, Eigen::VectorXd &one_form)
 
void dJ_damping_transient_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const Eigen::MatrixXd &adjoint_nu, const Eigen::MatrixXd &adjoint_p, Eigen::VectorXd &one_form)
 
void dJ_initial_condition_adjoint_term (const varform::DifferentiableVarForm &varform, const Eigen::MatrixXd &adjoint_nu, const Eigen::MatrixXd &adjoint_p, Eigen::VectorXd &one_form)
 
void dJ_dirichlet_static_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const Eigen::MatrixXd &adjoint, Eigen::VectorXd &one_form)
 
void dJ_dirichlet_transient_adjoint_term (const varform::DifferentiableVarForm &varform, const Eigen::MatrixXd &adjoint_nu, const Eigen::MatrixXd &adjoint_p, Eigen::VectorXd &one_form)
 
void dJ_pressure_static_adjoint_term (const varform::DifferentiableVarForm &varform, const std::vector< int > &boundary_ids, const Eigen::MatrixXd &sol, const Eigen::MatrixXd &adjoint, Eigen::VectorXd &one_form)
 
void dJ_pressure_transient_adjoint_term (const varform::DifferentiableVarForm &varform, const DiffCache &diff_cache, const std::vector< int > &boundary_ids, const Eigen::MatrixXd &adjoint_nu, const Eigen::MatrixXd &adjoint_p, Eigen::VectorXd &one_form)
 
Eigen::VectorXd map_primitive_to_node_order (const varform::DifferentiableVarForm &varform, const Eigen::VectorXd &primitives)
 
Eigen::VectorXd map_node_to_primitive_order (const varform::DifferentiableVarForm &varform, const Eigen::VectorXd &nodes)
 
Eigen::MatrixXd edge_normal_gradient (const Eigen::MatrixXd &V)
 
Eigen::MatrixXd face_normal_gradient (const Eigen::MatrixXd &V)
 
Eigen::MatrixXd edge_velocity_divergence (const Eigen::MatrixXd &V)
 
Eigen::MatrixXd face_velocity_divergence (const Eigen::MatrixXd &V)
 
void scaled_jacobian (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, Eigen::VectorXd &quality)
 

Function Documentation

◆ compute_shape_derivative_functional_term()

void polyfem::solver::AdjointTools::compute_shape_derivative_functional_term ( const varform::DifferentiableVarForm varform,
const Eigen::MatrixXd &  solution,
const IntegrableFunctional j,
const std::set< int > &  interested_ids,
const SpatialIntegralType  spatial_integral_type,
Eigen::VectorXd &  term,
const int  cur_time_step 
)

Definition at line 342 of file AdjointTools.cpp.

References polyfem::varform::DifferentiableVarForm::assembly_cache(), polyfem::varform::FESpace::basis_list(), polyfem::IntegrableFunctional::ParameterType::body_id, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::assembler::AssemblyValsCache::compute(), polyfem::assembler::ElementAssemblyValues::compute(), polyfem::IntegrableFunctional::depend_on_gradu(), polyfem::IntegrableFunctional::depend_on_x(), polyfem::mesh::Mesh::dimension(), polyfem::IntegrableFunctional::dj_dgradu(), polyfem::IntegrableFunctional::dj_dx(), polyfem::IntegrableFunctional::ParameterType::elem, polyfem::IntegrableFunctional::evaluate(), polyfem::varform::FESpace::geometry, polyfem::varform::FESpace::geometry_basis_list(), polyfem::varform::DifferentiableVarForm::get_args(), polyfem::mesh::Mesh::get_body_id(), polyfem::varform::DifferentiableVarForm::get_mesh(), polyfem::varform::DifferentiableVarForm::get_problem(), gvals, polyfem::assembler::Problem::is_scalar(), polyfem::assembler::Problem::is_time_dependent(), polyfem::mesh::Mesh::is_volume(), polyfem::assembler::Assembler::parameters(), polyfem::quadrature::Quadrature::points, polyfem::varform::DifferentiableVarForm::primary_assembler(), polyfem::varform::DifferentiableVarForm::primary_space(), quadrature, polyfem::IntegrableFunctional::ParameterType::step, polyfem::IntegrableFunctional::ParameterType::t, polyfem::varform::VarFormBoundaryState::total_local_boundary, vals, polyfem::utils::vector2matrix(), and polyfem::quadrature::Quadrature::weights.

Referenced by polyfem::solver::SpatialIntegralForm::compute_partial_gradient_step().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_damping_transient_adjoint_term()

void polyfem::solver::AdjointTools::dJ_damping_transient_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const Eigen::MatrixXd &  adjoint_nu,
const Eigen::MatrixXd &  adjoint_p,
Eigen::VectorXd &  one_form 
)

Definition at line 952 of file AdjointTools.cpp.

References polyfem::varform::VarFormBoundaryState::boundary_nodes, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::solver::SolveData::damping_form, polyfem::varform::DifferentiableVarForm::get_args(), polyfem::varform::DifferentiableVarForm::solve_data(), and polyfem::DiffCache::u().

Referenced by polyfem::solver::DampingVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_dirichlet_static_adjoint_term()

void polyfem::solver::AdjointTools::dJ_dirichlet_static_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const Eigen::MatrixXd &  adjoint,
Eigen::VectorXd &  one_form 
)

Definition at line 1009 of file AdjointTools.cpp.

References polyfem::varform::VarFormBoundaryState::boundary_nodes, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::mesh::Mesh::dimension(), polyfem::varform::DifferentiableVarForm::get_mesh(), polyfem::DiffCache::gradu_h(), polyfem::varform::FESpace::ndof(), polyfem::varform::DifferentiableVarForm::primary_space(), and polyfem::varform::DifferentiableVarForm::primitive_to_node().

Referenced by polyfem::solver::DirichletNodesVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_dirichlet_transient_adjoint_term()

void polyfem::solver::AdjointTools::dJ_dirichlet_transient_adjoint_term ( const varform::DifferentiableVarForm varform,
const Eigen::MatrixXd &  adjoint_nu,
const Eigen::MatrixXd &  adjoint_p,
Eigen::VectorXd &  one_form 
)

Definition at line 1031 of file AdjointTools.cpp.

References polyfem::varform::VarFormBoundaryState::boundary_nodes, polyfem::varform::DifferentiableVarForm::boundary_state(), and polyfem::varform::DifferentiableVarForm::get_args().

Referenced by polyfem::solver::DirichletBoundaryVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_du_step()

void polyfem::solver::AdjointTools::dJ_du_step ( const varform::DifferentiableVarForm varform,
const IntegrableFunctional j,
const Eigen::MatrixXd &  solution,
const std::set< int > &  interested_ids,
const SpatialIntegralType  spatial_integral_type,
const int  cur_step,
Eigen::VectorXd &  term 
)

Definition at line 1121 of file AdjointTools.cpp.

References polyfem::varform::DifferentiableVarForm::assembly_cache(), polyfem::varform::FESpace::basis_list(), polyfem::IntegrableFunctional::ParameterType::body_id, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::assembler::AssemblyValsCache::compute(), polyfem::IntegrableFunctional::depend_on_gradu(), polyfem::IntegrableFunctional::depend_on_gradu_local(), polyfem::IntegrableFunctional::depend_on_u(), polyfem::mesh::Mesh::dimension(), polyfem::IntegrableFunctional::dj_dgradu(), polyfem::IntegrableFunctional::dj_du(), polyfem::IntegrableFunctional::ParameterType::elem, polyfem::varform::FESpace::geometry_basis_list(), polyfem::varform::DifferentiableVarForm::get_args(), polyfem::mesh::Mesh::get_body_id(), polyfem::varform::DifferentiableVarForm::get_mesh(), polyfem::varform::DifferentiableVarForm::get_problem(), polyfem::assembler::AssemblyValues::global, polyfem::assembler::AssemblyValues::grad_t_m, polyfem::assembler::Problem::is_scalar(), polyfem::assembler::Problem::is_time_dependent(), polyfem::mesh::Mesh::is_volume(), polyfem::varform::FESpace::n_bases, polyfem::assembler::Assembler::parameters(), polyfem::quadrature::Quadrature::points, polyfem::varform::DifferentiableVarForm::primary_assembler(), polyfem::varform::DifferentiableVarForm::primary_space(), quadrature, polyfem::IntegrableFunctional::ParameterType::step, polyfem::IntegrableFunctional::ParameterType::t, polyfem::varform::VarFormBoundaryState::total_local_boundary, polyfem::assembler::AssemblyValues::val, val, vals, and polyfem::quadrature::Quadrature::weights.

Referenced by polyfem::solver::SpatialIntegralForm::compute_adjoint_rhs_step().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_friction_transient_adjoint_term()

void polyfem::solver::AdjointTools::dJ_friction_transient_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const Eigen::MatrixXd &  adjoint_nu,
const Eigen::MatrixXd &  adjoint_p,
Eigen::VectorXd &  one_form 
)

◆ dJ_initial_condition_adjoint_term()

void polyfem::solver::AdjointTools::dJ_initial_condition_adjoint_term ( const varform::DifferentiableVarForm varform,
const Eigen::MatrixXd &  adjoint_nu,
const Eigen::MatrixXd &  adjoint_p,
Eigen::VectorXd &  one_form 
)

Definition at line 989 of file AdjointTools.cpp.

References polyfem::varform::VarFormBoundaryState::boundary_nodes, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::varform::FESpace::ndof(), and polyfem::varform::DifferentiableVarForm::primary_space().

Referenced by polyfem::solver::InitialConditionVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_material_static_adjoint_term()

void polyfem::solver::AdjointTools::dJ_material_static_adjoint_term ( const varform::DifferentiableVarForm varform,
const Eigen::MatrixXd &  sol,
const Eigen::MatrixXd &  adjoint,
Eigen::VectorXd &  one_form 
)

Definition at line 841 of file AdjointTools.cpp.

References polyfem::varform::VarFormBoundaryState::boundary_nodes, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::solver::SolveData::elastic_form, and polyfem::varform::DifferentiableVarForm::solve_data().

Referenced by polyfem::solver::ElasticVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_material_transient_adjoint_term()

void polyfem::solver::AdjointTools::dJ_material_transient_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const Eigen::MatrixXd &  adjoint_nu,
const Eigen::MatrixXd &  adjoint_p,
Eigen::VectorXd &  one_form 
)

Definition at line 852 of file AdjointTools.cpp.

References polyfem::varform::FESpace::basis_list(), polyfem::varform::VarFormBoundaryState::boundary_nodes, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::solver::SolveData::elastic_form, polyfem::varform::DifferentiableVarForm::get_args(), polyfem::varform::DifferentiableVarForm::primary_space(), polyfem::varform::DifferentiableVarForm::solve_data(), and polyfem::DiffCache::u().

Referenced by polyfem::solver::ElasticVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_periodic_shape_adjoint_term()

void polyfem::solver::AdjointTools::dJ_periodic_shape_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const PeriodicMeshToMesh periodic_mesh_map,
const Eigen::VectorXd &  periodic_mesh_representation,
const Eigen::MatrixXd &  sol,
const Eigen::MatrixXd &  adjoint,
Eigen::VectorXd &  one_form 
)

◆ dJ_pressure_static_adjoint_term()

void polyfem::solver::AdjointTools::dJ_pressure_static_adjoint_term ( const varform::DifferentiableVarForm varform,
const std::vector< int > &  boundary_ids,
const Eigen::MatrixXd &  sol,
const Eigen::MatrixXd &  adjoint,
Eigen::VectorXd &  one_form 
)

Definition at line 1054 of file AdjointTools.cpp.

References polyfem::varform::FESpace::geometry, polyfem::solver::SolveData::pressure_form, polyfem::varform::DifferentiableVarForm::primary_space(), and polyfem::varform::DifferentiableVarForm::solve_data().

Referenced by polyfem::solver::PressureBoundaryVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_pressure_transient_adjoint_term()

void polyfem::solver::AdjointTools::dJ_pressure_transient_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const std::vector< int > &  boundary_ids,
const Eigen::MatrixXd &  adjoint_nu,
const Eigen::MatrixXd &  adjoint_p,
Eigen::VectorXd &  one_form 
)

Definition at line 1078 of file AdjointTools.cpp.

References polyfem::varform::VarFormBoundaryState::boundary_nodes, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::varform::FESpace::geometry, polyfem::varform::DifferentiableVarForm::get_args(), polyfem::solver::SolveData::pressure_form, polyfem::varform::DifferentiableVarForm::primary_space(), polyfem::varform::DifferentiableVarForm::solve_data(), and polyfem::DiffCache::u().

Referenced by polyfem::solver::PressureBoundaryVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dJ_shape_homogenization_adjoint_term()

void polyfem::solver::AdjointTools::dJ_shape_homogenization_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const Eigen::MatrixXd &  sol,
const Eigen::MatrixXd &  adjoint,
Eigen::VectorXd &  one_form 
)

◆ dJ_shape_static_adjoint_term()

void polyfem::solver::AdjointTools::dJ_shape_static_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const Eigen::MatrixXd &  sol,
const Eigen::MatrixXd &  adjoint,
Eigen::VectorXd &  one_form 
)

◆ dJ_shape_transient_adjoint_term()

void polyfem::solver::AdjointTools::dJ_shape_transient_adjoint_term ( const varform::DifferentiableVarForm varform,
const DiffCache diff_cache,
const Eigen::MatrixXd &  adjoint_nu,
const Eigen::MatrixXd &  adjoint_p,
Eigen::VectorXd &  one_form 
)

Definition at line 732 of file AdjointTools.cpp.

References polyfem::varform::FESpace::basis_list(), polyfem::DiffCache::basis_nodes_to_gbasis_nodes(), polyfem::solver::SolveData::body_form, polyfem::varform::VarFormBoundaryState::boundary_nodes, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::DiffCache::collision_set(), polyfem::solver::SolveData::contact_form, polyfem::solver::SolveData::damping_form, polyfem::mesh::Mesh::dimension(), polyfem::solver::SolveData::elastic_form, polyfem::DiffCache::friction_collision_set(), polyfem::solver::SolveData::friction_form, polyfem::varform::FESpace::geometry, polyfem::varform::FESpace::geometry_basis_list(), polyfem::varform::DifferentiableVarForm::get_args(), polyfem::varform::DifferentiableVarForm::get_mesh(), polyfem::solver::SolveData::inertia_form, polyfem::varform::DifferentiableVarForm::is_adhesion_enabled(), polyfem::varform::DifferentiableVarForm::is_contact_enabled(), polyfem::mesh::Mesh::is_volume(), polyfem::varform::DifferentiableVarForm::mass_assembler(), polyfem::varform::DifferentiableVarForm::mass_assembly_cache(), polyfem::DiffCache::normal_adhesion_collision_set(), polyfem::solver::SolveData::normal_adhesion_form, polyfem::solver::SolveData::pressure_form, polyfem::varform::DifferentiableVarForm::primary_space(), polyfem::varform::DifferentiableVarForm::primitive_to_node(), polyfem::DiffCache::smooth_collision_set(), polyfem::varform::DifferentiableVarForm::solve_data(), polyfem::DiffCache::tangential_adhesion_collision_set(), polyfem::solver::SolveData::tangential_adhesion_form, polyfem::DiffCache::u(), and polyfem::DiffCache::v().

Referenced by polyfem::solver::ShapeVariableToSimulation::compute_adjoint_term().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ edge_normal_gradient()

Eigen::MatrixXd polyfem::solver::AdjointTools::edge_normal_gradient ( const Eigen::MatrixXd &  V)

Definition at line 1385 of file AdjointTools.cpp.

References DiffScalarBase::setVariableCount(), and V.

Here is the call graph for this function:

◆ edge_velocity_divergence()

Eigen::MatrixXd polyfem::solver::AdjointTools::edge_velocity_divergence ( const Eigen::MatrixXd &  V)

Definition at line 1417 of file AdjointTools.cpp.

References V.

◆ face_normal_gradient()

Eigen::MatrixXd polyfem::solver::AdjointTools::face_normal_gradient ( const Eigen::MatrixXd &  V)

Definition at line 1401 of file AdjointTools.cpp.

References DiffScalarBase::setVariableCount(), and V.

Here is the call graph for this function:

◆ face_velocity_divergence()

Eigen::MatrixXd polyfem::solver::AdjointTools::face_velocity_divergence ( const Eigen::MatrixXd &  V)

Definition at line 1422 of file AdjointTools.cpp.

References V.

◆ integrate_objective()

double polyfem::solver::AdjointTools::integrate_objective ( const varform::DifferentiableVarForm varform,
const IntegrableFunctional j,
const Eigen::MatrixXd &  solution,
const std::set< int > &  interested_ids,
const SpatialIntegralType  spatial_integral_type,
const int  cur_step = 0 
)

Definition at line 207 of file AdjointTools.cpp.

References polyfem::varform::DifferentiableVarForm::assembly_cache(), polyfem::varform::FESpace::basis_list(), polyfem::IntegrableFunctional::ParameterType::body_id, polyfem::varform::DifferentiableVarForm::boundary_state(), polyfem::assembler::AssemblyValsCache::compute(), polyfem::utils::create_thread_storage(), polyfem::assembler::ElementAssemblyValues::det, polyfem::mesh::Mesh::dimension(), polyfem::IntegrableFunctional::ParameterType::elem, polyfem::IntegrableFunctional::evaluate(), polyfem::varform::FESpace::geometry_basis_list(), polyfem::varform::DifferentiableVarForm::get_args(), polyfem::mesh::Mesh::get_body_id(), polyfem::utils::get_local_thread_storage(), polyfem::varform::DifferentiableVarForm::get_mesh(), polyfem::varform::DifferentiableVarForm::get_problem(), polyfem::io::Evaluator::interpolate_at_local_vals(), polyfem::assembler::Problem::is_scalar(), polyfem::assembler::Problem::is_time_dependent(), polyfem::mesh::Mesh::is_volume(), polyfem::utils::maybe_parallel_for(), polyfem::assembler::Assembler::parameters(), polyfem::quadrature::Quadrature::points, polyfem::varform::DifferentiableVarForm::primary_assembler(), polyfem::varform::DifferentiableVarForm::primary_space(), polyfem::assembler::ElementAssemblyValues::quadrature, quadrature, polyfem::IntegrableFunctional::ParameterType::step, polyfem::solver::Surface, polyfem::IntegrableFunctional::ParameterType::t, polyfem::varform::VarFormBoundaryState::total_local_boundary, polyfem::assembler::ElementAssemblyValues::val, vals, polyfem::solver::Volume, and polyfem::quadrature::Quadrature::weights.

Referenced by polyfem::solver::SpatialIntegralForm::value_unweighted_step().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ map_node_to_primitive_order()

Eigen::VectorXd polyfem::solver::AdjointTools::map_node_to_primitive_order ( const varform::DifferentiableVarForm varform,
const Eigen::VectorXd &  nodes 
)

◆ map_primitive_to_node_order()

Eigen::VectorXd polyfem::solver::AdjointTools::map_primitive_to_node_order ( const varform::DifferentiableVarForm varform,
const Eigen::VectorXd &  primitives 
)

Definition at line 1363 of file AdjointTools.cpp.

References polyfem::mesh::Mesh::dimension(), polyfem::varform::FESpace::geometry, polyfem::varform::DifferentiableVarForm::get_mesh(), polyfem::varform::FESpace::n_bases, polyfem::varform::DifferentiableVarForm::primary_space(), and polyfem::varform::DifferentiableVarForm::primitive_to_node().

Referenced by polyfem::solver::AMIPSForm::compute_partial_gradient(), polyfem::solver::CollisionBarrierForm::get_updated_mesh_nodes(), polyfem::solver::DeformedCollisionBarrierForm::get_updated_mesh_nodes(), and polyfem::solver::AMIPSForm::value_unweighted().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scaled_jacobian()

void polyfem::solver::AdjointTools::scaled_jacobian ( const Eigen::MatrixXd &  V,
const Eigen::MatrixXi &  F,
Eigen::VectorXd &  quality 
)

Definition at line 1427 of file AdjointTools.cpp.

References F, J, and V.