## Description

The $TIME_CONTROL keyword enables to activate and adjust automatically controlled time stepping.

## Parameters

PI_AUTO_STEP_SIZE, SELF_ADAPTIVE, (Coming soon: STEP_SIZE_RESTRICTION, ERROR_CONTROL_ADAPTIVE, NEUMANN, COURANT)

SELF_ADAPTIVE: The SELF_ADAPTIVE time stepping scheme enables an adjusted adaptive time stepping according to the number of iterations the iterative equation solver needs for a process. It is implemented for RICHARDS_FLOW, GROUNDWATER_FLOW, LIQUID_FLOW and multiple MASS_TRANSPORT processes. The time step size is limited by the thresholds given in maximum-time-step-size (minimum-time-step-size) and in addition automatically according to the Neumann criteria (diffusive transport) and the Courant criteria (flow). The first time step is chosen to be equal to the minimum-time-step-size defined. The time step is increased by multiplication with coeff1 (>1.0), if all processes need less than Iter1 iterations and decreased by multiplication with coeff2 (<1.0), if one process needs more than Iter2 iterations.

Following parameter must be entered to setup the self-adaptive time step control:

SELF_ADAPTIVE | keyword |

int double | Iter1 coeff1 |

int double | Iter2 coeff2 |

MAX_TIME_STEP | keyword |

int | maximum-time-step-size |

MIN_TIME_STEP | keyword |

int | minimum-time-step-size |

PI_AUTO_STEP_SIZE: The PI_AUTO_STEP_SIZE time stepping scheme applies the proportional and integral feedback (PI) time control method. It has been implemented and tested for LIQUID_FLOW, RICHARDS_FLOW, MULTIPHASE_FLOW and PS_GLOBAL. It can be specified by setting:

PI_AUTO_STEP_SIZE | keyword |

int double double double | type, relative error, absolute error, seed |

where, the first parameter (int) specifies the control type: So far only one control type is implemented, i.e. this value must be 1. The second and third parameters (double double) define the relative (2nd) and absolute (3rd) errors. The 4th value (double) defines the initial and smallest time step.