@@ -32,10 +32,11 @@ module m_data_output
3232 real (wp), public, allocatable, dimension (:,:) :: c_mass
3333 $:GPU_DECLARE(create= ' [c_mass]' )
3434
35- !> @name ICFL, VCFL, and Rc stability criteria extrema over all the time- steps
35+ !> @name ICFL, VCFL, CCFL, and Rc stability criteria extrema over all the time- steps
3636 !> @{
3737 real (wp) :: icfl_max !< ICFL criterion maximum
3838 real (wp) :: vcfl_max !< VCFL criterion maximum
39+ real (wp) :: ccfl_max !< CCFL criterion maximum
3940 real (wp) :: Rc_min !< Rc criterion maximum
4041 !> @}
4142
@@ -87,6 +88,10 @@ contains
8788
8889 write (3 , ' (13X,A9,13X,A10,13X,A10,13X,A10)' , advance= " no" ) trim (' Time-step' ), trim (' dt' ), trim (' Time' ), trim (' ICFL Max' )
8990
91+ if (surface_tension) then
92+ write (3 , ' (13X,A10)' , advance= " no" ) trim (' CCFL Max' )
93+ end if
94+
9095 if (viscous) then
9196 write (3 , ' (13X,A10,13X,A16)' , advance= " no" ) trim (' VCFL Max' ), trim (' Rc Min' )
9297 end if
@@ -182,15 +187,16 @@ contains
182187 real (wp) :: vcfl_max_loc, vcfl_max_glb !< VCFL stability extrema on local and global grids
183188 real (wp) :: ccfl_max_loc, ccfl_max_glb !< CCFL stability extrema on local and global grids
184189 real (wp) :: Rc_min_loc, Rc_min_glb !< Rc stability extrema on local and global grids
185- real (wp) :: icfl, vcfl, Rc
190+ real (wp) :: icfl, vcfl, ccfl, Rc
186191 integer :: fl !< Fluid loop iterator
187192
188193 icfl_max_loc = 0._wp
189194 vcfl_max_loc = 0._wp
195+ ccfl_max_loc = 0._wp
190196 Rc_min_loc = huge (1.0_wp )
191197 ! Computing Stability Criteria at Current Time- step
192198 $:GPU_PARALLEL_LOOP(collapse= 3 , private= ' [j, k, l, vel, alpha, Re, rho, vel_sum, pres, gamma, pi_inf, c, H, qv, icfl, &
193- & vcfl, Rc, fl]' , reduction= ' [[icfl_max_loc, vcfl_max_loc], [Rc_min_loc]]' , reductionOp= ' [max, min]' )
199+ & vcfl, Rc, ccfl, fl]' , reduction= ' [[icfl_max_loc, vcfl_max_loc, ccfl_max_loc ], [Rc_min_loc]]' , reductionOp= ' [max, min]' )
194200 do l = 0 , p
195201 do k = 0 , n
196202 do j = 0 , m
@@ -210,14 +216,11 @@ contains
210216 Re(1 ) = 1._wp / max (Re(1 ), sgm_eps)
211217 end if
212218
213- if (viscous) then
214- call s_compute_stability_from_dt(vel, c, rho, Re, j, k, l, icfl, vcfl, Rc)
215- else
216- call s_compute_stability_from_dt(vel, c, rho, Re, j, k, l, icfl)
217- end if
219+ call s_compute_stability_from_dt(vel, c, rho, Re, j, k, l, icfl, vcfl, Rc, ccfl)
218220
219221 icfl_max_loc = max (icfl_max_loc, icfl)
220222 vcfl_max_loc = max (vcfl_max_loc, merge (vcfl, 0.0_wp , viscous))
223+ ccfl_max_loc = max (ccfl_max_loc, merge (ccfl, 0.0_wp , surface_tension))
221224 Rc_min_loc = min (Rc_min_loc, merge (Rc, huge (1.0_wp ), viscous))
222225 end do
223226 end do
@@ -227,16 +230,21 @@ contains
227230
228231 if (num_procs > 1 ) then
229232 call s_mpi_reduce_stability_criteria_extrema(icfl_max_loc, vcfl_max_loc, Rc_min_loc, n_el_bubs_loc, icfl_max_glb, &
230- & vcfl_max_glb, Rc_min_glb, n_el_bubs_glb)
233+ & vcfl_max_glb, Rc_min_glb, n_el_bubs_glb, ccfl_max_loc, ccfl_max_glb )
231234 else
232235 icfl_max_glb = icfl_max_loc
233236 if (viscous) vcfl_max_glb = vcfl_max_loc
234237 if (viscous) Rc_min_glb = Rc_min_loc
238+ if (surface_tension) ccfl_max_glb = ccfl_max_loc
235239 if (bubbles_lagrange) n_el_bubs_glb = n_el_bubs_loc
236240 end if
237241
238242 if (icfl_max_glb > icfl_max) icfl_max = icfl_max_glb
239243
244+ if (surface_tension) then
245+ if (ccfl_max_glb > ccfl_max) ccfl_max = ccfl_max_glb
246+ end if
247+
240248 if (viscous) then
241249 if (vcfl_max_glb > vcfl_max) vcfl_max = vcfl_max_glb
242250 if (Rc_min_glb < Rc_min) Rc_min = Rc_min_glb
@@ -245,6 +253,10 @@ contains
245253 if (proc_rank == 0 ) then
246254 write (3 , ' (13X,I9,13X,F10.6,13X,F10.6,13X,F10.6)' , advance= " no" ) t_step, dt, mytime, icfl_max_glb
247255
256+ if (surface_tension) then
257+ write (3 , ' (13X,F10.6)' , advance= " no" ) ccfl_max_glb
258+ end if
259+
248260 if (viscous) then
249261 write (3 , ' (13X,F10.6,13X,ES16.6)' , advance= " no" ) vcfl_max_glb, Rc_min_glb
250262 end if
@@ -1642,6 +1654,7 @@ contains
16421654 write (3 , ' (A)' ) ' '
16431655
16441656 write (3 , ' (A,F9.6)' ) ' ICFL Max: ' , icfl_max
1657+ if (surface_tension) write (3 , ' (A,F9.6)' ) ' CCFL Max: ' , ccfl_max
16451658 if (viscous) write (3 , ' (A,F9.6)' ) ' VCFL Max: ' , vcfl_max
16461659 if (viscous) write (3 , ' (A,ES16.6)' ) ' Rc Min: ' , Rc_min
16471660
@@ -1683,6 +1696,9 @@ contains
16831696
16841697 if (run_time_info) then
16851698 icfl_max = 0._wp
1699+ if (surface_tension) then
1700+ ccfl_max = 0._wp
1701+ end if
16861702 if (viscous) then
16871703 vcfl_max = 0._wp
16881704 Rc_min = 1.e12_wp
0 commit comments