3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dumux::MultiDomainNewtonSolver< Assembler, LinearSolver, CouplingManager, Reassembler, Comm > Class Template Reference

Newton sover for coupled problems. More...

#include <dumux/multidomain/newtonsolver.hh>

Inheritance diagram for Dumux::MultiDomainNewtonSolver< Assembler, LinearSolver, CouplingManager, Reassembler, Comm >:
Inheritance graph

Description

template<class Assembler, class LinearSolver, class CouplingManager, class Reassembler = DefaultPartialReassembler, class Comm = Dune::CollectiveCommunication<Dune::MPIHelper::MPICommunicator>>
class Dumux::MultiDomainNewtonSolver< Assembler, LinearSolver, CouplingManager, Reassembler, Comm >

Newton sover for coupled problems.

Public Types

using Communication = Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator >
 

Public Member Functions

 MultiDomainNewtonSolver (std::shared_ptr< Assembler > assembler, std::shared_ptr< LinearSolver > linearSolver, std::shared_ptr< CouplingManager > couplingManager, const Comm &comm=Dune::MPIHelper::getCollectiveCommunication(), const std::string &paramGroup="")
 The constructor. More...
 
void newtonBeginStep (const SolutionVector &uCurrentIter) override
 Indicates the beginning of a Newton iteration. More...
 
void newtonBegin (SolutionVector &u) override
 Called before the Newton method is applied to an non-linear system of equations. More...
 
bool newtonConverged () const override
 Returns true if the error of the solution is below the tolerance. More...
 
void newtonEndStep (SolutionVector &uCurrentIter, const SolutionVector &uLastIter) override
 Indicates that one Newton iteration was finished. More...
 
const Communicationcomm () const
 the communicator for parallel runs More...
 
void setMaxRelativeShift (Scalar tolerance)
 Set the maximum acceptable difference of any primary variable between two iterations for declaring convergence. More...
 
void setMaxAbsoluteResidual (Scalar tolerance)
 Set the maximum acceptable absolute residual for declaring convergence. More...
 
void setResidualReduction (Scalar tolerance)
 Set the maximum acceptable residual norm reduction. More...
 
void setTargetSteps (int targetSteps)
 Set the number of iterations at which the Newton method should aim at. More...
 
void setMinSteps (int minSteps)
 Set the number of minimum iterations for the Newton method. More...
 
void setMaxSteps (int maxSteps)
 Set the number of iterations after which the Newton method gives up. More...
 
void solve (SolutionVector &uCurrentIter, TimeLoop &timeLoop, std::shared_ptr< ConvergenceWriter > convWriter)
 Run the Newton method to solve a non-linear system. Does time step control when the Newton fails to converge. More...
 
void solve (SolutionVector &uCurrentIter, TimeLoop &timeLoop) override
 Run the Newton method to solve a non-linear system. Does time step control when the Newton fails to converge. More...
 
void solve (SolutionVector &uCurrentIter) override
 Run the Newton method to solve a non-linear system. The solver is responsible for all the strategic decisions. More...
 
virtual bool newtonProceed (const SolutionVector &uCurrentIter, bool converged)
 Returns true if another iteration should be done. More...
 
virtual void assembleLinearSystem (const SolutionVector &uCurrentIter)
 Assemble the linear system of equations \(\mathbf{A}x - b = 0\). More...
 
void solveLinearSystem (SolutionVector &deltaU)
 Solve the linear system of equations \(\mathbf{A}x - b = 0\). More...
 
void newtonUpdate (SolutionVector &uCurrentIter, const SolutionVector &uLastIter, const SolutionVector &deltaU)
 Update the current solution with a delta vector. More...
 
virtual void newtonEnd ()
 Called if the Newton method ended (not known yet if we failed or succeeded) More...
 
virtual void newtonFail (SolutionVector &u)
 Called if the Newton method broke down. This method is called after newtonEnd() More...
 
virtual void newtonSucceed ()
 Called if the Newton method ended successfully This method is called after newtonEnd() More...
 
void report (std::ostream &sout=std::cout) const
 output statistics / report More...
 
void resetReport ()
 reset the statistics More...
 
void reportParams (std::ostream &sout=std::cout) const
 Report the options and parameters this Newton is configured with. More...
 
Scalar suggestTimeStepSize (Scalar oldTimeStep) const
 Suggest a new time-step size based on the old time-step size. More...
 
void setVerbose (bool val)
 Specifies if the Newton method ought to be chatty. More...
 
bool verbose () const
 Returns true if the Newton method ought to be chatty. More...
 
void setVerbosity (int val)
 Specifies the verbosity level. More...
 
int verbosity () const
 Return the verbosity level. More...
 
const std::string & paramGroup () const
 Returns the parameter group. More...
 
void attachConvergenceWriter (std::shared_ptr< ConvergenceWriter > convWriter)
 Attach a convergence writer to write out intermediate results after each iteration. More...
 
void detachConvergenceWriter ()
 Detach the convergence writer to stop the output. More...
 

Protected Member Functions

void computeResidualReduction_ (const SolutionVector &uCurrentIter)
 
bool enableResidualCriterion () const
 
void initPriVarSwitch_ (SolutionVector &, std::false_type)
 Initialize the privar switch, noop if there is no priVarSwitch. More...
 
void initPriVarSwitch_ (SolutionVector &sol, std::true_type)
 Initialize the privar switch. More...
 
void invokePriVarSwitch_ (SolutionVector &, std::false_type)
 Switch primary variables if necessary, noop if there is no priVarSwitch. More...
 
void invokePriVarSwitch_ (SolutionVector &uCurrentIter, std::true_type)
 Switch primary variables if necessary. More...
 
const Assembler & assembler () const
 Access the assembler. More...
 
Assembler & assembler ()
 Access the assembler. More...
 
const LinearSolverlinearSolver () const
 Access the linear solver. More...
 
LinearSolverlinearSolver ()
 Access the linear solver. More...
 

Protected Attributes

int targetSteps_
 optimal number of iterations we want to achieve More...
 
int minSteps_
 minimum number of iterations we do More...
 
int maxSteps_
 maximum number of iterations we do before giving up More...
 
int numSteps_
 actual number of steps done so far More...
 
Scalar reduction_
 
Scalar residualNorm_
 
Scalar lastReduction_
 
Scalar initialResidual_
 
Scalar shift_
 
Scalar lastShift_
 
std::ostringstream endIterMsgStream_
 message stream to be displayed at the end of iterations More...
 

Member Typedef Documentation

◆ Communication

using Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::Communication = Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator >
inherited

Constructor & Destructor Documentation

◆ MultiDomainNewtonSolver()

template<class Assembler , class LinearSolver , class CouplingManager , class Reassembler = DefaultPartialReassembler, class Comm = Dune::CollectiveCommunication<Dune::MPIHelper::MPICommunicator>>
Dumux::MultiDomainNewtonSolver< Assembler, LinearSolver, CouplingManager, Reassembler, Comm >::MultiDomainNewtonSolver ( std::shared_ptr< Assembler >  assembler,
std::shared_ptr< LinearSolver linearSolver,
std::shared_ptr< CouplingManager couplingManager,
const Comm &  comm = Dune::MPIHelper::getCollectiveCommunication(),
const std::string &  paramGroup = "" 
)
inline

The constructor.

Member Function Documentation

◆ assembleLinearSystem()

virtual void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::assembleLinearSystem ( const SolutionVector &  uCurrentIter)
inlinevirtualinherited

Assemble the linear system of equations \(\mathbf{A}x - b = 0\).

Parameters
uCurrentIterThe current iteration's solution vector

◆ assembler() [1/2]

template<class Assembler , class LinearSolver >
Assembler & Dumux::PDESolver< Assembler, LinearSolver >::assembler ( )
inlineprotectedinherited

Access the assembler.

◆ assembler() [2/2]

template<class Assembler , class LinearSolver >
const Assembler & Dumux::PDESolver< Assembler, LinearSolver >::assembler ( ) const
inlineprotectedinherited

Access the assembler.

◆ attachConvergenceWriter()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::attachConvergenceWriter ( std::shared_ptr< ConvergenceWriter convWriter)
inlineinherited

Attach a convergence writer to write out intermediate results after each iteration.

◆ comm()

const Communication & Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::comm ( ) const
inlineinherited

the communicator for parallel runs

◆ computeResidualReduction_()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::computeResidualReduction_ ( const SolutionVector &  uCurrentIter)
inlineprotectedinherited

◆ detachConvergenceWriter()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::detachConvergenceWriter ( )
inlineinherited

Detach the convergence writer to stop the output.

◆ enableResidualCriterion()

bool Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::enableResidualCriterion ( ) const
inlineprotectedinherited

◆ initPriVarSwitch_() [1/2]

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::initPriVarSwitch_ ( SolutionVector &  ,
std::false_type   
)
inlineprotectedinherited

Initialize the privar switch, noop if there is no priVarSwitch.

◆ initPriVarSwitch_() [2/2]

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::initPriVarSwitch_ ( SolutionVector &  sol,
std::true_type   
)
inlineprotectedinherited

Initialize the privar switch.

◆ invokePriVarSwitch_() [1/2]

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::invokePriVarSwitch_ ( SolutionVector &  ,
std::false_type   
)
inlineprotectedinherited

Switch primary variables if necessary, noop if there is no priVarSwitch.

◆ invokePriVarSwitch_() [2/2]

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::invokePriVarSwitch_ ( SolutionVector &  uCurrentIter,
std::true_type   
)
inlineprotectedinherited

Switch primary variables if necessary.

◆ linearSolver() [1/2]

template<class Assembler , class LinearSolver >
LinearSolver & Dumux::PDESolver< Assembler, LinearSolver >::linearSolver ( )
inlineprotectedinherited

Access the linear solver.

◆ linearSolver() [2/2]

template<class Assembler , class LinearSolver >
const LinearSolver & Dumux::PDESolver< Assembler, LinearSolver >::linearSolver ( ) const
inlineprotectedinherited

Access the linear solver.

◆ newtonBegin()

template<class Assembler , class LinearSolver , class CouplingManager , class Reassembler = DefaultPartialReassembler, class Comm = Dune::CollectiveCommunication<Dune::MPIHelper::MPICommunicator>>
void Dumux::MultiDomainNewtonSolver< Assembler, LinearSolver, CouplingManager, Reassembler, Comm >::newtonBegin ( SolutionVector &  u)
inlineoverridevirtual

Called before the Newton method is applied to an non-linear system of equations.

Parameters
uThe initial solution

Reimplemented from Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler, Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >.

◆ newtonBeginStep()

template<class Assembler , class LinearSolver , class CouplingManager , class Reassembler = DefaultPartialReassembler, class Comm = Dune::CollectiveCommunication<Dune::MPIHelper::MPICommunicator>>
void Dumux::MultiDomainNewtonSolver< Assembler, LinearSolver, CouplingManager, Reassembler, Comm >::newtonBeginStep ( const SolutionVector &  uCurrentIter)
inlineoverridevirtual

◆ newtonConverged()

template<class Assembler , class LinearSolver , class CouplingManager , class Reassembler = DefaultPartialReassembler, class Comm = Dune::CollectiveCommunication<Dune::MPIHelper::MPICommunicator>>
bool Dumux::MultiDomainNewtonSolver< Assembler, LinearSolver, CouplingManager, Reassembler, Comm >::newtonConverged ( ) const
inlineoverridevirtual

◆ newtonEnd()

virtual void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::newtonEnd ( )
inlinevirtualinherited

Called if the Newton method ended (not known yet if we failed or succeeded)

◆ newtonEndStep()

template<class Assembler , class LinearSolver , class CouplingManager , class Reassembler = DefaultPartialReassembler, class Comm = Dune::CollectiveCommunication<Dune::MPIHelper::MPICommunicator>>
void Dumux::MultiDomainNewtonSolver< Assembler, LinearSolver, CouplingManager, Reassembler, Comm >::newtonEndStep ( SolutionVector &  uCurrentIter,
const SolutionVector &  uLastIter 
)
inlineoverridevirtual

Indicates that one Newton iteration was finished.

Parameters
uCurrentIterThe solution after the current Newton iteration
uLastIterThe solution at the beginning of the current Newton iteration

Reimplemented from Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler, Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >.

◆ newtonFail()

virtual void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::newtonFail ( SolutionVector &  u)
inlinevirtualinherited

Called if the Newton method broke down. This method is called after newtonEnd()

◆ newtonProceed()

virtual bool Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::newtonProceed ( const SolutionVector &  uCurrentIter,
bool  converged 
)
inlinevirtualinherited

Returns true if another iteration should be done.

Parameters
uCurrentIterThe solution of the current Newton iteration
convergedif the Newton method's convergence criterion was met in this step

◆ newtonSucceed()

virtual void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::newtonSucceed ( )
inlinevirtualinherited

Called if the Newton method ended successfully This method is called after newtonEnd()

◆ newtonUpdate()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::newtonUpdate ( SolutionVector &  uCurrentIter,
const SolutionVector &  uLastIter,
const SolutionVector &  deltaU 
)
inlineinherited

Update the current solution with a delta vector.

The error estimates required for the newtonConverged() and newtonProceed() methods should be updated inside this method.

Different update strategies, such as line search and chopped updates can be implemented. The default behavior is just to subtract deltaU from uLastIter, i.e.

\[ u^{k+1} = u^k - \Delta u^k \]

Parameters
uCurrentIterThe solution vector after the current iteration
uLastIterThe solution vector after the last iteration
deltaUThe delta as calculated from solving the linear system of equations. This parameter also stores the updated solution.

◆ paramGroup()

const std::string & Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::paramGroup ( ) const
inlineinherited

Returns the parameter group.

◆ report()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::report ( std::ostream &  sout = std::cout) const
inlineinherited

output statistics / report

◆ reportParams()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::reportParams ( std::ostream &  sout = std::cout) const
inlineinherited

Report the options and parameters this Newton is configured with.

◆ resetReport()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::resetReport ( )
inlineinherited

reset the statistics

◆ setMaxAbsoluteResidual()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::setMaxAbsoluteResidual ( Scalar  tolerance)
inlineinherited

Set the maximum acceptable absolute residual for declaring convergence.

Parameters
toleranceThe maximum absolute residual at which the scheme is considered finished

◆ setMaxRelativeShift()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::setMaxRelativeShift ( Scalar  tolerance)
inlineinherited

Set the maximum acceptable difference of any primary variable between two iterations for declaring convergence.

Parameters
toleranceThe maximum relative shift between two Newton iterations at which the scheme is considered finished

◆ setMaxSteps()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::setMaxSteps ( int  maxSteps)
inlineinherited

Set the number of iterations after which the Newton method gives up.

Parameters
maxStepsNumber of iterations after we give up

◆ setMinSteps()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::setMinSteps ( int  minSteps)
inlineinherited

Set the number of minimum iterations for the Newton method.

Parameters
minStepsMinimum number of iterations

◆ setResidualReduction()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::setResidualReduction ( Scalar  tolerance)
inlineinherited

Set the maximum acceptable residual norm reduction.

Parameters
toleranceThe maximum reduction of the residual norm at which the scheme is considered finished

◆ setTargetSteps()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::setTargetSteps ( int  targetSteps)
inlineinherited

Set the number of iterations at which the Newton method should aim at.

This is used to control the time-step size. The heuristic used is to scale the last time-step size by the deviation of the number of iterations used from the target steps.

Parameters
targetStepsNumber of iterations which are considered "optimal"

◆ setVerbose()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::setVerbose ( bool  val)
inlineinherited

Specifies if the Newton method ought to be chatty.

◆ setVerbosity()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::setVerbosity ( int  val)
inlineinherited

Specifies the verbosity level.

◆ solve() [1/3]

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::solve ( SolutionVector &  uCurrentIter)
inlineoverridevirtualinherited

Run the Newton method to solve a non-linear system. The solver is responsible for all the strategic decisions.

Implements Dumux::PDESolver< Assembler, LinearSolver >.

◆ solve() [2/3]

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::solve ( SolutionVector &  uCurrentIter,
TimeLoop timeLoop 
)
inlineoverridevirtualinherited

Run the Newton method to solve a non-linear system. Does time step control when the Newton fails to converge.

Reimplemented from Dumux::PDESolver< Assembler, LinearSolver >.

◆ solve() [3/3]

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::solve ( SolutionVector &  uCurrentIter,
TimeLoop timeLoop,
std::shared_ptr< ConvergenceWriter convWriter 
)
inlineinherited

Run the Newton method to solve a non-linear system. Does time step control when the Newton fails to converge.

◆ solveLinearSystem()

void Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::solveLinearSystem ( SolutionVector &  deltaU)
inlineinherited

Solve the linear system of equations \(\mathbf{A}x - b = 0\).

Throws Dumux::NumericalProblem if the linear solver didn't converge.

If the linear solver doesn't accept multitype matrices we copy the matrix into a 1x1 block BCRS matrix for solving.

Parameters
deltaUThe difference between the current and the next solution

◆ suggestTimeStepSize()

Scalar Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::suggestTimeStepSize ( Scalar  oldTimeStep) const
inlineinherited

Suggest a new time-step size based on the old time-step size.

The default behavior is to suggest the old time-step size scaled by the ratio between the target iterations and the iterations required to actually solve the last time-step.

◆ verbose()

bool Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::verbose ( ) const
inlineinherited

Returns true if the Newton method ought to be chatty.

◆ verbosity()

int Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::verbosity ( ) const
inlineinherited

Return the verbosity level.

Member Data Documentation

◆ endIterMsgStream_

std::ostringstream Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::endIterMsgStream_
protectedinherited

message stream to be displayed at the end of iterations

◆ initialResidual_

Scalar Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::initialResidual_
protectedinherited

◆ lastReduction_

Scalar Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::lastReduction_
protectedinherited

◆ lastShift_

Scalar Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::lastShift_
protectedinherited

◆ maxSteps_

int Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::maxSteps_
protectedinherited

maximum number of iterations we do before giving up

◆ minSteps_

int Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::minSteps_
protectedinherited

minimum number of iterations we do

◆ numSteps_

int Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::numSteps_
protectedinherited

actual number of steps done so far

◆ reduction_

Scalar Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::reduction_
protectedinherited

◆ residualNorm_

Scalar Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::residualNorm_
protectedinherited

◆ shift_

Scalar Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::shift_
protectedinherited

◆ targetSteps_

int Dumux::NewtonSolver< Assembler, LinearSolver, DefaultPartialReassembler , Dune::CollectiveCommunication< Dune::MPIHelper::MPICommunicator > >::targetSteps_
protectedinherited

optimal number of iterations we want to achieve


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