25 subroutine assess(this, particle, cell_defn, tmax)
30 real(DP),
intent(in) :: tmax
40 integer(I4B) :: i, nhist
41 class(*),
pointer :: prev
49 call this%events%broadcast(particle, event)
50 if (particle%icycwin == 0)
then
54 if (this%forms_cycle(particle, event))
then
55 print *,
"Cyclic subcell pathline detected"
56 nhist = particle%history%Count()
58 prev => particle%history%GetItem(i)
61 print *,
"Back ", nhist - i + 1,
": ", prev%get_text()
64 print *,
"Current :", event%get_text()
65 call pstop(1,
'Cyclic subcell pathline detected, aborting')
67 call this%store_event(particle, event)
subroutine pstop(status, message)
Stop the program, optionally specifying an error status code.
This module defines variable data types.
Particle tracking strategies.
@, public level_subfeature
subroutine subcellexit(this, particle)
Particle exits a subcell.
integer(i4b) function get_level(this)
Get the subcell method's level.
Base grid cell definition.
Abstract base type for subcell tracking methods.
Base type for particle events.
Particle tracked by the PRT model.