PolyFEM
|
#include <VariableToSimulation.hpp>
Public Member Functions | |
virtual | ~DirichletNodesVariableToSimulation () |
std::string | name () const override |
void | set_dirichlet_nodes (const Eigen::VectorXi &dirichlet_nodes) |
ParameterType | get_parameter_type () const override |
Eigen::VectorXd | compute_adjoint_term (const Eigen::VectorXd &x) const override |
Eigen::VectorXd | inverse_eval () override |
void | set_output_indexing (const json &args) override |
VariableToSimulation (const std::vector< std::shared_ptr< State > > &states, const CompositeParametrization ¶metrization) | |
VariableToSimulation (const std::shared_ptr< State > &state, const CompositeParametrization ¶metrization) | |
![]() | |
VariableToSimulation (const std::vector< std::shared_ptr< State > > &states, const CompositeParametrization ¶metrization) | |
VariableToSimulation (const std::shared_ptr< State > &state, const CompositeParametrization ¶metrization) | |
virtual | ~VariableToSimulation () |
virtual void | update (const Eigen::VectorXd &x) |
int | n_states () const |
const std::vector< std::shared_ptr< State > > & | get_states () const |
CompositeParametrization & | get_parametrization () |
Eigen::VectorXi | get_output_indexing (const Eigen::VectorXd &x) const |
virtual Eigen::VectorXd | apply_parametrization_jacobian (const Eigen::VectorXd &term, const Eigen::VectorXd &x) const |
Protected Member Functions | |
void | update_state (const Eigen::VectorXd &state_variable, const Eigen::VectorXi &indices) override |
Private Member Functions | |
std::string | variable_to_string (const Eigen::VectorXd &variable) |
Private Attributes | |
Eigen::VectorXi | dirichlet_nodes_ |
Additional Inherited Members | |
![]() | |
static std::unique_ptr< VariableToSimulation > | create (const std::string &type, const std::vector< std::shared_ptr< State > > &states, CompositeParametrization &¶metrization) |
![]() | |
const std::vector< std::shared_ptr< State > > | states_ |
CompositeParametrization | parametrization_ |
Eigen::VectorXi | output_indexing_ |
Definition at line 226 of file VariableToSimulation.hpp.
|
inlinevirtual |
Definition at line 230 of file VariableToSimulation.hpp.
|
overridevirtual |
Implements polyfem::solver::VariableToSimulation.
Definition at line 516 of file VariableToSimulation.cpp.
References polyfem::solver::VariableToSimulation::apply_parametrization_jacobian(), polyfem::solver::AdjointTools::dJ_dirichlet_static_adjoint_term(), polyfem::log_and_throw_adjoint_error(), name(), polyfem::solver::VariableToSimulation::states_, and x.
|
inlineoverridevirtual |
Implements polyfem::solver::VariableToSimulation.
Definition at line 239 of file VariableToSimulation.hpp.
References polyfem::solver::DirichletBC.
|
overridevirtual |
Reimplemented from polyfem::solver::VariableToSimulation.
Definition at line 537 of file VariableToSimulation.cpp.
References polyfem::log_and_throw_adjoint_error().
|
inlineoverridevirtual |
Implements polyfem::solver::VariableToSimulation.
Definition at line 232 of file VariableToSimulation.hpp.
Referenced by compute_adjoint_term().
|
inline |
Definition at line 234 of file VariableToSimulation.hpp.
References dirichlet_nodes_.
Referenced by set_output_indexing().
|
overridevirtual |
Reimplemented from polyfem::solver::VariableToSimulation.
Definition at line 541 of file VariableToSimulation.cpp.
References dirichlet_nodes_, polyfem::log_and_throw_adjoint_error(), set_dirichlet_nodes(), and polyfem::solver::VariableToSimulation::set_output_indexing().
|
overrideprotectedvirtual |
Reimplemented from polyfem::solver::VariableToSimulation.
Definition at line 503 of file VariableToSimulation.cpp.
References dirichlet_nodes_, polyfem::logger(), polyfem::solver::VariableToSimulation::states_, and polyfem::utils::unflatten().
|
private |
Definition at line 533 of file VariableToSimulation.cpp.
|
inline |
Definition at line 16 of file VariableToSimulation.hpp.
|
inline |
Definition at line 15 of file VariableToSimulation.hpp.
|
private |
Definition at line 252 of file VariableToSimulation.hpp.
Referenced by set_dirichlet_nodes(), set_output_indexing(), and update_state().