public subroutine tem_abortCriteria_load(me, conf, parent, key, solverAborts)
Load the abortCriteria from a given configuration.
The abort_critera are defined in a table as follows:
abort_criteria={stop_file='',steady_state=false}
stop_file indicates, which file should be checked for
to stop the execution. A typical setting would for example
be stop_file = 'stop'. If the string is empty, no checks
are performed. The default is an empty string.
Empty stop files will be deleted after they are encountered.
Non-empty ones are kept.
steady_state indicates if the simulation should stop when
a steady_state solution is found. Default ist false.
If steady_state is True then load convergence table for condition to
check for steady state
Solvers may pass an additional solverAborts for specific abort parameters
to be filled from the abort_criteria 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.
Source Code
subroutine tem_abortCriteria_load(me,conf,parent,key,solverAborts)! -------------------------------------------------------------------- !!> Abort criteria to load from the Lua table.type(tem_abortCriteria_type),intent(out)::me!> Handle for the Lua script.type(flu_state)::conf!> Parent table to read from.integer,intent(in),optional::parent!> Name of the time control table. Default: 'time_control'character(len=*),intent(in),optional::key!> Solver specific abort criteria to load.class(tem_solverAborts_type),intent(inout),optional::solverAborts! -------------------------------------------------------------------- !character(len=labelLen)::loc_keyinteger::thandleinteger::iErr! -------------------------------------------------------------------- !loc_key='abort_criteria'if(present(key))loc_key=keycall aot_table_open(L=conf,&&parent=parent,&&thandle=thandle,&&key=loc_key)if(thandle/=0)then call aot_get_val(L=conf,&&thandle=thandle,&&val=me%stop_file,&&key='stop_file',&&default='',&&ErrCode=iErr)call aot_get_val(L=conf,&&thandle=thandle,&&val=me%steady_state,&&key='steady_state',&&default=.false.,&&ErrCode=iErr)if(me%steady_state)then call tem_convergence_load(me=me%convergence,&&conf=conf,&&parent=thandle,&&steady_state=me%steady_state)end if if(present(solverAborts))then call solverAborts%load(conf=conf,&&abort_table=thandle)end if elseme%stop_file=''me%steady_state=.false.end if! If no steady state is definedif(.not.me%steady_state)allocate(me%convergence(0))call aot_table_close(L=conf,&&thandle=thandle)end subroutine tem_abortCriteria_load