Public Member Functions | |
| NonlinearPDEConstrainedObj (const Functional &lagrangian, const Expr &stateVars, const Expr &stateVarVals, const Expr &adjointVars, const Expr &adjointVarVals, const Expr &designVars, const Expr &designVarVals, const NOXSolver &solver, const LinearSolver< double > &adjSolver, int verb=0) | |
| NonlinearPDEConstrainedObj (const Functional &lagrangian, const Array< Expr > &stateVars, const Array< Expr > &stateVarVals, const Array< Expr > &adjointVars, const Array< Expr > &adjointVarVals, const Expr &designVars, const Expr &designVarVals, const NOXSolver &solver, const LinearSolver< double > &adjSolver, int verb=0) | |
| NonlinearPDEConstrainedObj (const Functional &lagrangian, const Expr &stateVars, const Expr &stateVarVals, const Expr &adjointVars, const Expr &adjointVarVals, const Expr &designVars, const Expr &designVarVals, const NOXSolver &solver, const LinearSolver< double > &adjSolver, const RCP< IterCallbackBase > &iterCallback, int verb=0) | |
| NonlinearPDEConstrainedObj (const Functional &lagrangian, const Array< Expr > &stateVars, const Array< Expr > &stateVarVals, const Array< Expr > &adjointVars, const Array< Expr > &adjointVarVals, const Expr &designVars, const Expr &designVarVals, const NOXSolver &solver, const LinearSolver< double > &adjSolver, const RCP< IterCallbackBase > &iterCallback, int verb=0) | |
| virtual | ~NonlinearPDEConstrainedObj () |
| void | solveState (const Vector< double > &x) const |
| void | solveStateAndAdjoint (const Vector< double > &x) const |
| void | initEquations (const Array< Expr > &stateVars, const Array< Expr > &adjointVars, const Array< Array< Expr > > &fixedVarsInStateEqns, const Array< Array< Expr > > &fixedVarsInStateEqnsVals, const Array< Array< Expr > > &fixedVarsInAdjointEqns, const Array< Array< Expr > > &fixedVarsInAdjointEqnsVals) |
Private Attributes | |
| Array< NonlinearProblem > | stateProbs_ |
| Array< LinearProblem > | adjointProbs_ |
| NOXSolver | solver_ |
| LinearSolver< double > | adjSolver_ |
NonlinearPDEConstrainedObj is a base class for objective functions of the reduced-space variable where the constraint is a nonlinear PDE in the state variables.
Definition at line 62 of file PDEOptNonlinearPDEConstrainedObj.hpp.
| Sundance::NonlinearPDEConstrainedObj::NonlinearPDEConstrainedObj | ( | const Functional & | lagrangian, |
| const Expr & | stateVars, | ||
| const Expr & | stateVarVals, | ||
| const Expr & | adjointVars, | ||
| const Expr & | adjointVarVals, | ||
| const Expr & | designVars, | ||
| const Expr & | designVarVals, | ||
| const NOXSolver & | solver, | ||
| const LinearSolver< double > & | adjSolver, | ||
| int | verb = 0 |
||
| ) |
Definition at line 52 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
| Sundance::NonlinearPDEConstrainedObj::NonlinearPDEConstrainedObj | ( | const Functional & | lagrangian, |
| const Array< Expr > & | stateVars, | ||
| const Array< Expr > & | stateVarVals, | ||
| const Array< Expr > & | adjointVars, | ||
| const Array< Expr > & | adjointVarVals, | ||
| const Expr & | designVars, | ||
| const Expr & | designVarVals, | ||
| const NOXSolver & | solver, | ||
| const LinearSolver< double > & | adjSolver, | ||
| int | verb = 0 |
||
| ) |
Definition at line 74 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
| Sundance::NonlinearPDEConstrainedObj::NonlinearPDEConstrainedObj | ( | const Functional & | lagrangian, |
| const Expr & | stateVars, | ||
| const Expr & | stateVarVals, | ||
| const Expr & | adjointVars, | ||
| const Expr & | adjointVarVals, | ||
| const Expr & | designVars, | ||
| const Expr & | designVarVals, | ||
| const NOXSolver & | solver, | ||
| const LinearSolver< double > & | adjSolver, | ||
| const RCP< IterCallbackBase > & | iterCallback, | ||
| int | verb = 0 |
||
| ) |
Definition at line 95 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
| Sundance::NonlinearPDEConstrainedObj::NonlinearPDEConstrainedObj | ( | const Functional & | lagrangian, |
| const Array< Expr > & | stateVars, | ||
| const Array< Expr > & | stateVarVals, | ||
| const Array< Expr > & | adjointVars, | ||
| const Array< Expr > & | adjointVarVals, | ||
| const Expr & | designVars, | ||
| const Expr & | designVarVals, | ||
| const NOXSolver & | solver, | ||
| const LinearSolver< double > & | adjSolver, | ||
| const RCP< IterCallbackBase > & | iterCallback, | ||
| int | verb = 0 |
||
| ) |
Definition at line 118 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
| virtual Sundance::NonlinearPDEConstrainedObj::~NonlinearPDEConstrainedObj | ( | ) | [inline, virtual] |
virtual dtor
Definition at line 120 of file PDEOptNonlinearPDEConstrainedObj.hpp.
| void Sundance::NonlinearPDEConstrainedObj::initEquations | ( | const Array< Expr > & | stateVars, |
| const Array< Expr > & | adjointVars, | ||
| const Array< Array< Expr > > & | fixedVarsInStateEqns, | ||
| const Array< Array< Expr > > & | fixedVarsInStateEqnsVals, | ||
| const Array< Array< Expr > > & | fixedVarsInAdjointEqns, | ||
| const Array< Array< Expr > > & | fixedVarsInAdjointEqnsVals | ||
| ) | [virtual] |
Set up the linear equations
Implements Sundance::PDEConstrainedObjBase.
Definition at line 141 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References adjointProbs_, Sundance::PDEConstrainedObjBase::adjointVarVals(), Sundance::PDEConstrainedObjBase::Lagrangian(), Sundance::Functional::linearVariationalProb(), Sundance::Functional::nonlinearVariationalProb(), PLAYA_MSG2, PLAYA_MSG3, stateProbs_, Sundance::PDEConstrainedObjBase::stateVarVals(), and Playa::ObjectWithVerbosity::verb().
| void Sundance::NonlinearPDEConstrainedObj::solveState | ( | const Vector< double > & | x | ) | const [virtual] |
Solve the sequence of state equations, followed by postprocessing. At the end of this call, the system is ready for evaluation of the objective function or solution of the adjoint equations.
Implements Sundance::PDEConstrainedObjBase.
Definition at line 190 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::designVarVal(), Playa::SolverState< Scalar >::finalState(), Playa::Vector< Scalar >::norm2(), PLAYA_MSG2, PLAYA_MSG3, PLAYA_MSG5, Sundance::setDiscreteFunctionVector(), Playa::SolveConverged, solver_, Sundance::PDEConstrainedObjBase::statePostprocCallback(), stateProbs_, and Playa::ObjectWithVerbosity::verb().
| void Sundance::NonlinearPDEConstrainedObj::solveStateAndAdjoint | ( | const Vector< double > & | x | ) | const [virtual] |
Solve the sequence of state equations, then do postprocessing, then finally the adjoint equations in reverse order. At the end of this call, the system is ready for evaluation of the objective function and its gradient.
Implements Sundance::PDEConstrainedObjBase.
Definition at line 218 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References Sundance::FieldWriter::addField(), Sundance::FieldWriter::addMesh(), Playa::SolverState< Scalar >::finalState(), Sundance::Expr::flatten(), Playa::Vector< Scalar >::norm2(), PLAYA_MSG2, PLAYA_MSG3, PLAYA_MSG5, Sundance::setDiscreteFunctionVector(), Sundance::Expr::size(), Playa::SolveConverged, Playa::SolverState< Scalar >::stateDescription(), Teuchos::toString(), and Sundance::FieldWriter::write().
Array<LinearProblem> Sundance::NonlinearPDEConstrainedObj::adjointProbs_ [private] |
Definition at line 150 of file PDEOptNonlinearPDEConstrainedObj.hpp.
Referenced by initEquations().
LinearSolver<double> Sundance::NonlinearPDEConstrainedObj::adjSolver_ [private] |
Definition at line 154 of file PDEOptNonlinearPDEConstrainedObj.hpp.
Definition at line 152 of file PDEOptNonlinearPDEConstrainedObj.hpp.
Referenced by solveState().
Array<NonlinearProblem> Sundance::NonlinearPDEConstrainedObj::stateProbs_ [private] |
Definition at line 148 of file PDEOptNonlinearPDEConstrainedObj.hpp.
Referenced by initEquations(), and solveState().