MODFLOW 6  version 6.7.0.dev2
USGS Modular Hydrologic Model
methodcellpasstobotmodule Module Reference

Data Types

type  methodcellpasstobottype
 

Functions/Subroutines

subroutine, public create_method_cell_ptb (method)
 Create a new pass-to-bottom tracking method. More...
 
subroutine deallocate (this)
 Deallocate the pass-to-bottom tracking method. More...
 
subroutine apply_ptb (this, particle, tmax)
 Pass particle vertically and instantaneously to the cell bottom. More...
 

Function/Subroutine Documentation

◆ apply_ptb()

subroutine methodcellpasstobotmodule::apply_ptb ( class(methodcellpasstobottype), intent(inout)  this,
type(particletype), intent(inout), pointer  particle,
real(dp), intent(in)  tmax 
)
private

Definition at line 45 of file MethodCellPassToBot.f90.

46  use particlemodule, only: term_no_exits
47  ! dummy
48  class(MethodCellPassToBotType), intent(inout) :: this
49  type(ParticleType), pointer, intent(inout) :: particle
50  real(DP), intent(in) :: tmax
51  ! local
52  integer(I4B) :: nlay
53 
54  call this%assess(particle, this%cell%defn, tmax)
55  if (.not. particle%advancing) return
56 
57  ! Pass to bottom face
58  particle%z = this%cell%defn%bot
59  particle%iboundary(level_feature) = this%cell%defn%npolyverts + 2
60 
61  ! Terminate if in bottom layer
62  select type (dis => this%fmi%dis)
63  type is (distype)
64  nlay = dis%nlay
65  type is (disvtype)
66  nlay = dis%nlay
67  end select
68  if (particle%ilay == nlay) then
69  call this%terminate(particle, status=term_no_exits)
70  else
71  call this%cellexit(particle)
72  end if
@ term_no_exits
terminated in a cell with no exit face
Definition: Particle.f90:32

◆ create_method_cell_ptb()

subroutine, public methodcellpasstobotmodule::create_method_cell_ptb ( type(methodcellpasstobottype), pointer  method)

Definition at line 30 of file MethodCellPassToBot.f90.

31  type(MethodCellPassToBotType), pointer :: method
32  allocate (method)
33  allocate (method%name)
34  method%name = "passtobottom"
35  method%delegates = .false.
Here is the caller graph for this function:

◆ deallocate()

subroutine methodcellpasstobotmodule::deallocate ( class(methodcellpasstobottype), intent(inout)  this)
private

Definition at line 39 of file MethodCellPassToBot.f90.

40  class(MethodCellPassToBotType), intent(inout) :: this
41  deallocate (this%name)