PolyFEM
Loading...
Searching...
No Matches
StateDiff.cpp File Reference
#include <polyfem/optimization/StateDiff.hpp>
#include <polyfem/State.hpp>
#include <polyfem/utils/Logger.hpp>
#include <polyfem/utils/MatrixUtils.hpp>
#include <polyfem/utils/Types.hpp>
#include <polyfem/time_integrator/BDF.hpp>
#include <polyfem/time_integrator/ImplicitEuler.hpp>
#include <polysolve/linear/FEMSolver.hpp>
#include <polyfem/solver/NLProblem.hpp>
#include <polyfem/solver/NLHomoProblem.hpp>
#include <polyfem/solver/forms/BarrierContactForm.hpp>
#include <polyfem/solver/forms/SmoothContactForm.hpp>
#include <polyfem/solver/forms/BodyForm.hpp>
#include <polyfem/solver/forms/FrictionForm.hpp>
#include <polyfem/solver/forms/NormalAdhesionForm.hpp>
#include <polyfem/solver/forms/TangentialAdhesionForm.hpp>
#include <polyfem/assembler/ViscousDamping.hpp>
#include <polyfem/optimization/DiffCache.hpp>
#include <ipc/ipc.hpp>
#include <ipc/potentials/friction_potential.hpp>
#include <Eigen/Dense>
#include <algorithm>
#include <vector>
#include <cassert>
Include dependency graph for StateDiff.cpp:

Go to the source code of this file.

Namespaces

namespace  polyfem
 

Functions

void polyfem::solve_adjoint_cached (const State &state, DiffCache &diff_cache, const Eigen::MatrixXd &rhs)
 
Eigen::MatrixXd polyfem::get_adjoint_mat (const State &state, const DiffCache &diff_cache, int type)
 Get adjoint parameter nu or p.
 
void polyfem::compute_surface_node_ids (const State &state, const int surface_selection, std::vector< int > &node_ids)
 
void polyfem::compute_total_surface_node_ids (const State &state, std::vector< int > &node_ids)
 
void polyfem::compute_volume_node_ids (const State &state, const int volume_selection, std::vector< int > &node_ids)