tem_abortCriteria_type Derived Type

type, public :: tem_abortCriteria_type

Definition of the various abort criteria.

Currently we only have two in addition to the time controlled and erroneous aborts. Solvers may pass an additional type to load extra parameters for aborts from the abortcriteria table.


Inherits

type~~tem_abortcriteria_type~~InheritsGraph type~tem_abortcriteria_type tem_abortCriteria_type type~tem_convergence_type tem_convergence_type type~tem_abortcriteria_type->type~tem_convergence_type convergence type~tem_comm_env_type tem_comm_env_type type~tem_convergence_type->type~tem_comm_env_type proc type~tem_convergenceheader_type tem_convergenceHeader_type type~tem_convergence_type->type~tem_convergenceheader_type header type~tem_reduction_spatial_type tem_reduction_spatial_type type~tem_convergence_type->type~tem_reduction_spatial_type redSpatial type~tem_subtree_type tem_subTree_type type~tem_convergence_type->type~tem_subtree_type subTree type~tem_varmap_type tem_varMap_type type~tem_convergence_type->type~tem_varmap_type varMap type~tem_condition_type tem_condition_type type~tem_convergenceheader_type->type~tem_condition_type cond type~tem_reduction_spatial_config_type tem_reduction_spatial_config_type type~tem_convergenceheader_type->type~tem_reduction_spatial_config_type redSpatial_config type~tem_shape_type tem_shape_type type~tem_convergenceheader_type->type~tem_shape_type geometry type~tem_timecontrol_type tem_timeControl_type type~tem_convergenceheader_type->type~tem_timecontrol_type timeControl type~tem_global_type tem_global_type type~tem_subtree_type->type~tem_global_type global type~tem_property_type tem_property_type type~tem_subtree_type->type~tem_property_type Property type~grw_intarray_type grw_intarray_type type~tem_varmap_type->type~grw_intarray_type varPos type~grw_labelarray_type grw_labelarray_type type~tem_varmap_type->type~grw_labelarray_type varName type~tem_prophead_type tem_prophead_type type~tem_global_type->type~tem_prophead_type Property type~tem_canonicalnd_type tem_canonicalND_type type~tem_shape_type->type~tem_canonicalnd_type canoND type~tem_cylinder_type tem_cylinder_type type~tem_shape_type->type~tem_cylinder_type cylinder type~tem_ellipsoid_type tem_ellipsoid_type type~tem_shape_type->type~tem_ellipsoid_type ellipsoid type~tem_sphere_type tem_sphere_type type~tem_shape_type->type~tem_sphere_type sphere type~tem_stldata_type tem_stlData_type type~tem_shape_type->type~tem_stldata_type stl_data type~tem_triangle_type tem_triangle_type type~tem_shape_type->type~tem_triangle_type triangle type~tem_time_type tem_time_type type~tem_timecontrol_type->type~tem_time_type min, max, interval, trigger

Inherited by

type~~tem_abortcriteria_type~~InheritedByGraph type~tem_abortcriteria_type tem_abortCriteria_type type~tem_simcontrol_type tem_simControl_type type~tem_simcontrol_type->type~tem_abortcriteria_type abortCriteria type~tem_general_type tem_general_type type~tem_general_type->type~tem_simcontrol_type simControl

Components

Type Visibility Attributes Name Initial
character(len=labelLen), public :: stop_file

A file which should cause the simulation to stop. Default: ''.

If this is a non empty string, the solver will stop at the next opportunity if it detects a file with the name provided here in the current working directory. Thus the simulation could be stopped by doing a "touch stop" in the working directory of the application. Such an empty file will be deleted, after it is detected. If you want the stop file to stay on the file system, there has to be something in it, which can be achieved by "echo keep > stop" for example.

logical, public :: steady_state

Should the simulation be checked for a steady state convergence and stop if it is detected? Default: .false.

type(tem_convergence_type), public, allocatable :: convergence(:)

Convergence conditions for steady state check. Filled only when steady_state is True


Source Code

  type tem_abortCriteria_type
    !> A file which should cause the simulation to stop.
    !! Default: ''.
    !!
    !! If this is a non empty string, the solver will stop at the next
    !! opportunity if it detects a file with the name provided here in the
    !! current working directory. Thus the simulation could be stopped by
    !! doing a "touch stop" in the working directory of the application.
    !! Such an empty file will be deleted, after it is detected.
    !! If you want the stop file to stay on the file system, there has to
    !! be something in it, which can be achieved by "echo keep > stop"
    !! for example.
    character(len=labelLen) :: stop_file

    !> Should the simulation be checked for a steady state convergence and
    !! stop if it is detected? Default: .false.
    logical :: steady_state

    !> Convergence conditions for steady state check.
    !! Filled only when steady_state is True
    type(tem_convergence_type), allocatable :: convergence(:)

  end type tem_abortCriteria_type