KASKADE 7 development version
Public Types | Public Member Functions | List of all members
Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components > Class Template Reference

#include <comp_step.hh>

Detailed Description

template<class Assembler_, class PrecondAssembler, class Domain_, class Range_, class VariableSet, int components = Assembler_::Grid::dimension>
class Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >

Definition at line 612 of file comp_step.hh.

Inheritance diagram for Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >:
Kaskade::AbstractNormalDirection

Public Types

typedef Domain_ Domain
 
typedef Range_ Range
 
typedef Assembler_ Assembler
 
typedef Assembler::Functional::Functional Functional
 
typedef PrecondAssembler::Functional::Functional PreconditionerFunctional
 
typedef OptimalControlTraits< Functional, AssemblerTraits
 
typedef Traits::Scalar Scalar
 
typedef Bridge::ConnectedKaskadeLinearization< typename Assembler::Functional::Functional > BridgeLinearization
 

Public Member Functions

 DirectNormalSolver (PreconditionerFunctional const &pf_, DirectType directType_=DirectType::UMFPACK3264, MatrixProperties properties_=MatrixProperties::GENERAL, int verbosity_=1)
 
virtual ~DirectNormalSolver ()
 
virtual void pre (Domain &x, Range &b)
 
virtual void post (Domain &x)
 
virtual void apply (Domain &v, const Range &d)
 
virtual void setRelativeAccuracy (double)
 
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 setEps (double)
 

Member Typedef Documentation

◆ Assembler

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
typedef Assembler_ Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::Assembler

Definition at line 617 of file comp_step.hh.

◆ BridgeLinearization

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
typedef Bridge::ConnectedKaskadeLinearization<typename Assembler::Functional::Functional> Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::BridgeLinearization

Definition at line 622 of file comp_step.hh.

◆ Domain

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
typedef Domain_ Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::Domain

Definition at line 615 of file comp_step.hh.

◆ Functional

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
typedef Assembler::Functional::Functional Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::Functional

Definition at line 618 of file comp_step.hh.

◆ PreconditionerFunctional

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
typedef PrecondAssembler::Functional::Functional Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::PreconditionerFunctional

Definition at line 619 of file comp_step.hh.

◆ Range

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
typedef Range_ Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::Range

Definition at line 616 of file comp_step.hh.

◆ Scalar

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
typedef Traits::Scalar Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::Scalar

Definition at line 621 of file comp_step.hh.

◆ Traits

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
typedef OptimalControlTraits<Functional,Assembler> Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::Traits

Definition at line 620 of file comp_step.hh.

Constructor & Destructor Documentation

◆ DirectNormalSolver()

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::DirectNormalSolver ( PreconditionerFunctional const &  pf_,
DirectType  directType_ = DirectType::UMFPACK3264,
MatrixProperties  properties_ = MatrixProperties::GENERAL,
int  verbosity_ = 1 
)
inlineexplicit

Definition at line 624 of file comp_step.hh.

◆ ~DirectNormalSolver()

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
virtual Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::~DirectNormalSolver ( )
inlinevirtual

Definition at line 628 of file comp_step.hh.

Member Function Documentation

◆ apply()

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
virtual void Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::apply ( Domain v,
const Range d 
)
inlinevirtual

Definition at line 632 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 Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
virtual void Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::post ( Domain x)
inlinevirtual

Definition at line 630 of file comp_step.hh.

◆ pre()

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
virtual void Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::pre ( Domain x,
Range b 
)
inlinevirtual

Definition at line 629 of file comp_step.hh.

◆ setEps()

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

◆ setRelativeAccuracy()

template<class Assembler_ , class PrecondAssembler , class Domain_ , class Range_ , class VariableSet , int components = Assembler_::Grid::dimension>
virtual void Kaskade::DirectNormalSolver< Assembler_, PrecondAssembler, Domain_, Range_, VariableSet, components >::setRelativeAccuracy ( double  )
inlinevirtual

Reimplemented from Kaskade::AbstractNormalDirection.

Definition at line 634 of file comp_step.hh.

◆ 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.


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