![]() |
MODFLOW 6
version 6.7.0.dev2
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 | load |
load the subdomain tracking method More... | |
procedure | get_level |
get the tracking method level More... | |
procedure | init |
procedure | track |
procedure | try_pass |
procedure | release |
procedure | terminate |
procedure | timestep |
procedure | weaksink |
procedure | usertime |
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 54 of file Method.f90.
|
private |
Definition at line 68 of file Method.f90.
|
private |
Definition at line 69 of file Method.f90.
|
private |
pass the particle to the next subdomain
Definition at line 70 of file Method.f90.
|
private |
Definition at line 74 of file Method.f90.
|
private |
Definition at line 76 of file Method.f90.
|
private |
Definition at line 73 of file Method.f90.
|
private |
Definition at line 80 of file Method.f90.
|
private |
Definition at line 81 of file Method.f90.
|
private |
Definition at line 82 of file Method.f90.
|
private |
Definition at line 77 of file Method.f90.
|
private |
Definition at line 78 of file Method.f90.
|
private |
Definition at line 84 of file Method.f90.
|
private |
Definition at line 83 of file Method.f90.
class(celltype), pointer, public methodmodule::methodtype::cell => null() |
Definition at line 58 of file Method.f90.
logical(lgp), public methodmodule::methodtype::delegates |
Definition at line 56 of file Method.f90.
type(particleeventdispatchertype), pointer, public methodmodule::methodtype::events => null() |
Definition at line 60 of file Method.f90.
real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::flowja => null() |
Definition at line 63 of file Method.f90.
type(prtfmitype), pointer, public methodmodule::methodtype::fmi => null() |
Definition at line 57 of file Method.f90.
integer(i4b), dimension(:), pointer, public, contiguous methodmodule::methodtype::izone => null() |
Definition at line 62 of file Method.f90.
character(len=40), pointer, public methodmodule::methodtype::name |
Definition at line 55 of file Method.f90.
real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::porosity => null() |
Definition at line 64 of file Method.f90.
real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::retfactor => null() |
Definition at line 65 of file Method.f90.
class(subcelltype), pointer, public methodmodule::methodtype::subcell => null() |
Definition at line 59 of file Method.f90.
type(timeselecttype), pointer, public methodmodule::methodtype::tracktimes => null() |
Definition at line 61 of file Method.f90.