Advances Resolved Particle centroids and markers to n+1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cdifs_obj), | intent(inout) | :: | this |
CDIFS solver |
subroutine cdifs_obj_AdvanceSolutionRP(this) !> Advances Resolved Particle centroids and markers to n+1. implicit none class(cdifs_obj), intent(inout) :: this !! CDIFS solver ! Work variables integer :: itp ! Compute the hydrodynamic forces exerted on particles call this%RP%GetHydroForces(this%P,this%V(1),this%V(2),this%V(3),this%ibVF,this%visc) ! Incrementally advance the particles while updating the collision forces do itp=1,this%maxitp if (this%use_col) call cdifs_obj_UpdateCollisions(this) ! Move centroids call this%RP%AdvanceCenters(this%timer%dt/real(this%maxitp,wp)) ! Treatment for periodicity call this%RP%ApplyPeriodicity ! Send centroids to their mpiranks call this%RP%Communicate ! Localize centroids on the grid call this%RP%Localize end do ! Bring back markers and centroids together call this%RP%Regroup() call this%RP%UpdateLookup() ! Update surface markers call this%RP%AdvanceMarkers(this%timer%dt) ! Treatment for periodicity call this%RP%ib%ApplyPeriodicity ! Send markers to their mpiranks call this%RP%ib%Communicate ! Localize markers on the grid call this%RP%ib%Localize ! Update the solid volume fraction call this%ComputeSolidVF() call this%timer%UpdateTiming('Advance/RP' ) return end subroutine cdifs_obj_AdvanceSolutionRP