MODFLOW 6
version 6.5.0.dev2
MODFLOW 6 Code Documentation
|
Specify times for some event(s) to occur.
Data Types | |
type | timeselecttype |
Represents a series of instants at which some event should occur. More... | |
Functions/Subroutines | |
subroutine | destroy (this) |
Destroy the time selection object. More... | |
subroutine | expand (this, increment) |
Expand capacity by the given amount. Resets the current slice. More... | |
subroutine | init (this) |
Initialize or clear the time selection object. More... | |
logical(lgp) function | increasing (this) |
Determine if times strictly increase. Returns true if empty or not yet allocated. More... | |
subroutine | select (this, t0, t1, changed) |
Select times between t0 and t1 (inclusive). More... | |
subroutine | try_advance (this) |
Update the selection to match the current time step. More... | |
subroutine timeselectmodule::destroy | ( | class(timeselecttype) | this | ) |
Definition at line 33 of file TimeSelect.f90.
subroutine timeselectmodule::expand | ( | class(timeselecttype) | this, |
integer(i4b), intent(in), optional | increment | ||
) |
Definition at line 39 of file TimeSelect.f90.
logical(lgp) function timeselectmodule::increasing | ( | class(timeselecttype) | this | ) |
Definition at line 55 of file TimeSelect.f90.
subroutine timeselectmodule::init | ( | class(timeselecttype) | this | ) |
Definition at line 47 of file TimeSelect.f90.
subroutine timeselectmodule::select | ( | class(timeselecttype) | this, |
real(dp), intent(in) | t0, | ||
real(dp), intent(in) | t1, | ||
logical(lgp), intent(inout), optional | changed | ||
) |
Finds and stores the index of the first time at the same instant as or following the start time, and of the last time at the same instant as or preceding the end time. Allows filtering the times for e.g. a particular stress period and time step. Array indices are assumed to start at 1. If no times are found to fall within the selection (i.e. it falls entirely between two consecutive times or beyond the time range), indices are set to [-1, -1].
The given start and end times are first checked against currently stored indices to avoid recalculating them if possible, allowing multiple consuming components (e.g., subdomain particle tracking solutions) to share the object efficiently, provided all proceed through stress periods and time steps in lockstep, i.e. they all solve any given period/step before any will proceed to the next.
Definition at line 92 of file TimeSelect.f90.
subroutine timeselectmodule::try_advance | ( | class(timeselecttype) | this | ) |
Definition at line 153 of file TimeSelect.f90.