dune-pdelab  2.5-dev
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV > Class Template Referenceabstract

#include <dune/pdelab/newton/newton.hh>

Inheritance diagram for Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >:
Inheritance graph

Public Types

typedef NewtonResult< RFType > Result
 

Public Member Functions

 NewtonPrepareStep (const GridOperator &go, TrialVector &u_)
 
 NewtonPrepareStep (const GridOperator &go)
 
void setMinLinearReduction (RFType min_linear_reduction)
 set the minimal reduction in the linear solver More...
 
void setFixedLinearReduction (bool fixed_linear_reduction)
 set a fixed reduction in the linear solver (overwrites setMinLinearReduction) More...
 
void setReassembleThreshold (RFType reassemble_threshold)
 set a threshold, when the linear operator is reassembled More...
 
virtual void prepare_step (Matrix &A, TstV &)
 
void setVerbosityLevel (unsigned int verbosity_level)
 
void setKeepMatrix (bool b)
 Set whether the jacobian matrix should be kept across calls to apply(). More...
 
bool keepMatrix () const
 Return whether the jacobian matrix is kept across calls to apply(). More...
 
void discardMatrix ()
 Discard the stored Jacobian matrix. More...
 

Protected Member Functions

virtual bool terminate ()=0
 
virtual void line_search (TrialVector &z, TestVector &r)=0
 
virtual void defect (TestVector &r)=0
 

Protected Attributes

const GridOperator & gridoperator_
 
TrialVector * u_
 
std::shared_ptr< TrialVector > z_
 
std::shared_ptr< TestVector > r_
 
std::shared_ptr< Matrix > A_
 
Result res_
 
unsigned int verbosity_level_
 
RFType prev_defect_
 
RFType linear_reduction_
 
bool reassembled_
 
RFType reduction_
 
RFType abs_limit_
 
bool keep_matrix_
 

Member Typedef Documentation

§ Result

template<class GOS , class TrlV , class TstV >
typedef NewtonResult<RFType> Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::Result
inherited

Constructor & Destructor Documentation

§ NewtonPrepareStep() [1/2]

template<class GOS , class TrlV , class TstV >
Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::NewtonPrepareStep ( const GridOperator &  go,
TrialVector &  u_ 
)
inline

§ NewtonPrepareStep() [2/2]

template<class GOS , class TrlV , class TstV >
Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::NewtonPrepareStep ( const GridOperator &  go)
inline

Member Function Documentation

§ defect()

template<class GOS , class TrlV , class TstV >
virtual void Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::defect ( TestVector &  r)
protectedpure virtualinherited

§ discardMatrix()

template<class GOS , class TrlV , class TstV >
void Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::discardMatrix ( )
inlineinherited

Discard the stored Jacobian matrix.

§ keepMatrix()

template<class GOS , class TrlV , class TstV >
bool Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::keepMatrix ( ) const
inlineinherited

Return whether the jacobian matrix is kept across calls to apply().

§ line_search()

template<class GOS , class TrlV , class TstV >
virtual void Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::line_search ( TrialVector &  z,
TestVector &  r 
)
protectedpure virtualinherited

§ prepare_step()

template<class GOS , class TrlV , class TstV >
virtual void Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::prepare_step ( Matrix &  A,
TstV &   
)
inlinevirtual

§ setFixedLinearReduction()

template<class GOS , class TrlV , class TstV >
void Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::setFixedLinearReduction ( bool  fixed_linear_reduction)
inline

set a fixed reduction in the linear solver (overwrites setMinLinearReduction)

Note
with fixed_linear_reduction > 0, the linear reduction rate will always be fixed to min_linear_reduction.

§ setKeepMatrix()

template<class GOS , class TrlV , class TstV >
void Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::setKeepMatrix ( bool  b)
inlineinherited

Set whether the jacobian matrix should be kept across calls to apply().

§ setMinLinearReduction()

template<class GOS , class TrlV , class TstV >
void Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::setMinLinearReduction ( RFType  min_linear_reduction)
inline

set the minimal reduction in the linear solver

Note
with min_linear_reduction > 0, the linear reduction will be determined as mininum of the min_linear_reduction and the linear_reduction needed to achieve second order Newton convergence.

§ setReassembleThreshold()

template<class GOS , class TrlV , class TstV >
void Dune::PDELab::NewtonPrepareStep< GOS, TrlV, TstV >::setReassembleThreshold ( RFType  reassemble_threshold)
inline

set a threshold, when the linear operator is reassembled

We allow to keep the linear operator over several newton iterations. If the reduction in the newton drops below a given threshold the linear operator is reassembled to ensure convergence.

§ setVerbosityLevel()

template<class GOS , class TrlV , class TstV >
void Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::setVerbosityLevel ( unsigned int  verbosity_level)
inlineinherited

§ terminate()

template<class GOS , class TrlV , class TstV >
virtual bool Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::terminate ( )
protectedpure virtualinherited

Member Data Documentation

§ A_

template<class GOS , class TrlV , class TstV >
std::shared_ptr<Matrix> Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::A_
protectedinherited

§ abs_limit_

template<class GOS , class TrlV , class TstV >
RFType Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::abs_limit_
protectedinherited

§ gridoperator_

template<class GOS , class TrlV , class TstV >
const GridOperator& Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::gridoperator_
protectedinherited

§ keep_matrix_

template<class GOS , class TrlV , class TstV >
bool Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::keep_matrix_
protectedinherited

§ linear_reduction_

template<class GOS , class TrlV , class TstV >
RFType Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::linear_reduction_
protectedinherited

§ prev_defect_

template<class GOS , class TrlV , class TstV >
RFType Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::prev_defect_
protectedinherited

§ r_

template<class GOS , class TrlV , class TstV >
std::shared_ptr<TestVector> Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::r_
protectedinherited

§ reassembled_

template<class GOS , class TrlV , class TstV >
bool Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::reassembled_
protectedinherited

§ reduction_

template<class GOS , class TrlV , class TstV >
RFType Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::reduction_
protectedinherited

§ res_

template<class GOS , class TrlV , class TstV >
Result Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::res_
protectedinherited

§ u_

template<class GOS , class TrlV , class TstV >
TrialVector* Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::u_
protectedinherited

§ verbosity_level_

template<class GOS , class TrlV , class TstV >
unsigned int Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::verbosity_level_
protectedinherited

§ z_

template<class GOS , class TrlV , class TstV >
std::shared_ptr<TrialVector> Dune::PDELab::NewtonBase< GOS, TrlV, TstV >::z_
protectedinherited

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