KASKADE 7 development version
Public Types | Public Member Functions | Static Public Attributes | List of all members
Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet > Class Template Reference

#include <comp_step.hh>

Detailed Description

template<class Operator, class PrecondAssembler, class PreconditionerFactory, class VariableSet>
class Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >

Definition at line 323 of file comp_step.hh.

Inheritance diagram for Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >:
Kaskade::AbstractNormalDirection

Public Types

typedef Operator::Assembler Assembler
 
typedef Assembler::Functional::Functional Functional
 
typedef PrecondAssembler::Functional::Functional PreconditionerFunctional
 
typedef OptimalControlTraits< Functional, AssemblerTraits
 
typedef Operator::Domain Domain
 
typedef Operator::Range Range
 
typedef Bridge::ConnectedKaskadeLinearization< typename Assembler::Functional::Functional > BridgeLinearization
 

Public Member Functions

virtual ~PreconditionerAsNormalSolver ()
 
 PreconditionerAsNormalSolver (PreconditionerFunctional const &pf_, PreconditionerFactory &prec_)
 
virtual void pre (Domain &x, Range &b)
 
virtual void apply (Domain &v, const Range &d)
 
virtual void post (Domain &x)
 
void ordinaryAndAdjoint (AbstractFunctionSpaceElement &correction, AbstractFunctionSpaceElement &adjointCorrection, AbstractLinearization &linearization, AbstractFunctionSpaceElement *correctionResidual=nullptr, AbstractFunctionSpaceElement *adjointResidual=nullptr)
 
void simplified (AbstractFunctionSpaceElement &correction, AbstractLinearization const &linearization, AbstractFunctionSpaceElement *residual=nullptr) const
 
virtual void setRelativeAccuracy (double accuracy)
 
virtual void setEps (double)
 

Static Public Attributes

static constexpr int components = Assembler::Grid::dimension
 

Member Typedef Documentation

◆ Assembler

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
typedef Operator::Assembler Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::Assembler

Definition at line 326 of file comp_step.hh.

◆ BridgeLinearization

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
typedef Bridge::ConnectedKaskadeLinearization<typename Assembler::Functional::Functional> Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::BridgeLinearization

Definition at line 333 of file comp_step.hh.

◆ Domain

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
typedef Operator::Domain Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::Domain

Definition at line 331 of file comp_step.hh.

◆ Functional

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
typedef Assembler::Functional::Functional Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::Functional

Definition at line 328 of file comp_step.hh.

◆ PreconditionerFunctional

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
typedef PrecondAssembler::Functional::Functional Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::PreconditionerFunctional

Definition at line 329 of file comp_step.hh.

◆ Range

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
typedef Operator::Range Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::Range

Definition at line 332 of file comp_step.hh.

◆ Traits

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
typedef OptimalControlTraits<Functional,Assembler> Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::Traits

Definition at line 330 of file comp_step.hh.

Constructor & Destructor Documentation

◆ ~PreconditionerAsNormalSolver()

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
virtual Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::~PreconditionerAsNormalSolver ( )
inlinevirtual

Definition at line 335 of file comp_step.hh.

◆ PreconditionerAsNormalSolver()

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::PreconditionerAsNormalSolver ( PreconditionerFunctional const &  pf_,
PreconditionerFactory prec_ 
)
inline

Definition at line 337 of file comp_step.hh.

Member Function Documentation

◆ apply()

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
virtual void Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::apply ( Domain v,
const Range d 
)
inlinevirtual

Definition at line 340 of file comp_step.hh.

◆ ordinaryAndAdjoint()

void Kaskade::AbstractNormalDirection::ordinaryAndAdjoint ( AbstractFunctionSpaceElement correction,
AbstractFunctionSpaceElement adjointCorrection,
AbstractLinearization linearization,
AbstractFunctionSpaceElement correctionResidual = nullptr,
AbstractFunctionSpaceElement adjointResidual = nullptr 
)
inlineinherited

compute min 1/2 <dn,dn> s.t. c'(x_0)dn+c(x_0)=0 compute Lagrangemultiplier for: min 1/2 <w,w>+f'(x_0) s.t. c'(x_0)w=0 performs factorization uses normal linearization at x_0

Definition at line 67 of file opt_interface.hh.

◆ post()

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
virtual void Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::post ( Domain x)
inlinevirtual

Definition at line 346 of file comp_step.hh.

◆ pre()

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
virtual void Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::pre ( Domain x,
Range b 
)
inlinevirtual

Definition at line 339 of file comp_step.hh.

◆ setEps()

virtual void Kaskade::AbstractNormalDirection::setEps ( double  )
inlinevirtualinherited

◆ setRelativeAccuracy()

virtual void Kaskade::AbstractNormalDirection::setRelativeAccuracy ( double  accuracy)
inlinevirtualinherited

◆ simplified()

void Kaskade::AbstractNormalDirection::simplified ( AbstractFunctionSpaceElement correction,
AbstractLinearization const &  linearization,
AbstractFunctionSpaceElement residual = nullptr 
) const
inlineinherited

compute min 1/2 <dn,dn> s.t. c'(x_0)dn+c(x)=0 reuses factorization from ordinary(...) or ordinaryAndAdjoint(...) linearization at x

Definition at line 73 of file opt_interface.hh.

Member Data Documentation

◆ components

template<class Operator , class PrecondAssembler , class PreconditionerFactory , class VariableSet >
constexpr int Kaskade::PreconditionerAsNormalSolver< Operator, PrecondAssembler, PreconditionerFactory, VariableSet >::components = Assembler::Grid::dimension
staticconstexpr

Definition at line 327 of file comp_step.hh.


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