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

#include <StaticBoundaryNLProblem.hpp>

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

Public Member Functions

 StaticBoundaryNLProblem (const int full_size, const Eigen::VectorXd &boundary_values, const std::vector< std::shared_ptr< polyfem::solver::Form > > &forms, const std::vector< std::shared_ptr< AugmentedLagrangianForm > > &penalty_forms)
 
- Public Member Functions inherited from polyfem::solver::NLProblem
 NLProblem (const int full_size, const std::shared_ptr< utils::PeriodicBoundary > &periodic_bc, const double t, const std::vector< std::shared_ptr< Form > > &forms, const std::vector< std::shared_ptr< AugmentedLagrangianForm > > &penalty_forms)
 
virtual ~NLProblem ()=default
 
virtual double value (const TVector &x) override
 
virtual void gradient (const TVector &x, TVector &gradv) override
 
virtual void hessian (const TVector &x, THessian &hessian) override
 
virtual bool is_step_valid (const TVector &x0, const TVector &x1) override
 
virtual bool is_step_collision_free (const TVector &x0, const TVector &x1) override
 
virtual double max_step_size (const TVector &x0, const TVector &x1) override
 
void line_search_begin (const TVector &x0, const TVector &x1) override
 
virtual void post_step (const polysolve::nonlinear::PostStepData &data) override
 
void solution_changed (const TVector &new_x) override
 
void init_lagging (const TVector &x) override
 
void update_lagging (const TVector &x, const int iter_num) override
 
virtual void update_quantities (const double t, const TVector &x)
 
int full_size () const
 
int reduced_size () const
 
void use_full_size ()
 
void use_reduced_size ()
 
virtual TVector full_to_reduced (const TVector &full) const
 
virtual TVector full_to_reduced_grad (const TVector &full) const
 
virtual void full_hessian_to_reduced_hessian (const THessian &full, THessian &reduced) const
 
virtual TVector reduced_to_full (const TVector &reduced) const
 
- Public Member Functions inherited from polyfem::solver::FullNLProblem
 FullNLProblem (const std::vector< std::shared_ptr< Form > > &forms)
 
virtual ~FullNLProblem ()=default
 
virtual void init (const TVector &x0) override
 
virtual void line_search_end () override
 
virtual void set_project_to_psd (bool val) override
 
int max_lagging_iterations () const
 
bool uses_lagging () const
 
std::vector< std::shared_ptr< Form > > & forms ()
 
virtual bool stop (const TVector &x) override
 
void finish ()
 

Protected Member Functions

Eigen::MatrixXd constraint_values (const TVector &) const override
 
- Protected Member Functions inherited from polyfem::solver::NLProblem
 NLProblem (const int full_size, const std::vector< std::shared_ptr< Form > > &forms, const std::vector< std::shared_ptr< AugmentedLagrangianForm > > &penalty_forms)
 
int current_size () const
 

Private Attributes

const Eigen::MatrixXd boundary_values_
 

Additional Inherited Members

- Protected Types inherited from polyfem::solver::NLProblem
enum class  CurrentSize { FULL_SIZE , REDUCED_SIZE }
 
- Protected Attributes inherited from polyfem::solver::NLProblem
std::vector< int > constraint_nodes_
 
const int full_size_
 Size of the full problem.
 
int reduced_size_
 Size of the reduced problem.
 
std::shared_ptr< utils::PeriodicBoundaryperiodic_bc_
 
CurrentSize current_size_
 Current size of the problem (either full or reduced size)
 
double t_
 
- Protected Attributes inherited from polyfem::solver::FullNLProblem
std::vector< std::shared_ptr< Form > > forms_
 

Detailed Description

Definition at line 7 of file StaticBoundaryNLProblem.hpp.

Constructor & Destructor Documentation

◆ StaticBoundaryNLProblem()

polyfem::solver::StaticBoundaryNLProblem::StaticBoundaryNLProblem ( const int  full_size,
const Eigen::VectorXd &  boundary_values,
const std::vector< std::shared_ptr< polyfem::solver::Form > > &  forms,
const std::vector< std::shared_ptr< AugmentedLagrangianForm > > &  penalty_forms 
)
inline

Definition at line 10 of file StaticBoundaryNLProblem.hpp.

Member Function Documentation

◆ constraint_values()

Eigen::MatrixXd polyfem::solver::StaticBoundaryNLProblem::constraint_values ( const TVector &  ) const
inlineoverrideprotectedvirtual

Reimplemented from polyfem::solver::NLProblem.

Definition at line 21 of file StaticBoundaryNLProblem.hpp.

References boundary_values_.

Member Data Documentation

◆ boundary_values_

const Eigen::MatrixXd polyfem::solver::StaticBoundaryNLProblem::boundary_values_
private

Definition at line 24 of file StaticBoundaryNLProblem.hpp.

Referenced by constraint_values().


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