[P]arallel [Hi]gh-order [Li]brary for [P]DEs
Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
|
Full-space system preconditioner based on the reduced-space. More...
#include <kkt_birosghattas_preconditioners.hpp>
Public Member Functions | |
BirosGhattasPreconditioner (const ROL::Ptr< ROL::Objective< Real >> objective, const ROL::Ptr< ROL::Constraint< Real >> equal_constraints, const ROL::Ptr< const ROL::Vector< Real >> design_variables, const ROL::Ptr< const ROL::Vector< Real >> lagrange_mult, const ROL::Ptr< ROL::Secant< Real > > secant, const bool use_approximate_preconditioner=false) | |
Constructor. | |
virtual void | vmult (dealiiSolverVectorWrappingROL< Real > &dst, const dealiiSolverVectorWrappingROL< Real > &src) const |
Application of KKT preconditionner on vector src outputted into dst. | |
virtual void | Tvmult (dealiiSolverVectorWrappingROL< Real > &dst, const dealiiSolverVectorWrappingROL< Real > &src) const |
Application of transposed KKT preconditioner on vector src outputted into dst. More... | |
Protected Attributes | |
const ROL::Ptr< ROL::Objective_SimOpt< Real > > | objective_ |
Objective function. | |
const ROL::Ptr< PHiLiP::FlowConstraints< PHILIP_DIM > > | equal_constraints_ |
Equality constraints. | |
const ROL::Ptr< const ROL::Vector_SimOpt< Real > > | design_variables_ |
Design variables. | |
const ROL::Ptr< const ROL::Vector< Real > > | lagrange_mult_ |
Lagrange multipliers. | |
const ROL::Ptr< const ROL::Vector< Real > > | simulation_variables_ |
Simulation design variables. | |
const ROL::Ptr< const ROL::Vector< Real > > | control_variables_ |
Control design variables. | |
const ROL::Ptr< ROL::Secant< Real > > | secant_ |
Secant method used to precondition the reduced Hessian. | |
const bool | use_approximate_preconditioner_ |
const unsigned int | mpi_rank |
MPI rank used to reset the deallog depth. | |
dealii::ConditionalOStream | pcout |
Parallel std::cout that only outputs on mpi_rank==0. | |
Full-space system preconditioner based on the reduced-space.
See Biros and Ghattas' 2005 paper.
Definition at line 16 of file kkt_birosghattas_preconditioners.hpp.
|
inlinevirtual |
Application of transposed KKT preconditioner on vector src outputted into dst.
Same as vmult since this KKT preconditioner is symmetric.
Definition at line 98 of file kkt_birosghattas_preconditioners.hpp.
|
protected |
Use an approximate inverse of the Jacobian and Jacobian transpose using the preconditioner to obtain the "tilde" operator version of Biros and Ghattas.
Definition at line 40 of file kkt_birosghattas_preconditioners.hpp.