public subroutine tem_convergence_load(me, conf, parent, steady_state)
Load the convergence definition table
The convergence object must be part of a convergence object, for which the
format has been set to format = 'convergence'
In the convergence table, you then must define a norm:
simple: just check against the state value of the last check, and reach
convergence if below the defined threshold
average: build the average over a defined set of last checks with nvals
stop, if the difference to the current state value is below the
given threshold
nvals: define, how many last checks should be taken into account for
averaging procedure
The error is by default calculated to be a relative error. If an absolute
error is desired, choose absolute=true in the convergence object
The stopping criterion is defined as a general condition object, where the
threshold and the operator has to be given
condition={threshold=1.E-6,operator='<'}
A sample convergence object with a convergence definition can look as
follows (within time_control table):
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.