PolyFEM
Loading...
Searching...
No Matches
polyfem::solver::AdjointOptUtils Struct Reference

#include <Optimizations.hpp>

Static Public Member Functions

static json apply_opt_json_spec (const json &input_args, bool strict_validation)
 
static std::shared_ptr< polysolve::nonlinear::Solver > make_nl_solver (const json &solver_params, const json &linear_solver_params, const double characteristic_length, const bool strict_validation=true)
 
static Eigen::VectorXd inverse_evaluation (const json &args, const int ndof, const std::vector< int > &variable_sizes, VariableToSimulationGroup &var2sim)
 
static void solve_pde (varform::DifferentiableVarForm &varform)
 
static int compute_variable_size (const json &args, const std::vector< std::shared_ptr< varform::DifferentiableVarForm > > &varforms)
 

Detailed Description

Definition at line 24 of file Optimizations.hpp.

Member Function Documentation

◆ apply_opt_json_spec()

json polyfem::solver::AdjointOptUtils::apply_opt_json_spec ( const json input_args,
bool  strict_validation 
)
static

Definition at line 177 of file Optimizations.cpp.

References polyfem::solver::apply_objective_json_spec(), and polyfem::logger().

Referenced by polyfem::OptState::init(), and polyfem::OptState::run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_variable_size()

int polyfem::solver::AdjointOptUtils::compute_variable_size ( const json args,
const std::vector< std::shared_ptr< varform::DifferentiableVarForm > > &  varforms 
)
static

Definition at line 212 of file Optimizations.cpp.

References polyfem::compute_surface_node_ids(), polyfem::compute_total_surface_node_ids(), polyfem::compute_volume_node_ids(), and polyfem::log_and_throw_adjoint_error().

Referenced by polyfem::OptState::init_variables().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ inverse_evaluation()

Eigen::VectorXd polyfem::solver::AdjointOptUtils::inverse_evaluation ( const json args,
const int  ndof,
const std::vector< int > &  variable_sizes,
VariableToSimulationGroup var2sim 
)
static

Definition at line 88 of file Optimizations.cpp.

References polyfem::solver::VariableToSimulationGroup::data, polyfem::log_and_throw_adjoint_error(), polyfem::logger(), and x.

Referenced by polyfem::OptState::initial_guess().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ make_nl_solver()

std::shared_ptr< polysolve::nonlinear::Solver > polyfem::solver::AdjointOptUtils::make_nl_solver ( const json solver_params,
const json linear_solver_params,
const double  characteristic_length,
const bool  strict_validation = true 
)
static

Definition at line 69 of file Optimizations.cpp.

References polyfem::adjoint_logger(), and polyfem::log_and_throw_adjoint_error().

Referenced by polyfem::OptState::solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ solve_pde()

void polyfem::solver::AdjointOptUtils::solve_pde ( varform::DifferentiableVarForm varform)
static

Definition at line 143 of file Optimizations.cpp.

References polyfem::varform::DifferentiableVarForm::solve().

Here is the call graph for this function:

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