MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
methodmodule::methodtype Type Reference

Base type for particle tracking methods. More...

Inheritance diagram for methodmodule::methodtype:
Inheritance graph
Collaboration diagram for methodmodule::methodtype:
Collaboration graph

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
 

Detailed Description

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.

Member Function/Subroutine Documentation

◆ apply()

procedure(apply), deferred methodmodule::methodtype::apply
private

Definition at line 45 of file Method.f90.

◆ check()

procedure methodmodule::methodtype::check
private

Definition at line 55 of file Method.f90.

◆ deallocate()

procedure(deallocate), deferred methodmodule::methodtype::deallocate
private

Definition at line 46 of file Method.f90.

◆ init()

procedure methodmodule::methodtype::init
private

Definition at line 51 of file Method.f90.

◆ load()

procedure methodmodule::methodtype::load
private

Definition at line 49 of file Method.f90.

◆ track()

procedure methodmodule::methodtype::track
private

Definition at line 53 of file Method.f90.

◆ try_pass()

procedure methodmodule::methodtype::try_pass
private

Definition at line 54 of file Method.f90.

Member Data Documentation

◆ cell

class(celltype), pointer, public methodmodule::methodtype::cell => null()

Definition at line 35 of file Method.f90.

35  class(CellType), pointer, public :: cell => null() !< ptr to the current cell

◆ delegates

logical(lgp), public methodmodule::methodtype::delegates

Definition at line 33 of file Method.f90.

33  logical(LGP), public :: delegates !< whether the method delegates

◆ flowja

real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::flowja => null()

Definition at line 40 of file Method.f90.

40  real(DP), dimension(:), pointer, contiguous, public :: flowja => null() !< pointer to intercell flows

◆ fmi

type(prtfmitype), pointer, public methodmodule::methodtype::fmi => null()

Definition at line 34 of file Method.f90.

34  type(PrtFmiType), pointer, public :: fmi => null() !< ptr to fmi

◆ izone

integer(i4b), dimension(:), pointer, public, contiguous methodmodule::methodtype::izone => null()

Definition at line 39 of file Method.f90.

39  integer(I4B), dimension(:), pointer, contiguous, public :: izone => null() !< pointer to zone numbers

◆ name

character(len=40), pointer, public methodmodule::methodtype::name

Definition at line 32 of file Method.f90.

32  character(len=40), pointer, public :: name !< method name

◆ porosity

real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::porosity => null()

Definition at line 41 of file Method.f90.

41  real(DP), dimension(:), pointer, contiguous, public :: porosity => null() !< pointer to aquifer porosity

◆ retfactor

real(dp), dimension(:), pointer, public, contiguous methodmodule::methodtype::retfactor => null()

Definition at line 42 of file Method.f90.

42  real(DP), dimension(:), pointer, contiguous, public :: retfactor => null() !< pointer to retardation factor

◆ subcell

class(subcelltype), pointer, public methodmodule::methodtype::subcell => null()

Definition at line 36 of file Method.f90.

36  class(SubcellType), pointer, public :: subcell => null() !< ptr to the current subcell

◆ trackctl

type(trackcontroltype), pointer, public methodmodule::methodtype::trackctl => null()

Definition at line 37 of file Method.f90.

37  type(TrackControlType), pointer, public :: trackctl => null() !< ptr to track file control

◆ tracktimes

type(timeselecttype), pointer, public methodmodule::methodtype::tracktimes => null()

Definition at line 38 of file Method.f90.

38  type(TimeSelectType), pointer, public :: tracktimes => null() !< ptr to user-defined tracking times

The documentation for this type was generated from the following file: