PolyFEM
|
#include <DiffCache.hpp>
Public Member Functions | |
void | init (const int dimension, const int ndof, const int n_time_steps=0) |
void | cache_quantities_static (const Eigen::MatrixXd &u, const StiffnessMatrix &gradu_h, const ipc::Collisions &contact_set, const ipc::FrictionCollisions &friction_constraint_set, const Eigen::MatrixXd &disp_grad) |
void | cache_quantities_transient (const int cur_step, const int cur_bdf_order, const Eigen::MatrixXd &u, const Eigen::MatrixXd &v, const Eigen::MatrixXd &acc, const StiffnessMatrix &gradu_h, const ipc::Collisions &collision_set, const ipc::FrictionCollisions &friction_collision_set) |
void | cache_quantities_quasistatic (const int cur_step, const Eigen::MatrixXd &u, const StiffnessMatrix &gradu_h, const ipc::Collisions &contact_set, const Eigen::MatrixXd &disp_grad) |
void | cache_adjoints (const Eigen::MatrixXd &adjoint_mat) |
const Eigen::MatrixXd & | adjoint_mat () const |
int | size () const |
int | bdf_order (int step) const |
Eigen::MatrixXd | disp_grad (int step=0) const |
Eigen::VectorXd | u (int step) const |
Eigen::VectorXd | v (int step) const |
Eigen::VectorXd | acc (int step) const |
const StiffnessMatrix & | gradu_h (int step) const |
const ipc::Collisions & | collision_set (int step) const |
const ipc::FrictionCollisions & | friction_collision_set (int step) const |
Private Attributes | |
int | n_time_steps_ = 0 |
int | cur_size_ = 0 |
std::vector< Eigen::MatrixXd > | disp_grad_ |
Eigen::MatrixXd | u_ |
Eigen::MatrixXd | v_ |
Eigen::MatrixXd | acc_ |
Eigen::VectorXi | bdf_order_ |
std::vector< StiffnessMatrix > | gradu_h_ |
std::vector< ipc::Collisions > | collision_set_ |
std::vector< ipc::FrictionCollisions > | friction_collision_set_ |
Eigen::MatrixXd | adjoint_mat_ |
Definition at line 18 of file DiffCache.hpp.
|
inline |
Definition at line 126 of file DiffCache.hpp.
Referenced by cache_quantities_transient().
|
inline |
Definition at line 99 of file DiffCache.hpp.
References adjoint_mat_.
Referenced by cache_adjoints(), and polyfem::State::get_adjoint_mat().
|
inline |
Definition at line 102 of file DiffCache.hpp.
References bdf_order_, and size().
Referenced by polyfem::State::compute_force_jacobian_prev(), and polyfem::State::solve_transient_adjoint().
|
inline |
Definition at line 98 of file DiffCache.hpp.
References adjoint_mat(), and adjoint_mat_.
Referenced by polyfem::State::solve_adjoint_cached().
|
inline |
Definition at line 83 of file DiffCache.hpp.
References collision_set_, cur_size_, disp_grad(), disp_grad_, gradu_h(), gradu_h_, u(), and u_.
Referenced by polyfem::State::cache_transient_adjoint_quantities().
|
inline |
Definition at line 40 of file DiffCache.hpp.
References collision_set_, cur_size_, disp_grad(), disp_grad_, friction_collision_set_, gradu_h(), gradu_h_, u(), and u_.
Referenced by polyfem::State::cache_transient_adjoint_quantities().
|
inline |
Definition at line 57 of file DiffCache.hpp.
References acc(), acc_, bdf_order_, collision_set(), collision_set_, cur_size_, friction_collision_set(), friction_collision_set_, gradu_h(), gradu_h_, u(), u_, v(), and v_.
Referenced by polyfem::State::cache_transient_adjoint_quantities().
|
inline |
Definition at line 143 of file DiffCache.hpp.
References collision_set_, and size().
Referenced by cache_quantities_transient(), polyfem::solver::AdjointTools::dJ_shape_homogenization_adjoint_term(), polyfem::solver::AdjointTools::dJ_shape_static_adjoint_term(), and polyfem::solver::AdjointTools::dJ_shape_transient_adjoint_term().
|
inline |
Definition at line 110 of file DiffCache.hpp.
References disp_grad_, and size().
Referenced by cache_quantities_quasistatic(), cache_quantities_static(), polyfem::solver::SpatialIntegralForm::compute_partial_gradient_step(), and polyfem::solver::AdjointTools::dJ_periodic_shape_adjoint_term().
|
inline |
Definition at line 150 of file DiffCache.hpp.
References friction_collision_set_, and size().
Referenced by cache_quantities_transient(), polyfem::State::compute_force_jacobian_prev(), polyfem::solver::AdjointTools::dJ_friction_transient_adjoint_term(), and polyfem::solver::AdjointTools::dJ_shape_transient_adjoint_term().
|
inline |
Definition at line 134 of file DiffCache.hpp.
References gradu_h_, and size().
Referenced by cache_quantities_quasistatic(), cache_quantities_static(), cache_quantities_transient(), polyfem::State::solve_static_adjoint(), and polyfem::State::solve_transient_adjoint().
|
inline |
Definition at line 21 of file DiffCache.hpp.
References acc_, bdf_order_, collision_set_, cur_size_, disp_grad_, friction_collision_set_, gradu_h_, n_time_steps_, u_, and v_.
Referenced by polyfem::State::cache_transient_adjoint_quantities().
|
inline |
Definition at line 101 of file DiffCache.hpp.
References cur_size_.
Referenced by acc(), bdf_order(), collision_set(), polyfem::solver::AdjointForm::compute_adjoint_rhs(), polyfem::solver::StaticForm::compute_adjoint_rhs(), polyfem::solver::MinTargetDistForm::compute_adjoint_rhs(), polyfem::solver::SpatialIntegralForm::compute_adjoint_rhs_step(), polyfem::solver::SpatialIntegralForm::compute_partial_gradient_step(), disp_grad(), friction_collision_set(), gradu_h(), u(), v(), and polyfem::solver::SpatialIntegralForm::value_unweighted_step().
|
inline |
Definition at line 112 of file DiffCache.hpp.
Referenced by cache_quantities_quasistatic(), cache_quantities_static(), cache_quantities_transient(), polyfem::solver::SpatialIntegralForm::compute_adjoint_rhs_step(), polyfem::solver::ProxyContactForceForm::compute_adjoint_rhs_step(), polyfem::solver::NodeTargetForm::compute_adjoint_rhs_step(), polyfem::State::compute_force_jacobian_prev(), polyfem::solver::SpatialIntegralForm::compute_partial_gradient_step(), polyfem::solver::ComplianceForm::compute_partial_gradient_step(), polyfem::solver::ProxyContactForceForm::compute_partial_gradient_step(), polyfem::solver::AdjointTools::dJ_damping_transient_adjoint_term(), polyfem::solver::AdjointTools::dJ_friction_transient_adjoint_term(), polyfem::solver::AdjointTools::dJ_material_transient_adjoint_term(), polyfem::solver::AdjointTools::dJ_pressure_transient_adjoint_term(), polyfem::solver::AdjointTools::dJ_shape_transient_adjoint_term(), polyfem::solver::DeformedCollisionBarrierForm::get_updated_mesh_nodes(), polyfem::solver::SpatialIntegralForm::value_unweighted_step(), polyfem::solver::ProxyContactForceForm::value_unweighted_step(), and polyfem::solver::NodeTargetForm::value_unweighted_step().
|
inline |
Definition at line 119 of file DiffCache.hpp.
Referenced by cache_quantities_transient(), polyfem::solver::AdjointTools::dJ_shape_transient_adjoint_term(), and polyfem::solver::KineticForm::get_integral_functional().
|
private |
Definition at line 165 of file DiffCache.hpp.
Referenced by acc(), cache_quantities_transient(), and init().
|
private |
Definition at line 175 of file DiffCache.hpp.
Referenced by adjoint_mat(), and cache_adjoints().
|
private |
Definition at line 167 of file DiffCache.hpp.
Referenced by bdf_order(), cache_quantities_transient(), and init().
|
private |
Definition at line 172 of file DiffCache.hpp.
Referenced by cache_quantities_quasistatic(), cache_quantities_static(), cache_quantities_transient(), collision_set(), and init().
|
private |
Definition at line 160 of file DiffCache.hpp.
Referenced by cache_quantities_quasistatic(), cache_quantities_static(), cache_quantities_transient(), init(), and size().
|
private |
Definition at line 162 of file DiffCache.hpp.
Referenced by cache_quantities_quasistatic(), cache_quantities_static(), disp_grad(), and init().
|
private |
Definition at line 173 of file DiffCache.hpp.
Referenced by cache_quantities_static(), cache_quantities_transient(), friction_collision_set(), and init().
|
private |
Definition at line 169 of file DiffCache.hpp.
Referenced by cache_quantities_quasistatic(), cache_quantities_static(), cache_quantities_transient(), gradu_h(), and init().
|
private |
Definition at line 159 of file DiffCache.hpp.
Referenced by init().
|
private |
Definition at line 163 of file DiffCache.hpp.
Referenced by cache_quantities_quasistatic(), cache_quantities_static(), cache_quantities_transient(), init(), and u().
|
private |
Definition at line 164 of file DiffCache.hpp.
Referenced by cache_quantities_transient(), init(), and v().