46 class(ParticleEventDispatcherType),
intent(inout) :: this
47 type(ParticleType),
pointer,
intent(inout) :: particle
48 class(ParticleEventType),
pointer,
intent(inout) :: event
50 integer(I4B) :: i, per, stp
52 class(*),
pointer :: p
61 if (particle%ttrack ==
totimc .and. (per > 1 .or. stp > 1))
then
64 else if (per > 1)
then
74 call particle%get_model_coords(x, y, z)
78 event%imdl = particle%imdl
79 event%iprp = particle%iprp
80 event%irpt = particle%irpt
81 event%ilay = particle%ilay
82 event%icu = particle%icu
83 event%izone = particle%izone
84 event%trelease = particle%trelease
85 event%ttrack = particle%ttrack
89 event%istatus = particle%istatus
91 do i = 1, this%consumers%Count()
92 p => this%consumers%GetItem(i)
93 select type (consumer => p)
94 class is (particleeventconsumertype)
95 call consumer%handle_event(particle, event)
real(dp), pointer, public totimc
simulation time at start of time step
integer(i4b), pointer, public kstp
current time step number
integer(i4b), pointer, public kper
current stress period number