[P]arallel [Hi]gh-order [Li]brary for [P]DEs
Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
|
Interface between the ROL::Objective_SimOpt PHiLiP::Functional. More...
#include <rol_objective.hpp>
Public Member Functions | |
ROLObjectiveSimOpt (Functional< dim, nstate, double > &_functional, std::shared_ptr< BaseParameterization< dim >> _design_parameterization, std::shared_ptr< dealii::TrilinosWrappers::SparseMatrix > precomputed_dXvdXp=nullptr) | |
Constructor. | |
void | update (const ROL::Vector< double > &des_var_sim, const ROL::Vector< double > &des_var_ctl, bool flag=true, int iter=-1) override |
Update the simulation and control variables. | |
double | value (const ROL::Vector< double > &des_var_sim, const ROL::Vector< double > &des_var_ctl, double &) override |
Returns the value of the Functional object. | |
void | gradient_1 (ROL::Vector< double > &g, const ROL::Vector< double > &des_var_sim, const ROL::Vector< double > &des_var_ctl, double &) override |
Returns the gradient w. r. t. the simulation variables of the Functional object. | |
void | gradient_2 (ROL::Vector< double > &g, const ROL::Vector< double > &des_var_sim, const ROL::Vector< double > &des_var_ctl, double &) override |
Returns the gradient w. r. t. the control variables of the Functional object. | |
void | hessVec_11 (ROL::Vector< double > &output_vector, const ROL::Vector< double > &input_vector, const ROL::Vector< double > &des_var_sim, const ROL::Vector< double > &des_var_ctl, double &) override |
Applies the functional Hessian w. r. t. the simulation variables onto a vector. More... | |
void | hessVec_12 (ROL::Vector< double > &output_vector, const ROL::Vector< double > &input_vector, const ROL::Vector< double > &des_var_sim, const ROL::Vector< double > &des_var_ctl, double &) override |
Applies the functional Hessian w. r. t. the simulation and control variables onto a vector. More... | |
void | hessVec_21 (ROL::Vector< double > &output_vector, const ROL::Vector< double > &input_vector, const ROL::Vector< double > &des_var_sim, const ROL::Vector< double > &des_var_ctl, double &) override |
Applies the functional Hessian w. r. t. the control and simulation variables onto a vector. More... | |
void | hessVec_22 (ROL::Vector< double > &output_vector, const ROL::Vector< double > &input_vector, const ROL::Vector< double > &des_var_sim, const ROL::Vector< double > &des_var_ctl, double &) override |
Applies the functional Hessian w. r. t. the control variables onto a vector. More... | |
Public Attributes | |
dealii::TrilinosWrappers::SparseMatrix | dXvdXp |
Stored mesh sensitivity evaluated at initialization. | |
Private Attributes | |
Functional< dim, nstate, double > & | functional |
Functional to be evaluated. | |
std::shared_ptr< BaseParameterization< dim > > | design_parameterization |
Design parameterization to link design variables with volume nodes. | |
dealii::LinearAlgebra::distributed::Vector< double > | design_var |
Design variables. | |
Interface between the ROL::Objective_SimOpt PHiLiP::Functional.
Uses FFD to parametrize the geometry. An update on the simulation variables updates the DGBase object within the Functional and an update on the control variables updates the FreeFormDeformation object, which in turn, updates the DGBase.HighOrderGrid.volume_nodes.
Definition at line 23 of file rol_objective.hpp.
|
override |
Applies the functional Hessian w. r. t. the simulation variables onto a vector.
More specifically,
\[ \mathbf{v}_{output} = \left( \frac{\partial^2 \mathcal{I}}{\partial w \partial w} \right)^T \mathbf{v}_{input} \]
Definition at line 123 of file rol_objective.cpp.
|
override |
Applies the functional Hessian w. r. t. the simulation and control variables onto a vector.
More specifically,
\[ \mathbf{v}_{output} = \left( \frac{\partial^2 \mathcal{I}}{\partial w \partial x} \right)^T \mathbf{v}_{input} \]
Definition at line 146 of file rol_objective.cpp.
|
override |
Applies the functional Hessian w. r. t. the control and simulation variables onto a vector.
More specifically,
\[ \mathbf{v}_{output} = \left( \frac{\partial^2 \mathcal{I}}{\partial x \partial w} \right)^T \mathbf{v}_{input} \]
Definition at line 198 of file rol_objective.cpp.
|
override |
Applies the functional Hessian w. r. t. the control variables onto a vector.
More specifically,
\[ \mathbf{v}_{output} = \left( \frac{\partial^2 \mathcal{I}}{\partial x \partial x} \right)^T \mathbf{v}_{input} \]
Definition at line 243 of file rol_objective.cpp.