MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
particlemodule::particletype Type Reference

Particle tracked by the PRT model. More...

Collaboration diagram for particlemodule::particletype:
Collaboration graph

Public Member Functions

procedure, public get_model_coords
 
procedure, public load_particle
 
procedure, public transform => transform_coords
 
procedure, public reset_transform
 

Public Attributes

character(len=lenboundname), public name = ''
 optional particle name More...
 
integer(i4b), public imdl
 index of model the particle originated in More...
 
integer(i4b), public iprp
 index of release package the particle is from More...
 
integer(i4b), public irpt
 index of release point the particle is from More...
 
integer(i4b), public ip
 index of particle in the particle list More...
 
integer(i4b), public istopweaksink
 weak sink option (0: do not stop, 1: stop) More...
 
integer(i4b), public istopzone
 stop zone number More...
 
integer(i4b), public idrymeth
 dry tracking method More...
 
integer(i4b), dimension(:), allocatable, public idomain
 tracking domain hierarchy ! TODO: rename to itdomain? idomain More...
 
integer(i4b), dimension(:), allocatable, public iboundary
 tracking domain boundaries More...
 
integer(i4b), public icp
 previous cell number (reduced) More...
 
integer(i4b), public icu
 user cell number More...
 
integer(i4b), public ilay
 grid layer More...
 
integer(i4b), public izone
 current zone number More...
 
integer(i4b), public izp
 previous zone number More...
 
integer(i4b), public istatus
 tracking status More...
 
real(dp), public x
 x coordinate More...
 
real(dp), public y
 y coordinate More...
 
real(dp), public z
 z coordinate More...
 
real(dp), public trelease
 release time More...
 
real(dp), public tstop
 stop time More...
 
real(dp), public ttrack
 time tracked so far More...
 
real(dp), public xorigin
 x origin for coordinate transformation from model to local More...
 
real(dp), public yorigin
 y origin for coordinate transformation from model to local More...
 
real(dp), public zorigin
 z origin for coordinate transformation from model to local More...
 
real(dp), public sinrot
 sine of rotation angle for coordinate transformation from model to local More...
 
real(dp), public cosrot
 cosine of rotation angle for coordinate transformation from model to local More...
 
real(dp), public extol
 tolerance for iterative solution of particle exit location and time in generalized Pollock's method More...
 
logical(lgp), public transformed
 whether coordinates have been transformed from model to local More...
 
logical(lgp), public advancing
 whether particle is still being tracked for current time step More...
 
integer(i4b), public ifrctrn
 whether to force solving the particle with the ternary method More...
 
integer(i4b), public iexmeth
 method for iterative solution of particle exit location and time in generalized Pollock's method More...
 
integer(i4b), public iextend
 whether to extend tracking beyond the end of the simulation More...
 

Detailed Description

Record-type to conveniently shuffle a particle's state to/from storage before/after its trajectory is solved for each time step.

Particle coordinates may be local to the cell or global/model. Routines are provided to convert a particle's global coordinates to/from cell-local coordinates for tracking through cell subdomains.

Particles are identified by composite key, i.e., combinations of properties imdl, iprp, irpt, and trelease. An optional label may be provided, but need not be unique

Definition at line 32 of file Particle.f90.

Member Function/Subroutine Documentation

◆ get_model_coords()

procedure, public particlemodule::particletype::get_model_coords

Definition at line 71 of file Particle.f90.

◆ load_particle()

procedure, public particlemodule::particletype::load_particle

Definition at line 72 of file Particle.f90.

◆ reset_transform()

procedure, public particlemodule::particletype::reset_transform

Definition at line 74 of file Particle.f90.

◆ transform()

procedure, public particlemodule::particletype::transform

Definition at line 73 of file Particle.f90.

Member Data Documentation

◆ advancing

logical(lgp), public particlemodule::particletype::advancing

Definition at line 66 of file Particle.f90.

66  logical(LGP), public :: advancing !< whether particle is still being tracked for current time step

◆ cosrot

real(dp), public particlemodule::particletype::cosrot

Definition at line 63 of file Particle.f90.

63  real(DP), public :: cosrot !< cosine of rotation angle for coordinate transformation from model to local

◆ extol

real(dp), public particlemodule::particletype::extol

Definition at line 64 of file Particle.f90.

64  real(DP), public :: extol !< tolerance for iterative solution of particle exit location and time in generalized Pollock's method

◆ iboundary

integer(i4b), dimension(:), allocatable, public particlemodule::particletype::iboundary

Definition at line 46 of file Particle.f90.

46  integer(I4B), allocatable, public :: iboundary(:) !< tracking domain boundaries

◆ icp

integer(i4b), public particlemodule::particletype::icp

Definition at line 47 of file Particle.f90.

47  integer(I4B), public :: icp !< previous cell number (reduced)

◆ icu

integer(i4b), public particlemodule::particletype::icu

Definition at line 48 of file Particle.f90.

48  integer(I4B), public :: icu !< user cell number

◆ idomain

integer(i4b), dimension(:), allocatable, public particlemodule::particletype::idomain

Definition at line 45 of file Particle.f90.

45  integer(I4B), allocatable, public :: idomain(:) !< tracking domain hierarchy ! TODO: rename to itdomain? idomain

◆ idrymeth

integer(i4b), public particlemodule::particletype::idrymeth

Definition at line 43 of file Particle.f90.

43  integer(I4B), public :: idrymeth !< dry tracking method

◆ iexmeth

integer(i4b), public particlemodule::particletype::iexmeth

Definition at line 68 of file Particle.f90.

68  integer(I4B), public :: iexmeth !< method for iterative solution of particle exit location and time in generalized Pollock's method

◆ iextend

integer(i4b), public particlemodule::particletype::iextend

Definition at line 69 of file Particle.f90.

69  integer(I4B), public :: iextend !< whether to extend tracking beyond the end of the simulation

◆ ifrctrn

integer(i4b), public particlemodule::particletype::ifrctrn

Definition at line 67 of file Particle.f90.

67  integer(I4B), public :: ifrctrn !< whether to force solving the particle with the ternary method

◆ ilay

integer(i4b), public particlemodule::particletype::ilay

Definition at line 49 of file Particle.f90.

49  integer(I4B), public :: ilay !< grid layer

◆ imdl

integer(i4b), public particlemodule::particletype::imdl

Definition at line 36 of file Particle.f90.

36  integer(I4B), public :: imdl !< index of model the particle originated in

◆ ip

integer(i4b), public particlemodule::particletype::ip

Definition at line 39 of file Particle.f90.

39  integer(I4B), public :: ip !< index of particle in the particle list

◆ iprp

integer(i4b), public particlemodule::particletype::iprp

Definition at line 37 of file Particle.f90.

37  integer(I4B), public :: iprp !< index of release package the particle is from

◆ irpt

integer(i4b), public particlemodule::particletype::irpt

Definition at line 38 of file Particle.f90.

38  integer(I4B), public :: irpt !< index of release point the particle is from

◆ istatus

integer(i4b), public particlemodule::particletype::istatus

Definition at line 52 of file Particle.f90.

52  integer(I4B), public :: istatus !< tracking status

◆ istopweaksink

integer(i4b), public particlemodule::particletype::istopweaksink

Definition at line 41 of file Particle.f90.

41  integer(I4B), public :: istopweaksink !< weak sink option (0: do not stop, 1: stop)

◆ istopzone

integer(i4b), public particlemodule::particletype::istopzone

Definition at line 42 of file Particle.f90.

42  integer(I4B), public :: istopzone !< stop zone number

◆ izone

integer(i4b), public particlemodule::particletype::izone

Definition at line 50 of file Particle.f90.

50  integer(I4B), public :: izone !< current zone number

◆ izp

integer(i4b), public particlemodule::particletype::izp

Definition at line 51 of file Particle.f90.

51  integer(I4B), public :: izp !< previous zone number

◆ name

character(len=lenboundname), public particlemodule::particletype::name = ''

Definition at line 35 of file Particle.f90.

35  character(len=LENBOUNDNAME), public :: name = '' !< optional particle name

◆ sinrot

real(dp), public particlemodule::particletype::sinrot

Definition at line 62 of file Particle.f90.

62  real(DP), public :: sinrot !< sine of rotation angle for coordinate transformation from model to local

◆ transformed

logical(lgp), public particlemodule::particletype::transformed

Definition at line 65 of file Particle.f90.

65  logical(LGP), public :: transformed !< whether coordinates have been transformed from model to local

◆ trelease

real(dp), public particlemodule::particletype::trelease

Definition at line 56 of file Particle.f90.

56  real(DP), public :: trelease !< release time

◆ tstop

real(dp), public particlemodule::particletype::tstop

Definition at line 57 of file Particle.f90.

57  real(DP), public :: tstop !< stop time

◆ ttrack

real(dp), public particlemodule::particletype::ttrack

Definition at line 58 of file Particle.f90.

58  real(DP), public :: ttrack !< time tracked so far

◆ x

real(dp), public particlemodule::particletype::x

Definition at line 53 of file Particle.f90.

53  real(DP), public :: x !< x coordinate

◆ xorigin

real(dp), public particlemodule::particletype::xorigin

Definition at line 59 of file Particle.f90.

59  real(DP), public :: xorigin !< x origin for coordinate transformation from model to local

◆ y

real(dp), public particlemodule::particletype::y

Definition at line 54 of file Particle.f90.

54  real(DP), public :: y !< y coordinate

◆ yorigin

real(dp), public particlemodule::particletype::yorigin

Definition at line 60 of file Particle.f90.

60  real(DP), public :: yorigin !< y origin for coordinate transformation from model to local

◆ z

real(dp), public particlemodule::particletype::z

Definition at line 55 of file Particle.f90.

55  real(DP), public :: z !< z coordinate

◆ zorigin

real(dp), public particlemodule::particletype::zorigin

Definition at line 61 of file Particle.f90.

61  real(DP), public :: zorigin !< z origin for coordinate transformation from model to local

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