Processes and outputs single-precision data for visualization.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(grans_obj), | intent(inout) | :: | this |
GRANS solver |
module subroutine grans_obj_WriteOutputData(this) !> Processes and outputs single-precision data for visualization. implicit none class(grans_obj), intent(inout) :: this !! GRANS solver ! Work variables integer :: n if (.not.allocated(this%outputs)) return ! Nothing to do for now do n=1,size(this%outputs) select case (this%outputs(n)) case ('Fp') ! Nothing to do case ('ibVF') ! Update SDF this%ibS = 0.0_wp if (this%use_RP) call this%RP%UpdateSDF(this%ibS) if (this%use_IB) call this%IB%UpdateSDF(this%ibS) call this%bcs%UpdateBoundary(this%ibS) ! Update the solid volume fraction call this%ComputeSolidVF() case ('PVF') ! Nothing to do case ('ResPart') if (this%use_RP) call this%RP%WriteSilo(this%timer%iter,this%timer%time,this%output_var) case ('PntPart') if (this%use_PP) call this%PP%WriteSilo(this%timer%iter,this%timer%time,this%output_var) end select end do ! Write data required for visualization in single precision call this%fields%WriteSilo(this%timer%iter,this%timer%time,this%output_var) ! Update timing info call this%timer%UpdateTiming('Output' ) return end subroutine grans_obj_WriteOutputData