PolyFEM
Loading...
Searching...
No Matches
polyfem::solver::DirichletVariableToSimulation Class Reference

#include <VariableToSimulation.hpp>

Inheritance diagram for polyfem::solver::DirichletVariableToSimulation:
[legend]
Collaboration diagram for polyfem::solver::DirichletVariableToSimulation:
[legend]

Public Member Functions

virtual ~DirichletVariableToSimulation ()
 
std::string name () const override
 
void set_dirichlet_boundaries (const std::vector< int > &dirichlet_boundaries)
 
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 (std::vector< std::shared_ptr< State > > states, std::vector< std::shared_ptr< DiffCache > > diff_caches, CompositeParametrization parametrization)
 
- Public Member Functions inherited from polyfem::solver::VariableToSimulation
 VariableToSimulation (std::vector< std::shared_ptr< State > > states, std::vector< std::shared_ptr< DiffCache > > diff_caches, CompositeParametrization parametrization)
 
virtual ~VariableToSimulation ()=default
 
virtual void update (const Eigen::VectorXd &x)
 
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

std::vector< int > dirichlet_boundaries_
 

Additional Inherited Members

- Public Attributes inherited from polyfem::solver::VariableToSimulation
const std::vector< std::shared_ptr< State > > states
 
const std::vector< std::shared_ptr< DiffCache > > diff_caches
 
CompositeParametrization parametrization
 
- Protected Attributes inherited from polyfem::solver::VariableToSimulation
Eigen::VectorXi output_indexing_
 

Detailed Description

Definition at line 194 of file VariableToSimulation.hpp.

Constructor & Destructor Documentation

◆ ~DirichletVariableToSimulation()

virtual polyfem::solver::DirichletVariableToSimulation::~DirichletVariableToSimulation ( )
inlinevirtual

Definition at line 198 of file VariableToSimulation.hpp.

Member Function Documentation

◆ compute_adjoint_term()

Eigen::VectorXd polyfem::solver::DirichletVariableToSimulation::compute_adjoint_term ( const Eigen::VectorXd &  x) const
overridevirtual

◆ get_parameter_type()

ParameterType polyfem::solver::DirichletVariableToSimulation::get_parameter_type ( ) const
inlineoverridevirtual

◆ inverse_eval()

Eigen::VectorXd polyfem::solver::DirichletVariableToSimulation::inverse_eval ( )
overridevirtual

Reimplemented from polyfem::solver::VariableToSimulation.

Definition at line 499 of file VariableToSimulation.cpp.

References dirichlet_boundaries_, polyfem::solver::CompositeParametrization::inverse_eval(), polyfem::log_and_throw_adjoint_error(), polyfem::solver::VariableToSimulation::parametrization, polyfem::solver::VariableToSimulation::states, and x.

Here is the call graph for this function:

◆ name()

std::string polyfem::solver::DirichletVariableToSimulation::name ( ) const
inlineoverridevirtual

Implements polyfem::solver::VariableToSimulation.

Definition at line 200 of file VariableToSimulation.hpp.

Referenced by compute_adjoint_term().

Here is the caller graph for this function:

◆ set_dirichlet_boundaries()

void polyfem::solver::DirichletVariableToSimulation::set_dirichlet_boundaries ( const std::vector< int > &  dirichlet_boundaries)
inline

Definition at line 202 of file VariableToSimulation.hpp.

References dirichlet_boundaries_.

Referenced by set_output_indexing().

Here is the caller graph for this function:

◆ set_output_indexing()

void polyfem::solver::DirichletVariableToSimulation::set_output_indexing ( const json args)
overridevirtual

Reimplemented from polyfem::solver::VariableToSimulation.

Definition at line 533 of file VariableToSimulation.cpp.

References polyfem::State::args, polyfem::State::mesh, polyfem::solver::VariableToSimulation::output_indexing_, set_dirichlet_boundaries(), polyfem::solver::VariableToSimulation::set_output_indexing(), and polyfem::solver::VariableToSimulation::states.

Here is the call graph for this function:

◆ update_state()

void polyfem::solver::DirichletVariableToSimulation::update_state ( const Eigen::VectorXd &  state_variable,
const Eigen::VectorXi &  indices 
)
overrideprotectedvirtual

Reimplemented from polyfem::solver::VariableToSimulation.

Definition at line 457 of file VariableToSimulation.cpp.

References dirichlet_boundaries_, polyfem::logger(), and polyfem::solver::VariableToSimulation::states.

Here is the call graph for this function:

◆ variable_to_string()

std::string polyfem::solver::DirichletVariableToSimulation::variable_to_string ( const Eigen::VectorXd &  variable)
private

Definition at line 495 of file VariableToSimulation.cpp.

◆ VariableToSimulation()

polyfem::solver::VariableToSimulation::VariableToSimulation ( std::vector< std::shared_ptr< State > >  states,
std::vector< std::shared_ptr< DiffCache > >  diff_caches,
CompositeParametrization  parametrization 
)
inline

Definition at line 24 of file VariableToSimulation.hpp.

Member Data Documentation

◆ dirichlet_boundaries_

std::vector<int> polyfem::solver::DirichletVariableToSimulation::dirichlet_boundaries_
private

Definition at line 220 of file VariableToSimulation.hpp.

Referenced by inverse_eval(), set_dirichlet_boundaries(), and update_state().


The documentation for this class was generated from the following files: