Flow123d  DF_profiler_memory_monitor-83fd579
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
IterativeCoupling Class Referenceabstract

#include <hm_iterative.hh>

Inheritance diagram for IterativeCoupling:
Inheritance graph
[legend]

Public Member Functions

 TYPEDEF_ERR_INFO (EI_Reason, string)
 
 DECLARE_EXCEPTION (ExcSolverDiverge,<< "Nonlinear solver did not converge. Reason: "<< EI_Reason::val)
 
 IterativeCoupling (Input::Record in_record)
 
void solve_step ()
 
unsigned int iteration ()
 

Static Public Member Functions

static const Input::Type::Recordrecord_template ()
 

Protected Member Functions

virtual void solve_iteration ()=0
 Solve equations and update data (fields). More...
 
virtual void compute_iteration_error (double &abs_error, double &rel_error)=0
 Compute absolute and relative error in the solution. More...
 
virtual void update_after_iteration ()=0
 Save data (e.g. solution fields) for the next iteration. More...
 
virtual void update_after_converged ()=0
 Save data after iterations have finished. More...
 

Protected Attributes

unsigned int min_it_
 Minimal number of iterations to perform. More...
 
unsigned int max_it_
 Maximal number of iterations. More...
 
double a_tol_
 Absolute tolerance for difference between two succeeding iterations. More...
 
double r_tol_
 Relative tolerance for difference between two succeeding iterations. More...
 

Private Attributes

unsigned int it
 Iteration index. More...
 

Detailed Description

Definition at line 43 of file hm_iterative.hh.

Constructor & Destructor Documentation

◆ IterativeCoupling()

IterativeCoupling::IterativeCoupling ( Input::Record  in_record)
inline

Definition at line 64 of file hm_iterative.hh.

Member Function Documentation

◆ compute_iteration_error()

virtual void IterativeCoupling::compute_iteration_error ( double &  abs_error,
double &  rel_error 
)
protectedpure virtual

Compute absolute and relative error in the solution.

Implemented in HM_Iterative.

Here is the caller graph for this function:

◆ DECLARE_EXCEPTION()

IterativeCoupling::DECLARE_EXCEPTION ( ExcSolverDiverge  ,
<< "Nonlinear solver did not converge. Reason: "<< EI_Reason::val   
)

◆ iteration()

unsigned int IterativeCoupling::iteration ( )
inline

Definition at line 91 of file hm_iterative.hh.

Here is the caller graph for this function:

◆ record_template()

static const Input::Type::Record& IterativeCoupling::record_template ( )
inlinestatic

Definition at line 50 of file hm_iterative.hh.

Here is the caller graph for this function:

◆ solve_iteration()

virtual void IterativeCoupling::solve_iteration ( )
protectedpure virtual

Solve equations and update data (fields).

Implemented in HM_Iterative.

Here is the caller graph for this function:

◆ solve_step()

void IterativeCoupling::solve_step ( )
inline

Definition at line 73 of file hm_iterative.hh.

Here is the caller graph for this function:

◆ TYPEDEF_ERR_INFO()

IterativeCoupling::TYPEDEF_ERR_INFO ( EI_Reason  ,
string   
)

◆ update_after_converged()

virtual void IterativeCoupling::update_after_converged ( )
protectedpure virtual

Save data after iterations have finished.

Implemented in HM_Iterative.

Here is the caller graph for this function:

◆ update_after_iteration()

virtual void IterativeCoupling::update_after_iteration ( )
protectedpure virtual

Save data (e.g. solution fields) for the next iteration.

Implemented in HM_Iterative.

Here is the caller graph for this function:

Member Data Documentation

◆ a_tol_

double IterativeCoupling::a_tol_
protected

Absolute tolerance for difference between two succeeding iterations.

Definition at line 116 of file hm_iterative.hh.

◆ it

unsigned int IterativeCoupling::it
private

Iteration index.

Definition at line 124 of file hm_iterative.hh.

◆ max_it_

unsigned int IterativeCoupling::max_it_
protected

Maximal number of iterations.

Definition at line 113 of file hm_iterative.hh.

◆ min_it_

unsigned int IterativeCoupling::min_it_
protected

Minimal number of iterations to perform.

Definition at line 110 of file hm_iterative.hh.

◆ r_tol_

double IterativeCoupling::r_tol_
protected

Relative tolerance for difference between two succeeding iterations.

Definition at line 119 of file hm_iterative.hh.


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