![]() |
MODFLOW 6
version 6.7.0.dev3
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(particleeventdispatchertype), pointer, public | events => null() |
| ptr to event dispatcher 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 |
| apply the method to the particle More... | |
| procedure(assess), deferred | assess |
| assess conditions before tracking More... | |
| procedure(deallocate), deferred | deallocate |
| deallocate the method object More... | |
| procedure | get_level |
| get the tracking method level More... | |
| procedure | load |
| load the subdomain tracking method More... | |
| procedure | find_exits |
| find domain exit solutions More... | |
| procedure | pick_exit |
| procedure | init |
| procedure | track |
| procedure | try_pass |
| procedure | release |
| procedure | terminate |
| procedure | timestep |
| procedure | weaksink |
| procedure | usertime |
| procedure | dropped |
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 58 of file Method.f90.
|
private |
Definition at line 72 of file Method.f90.
|
private |
Definition at line 73 of file Method.f90.
|
private |
Definition at line 74 of file Method.f90.
|
private |
Definition at line 91 of file Method.f90.
|
private |
Definition at line 79 of file Method.f90.
|
private |
pass the particle to the next subdomain
Definition at line 75 of file Method.f90.
|
private |
Definition at line 82 of file Method.f90.
|
private |
Definition at line 78 of file Method.f90.
|
private |
Definition at line 80 of file Method.f90.
|
private |
Definition at line 86 of file Method.f90.
|
private |
Definition at line 87 of file Method.f90.
|
private |
Definition at line 88 of file Method.f90.
|
private |
Definition at line 83 of file Method.f90.
|
private |
Definition at line 84 of file Method.f90.
|
private |
Definition at line 90 of file Method.f90.
|
private |
Definition at line 89 of file Method.f90.
| class(celltype), pointer, public methodmodule::methodtype::cell => null() |
Definition at line 62 of file Method.f90.
| logical(lgp), public methodmodule::methodtype::delegates |
Definition at line 60 of file Method.f90.
| type(particleeventdispatchertype), pointer, public methodmodule::methodtype::events => null() |
Definition at line 64 of file Method.f90.
| real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::flowja => null() |
Definition at line 67 of file Method.f90.
| type(prtfmitype), pointer, public methodmodule::methodtype::fmi => null() |
Definition at line 61 of file Method.f90.
| integer(i4b), dimension(:), pointer, public, contiguous methodmodule::methodtype::izone => null() |
Definition at line 66 of file Method.f90.
| character(len=40), pointer, public methodmodule::methodtype::name |
Definition at line 59 of file Method.f90.
| real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::porosity => null() |
Definition at line 68 of file Method.f90.
| real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::retfactor => null() |
Definition at line 69 of file Method.f90.
| class(subcelltype), pointer, public methodmodule::methodtype::subcell => null() |
Definition at line 63 of file Method.f90.
| type(timeselecttype), pointer, public methodmodule::methodtype::tracktimes => null() |
Definition at line 65 of file Method.f90.