DOpE
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends
DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim > Class Template Reference

#include <instatreducedproblem.h>

Inheritance diagram for DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >:
DOpE::ReducedProblemInterface< PROBLEM, VECTOR > DOpE::ReducedProblemInterface_Base< VECTOR >

Public Member Functions

template<typename INTEGRATORDATACONT >
 InstatReducedProblem (PROBLEM *OP, DOpEtypes::VectorStorageType state_behavior, ParameterReader &param_reader, INTEGRATORDATACONT &idc, int base_priority=0)
 
template<typename STATEINTEGRATORDATACONT , typename CONTROLINTEGRATORCONT >
 InstatReducedProblem (PROBLEM *OP, DOpEtypes::VectorStorageType state_behavior, ParameterReader &param_reader, CONTROLINTEGRATORCONT &c_idc, STATEINTEGRATORDATACONT &s_idc, int base_priority=0)
 
virtual ~InstatReducedProblem ()
 
void ReInit ()
 
bool ComputeReducedConstraints (const ControlVector< VECTOR > &q, ConstraintVector< VECTOR > &g)
 
void GetControlBoxConstraints (ControlVector< VECTOR > &lb, ControlVector< VECTOR > &ub)
 
void ComputeReducedGradient (const ControlVector< VECTOR > &q, ControlVector< VECTOR > &gradient, ControlVector< VECTOR > &gradient_transposed)
 
double ComputeReducedCostFunctional (const ControlVector< VECTOR > &q)
 
void ComputeReducedFunctionals (const ControlVector< VECTOR > &q)
 
void ComputeReducedHessianVector (const ControlVector< VECTOR > &q, const ControlVector< VECTOR > &direction, ControlVector< VECTOR > &hessian_direction, ControlVector< VECTOR > &hessian_direction_transposed)
 
template<class DWRC >
void ComputeRefinementIndicators (DWRC &)
 
void StateSizeInfo (std::stringstream &out)
 
void WriteToFile (const VECTOR &v, std::string name, std::string outfile, std::string dof_type, std::string filetype)
 
void WriteToFile (const ControlVector< VECTOR > &v, std::string name, std::string dof_type)
 
void WriteToFile (const std::vector< double > &v, std::string outfile)
 
- Public Member Functions inherited from DOpE::ReducedProblemInterface< PROBLEM, VECTOR >
 ReducedProblemInterface (PROBLEM *OP, int base_priority=0)
 
 ~ReducedProblemInterface ()
 
virtual void ComputeReducedHessianInverseVector (const ControlVector< VECTOR > &, const ControlVector< VECTOR > &, ControlVector< VECTOR > &)
 
virtual void ComputeReducedGradientOfGlobalConstraints (unsigned int, const ControlVector< VECTOR > &, const ConstraintVector< VECTOR > &, ControlVector< VECTOR > &, ControlVector< VECTOR > &)
 
void SetProblemType (std::string type, unsigned int num=0)
 
PROBLEM * GetProblem ()
 
const PROBLEM * GetProblem () const
 
template<class DWRC >
void InitializeDWRC (DWRC &dwrc)
 
- Public Member Functions inherited from DOpE::ReducedProblemInterface_Base< VECTOR >
 ReducedProblemInterface_Base ()
 
virtual ~ReducedProblemInterface_Base ()
 
virtual void WriteToFileElementwise (const Vector< double > &, std::string, std::string, std::string, std::string)
 
void RegisterOutputHandler (DOpEOutputHandler< VECTOR > *OH)
 
void RegisterExceptionHandler (DOpEExceptionHandler< VECTOR > *OH)
 
DOpEExceptionHandler< VECTOR > * GetExceptionHandler ()
 
DOpEOutputHandler< VECTOR > * GetOutputHandler ()
 
double GetFunctionalValue (std::string name) const
 
const std::vector< double > & GetTimeFunctionalValue (std::string name) const
 
void AddUserDomainData (std::string name, const VECTOR *new_data)
 
void DeleteUserDomainData (std::string name)
 

Static Public Member Functions

static void declare_params (ParameterReader &param_reader)
 

Protected Member Functions

const StateVector< VECTOR > & GetU () const
 
StateVector< VECTOR > & GetU ()
 
StateVector< VECTOR > & GetZ ()
 
StateVector< VECTOR > & GetDU ()
 
StateVector< VECTOR > & GetDZ ()
 
NONLINEARSOLVER & GetNonlinearSolver (std::string type)
 
CONTROLNONLINEARSOLVER & GetControlNonlinearSolver ()
 
INTEGRATOR & GetIntegrator ()
 
CONTROLINTEGRATOR & GetControlIntegrator ()
 
void ComputeTimeFunctionals (unsigned int step, unsigned int num_steps)
 
void ComputeReducedState (const ControlVector< VECTOR > &q)
 
void ComputeReducedAdjoint (const ControlVector< VECTOR > &q, ControlVector< VECTOR > &temp_q, ControlVector< VECTOR > &temp_q_trans)
 
template<typename PDE >
void ForwardTimeLoop (PDE &problem, StateVector< VECTOR > &sol, std::string outname, bool eval_funcs)
 
template<typename PDE >
void BackwardTimeLoop (PDE &problem, StateVector< VECTOR > &sol, ControlVector< VECTOR > &temp_q, ControlVector< VECTOR > &temp_q_trans, std::string outname, bool eval_grads)
 
- Protected Member Functions inherited from DOpE::ReducedProblemInterface< PROBLEM, VECTOR >
virtual const std::map
< std::string, unsigned int > & 
GetFunctionalPosition () const
 
std::string GetPostIndex () const
 
int GetBasePriority () const
 
- Protected Member Functions inherited from DOpE::ReducedProblemInterface_Base< VECTOR >
void InitializeFunctionalValues (unsigned int N)
 
std::vector< std::vector
< double > > & 
GetFunctionalValues ()
 
const std::vector< std::vector
< double > > & 
GetFunctionalValues () const
 
const std::map< std::string,
const VECTOR * > & 
GetUserDomainData () const
 

Friends

class SolutionExtractor< InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >, VECTOR >
 

Detailed Description

template<typename CONTROLNONLINEARSOLVER, typename NONLINEARSOLVER, typename CONTROLINTEGRATOR, typename INTEGRATOR, typename PROBLEM, typename VECTOR, int dopedim, int dealdim>
class DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >

Basic class to solve time dependent PDE- and optimization problems.

Template Parameters
<CONTROLNONLINEARSOLVER>Newton solver for the control variables.
<NONLINEARSOLVER>Newton solver for the state variables.
<CONTROLINTEGRATOR>An integrator for the control variables, e.g, Integrator or IntegratorMixedDimensions..
<INTEGRATOR>An integrator for the state variables, e.g, Integrator or IntegratorMixedDimensions..
<PROBLEM>PDE- or optimization problem under consideration including ts-scheme.
<VECTOR>Class in which we want to store the spatial vector (i.e. dealii::Vector<double> or dealii::BlockVector<double>)
<dopedim>The dimension for the control variable.
<dealdim>The dimension for the state variable.

Constructor & Destructor Documentation

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
template<typename INTEGRATORDATACONT >
DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::InstatReducedProblem ( PROBLEM *  OP,
DOpEtypes::VectorStorageType  state_behavior,
ParameterReader param_reader,
INTEGRATORDATACONT &  idc,
int  base_priority = 0 
)

Constructor for the InstatPDEProblem.

Template Parameters
<INTEGRATORDATACONT>An IntegratorDataContainer
Parameters
OPProblem is given to the stationary solver.
state_behaviorIndicates the behavior of the StateVector.
param_readerAn object which has run time data.
idcAn INTETGRATORDATACONT which has all the data needed by the integrator.
base_priorityAn offset for the priority of the output written to the OutputHandler
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
template<typename STATEINTEGRATORDATACONT , typename CONTROLINTEGRATORCONT >
DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::InstatReducedProblem ( PROBLEM *  OP,
DOpEtypes::VectorStorageType  state_behavior,
ParameterReader param_reader,
CONTROLINTEGRATORCONT &  c_idc,
STATEINTEGRATORDATACONT &  s_idc,
int  base_priority = 0 
)

Constructor for the StatReducedProblem.

Template Parameters
<INTEGRATORDATACONT>An IntegratorDataContainer
Parameters
OPProblem is given to the stationary solver.
state_behaviorIndicates the behavior of the StateVector.
param_readerAn object which has run time data.
c_idcThe InegratorDataContainer for control integration
s_idcThe InegratorDataContainer for state integration
base_priorityAn offset for the priority of the output written to the OutputHandler
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::~InstatReducedProblem ( )
virtual

Member Function Documentation

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
template<typename PDE >
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::BackwardTimeLoop ( PDE &  problem,
StateVector< VECTOR > &  sol,
ControlVector< VECTOR > &  temp_q,
ControlVector< VECTOR > &  temp_q_trans,
std::string  outname,
bool  eval_grads 
)
protected

This function does the loop over time but in direction -t.

Parameters
problemDescribes the nonstationary pde to be solved
qThe given control vector
outnameThe name prefix given to the solution vectors if they are written to files, e.g., Adjoint, Hessian, ...
eval_gradsDecide wether to evaluate the gradients of the functionals or not. Should be true for the adjoint and dual_hessian-problem but false for auxilliary backward pdes.
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedAdjoint ( const ControlVector< VECTOR > &  q,
ControlVector< VECTOR > &  temp_q,
ControlVector< VECTOR > &  temp_q_trans 
)
protected

This function computes the adjoint, i.e., the Lagrange multiplier to constraint given by the state equation. It is assumed that the state u(q) corresponding to the argument q is already calculated.

Parameters
qThe control vector is given to this function.
temp_qA storage vector to hold precomputed values for the gradient of the cost functional.
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
bool DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedConstraints ( const ControlVector< VECTOR > &  q,
ConstraintVector< VECTOR > &  g 
)
virtual

Implementation of Virtual Method in Base Class ReducedProblemInterface

Implements DOpE::ReducedProblemInterface< PROBLEM, VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
double DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedCostFunctional ( const ControlVector< VECTOR > &  q)
virtual

Implementation of Virtual Method in Base Class ReducedProblemInterface

Implements DOpE::ReducedProblemInterface< PROBLEM, VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedFunctionals ( const ControlVector< VECTOR > &  q)
virtual

Implementation of Virtual Method in Base Class ReducedProblemInterface

Implements DOpE::ReducedProblemInterface< PROBLEM, VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedGradient ( const ControlVector< VECTOR > &  q,
ControlVector< VECTOR > &  gradient,
ControlVector< VECTOR > &  gradient_transposed 
)
virtual

Implementation of Virtual Method in Base Class ReducedProblemInterface

Implements DOpE::ReducedProblemInterface< PROBLEM, VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedHessianVector ( const ControlVector< VECTOR > &  q,
const ControlVector< VECTOR > &  direction,
ControlVector< VECTOR > &  hessian_direction,
ControlVector< VECTOR > &  hessian_direction_transposed 
)
virtual

Implementation of Virtual Method in Base Class ReducedProblemInterface

Implements DOpE::ReducedProblemInterface< PROBLEM, VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedState ( const ControlVector< VECTOR > &  q)
protected

This function is running the time dependent problem for the state variable. There is a loop over all time steps, and in each time step the nonlinear solver is called. The nonlinear solver is even called for linear problems where the solution is computed within one iteration step.

Parameters
qThe control vector is given to this function.
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
template<class DWRC >
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeRefinementIndicators ( DWRC &  )
inline

Computes the error indicators for the error of a previosly specified functional. Assumes that the primal state solution is already computed and the functional is specified (see problem::SetFunctionalForErrorEstimation).

Everything else is determined by the DWRDataContainer you use (represented by the template parameter DWRC).

Template Parameters
<DWRC>A container for the refinement indicators See, e.g., DWRDataContainer
<PDE>The problem contrainer
Parameters
qThe ControlVector at which the indicators are to be evaluated.
dwrcThe data container
pdeThe problem
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeTimeFunctionals ( unsigned int  step,
unsigned int  num_steps 
)
protected

This function computes functionals of interest within a time dependent computation. For instance, drag- and lift values can be computed, as well as deflections, stresses, etc.

Parameters
stepThe actual time step.
num_stepsThe total number of time steps.
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::declare_params ( ParameterReader param_reader)
static

Static member function for run time parameters.

Parameters
param_readerAn object which has run time data.
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
template<typename PDE >
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ForwardTimeLoop ( PDE &  problem,
StateVector< VECTOR > &  sol,
std::string  outname,
bool  eval_funcs 
)
protected

This function does the loop over time.

Parameters
problemDescribes the nonstationary pde to be solved
qThe given control vector
outnameThe name prefix given to the solution vectors if they are written to files, e.g., State, Tangent, ...
eval_funcsDecide wether to evaluate the functionals or not. Should be true for the primal-problem but false for auxilliary forward pdes, like the tangent one.
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetControlBoxConstraints ( ControlVector< VECTOR > &  lb,
ControlVector< VECTOR > &  ub 
)
virtual

Implementation of Virtual Method in Base Class ReducedProblemInterface

Implements DOpE::ReducedProblemInterface< PROBLEM, VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
CONTROLINTEGRATOR& DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetControlIntegrator ( )
inlineprotected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
CONTROLNONLINEARSOLVER & DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetControlNonlinearSolver ( )
protected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
StateVector<VECTOR>& DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetDU ( )
inlineprotected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
StateVector<VECTOR>& DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetDZ ( )
inlineprotected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
INTEGRATOR& DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetIntegrator ( )
inlineprotected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
NONLINEARSOLVER & DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetNonlinearSolver ( std::string  type)
protected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
const StateVector<VECTOR>& DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetU ( ) const
inlineprotected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
StateVector<VECTOR>& DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetU ( )
inlineprotected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
StateVector<VECTOR>& DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetZ ( )
inlineprotected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ReInit ( )
virtual

This function sets state- and dual vectors to their correct sizes. Further, the flags to build the system matrices are set to true.

Reimplemented from DOpE::ReducedProblemInterface< PROBLEM, VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::StateSizeInfo ( std::stringstream &  out)
inlinevirtual

Implementation of Virtual Method in Base Class ReducedProblemInterface

Implements DOpE::ReducedProblemInterface_Base< VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::WriteToFile ( const VECTOR &  v,
std::string  name,
std::string  outfile,
std::string  dof_type,
std::string  filetype 
)
virtual

Here, the given BlockVector<double> v is printed to a file of *.vtk or *.gpl format. However, in later implementations other file formats will be available.

Parameters
vThe BlockVector to write to a file.
nameThe names of the variables, e.g., in a fluid problem: v1, v2, p.
outfileThe basic name for the output file to print.
dof_typeHas the DoF type: state or control.
filetypeThe filetype. Actually, *.vtk and *.gpl outputs are possible.

Implements DOpE::ReducedProblemInterface_Base< VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::WriteToFile ( const ControlVector< VECTOR > &  v,
std::string  name,
std::string  dof_type 
)
virtual

Here, the given ControlVector<VECTOR> v is printed to a file of *.vtk or *.gpl format. However, in later implementations other file formats will be available.

Parameters
vThe Control vector to write to a file.
nameThe names of the variables, e.g., in a fluid problem: v1, v2, p.
dof_typeHas the DoF type: state or control.

Implements DOpE::ReducedProblemInterface_Base< VECTOR >.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::WriteToFile ( const std::vector< double > &  v,
std::string  outfile 
)
virtual

A std::vector v is printed to a text file. Note that this assumes that the vector is one entry per time step.

Parameters
vA std::vector to write to a file.
outfileThe basic name for the output file to print.

Implements DOpE::ReducedProblemInterface_Base< VECTOR >.

Friends And Related Function Documentation

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
friend class SolutionExtractor< InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER,CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >,VECTOR >
friend

The documentation for this class was generated from the following file: