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

#include <VariableToSimulation.hpp>

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

Public Member Functions

virtual ~PeriodicShapeVariableToSimulation ()
 
std::string name () const override
 
ParameterType get_parameter_type () const override
 
Eigen::VectorXd compute_adjoint_term (const Eigen::VectorXd &x) const override
 
Eigen::VectorXd inverse_eval () override
 
void update (const Eigen::VectorXd &x) override
 
Eigen::VectorXd apply_parametrization_jacobian (const Eigen::VectorXd &term, const Eigen::VectorXd &x) const override
 
 VariableToSimulation (const std::vector< std::shared_ptr< State > > &states, const CompositeParametrization &parametrization)
 
 VariableToSimulation (const std::shared_ptr< State > &state, const CompositeParametrization &parametrization)
 
- Public Member Functions inherited from polyfem::solver::VariableToSimulation
 VariableToSimulation (const std::vector< std::shared_ptr< State > > &states, const CompositeParametrization &parametrization)
 
 VariableToSimulation (const std::shared_ptr< State > &state, const CompositeParametrization &parametrization)
 
virtual ~VariableToSimulation ()
 
int n_states () const
 
const std::vector< std::shared_ptr< State > > & get_states () const
 
CompositeParametrizationget_parametrization ()
 
virtual void set_output_indexing (const json &args)
 
Eigen::VectorXi get_output_indexing (const Eigen::VectorXd &x) const
 

Protected Attributes

std::unique_ptr< PeriodicMeshToMeshperiodic_mesh_map
 
Eigen::VectorXd periodic_mesh_representation
 
- Protected Attributes inherited from polyfem::solver::VariableToSimulation
const std::vector< std::shared_ptr< State > > states_
 
CompositeParametrization parametrization_
 
Eigen::VectorXi output_indexing_
 

Additional Inherited Members

- Static Public Member Functions inherited from polyfem::solver::VariableToSimulation
static std::unique_ptr< VariableToSimulationcreate (const std::string &type, const std::vector< std::shared_ptr< State > > &states, CompositeParametrization &&parametrization)
 
- Protected Member Functions inherited from polyfem::solver::VariableToSimulation
virtual void update_state (const Eigen::VectorXd &state_variable, const Eigen::VectorXi &indices)
 

Detailed Description

Definition at line 259 of file VariableToSimulation.hpp.

Constructor & Destructor Documentation

◆ ~PeriodicShapeVariableToSimulation()

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

Definition at line 263 of file VariableToSimulation.hpp.

Member Function Documentation

◆ apply_parametrization_jacobian()

Eigen::VectorXd polyfem::solver::PeriodicShapeVariableToSimulation::apply_parametrization_jacobian ( const Eigen::VectorXd &  term,
const Eigen::VectorXd &  x 
) const
overridevirtual

Reimplemented from polyfem::solver::VariableToSimulation.

Definition at line 639 of file VariableToSimulation.cpp.

References polyfem::solver::CompositeParametrization::apply_jacobian(), polyfem::solver::VariableToSimulation::parametrization_, periodic_mesh_map, periodic_mesh_representation, and x.

Here is the call graph for this function:

◆ compute_adjoint_term()

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

Implements polyfem::solver::VariableToSimulation.

Definition at line 590 of file VariableToSimulation.cpp.

References polyfem::solver::VariableToSimulation::apply_parametrization_jacobian(), polyfem::solver::AdjointTools::dJ_periodic_shape_adjoint_term(), polyfem::log_and_throw_error(), periodic_mesh_map, periodic_mesh_representation, polyfem::solver::VariableToSimulation::states_, and x.

Here is the call graph for this function:

◆ get_parameter_type()

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

◆ inverse_eval()

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

Reimplemented from polyfem::solver::VariableToSimulation.

Definition at line 624 of file VariableToSimulation.cpp.

References polyfem::utils::flatten(), polyfem::solver::CompositeParametrization::inverse_eval(), polyfem::log_and_throw_error(), polyfem::solver::VariableToSimulation::parametrization_, periodic_mesh_map, periodic_mesh_representation, polyfem::solver::VariableToSimulation::states_, and V.

Here is the call graph for this function:

◆ name()

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

Implements polyfem::solver::VariableToSimulation.

Definition at line 265 of file VariableToSimulation.hpp.

◆ update()

void polyfem::solver::PeriodicShapeVariableToSimulation::update ( const Eigen::VectorXd &  x)
overridevirtual

Reimplemented from polyfem::solver::VariableToSimulation.

Definition at line 610 of file VariableToSimulation.cpp.

References polyfem::solver::CompositeParametrization::eval(), polyfem::solver::VariableToSimulation::parametrization_, periodic_mesh_map, periodic_mesh_representation, polyfem::solver::VariableToSimulation::states_, polyfem::utils::unflatten(), V, and x.

Here is the call graph for this function:

◆ VariableToSimulation() [1/2]

polyfem::solver::VariableToSimulation::VariableToSimulation ( const std::shared_ptr< State > &  state,
const CompositeParametrization parametrization 
)
inline

Definition at line 16 of file VariableToSimulation.hpp.

◆ VariableToSimulation() [2/2]

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

Definition at line 15 of file VariableToSimulation.hpp.

Member Data Documentation

◆ periodic_mesh_map

std::unique_ptr<PeriodicMeshToMesh> polyfem::solver::PeriodicShapeVariableToSimulation::periodic_mesh_map
protected

◆ periodic_mesh_representation

Eigen::VectorXd polyfem::solver::PeriodicShapeVariableToSimulation::periodic_mesh_representation
protected

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