Advances solution from n to n+1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cdifs_obj), | intent(inout) | :: | this |
CDIFS solver |
module subroutine cdifs_obj_AdvanceSolution(this) !> Advances solution from n to n+1. implicit none class(cdifs_obj), intent(inout) :: this !! CDIFS solver ! Work variables integer :: it ! Store old states this%Vold(1) = this%V(1) this%Vold(2) = this%V(2) this%Vold(3) = this%V(3) if (this%use_RP) call this%RP%StoreOld() ! Build bodyforces call cdifs_obj_AdvanceSolutionBodyForce(this) ! Update Resolved Particles if (this%use_RP) call cdifs_obj_AdvanceSolutionRP(this) ! Perform sub-iterations it = 0 do while (it.lt.this%subit) it = it + 1 ! Predictor step call cdifs_obj_AdvanceSolutionPredictor(this) ! Immersed boundary step if (this%use_IB .or.this%use_RP) call cdifs_obj_AdvanceSolutionIB(this) ! Corrector step call cdifs_obj_AdvanceSolutionCorrector(this,it) end do call this%timer%UpdateTiming('Advance/V' ) return end subroutine cdifs_obj_AdvanceSolution