33 allocate (method%name)
34 method%name =
"passtobottom"
35 method%delegates = .false.
41 deallocate (this%name)
50 real(DP),
intent(in) :: tmax
55 call this%check(particle, this%cell%defn, tmax)
56 if (.not. particle%advancing)
return
59 particle%z = this%cell%defn%bot
60 particle%iboundary(2) = this%cell%defn%npolyverts + 2
63 select type (dis => this%fmi%dis)
69 if (particle%ilay == nlay)
then
70 particle%advancing = .false.
72 call this%save(particle, reason=3)
76 call this%save(particle, reason=1)
subroutine, public create_defn(cellDefn)
Create a new cell definition object.
This module defines variable data types.
subroutine, public create_method_cell_ptb(method)
Create a new pass-to-bottom tracking method.
subroutine deallocate(this)
Deallocate the pass-to-bottom tracking method.
subroutine apply_ptb(this, particle, tmax)
Pass particle vertically and instantaneously to the cell bottom.
@ term_no_exits
terminated in a cell with no exit face
Base grid cell definition.
Base type for grid cells of a concrete type. Contains a cell-definition which is information shared b...
Structured grid discretization.
Vertex grid discretization.
Particle tracked by the PRT model.
Manages particle track (i.e. pathline) files.