MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
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 type
 
logical(lgp), public delegates
 
type(prtfmitype), pointer, public fmi => null()
 ptr to fmi More...
 
class(celltype), pointer, public cell => null()
 
class(subcelltype), pointer, public subcell => null()
 
type(trackfilecontroltype), pointer, public trackfilectl => null()
 
type(timeselecttype), pointer, public tracktimes => null()
 
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(destroy), deferred destroy
 
procedure load
 
procedure init
 
procedure track
 
procedure try_pass
 
procedure update
 

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 29 of file Method.f90.

Member Function/Subroutine Documentation

◆ apply()

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

Definition at line 43 of file Method.f90.

◆ destroy()

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

Definition at line 44 of file Method.f90.

◆ init()

procedure methodmodule::methodtype::init
private

Definition at line 49 of file Method.f90.

◆ load()

procedure methodmodule::methodtype::load
private

Definition at line 47 of file Method.f90.

◆ track()

procedure methodmodule::methodtype::track
private

Definition at line 51 of file Method.f90.

◆ try_pass()

procedure methodmodule::methodtype::try_pass
private

Definition at line 52 of file Method.f90.

◆ update()

procedure methodmodule::methodtype::update
private

Definition at line 53 of file Method.f90.

Member Data Documentation

◆ cell

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

Definition at line 33 of file Method.f90.

33  class(CellType), pointer, public :: cell => null() ! ptr to a cell

◆ delegates

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

Definition at line 31 of file Method.f90.

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

◆ flowja

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

Definition at line 38 of file Method.f90.

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

◆ fmi

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

Definition at line 32 of file Method.f90.

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

◆ izone

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

Definition at line 37 of file Method.f90.

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

◆ porosity

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

Definition at line 39 of file Method.f90.

39  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 40 of file Method.f90.

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

◆ subcell

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

Definition at line 34 of file Method.f90.

34  class(SubcellType), pointer, public :: subcell => null() ! ptr to a subcell

◆ trackfilectl

type(trackfilecontroltype), pointer, public methodmodule::methodtype::trackfilectl => null()

Definition at line 35 of file Method.f90.

35  type(TrackFileControlType), pointer, public :: trackfilectl => null() ! ptr to track file control

◆ tracktimes

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

Definition at line 36 of file Method.f90.

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

◆ type

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

Definition at line 30 of file Method.f90.

30  character(len=40), pointer, public :: type ! method name

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