Updates monitoring data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(particle_set), | intent(inout) | :: | this |
Collection of Point Particles |
impure subroutine particle_set_UpdateMonitor(this) !> Updates monitoring data. class(particle_set), intent(inout) :: this !! Collection of Point Particles ! Work variables integer :: n real(wp):: Vp(3) real(wp):: Fh(3) real(wp):: buff(3) Vp = 0.0_wp Fh = 0.0_wp select type (centroid => this%p) type is (particle_obj) do n=1,this%count_ ! Velocity Vp = Vp + centroid(n)%v ! Hydrodynamic force Fh = Fh + centroid(n)%Fh end do end select call this%parallel%Sum(Vp, buff); Vp = buff/this%count call this%parallel%Sum(Fh, buff); Fh = buff/this%count call this%monitors%set('PntPart', 1,this%timer%iter) call this%monitors%set('PntPart', 2,this%timer%time) call this%monitors%set('PntPart', 3,this%count ) call this%monitors%set('PntPart', 4,Vp(1) ) call this%monitors%set('PntPart', 5,Vp(2) ) call this%monitors%set('PntPart', 6,Vp(3) ) call this%monitors%set('PntPart', 7,Fh(1) ) call this%monitors%set('PntPart', 8,Fh(2) ) call this%monitors%set('PntPart', 9,Fh(3) ) return end subroutine particle_set_UpdateMonitor