![]() |
MODFLOW 6 version 6.9.0.dev0
USGS Modular Hydrologic Model
|


Public Member Functions | |
| procedure, public | apply (this, particle, tmax) |
| Apply the ternary method to a polygonal cell. | |
| procedure, public | deallocate (this) |
| Destroy the tracking method. | |
| procedure, public | load (this, particle, next_level, submethod) |
| Load subcell into tracking method. | |
| procedure, public | load_subcell (this, particle) |
| Pass particle to next subcell if there is one, or to the cell face. | |
| procedure | vertvelo (this) |
| Calculate vertex velocities. | |
| procedure | calc_thru_hcsum (this, vm0ival, divcell, le, li, lm, areasub, areacell, unintx, uninty, unextx, unexty, unintxnext, unintynext, kappax, kappay, vm0x, vm0y, vm1x, vm1y, hcsum) |
| procedure, public | assess (this, particle, cell_defn, tmax) |
| Check reporting/terminating conditions before tracking the particle across the cell. | |
| procedure(assess), deferred | assess (this, particle, cell_defn, tmax) |
| assess conditions before tracking | |
| procedure, public | cellexit (this, particle) |
| Particle exits a cell. | |
| procedure, public | forms_cycle (this, particle, event) |
| Check if the event forms a cycle in the particle path. | |
| procedure, public | store_event (this, particle, event) |
| Save the event in the particle's history. Acts like a queue, the oldest event is removed when the event count exceeds the maximum size. | |
| procedure, public | get_level (this) |
| Get the cell method's level. | |
| procedure | get_level (this) |
| get the tracking method level | |
| procedure, public | try_pass (this, particle, nextlevel, advancing) |
| Try passing the particle to the next subdomain. or to a boundary of this method's tracking domain. | |
| procedure | try_pass (this, particle, nextlevel, advancing) |
| Try passing the particle to the next subdomain. | |
| procedure | iboundary_to_icellface (this, iboundary) |
| Convert an iboundary number to an iface number. | |
| procedure(apply), deferred | apply (this, particle, tmax) |
| apply the method to the particle | |
| procedure(deallocate), deferred | deallocate (this) |
| deallocate the method object | |
| procedure | load (this, particle, next_level, submethod) |
| load the subdomain tracking method | |
| procedure | init (this, fmi, cell, subcell, events, tracktimes, izone, flowja, porosity, retfactor) |
| Initialize the method with pointers to model data. | |
| procedure | track (this, particle, level, tmax) |
| Track the particle over subdomains of the given. | |
| procedure | release (this, particle) |
| A particle is released. | |
| procedure | terminate (this, particle, status) |
| A particle terminates. | |
| procedure | timestep (this, particle) |
| A time step ends. | |
| procedure | weaksink (this, particle) |
| A particle leaves a weak sink. | |
| procedure | usertime (this, particle) |
| A user-defined tracking time occurs. | |
| procedure | dropped (this, particle) |
| A particle drops to the water table. | |
Public Attributes | |
| integer(i4b) | nverts |
| number of vertices | |
| real(dp), dimension(:), allocatable | xvert |
| real(dp), dimension(:), allocatable | yvert |
| cell vertex coordinates | |
| real(dp), dimension(:), allocatable | vne |
| cell edge normal velocities | |
| real(dp), dimension(:), allocatable | vv0x |
| real(dp), dimension(:), allocatable | vv0y |
| real(dp), dimension(:), allocatable | vv1x |
| real(dp), dimension(:), allocatable | vv1y |
| cell vertex velocities | |
| real(dp) | xctr |
| real(dp) | yctr |
| cell center coordinates | |
| real(dp) | vctrx |
| real(dp) | vctry |
| cell center velocities | |
| real(dp) | ztop |
| real(dp) | zbot |
| cell top and bottom elevations | |
| real(dp) | dz |
| cell thickness | |
| real(dp) | vztop |
| real(dp) | vzbot |
| cell top and bottom velocities | |
| integer(i4b), dimension(:), allocatable | iprev |
| array of shifted indices | |
| real(dp), dimension(:), allocatable | xvertnext |
| real(dp), dimension(:), allocatable | yvertnext |
| arrays of shifted cell vertex coordinates | |
| integer(i4b), pointer, public | zeromethod |
| character(len=40), pointer, public | name |
| method name | |
| logical(lgp), public | delegates |
| whether the method delegates | |
| type(prtfmitype), pointer, public | fmi => null() |
| ptr to fmi | |
| class(celltype), pointer, public | cell => null() |
| ptr to the current cell | |
| class(subcelltype), pointer, public | subcell => null() |
| ptr to the current subcell | |
| type(particleeventdispatchertype), pointer, public | events => null() |
| ptr to event dispatcher | |
| type(timeselecttype), pointer, public | tracktimes => null() |
| ptr to user-defined tracking times | |
| integer(i4b), dimension(:), pointer, public, contiguous | izone => null() |
| pointer to zone numbers | |
| real(dp), dimension(:), pointer, public, contiguous | flowja => null() |
| pointer to intercell flows | |
| real(dp), dimension(:), pointer, public, contiguous | porosity => null() |
| pointer to aquifer porosity | |
| real(dp), dimension(:), pointer, public, contiguous | retfactor => null() |
| pointer to retardation factor | |
Private Attributes | |
| type(methodsubcellternarytype), pointer | method_subcell_tern => null() |
Definition at line 22 of file MethodCellTernary.f90.
| procedure, public methodcellternarymodule::methodcellternarytype::apply | ( | class(methodcellternarytype), intent(inout) | this, |
| type(particletype), intent(inout), pointer | particle, | ||
| real(dp), intent(in) | tmax ) |
Definition at line 47 of file MethodCellTernary.f90.
|
pure virtualinherited |
Definition at line 71 of file Method.f90.
|
inherited |
Check a number of conditions determining whether to continue tracking the particle or terminate it, as well as whether to record any output data as per selected reporting conditions.
Definition at line 20 of file MethodCell.f90.
|
pure virtualinherited |
Definition at line 72 of file Method.f90.
| procedure methodcellternarymodule::methodcellternarytype::calc_thru_hcsum | ( | class(methodcellternarytype), intent(inout) | this, |
| real(dp) | vm0ival, | ||
| real(dp) | divcell, | ||
| real(dp), dimension(:) | le, | ||
| real(dp), dimension(:) | li, | ||
| real(dp), dimension(:) | lm, | ||
| real(dp), dimension(:) | areasub, | ||
| real(dp) | areacell, | ||
| real(dp), dimension(:) | unintx, | ||
| real(dp), dimension(:) | uninty, | ||
| real(dp), dimension(:) | unextx, | ||
| real(dp), dimension(:) | unexty, | ||
| real(dp), dimension(:) | unintxnext, | ||
| real(dp), dimension(:) | unintynext, | ||
| real(dp), dimension(:) | kappax, | ||
| real(dp), dimension(:) | kappay, | ||
| real(dp), dimension(:) | vm0x, | ||
| real(dp), dimension(:) | vm0y, | ||
| real(dp), dimension(:) | vm1x, | ||
| real(dp), dimension(:) | vm1y, | ||
| real(dp) | hcsum ) |
Definition at line 53 of file MethodCellTernary.f90.
|
inherited |
Definition at line 21 of file MethodCell.f90.
| procedure, public methodcellternarymodule::methodcellternarytype::deallocate | ( | class(methodcellternarytype), intent(inout) | this | ) |
Definition at line 48 of file MethodCellTernary.f90.
|
pure virtualinherited |
Definition at line 73 of file Method.f90.
|
inherited |
Definition at line 88 of file Method.f90.
|
inherited |
Definition at line 22 of file MethodCell.f90.
|
inherited |
Definition at line 24 of file MethodCell.f90.
|
inherited |
pass the particle to the next subdomain
Definition at line 74 of file Method.f90.
|
inherited |
Definition at line 26 of file MethodCell.f90.
|
inherited |
Definition at line 79 of file Method.f90.
| procedure, public methodcellternarymodule::methodcellternarytype::load | ( | class(methodcellternarytype), intent(inout) | this, |
| type(particletype), intent(inout), pointer | particle, | ||
| integer(i4b), intent(in) | next_level, | ||
| class(methodtype), intent(inout), pointer | submethod ) |
Definition at line 49 of file MethodCellTernary.f90.
|
inherited |
Definition at line 77 of file Method.f90.
| procedure, public methodcellternarymodule::methodcellternarytype::load_subcell | ( | class(methodcellternarytype), intent(inout) | this, |
| type(particletype), intent(inout), pointer | particle ) |
Definition at line 50 of file MethodCellTernary.f90.
|
inherited |
Definition at line 83 of file Method.f90.
|
inherited |
Definition at line 23 of file MethodCell.f90.
|
inherited |
Definition at line 84 of file Method.f90.
|
inherited |
Definition at line 85 of file Method.f90.
|
inherited |
Definition at line 80 of file Method.f90.
|
inherited |
If the particle is not advancing, or if it's not at a boundary, nothing happens. Otherwise, raise a cell exit event. Then, if at a net outflow boundary face, or top face of a partially saturated cell, terminate.
Definition at line 25 of file MethodCell.f90.
|
inherited |
Definition at line 81 of file Method.f90.
|
inherited |
Definition at line 87 of file Method.f90.
| procedure methodcellternarymodule::methodcellternarytype::vertvelo | ( | class(methodcellternarytype), intent(inout) | this | ) |
Definition at line 52 of file MethodCellTernary.f90.
|
inherited |
Definition at line 86 of file Method.f90.
|
inherited |
Definition at line 61 of file Method.f90.
|
inherited |
Definition at line 59 of file Method.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::dz |
Definition at line 39 of file MethodCellTernary.f90.
|
inherited |
Definition at line 63 of file Method.f90.
|
inherited |
Definition at line 66 of file Method.f90.
|
inherited |
Definition at line 60 of file Method.f90.
| integer(i4b), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::iprev |
Definition at line 42 of file MethodCellTernary.f90.
|
inherited |
Definition at line 65 of file Method.f90.
|
private |
Definition at line 24 of file MethodCellTernary.f90.
|
inherited |
Definition at line 58 of file Method.f90.
| integer(i4b) methodcellternarymodule::methodcellternarytype::nverts |
Definition at line 25 of file MethodCellTernary.f90.
|
inherited |
Definition at line 67 of file Method.f90.
|
inherited |
Definition at line 68 of file Method.f90.
|
inherited |
Definition at line 62 of file Method.f90.
|
inherited |
Definition at line 64 of file Method.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::vctrx |
Definition at line 35 of file MethodCellTernary.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::vctry |
Definition at line 36 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::vne |
Definition at line 28 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::vv0x |
Definition at line 29 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::vv0y |
Definition at line 30 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::vv1x |
Definition at line 31 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::vv1y |
Definition at line 32 of file MethodCellTernary.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::vzbot |
Definition at line 41 of file MethodCellTernary.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::vztop |
Definition at line 40 of file MethodCellTernary.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::xctr |
Definition at line 33 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::xvert |
Definition at line 26 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::xvertnext |
Definition at line 43 of file MethodCellTernary.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::yctr |
Definition at line 34 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::yvert |
Definition at line 27 of file MethodCellTernary.f90.
| real(dp), dimension(:), allocatable methodcellternarymodule::methodcellternarytype::yvertnext |
Definition at line 44 of file MethodCellTernary.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::zbot |
Definition at line 38 of file MethodCellTernary.f90.
| integer(i4b), pointer, public methodcellternarymodule::methodcellternarytype::zeromethod |
Definition at line 45 of file MethodCellTernary.f90.
| real(dp) methodcellternarymodule::methodcellternarytype::ztop |
Definition at line 37 of file MethodCellTernary.f90.