Public Member Functions | Private Attributes
Sundance::NonlinearPDEConstrainedObj Class Reference
Inheritance diagram for Sundance::NonlinearPDEConstrainedObj:
Sundance::PDEConstrainedObjBase Playa::ObjectiveBase Playa::ObjectWithVerbosity

List of all members.

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< NonlinearProblemstateProbs_
Array< LinearProblemadjointProbs_
NOXSolver solver_
LinearSolver< double > adjSolver_

Detailed Description

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.


Constructor & Destructor Documentation

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 
)
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 
)
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 
)
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 
)

virtual dtor

Definition at line 120 of file PDEOptNonlinearPDEConstrainedObj.hpp.


Member Function Documentation

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]
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().


Member Data Documentation

Definition at line 150 of file PDEOptNonlinearPDEConstrainedObj.hpp.

Referenced by initEquations().

Definition at line 154 of file PDEOptNonlinearPDEConstrainedObj.hpp.

Definition at line 152 of file PDEOptNonlinearPDEConstrainedObj.hpp.

Referenced by solveState().

Definition at line 148 of file PDEOptNonlinearPDEConstrainedObj.hpp.

Referenced by initEquations(), and solveState().

Site Contact