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_ |
Definition at line 20 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 10 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 32 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 53 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 76 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
virtual Sundance::NonlinearPDEConstrainedObj::~NonlinearPDEConstrainedObj | ( | ) | [inline, virtual] |
virtual dtor
Definition at line 78 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 99 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 148 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 176 of file PDEOptNonlinearPDEConstrainedObj.cpp.
References Sundance::FieldWriter::addField(), Sundance::FieldWriter::addMesh(), Playa::SolverState< Scalar >::finalState(), 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] |
LinearSolver<double> Sundance::NonlinearPDEConstrainedObj::adjSolver_ [private] |
Definition at line 112 of file PDEOptNonlinearPDEConstrainedObj.hpp.
Array<NonlinearProblem> Sundance::NonlinearPDEConstrainedObj::stateProbs_ [private] |
Definition at line 106 of file PDEOptNonlinearPDEConstrainedObj.hpp.
Referenced by initEquations(), and solveState().