MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
Base type for particle tracking methods. More...
Public Attributes | |
character(len=40), pointer, public | name |
method name More... | |
logical(lgp), public | delegates |
whether the method delegates More... | |
type(prtfmitype), pointer, public | fmi => null() |
ptr to fmi More... | |
class(celltype), pointer, public | cell => null() |
ptr to the current cell More... | |
class(subcelltype), pointer, public | subcell => null() |
ptr to the current subcell More... | |
type(trackcontroltype), pointer, public | trackctl => null() |
ptr to track file control More... | |
type(timeselecttype), pointer, public | tracktimes => null() |
ptr to user-defined tracking times More... | |
integer(i4b), dimension(:), pointer, public, contiguous | izone => null() |
pointer to zone numbers More... | |
real(dp), dimension(:), pointer, public, contiguous | flowja => null() |
pointer to intercell flows More... | |
real(dp), dimension(:), pointer, public, contiguous | porosity => null() |
pointer to aquifer porosity More... | |
real(dp), dimension(:), pointer, public, contiguous | retfactor => null() |
pointer to retardation factor More... | |
Private Member Functions | |
procedure(apply), deferred | apply |
procedure(deallocate), deferred | deallocate |
procedure | load |
procedure | init |
procedure | track |
procedure | try_pass |
procedure | check |
The PRT tracking algorithm invokes a "tracking method" for each domain. A domain can be a model, cell in a model, or subcell in a cell. Tracking proceeds recursively, delegating to a possibly arbitrary number of subdomains (currently, only the three above are recognized). A tracking method is responsible for advancing a particle through a domain, delegating to subdomains as needed depending on cell geometry (implementing the strategy pattern).
Definition at line 31 of file Method.f90.
|
private |
Definition at line 45 of file Method.f90.
|
private |
Definition at line 55 of file Method.f90.
|
private |
Definition at line 46 of file Method.f90.
|
private |
Definition at line 51 of file Method.f90.
|
private |
Definition at line 49 of file Method.f90.
|
private |
Definition at line 53 of file Method.f90.
|
private |
Definition at line 54 of file Method.f90.
class(celltype), pointer, public methodmodule::methodtype::cell => null() |
Definition at line 35 of file Method.f90.
logical(lgp), public methodmodule::methodtype::delegates |
Definition at line 33 of file Method.f90.
real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::flowja => null() |
Definition at line 40 of file Method.f90.
type(prtfmitype), pointer, public methodmodule::methodtype::fmi => null() |
Definition at line 34 of file Method.f90.
integer(i4b), dimension(:), pointer, public, contiguous methodmodule::methodtype::izone => null() |
Definition at line 39 of file Method.f90.
character(len=40), pointer, public methodmodule::methodtype::name |
Definition at line 32 of file Method.f90.
real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::porosity => null() |
Definition at line 41 of file Method.f90.
real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::retfactor => null() |
Definition at line 42 of file Method.f90.
class(subcelltype), pointer, public methodmodule::methodtype::subcell => null() |
Definition at line 36 of file Method.f90.
type(trackcontroltype), pointer, public methodmodule::methodtype::trackctl => null() |
Definition at line 37 of file Method.f90.
type(timeselecttype), pointer, public methodmodule::methodtype::tracktimes => null() |
Definition at line 38 of file Method.f90.