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

#include <statreducedproblem.h>

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

Public Member Functions

template<typename INTEGRATORDATACONT >
 StatReducedProblem (PROBLEM *OP, DOpEtypes::VectorStorageType state_behavior, ParameterReader &param_reader, INTEGRATORDATACONT &idc, int base_priority=0)
 
template<typename STATEINTEGRATORDATACONT , typename CONTROLINTEGRATORCONT >
 StatReducedProblem (PROBLEM *OP, DOpEtypes::VectorStorageType state_behavior, ParameterReader &param_reader, CONTROLINTEGRATORCONT &c_idc, STATEINTEGRATORDATACONT &s_idc, int base_priority=0)
 
 ~StatReducedProblem ()
 
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)
 
template<class DWRC , class PDE >
void ComputeRefinementIndicators (const ControlVector< VECTOR > &q, DWRC &dwrc, PDE &pde)
 
void ComputeReducedHessianVector (const ControlVector< VECTOR > &q, const ControlVector< VECTOR > &direction, ControlVector< VECTOR > &hessian_direction, ControlVector< VECTOR > &hessian_direction_transposed)
 
void ComputeReducedGradientOfGlobalConstraints (unsigned int num, const ControlVector< VECTOR > &q, const ConstraintVector< VECTOR > &g, ControlVector< VECTOR > &gradient, ControlVector< VECTOR > &gradient_transposed)
 
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 > &, std::string)
 
- 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 > &)
 
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

void ComputeReducedState (const ControlVector< VECTOR > &q)
 
void ComputeReducedAdjoint (const ControlVector< VECTOR > &q)
 
void ComputeDualForErrorEstimation (const ControlVector< VECTOR > &q, DOpEtypes::WeightComputation weight_comp)
 
const StateVector< VECTOR > & GetU () const
 
StateVector< VECTOR > & GetU ()
 
StateVector< VECTOR > & GetZ ()
 
StateVector< VECTOR > & GetDU ()
 
StateVector< VECTOR > & GetDZ ()
 
const StateVector< VECTOR > & GetZForEE () const
 
StateVector< VECTOR > & GetZForEE ()
 
NONLINEARSOLVER & GetNonlinearSolver (std::string type)
 
CONTROLNONLINEARSOLVER & GetControlNonlinearSolver ()
 
INTEGRATOR & GetIntegrator ()
 
CONTROLINTEGRATOR & GetControlIntegrator ()
 
- 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< StatReducedProblem< 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::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >

Basic class to solve stationary 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.
<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::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::StatReducedProblem ( PROBLEM *  OP,
DOpEtypes::VectorStorageType  state_behavior,
ParameterReader param_reader,
INTEGRATORDATACONT &  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.
idcThe InegratorDataContainer for state and control 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>
template<typename STATEINTEGRATORDATACONT , typename CONTROLINTEGRATORCONT >
DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::StatReducedProblem ( 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::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::~StatReducedProblem ( )

Member Function Documentation

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeDualForErrorEstimation ( const ControlVector< VECTOR > &  q,
DOpEtypes::WeightComputation  weight_comp 
)
protected

This function computes the solution for the dual variable for error estimation.

I is assumed that the state u(q) corresponding to the argument q is already calculated.

Parameters
qThe ControlVector<VECTOR> is given to this function.
weight_compA flag deciding how the weights should be calculated
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedAdjoint ( const ControlVector< VECTOR > &  q)
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 ControlVector<VECTOR> is given to this function.
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
bool DOpE::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedGradientOfGlobalConstraints ( unsigned int  num,
const ControlVector< VECTOR > &  q,
const ConstraintVector< VECTOR > &  g,
ControlVector< VECTOR > &  gradient,
ControlVector< VECTOR > &  gradient_transposed 
)
virtual

Implementation of Virtual Method in Base Class ReducedProblemInterface

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::StatReducedProblem< 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::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeReducedState ( const ControlVector< VECTOR > &  q)
protected

This function computes the solution for the state variable. The nonlinear solver is called, even for linear problems where the solution is computed within one iteration step.

Parameters
qThe ControlVector<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 , class PDE >
void DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::ComputeRefinementIndicators ( const ControlVector< VECTOR > &  q,
DWRC &  dwrc,
PDE &  pde 
)

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::StatReducedProblem< 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>
void DOpE::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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>
const StateVector<VECTOR>& DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetZForEE ( ) const
inlineprotected

Returns the solution of the dual equation for error estimation.

template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
StateVector<VECTOR>& DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::GetZForEE ( )
inlineprotected
template<typename CONTROLNONLINEARSOLVER , typename NONLINEARSOLVER , typename CONTROLINTEGRATOR , typename INTEGRATOR , typename PROBLEM , typename VECTOR , int dopedim, int dealdim>
void DOpE::StatReducedProblem< 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::StatReducedProblem< 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::StatReducedProblem< 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 or *.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::StatReducedProblem< 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 ControlVector<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::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >::WriteToFile ( const std::vector< double > &  ,
std::string   
)
inlinevirtual

Basic function to write a std::vector to a file.

Parameters
vA std::vector to write to a file.
outfileThe basic name for the output file to print. Doesn't make sense here so aborts if called!

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< StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER,CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >,VECTOR >
friend

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