Public Member Functions | |
LinearPDEConstrainedObj (const Functional &lagrangian, const Expr &stateVars, const Expr &stateVarVals, const Expr &adjointVars, const Expr &adjointVarVals, const Expr &designVars, const Expr &designVarVals, const LinearSolver< double > &solver, int verb=0) | |
LinearPDEConstrainedObj (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 Array< LinearSolver< double > > &solvers, int verb=0) | |
LinearPDEConstrainedObj (const Functional &lagrangian, const Expr &stateVars, const Expr &stateVarVals, const Expr &adjointVars, const Expr &adjointVarVals, const Expr &designVars, const Expr &designVarVals, const LinearSolver< double > &solver, const RCP< IterCallbackBase > &iterCallback, int verb=0) | |
LinearPDEConstrainedObj (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 Array< LinearSolver< double > > &solvers, const RCP< IterCallbackBase > &iterCallback, int verb=0) | |
virtual | ~LinearPDEConstrainedObj () |
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< LinearProblem > | stateProbs_ |
Array< LinearProblem > | adjointProbs_ |
Array< LinearSolver< double > > | solvers_ |
Definition at line 19 of file PDEOptLinearPDEConstrainedObj.hpp.
Sundance::LinearPDEConstrainedObj::LinearPDEConstrainedObj | ( | const Functional & | lagrangian, | |
const Expr & | stateVars, | |||
const Expr & | stateVarVals, | |||
const Expr & | adjointVars, | |||
const Expr & | adjointVarVals, | |||
const Expr & | designVars, | |||
const Expr & | designVarVals, | |||
const LinearSolver< double > & | solver, | |||
int | verb = 0 | |||
) |
Definition at line 52 of file PDEOptLinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
Sundance::LinearPDEConstrainedObj::LinearPDEConstrainedObj | ( | 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 Array< LinearSolver< double > > & | solvers, | |||
int | verb = 0 | |||
) |
Definition at line 72 of file PDEOptLinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
Sundance::LinearPDEConstrainedObj::LinearPDEConstrainedObj | ( | const Functional & | lagrangian, | |
const Expr & | stateVars, | |||
const Expr & | stateVarVals, | |||
const Expr & | adjointVars, | |||
const Expr & | adjointVarVals, | |||
const Expr & | designVars, | |||
const Expr & | designVarVals, | |||
const LinearSolver< double > & | solver, | |||
const RCP< IterCallbackBase > & | iterCallback, | |||
int | verb = 0 | |||
) |
Definition at line 10 of file PDEOptLinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
Sundance::LinearPDEConstrainedObj::LinearPDEConstrainedObj | ( | 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 Array< LinearSolver< double > > & | solvers, | |||
const RCP< IterCallbackBase > & | iterCallback, | |||
int | verb = 0 | |||
) |
Definition at line 31 of file PDEOptLinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::init().
virtual Sundance::LinearPDEConstrainedObj::~LinearPDEConstrainedObj | ( | ) | [inline, virtual] |
virtual dtor
Definition at line 73 of file PDEOptLinearPDEConstrainedObj.hpp.
void Sundance::LinearPDEConstrainedObj::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 92 of file PDEOptLinearPDEConstrainedObj.cpp.
References adjointProbs_, Sundance::PDEConstrainedObjBase::adjointVarVals(), Sundance::PDEConstrainedObjBase::Lagrangian(), Sundance::Functional::linearVariationalProb(), PLAYA_MSG2, PLAYA_MSG3, stateProbs_, Sundance::PDEConstrainedObjBase::stateVarVals(), and Playa::ObjectWithVerbosity::verb().
void Sundance::LinearPDEConstrainedObj::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 138 of file PDEOptLinearPDEConstrainedObj.cpp.
References Sundance::PDEConstrainedObjBase::designVarVal(), Playa::SolverState< Scalar >::finalState(), Playa::Vector< Scalar >::norm2(), PLAYA_MSG2, PLAYA_MSG3, PLAYA_MSG5, Sundance::setDiscreteFunctionVector(), Playa::SolveConverged, solvers_, Playa::SolverState< Scalar >::stateDescription(), Sundance::PDEConstrainedObjBase::statePostprocCallback(), stateProbs_, Sundance::PDEConstrainedObjBase::stateVarVals(), and Playa::ObjectWithVerbosity::verb().
void Sundance::LinearPDEConstrainedObj::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 165 of file PDEOptLinearPDEConstrainedObj.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::LinearPDEConstrainedObj::adjointProbs_ [private] |
Array<LinearSolver<double> > Sundance::LinearPDEConstrainedObj::solvers_ [private] |
Array<LinearProblem> Sundance::LinearPDEConstrainedObj::stateProbs_ [private] |
Definition at line 101 of file PDEOptLinearPDEConstrainedObj.hpp.
Referenced by initEquations(), and solveState().