MODFLOW 6  version 6.7.0.dev1
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  ! Check termination/reporting conditions
55  call this%check(particle, this%cell%defn, tmax)
56  if (.not. particle%advancing) return
57 
58  ! Pass to bottom face
59  particle%z = this%cell%defn%bot
60  particle%iboundary(2) = this%cell%defn%npolyverts + 2
61 
62  ! Terminate if in bottom layer
63  select type (dis => this%fmi%dis)
64  type is (distype)
65  nlay = dis%nlay
66  type is (disvtype)
67  nlay = dis%nlay
68  end select
69  if (particle%ilay == nlay) then
70  particle%advancing = .false.
71  particle%istatus = term_no_exits
72  call this%save(particle, reason=3)
73  end if
74 
75  ! Save record
76  call this%save(particle, reason=1)
@ term_no_exits
terminated in a cell with no exit face
Definition: Particle.f90:35

◆ 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)