diff --git a/Sources/Process/Backup_Mod/Load.f90 b/Sources/Process/Backup_Mod/Load.f90 index 097dee0a7..aebf3d1b7 100644 --- a/Sources/Process/Backup_Mod/Load.f90 +++ b/Sources/Process/Backup_Mod/Load.f90 @@ -184,12 +184,11 @@ subroutine Backup_Mod_Load(fld, time_step, time_step_stat, backup) ! Turbulence quantities connected with heat transfer end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then call Backup_Mod_Read_Variable(fh, d, vc, 't2', t2) call Backup_Mod_Read_Cell_Bnd(fh, d, vc, 'p_t2', p_t2 (-nb_s:nc_s)) call Backup_Mod_Read_Cell_Bnd(fh, d, vc, 'con_wall', con_wall(-nb_s:nc_s)) - else if (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) then - call Backup_Mod_Read_Cell_Bnd(fh, d, vc, 'con_wall', con_wall(-nb_s:nc_s)) end if !----------------------------! diff --git a/Sources/Process/Backup_Mod/Save.f90 b/Sources/Process/Backup_Mod/Save.f90 index 0b6cb9351..0df439042 100644 --- a/Sources/Process/Backup_Mod/Save.f90 +++ b/Sources/Process/Backup_Mod/Save.f90 @@ -163,12 +163,11 @@ subroutine Backup_Mod_Save(fld, time_step, time_step_stat, name_save) call Backup_Mod_Write_Cell_Bnd(fh, d, vc, 'l_scale', l_scale(-nb_s:nc_s)) end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then call Backup_Mod_Write_Variable(fh, d, vc, 't2', t2) call Backup_Mod_Write_Cell_Bnd(fh, d, vc, 'p_t2', p_t2 (-nb_s:nc_s)) call Backup_Mod_Write_Cell_Bnd(fh, d, vc, 'con_wall', con_wall(-nb_s:nc_s)) - else if (heat_transfer .and. turbulence_model .eq. HYBRID_LES_RANS) then - call Backup_Mod_Write_Cell_Bnd(fh, d, vc, 'con_wall', con_wall(-nb_s:nc_s)) end if diff --git a/Sources/Process/Initialize_Variables.f90 b/Sources/Process/Initialize_Variables.f90 index d9fa9ded9..45a2d5e6d 100644 --- a/Sources/Process/Initialize_Variables.f90 +++ b/Sources/Process/Initialize_Variables.f90 @@ -158,7 +158,8 @@ subroutine Initialize_Variables(flow) i=Key_Ind('F22', keys,nks);prof(k,0)=f22_def; f22 %n(c)=prof(k,i) end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then i=Key_Ind('T2', keys,nks);prof(k,0)=t2_def; t2 %n(c)=prof(k,i) end if @@ -309,8 +310,8 @@ subroutine Initialize_Variables(flow) y_plus(c) = 0.001 end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. & - heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then vals(0) = t2_def; t2 % n(c) = vals(Key_Ind('T2', keys, nks)) t2 % o(c) = t2 % n(c) t2 % oo(c) = t2 % n(c) diff --git a/Sources/Process/Load_Boundary_Conditions.f90 b/Sources/Process/Load_Boundary_Conditions.f90 index c4711f56c..2315eb6b3 100644 --- a/Sources/Process/Load_Boundary_Conditions.f90 +++ b/Sources/Process/Load_Boundary_Conditions.f90 @@ -281,7 +281,10 @@ subroutine Load_Boundary_Conditions(flow, backup) i = Key_Ind('F22', keys, nks); if(i > 0) f22 % n(c) = vals(i) end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. & + heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. & + heat_transfer) ) then i = Key_Ind('T2', keys, nks); if(i > 0) t2 % n(c) = vals(i) end if @@ -420,7 +423,10 @@ subroutine Load_Boundary_Conditions(flow, backup) i = Key_Ind('F22', keys, nks); if(i>0) f22 % n(c) = prof(k,i) end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. & + heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. & + heat_transfer) ) then i = Key_Ind('T2', keys, nks); if(i>0) t2 % n(c) = prof(k,i) end if @@ -640,7 +646,10 @@ subroutine Load_Boundary_Conditions(flow, backup) if(i > 0) f22 % n(c) = wi*prof(m,i) + (1.-wi)*prof(m+1,i) end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. & + heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. & + heat_transfer) ) then i = Key_Ind('T2',keys,nks) if(i > 0) t2 % n(c) = wi*prof(m,i) + (1.-wi)*prof(m+1,i) end if diff --git a/Sources/Process/Save_Cgns_Results.f90 b/Sources/Process/Save_Cgns_Results.f90 index 10f9df08d..bae578a4c 100644 --- a/Sources/Process/Save_Cgns_Results.f90 +++ b/Sources/Process/Save_Cgns_Results.f90 @@ -186,7 +186,8 @@ subroutine Save_Results(flow, name_save) f22 % n(1), "TurbulentQuantityF22") end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then call Cgns_Mod_Write_Field(base, block, solution, field, grid, & t2 % n(1), "TurbulentQuantityT2") call Cgns_Mod_Write_Field(base, block, solution, field, grid, & diff --git a/Sources/Process/Save_Vtu_Results.f90 b/Sources/Process/Save_Vtu_Results.f90 index c7793303b..04591851e 100644 --- a/Sources/Process/Save_Vtu_Results.f90 +++ b/Sources/Process/Save_Vtu_Results.f90 @@ -263,10 +263,10 @@ subroutine Save_Results(flow, name_save) call Save_Vtu_Scalar(grid, IN_4, IN_5, "TurbulentQuantityF22", f22 % n(1)) end if - if (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then call Save_Vtu_Scalar(grid, IN_4, IN_5, "TurbulentQuantityT2", t2 % n(1)) - call Save_Vtu_Scalar(grid, IN_4, IN_5, "TurbulentT2Production", & - p_t2(1)) + call Save_Vtu_Scalar(grid, IN_4, IN_5, "TurbulentT2Production", p_t2(1)) end if ! Save vis and vis_t if(turbulence_model .eq. DES_SPALART .or. & diff --git a/Sources/Process/Swarm_Mod.f90 b/Sources/Process/Swarm_Mod.f90 index 4abe695ad..56dbc9031 100644 --- a/Sources/Process/Swarm_Mod.f90 +++ b/Sources/Process/Swarm_Mod.f90 @@ -9,7 +9,7 @@ module Swarm_Mod !------------------------------------------------------------------------------! implicit none !==============================================================================! - +! Flag for branch "Mohamed_Particles" !-------------------! ! Particle type ! !-------------------! diff --git a/Sources/Process/Turbulence/Allocate.f90 b/Sources/Process/Turbulence/Allocate.f90 index d8f6b96a5..991a5e582 100644 --- a/Sources/Process/Turbulence/Allocate.f90 +++ b/Sources/Process/Turbulence/Allocate.f90 @@ -123,7 +123,7 @@ subroutine Turbulence_Allocate(flow) ! Hydraulic roughness given by formula if(rough_walls) then - allocate(z_o_f(-grid % n_bnd_cells:grid % n_cells)); z_o_f = 0. + allocate(z_o_f(-grid % n_bnd_cells:grid % n_cells)); z_o_f = -1. end if if(heat_transfer) then @@ -228,6 +228,13 @@ subroutine Turbulence_Allocate(flow) if(turbulence_statistics) then + ! First moments + call Var_Mod_Allocate_Statistics(u) + call Var_Mod_Allocate_Statistics(v) + call Var_Mod_Allocate_Statistics(w) + call Var_Mod_Allocate_Statistics(p) + + ! Second moments call Var_Mod_Allocate_Statistics(uu) call Var_Mod_Allocate_Statistics(vv) call Var_Mod_Allocate_Statistics(ww) @@ -565,10 +572,12 @@ subroutine Turbulence_Allocate(flow) if(heat_transfer) then + call Var_Mod_Allocate_Solution('T2', '', t2, grid) call Var_Mod_Allocate_New_Only('UT', ut, grid) call Var_Mod_Allocate_New_Only('VT', vt, grid) call Var_Mod_Allocate_New_Only('WT', wt, grid) allocate(con_wall(-grid % n_bnd_cells:grid % n_cells)); con_wall = 0. + allocate(p_t2 (-grid % n_bnd_cells:grid % n_cells)); p_t2 = 0. end if ! heat_transfer @@ -603,6 +612,7 @@ subroutine Turbulence_Allocate(flow) call Var_Mod_Allocate_Statistics(wt) ! new value allocated above call Var_Mod_Allocate_New_Only('TT', tt, grid) call Var_Mod_Allocate_Statistics(tt) + call Var_Mod_Allocate_Statistics(t2) end if ! heat_transfer diff --git a/Sources/Process/Turbulence/Calculate_Vis_T_K_Eps.f90 b/Sources/Process/Turbulence/Calculate_Vis_T_K_Eps.f90 index 884098df0..c38fc05c6 100644 --- a/Sources/Process/Turbulence/Calculate_Vis_T_K_Eps.f90 +++ b/Sources/Process/Turbulence/Calculate_Vis_T_K_Eps.f90 @@ -130,8 +130,7 @@ subroutine Calculate_Vis_T_K_Eps(flow) grid % wall_dist(c1), & kin_vis) u_plus = U_Plus_Rough_Walls(grid % wall_dist(c1)) - vis_wall(c1) = y_plus(c1) * viscosity * kappa & - / log((grid % wall_dist(c1)+z_o)/z_o) ! is this U+? + vis_wall(c1) = y_plus(c1) * viscosity / u_plus end if if(heat_transfer) then diff --git a/Sources/Process/Turbulence/Calculate_Vis_T_K_Eps_Zeta_F.f90 b/Sources/Process/Turbulence/Calculate_Vis_T_K_Eps_Zeta_F.f90 index 782716188..7d06fd9e0 100644 --- a/Sources/Process/Turbulence/Calculate_Vis_T_K_Eps_Zeta_F.f90 +++ b/Sources/Process/Turbulence/Calculate_Vis_T_K_Eps_Zeta_F.f90 @@ -119,12 +119,12 @@ subroutine Calculate_Vis_T_K_Eps_Zeta_F(flow) if(rough_walls) then z_o = Roughness_Coefficient(grid, z_o_f(c1), c1) +! z_o = max(grid % wall_dist(c1)/(e_log*y_plus(c1)),z_o) y_plus(c1) = Y_Plus_Rough_Walls(u_tau(c1), & grid % wall_dist(c1), & kin_vis) u_plus = U_Plus_Rough_Walls(grid % wall_dist(c1)) - vis_wall(c1) = y_plus(c1) * viscosity * kappa & - / log((grid % wall_dist(c1)+z_o)/z_o) ! is this U+? + vis_wall(c1) = y_plus(c1) * viscosity / u_plus end if if(heat_transfer) then diff --git a/Sources/Process/Turbulence/Compute_Turbulent.f90 b/Sources/Process/Turbulence/Compute_Turbulent.f90 index dac481f42..228c06069 100644 --- a/Sources/Process/Turbulence/Compute_Turbulent.f90 +++ b/Sources/Process/Turbulence/Compute_Turbulent.f90 @@ -212,7 +212,8 @@ subroutine Compute_Turbulent(flow, sol, dt, ini, phi, n_step) if(phi % name .eq. 'ZETA') call Source_Zeta_K_Eps_Zeta_F(flow, sol, n_step) end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then if(phi % name .eq. 'T2') call Source_T2(flow, sol) end if @@ -242,7 +243,7 @@ subroutine Compute_Turbulent(flow, sol, dt, ini, phi, n_step) do c = 1, grid % n_cells if( phi % n(c) < 0.0 ) phi % n(c) = phi % o(c) - if(phi % name .eq. 'ZETA') phi % n(c) = min(phi % n(c), 1.8) + if(phi % name .eq. 'ZETA') phi % n(c) = min(phi % n(c), 1.8) end do ! Print info on the screen @@ -257,7 +258,8 @@ subroutine Compute_Turbulent(flow, sol, dt, ini, phi, n_step) call Info_Mod_Iter_Fill_At(3, 3, phi % name, exec_iter, phi % res) end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then if(phi % name .eq. 'T2') & call Info_Mod_Iter_Fill_At(3, 5, phi % name, exec_iter, phi % res) end if diff --git a/Sources/Process/Turbulence/Roughness_Coefficient.f90 b/Sources/Process/Turbulence/Roughness_Coefficient.f90 index 154db4126..b02e26009 100644 --- a/Sources/Process/Turbulence/Roughness_Coefficient.f90 +++ b/Sources/Process/Turbulence/Roughness_Coefficient.f90 @@ -17,7 +17,7 @@ real function Roughness_Coefficient(grid, z_o_function, c) Roughness_Coefficient = z_o - if(z_o_function > tiny) then + if(z_o_function > -tiny) then Roughness_Coefficient = z_o_function end if diff --git a/Sources/Process/Turbulence/Source_Eps_K_Eps.f90 b/Sources/Process/Turbulence/Source_Eps_K_Eps.f90 index d0fb4a320..35db95908 100644 --- a/Sources/Process/Turbulence/Source_Eps_K_Eps.f90 +++ b/Sources/Process/Turbulence/Source_Eps_K_Eps.f90 @@ -35,7 +35,7 @@ subroutine Source_Eps_K_Eps(flow, sol) integer :: s, c, c1, c2, j real :: u_tan, u_nor_sq, u_nor, u_tot_sq real :: re_t, f_mu, u_tau_new, fa, kin_vis - real :: eps_wf, eps_int, ebf, y_star + real :: eps_wf, eps_int, y_star !==============================================================================! ! Dimensions: ! ! ! @@ -116,7 +116,7 @@ subroutine Source_Eps_K_Eps(flow, sol) end if if(rough_walls) then - z_o = Roughness_Coefficient(grid, z_o_f(c1), c1) + z_o = Roughness_Coefficient(grid, z_o_f(c1), c1) eps % n(c1) = c_mu75 * kin % n(c1)**1.5 & / ((grid % wall_dist(c1) + z_o) * kappa) @@ -136,7 +136,6 @@ subroutine Source_Eps_K_Eps(flow, sol) u_tau_new = sqrt(tau_wall(c1)/density) y_plus(c1) = Y_Plus_Low_Re(u_tau_new, grid % wall_dist(c1), kin_vis) - ebf = 0.01 * y_plus(c1)**4 / (1.0 + 5.0*y_plus(c1)) eps_int = 2.0*viscosity/density * kin % n(c1) & / grid % wall_dist(c1)**2 diff --git a/Sources/Process/Turbulence/Source_Eps_K_Eps_Zeta_F.f90 b/Sources/Process/Turbulence/Source_Eps_K_Eps_Zeta_F.f90 index 1591ec1e4..0f390196f 100644 --- a/Sources/Process/Turbulence/Source_Eps_K_Eps_Zeta_F.f90 +++ b/Sources/Process/Turbulence/Source_Eps_K_Eps_Zeta_F.f90 @@ -27,7 +27,7 @@ subroutine Source_Eps_K_Eps_Zeta_F(flow, sol) real, pointer :: b(:) integer :: c, s, c1, c2, j real :: u_tan, u_nor_sq, u_nor, u_tot_sq - real :: e_sor, c_11e, ebf + real :: e_sor, c_11e real :: eps_wf, eps_int real :: fa, u_tau_new, kin_vis !==============================================================================! @@ -135,8 +135,6 @@ subroutine Source_Eps_K_Eps_Zeta_F(flow, sol) u_tau_new = sqrt(tau_wall(c1)/density) y_plus(c1) = Y_Plus_Low_Re(u_tau_new, grid % wall_dist(c1), kin_vis) - ebf = 0.001 * y_plus(c1)**4 / (1.0 + y_plus(c1)) - eps_int = 2.0* kin_vis * kin % n(c1) & / grid % wall_dist(c1)**2 eps_wf = c_mu75 * kin % n(c1)**1.5 & @@ -148,7 +146,6 @@ subroutine Source_Eps_K_Eps_Zeta_F(flow, sol) / (kappa*grid % wall_dist(c1) * p_kin(c1)), & 1.0) eps % n(c1) = (1.0 - fa) * eps_int + fa * eps_wf - ! Adjusting coefficient to fix eps value in near wall calls do j = a % row(c1), a % row(c1 + 1) - 1 a % val(j) = 0.0 diff --git a/Sources/Process/Turbulence/Source_Kin_K_Eps.f90 b/Sources/Process/Turbulence/Source_Kin_K_Eps.f90 index ea3c507c5..ea612f024 100644 --- a/Sources/Process/Turbulence/Source_Kin_K_Eps.f90 +++ b/Sources/Process/Turbulence/Source_Kin_K_Eps.f90 @@ -112,11 +112,11 @@ subroutine Source_Kin_K_Eps(flow, sol) / kin_vis tau_wall(c1) = density*kappa*u_tau(c1)*u_tan & - / log(max(((grid % wall_dist(c1)+z_o)/z_o), 1.05)) + / log(((grid % wall_dist(c1)+z_o) / z_o)) - p_kin(c1) = density * tau_wall(c1) * c_mu25 * sqrt(kin % n(c1)) & + p_kin(c1) = tau_wall(c1) * c_mu25 * sqrt(kin % n(c1)) & / (kappa*(grid % wall_dist(c1) + z_o)) - b(c1) = b(c1) + (p_kin(c1) - p_kin(c1)) & + b(c1) = b(c1) + (p_kin(c1) - vis_t(c1) * shear(c1)**2) & * grid % vol(c1) else u_tau(c1) = c_mu25 * sqrt(kin % n(c1)) @@ -127,7 +127,7 @@ subroutine Source_Kin_K_Eps(flow, sol) ebf = 0.01 * y_plus(c1)**4 / (1.0 + 5.0*y_plus(c1)) - p_kin_wf = tau_wall(c1) * 0.07**0.25 * sqrt(kin % n(c1)) & + p_kin_wf = tau_wall(c1) * c_mu25 * sqrt(kin % n(c1)) & / (grid % wall_dist(c1) * kappa) p_kin_int = vis_t(c1) * shear(c1)**2 diff --git a/Sources/Process/Turbulence/Source_Kin_K_Eps_Zeta_F.f90 b/Sources/Process/Turbulence/Source_Kin_K_Eps_Zeta_F.f90 index 9b5772362..1cb7c7952 100644 --- a/Sources/Process/Turbulence/Source_Kin_K_Eps_Zeta_F.f90 +++ b/Sources/Process/Turbulence/Source_Kin_K_Eps_Zeta_F.f90 @@ -132,7 +132,7 @@ subroutine Source_Kin_K_Eps_Zeta_F(flow, sol) end if if(rough_walls) then - z_o = Roughness_Coefficient(grid, z_o_f(c1), c1) + z_o = Roughness_Coefficient(grid, z_o_f(c1), c1) u_tau(c1) = c_mu25 * sqrt(kin % n(c1)) y_plus(c1) = Y_Plus_Rough_Walls(u_tau(c1), & grid % wall_dist(c1), kin_vis) @@ -153,7 +153,7 @@ subroutine Source_Kin_K_Eps_Zeta_F(flow, sol) ebf = max(0.01 * y_plus(c1)**4 / (1.0 + 5.0*y_plus(c1)),tiny) - p_kin_wf = tau_wall(c1) * 0.07**0.25 * sqrt(kin % n(c1)) & + p_kin_wf = tau_wall(c1) * c_mu25 * sqrt(kin % n(c1)) & / (grid % wall_dist(c1) * kappa) p_kin_int = vis_t(c1) * shear(c1)**2 diff --git a/Sources/Process/Turbulence/Source_Zeta_K_Eps_Zeta_F.f90 b/Sources/Process/Turbulence/Source_Zeta_K_Eps_Zeta_F.f90 index 5f99fbcd4..c16e56f03 100644 --- a/Sources/Process/Turbulence/Source_Zeta_K_Eps_Zeta_F.f90 +++ b/Sources/Process/Turbulence/Source_Zeta_K_Eps_Zeta_F.f90 @@ -15,10 +15,10 @@ subroutine Source_Zeta_K_Eps_Zeta_F(grid, sol, n_step) !------------------------------------------------------------------------------! implicit none !--------------------------------[Arguments]-----------------------------------! - type(Grid_Type) :: grid type(Solver_Type), target :: sol integer :: n_step !----------------------------------[Locals]------------------------------------! + type(Grid_Type), pointer :: grid type(Matrix_Type), pointer :: a real, pointer :: b(:) integer :: c @@ -50,7 +50,7 @@ subroutine Source_Zeta_K_Eps_Zeta_F(grid, sol, n_step) if(n_step > 500) then b(c) = b(c) + f22 % n(c) * grid % vol(c) * density else - b(c) = b(c) + max(0.0, f22 % n(c)*grid % vol(c)) * density + b(c) = b(c) + max(0.0, f22 % n(c) * grid % vol(c)) * density a % val(a % dia(c)) = a % val(a % dia(c)) & + max(0.0, -f22 % n(c) * grid % vol(c) & / (zeta % n(c) + TINY)) * density diff --git a/Sources/Process/Turbulence/Time_And_Length_Scale.f90 b/Sources/Process/Turbulence/Time_And_Length_Scale.f90 index 1e546174b..bb3a634cc 100644 --- a/Sources/Process/Turbulence/Time_And_Length_Scale.f90 +++ b/Sources/Process/Turbulence/Time_And_Length_Scale.f90 @@ -45,7 +45,7 @@ subroutine Time_And_Length_Scale(grid) t_1(c) = kin % n(c)/eps_l(c) t_2(c) = c_t*sqrt(kin_vis/eps_l(c)) - t_3(c) = 0.6/(sqrt(3.0)*c_mu_d * zeta % n(c) * shear(c) + TINY) + t_3(c) = 0.8/(sqrt(3.0)*c_mu_d * zeta % n(c) * shear(c) + TINY) l_1(c) = kin % n(c)**1.5/eps_l(c) l_2(c) = c_nu * (kin_vis**3 / eps_l(c))**0.25 diff --git a/Sources/Process/Update_Boundary_Values.f90 b/Sources/Process/Update_Boundary_Values.f90 index b7a6e9d3d..a30b4c113 100644 --- a/Sources/Process/Update_Boundary_Values.f90 +++ b/Sources/Process/Update_Boundary_Values.f90 @@ -113,7 +113,8 @@ subroutine Update_Boundary_Values(flow) end if end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then if(Grid_Mod_Bnd_Cond_Type(grid,c2) .eq. OUTFLOW .or. & Grid_Mod_Bnd_Cond_Type(grid,c2) .eq. CONVECT .or. & Grid_Mod_Bnd_Cond_Type(grid,c2) .eq. PRESSURE .or. & @@ -236,8 +237,8 @@ subroutine Update_Boundary_Values(flow) f22 % n(c2) = f22 % n(grid % bnd_cond % copy_c(c2)) end if - if(turbulence_model .eq. K_EPS_ZETA_F .and. & - heat_transfer) then + if( (turbulence_model .eq. K_EPS_ZETA_F .and. heat_transfer) .or. & + (turbulence_model .eq. HYBRID_LES_RANS .and. heat_transfer) ) then t2 % n(c2) = t2 % n(grid % bnd_cond % copy_c(c2)) end if diff --git a/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Stretched_Mesh/Xmgrace/k_plus_Re_tau_2000.dat b/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Stretched_Mesh/Xmgrace/k_plus_Re_tau_2000.dat new file mode 120000 index 000000000..5e3960d55 --- /dev/null +++ b/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Stretched_Mesh/Xmgrace/k_plus_Re_tau_2000.dat @@ -0,0 +1 @@ +../../Uniform_Mesh/Xmgrace/k_plus_Re_tau_2000.dat \ No newline at end of file diff --git a/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Uniform_Mesh/Xmgrace/gnuplot_script_template.sh b/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Uniform_Mesh/Xmgrace/gnuplot_script_template.sh index 05f80417b..fd36fdc35 100644 --- a/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Uniform_Mesh/Xmgrace/gnuplot_script_template.sh +++ b/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Uniform_Mesh/Xmgrace/gnuplot_script_template.sh @@ -91,10 +91,11 @@ plot \ # ----- k_plus unset logscale x -set format x "$%2.1t\\\cdot10^{%L}$" +set format x "$%2.1t\\!\\cdot\\!10^{%L}$" set xlabel '$y^+$' offset 0., 0.5 set xrange [1e-1:2e3] -set xtics offset 0,0.0 border 0,500,1500 scale 5 +set xtics offset 0,0.0 border 0,500,1900 scale 5 +set xtics add ("0" 0) set mxtics 5 set ylabel "$k^+$" offset 0.5, 0.0 @@ -103,9 +104,9 @@ set ytics offset 0,0.0 border 0,1,7 scale 5 set mytics 2 plot \ -1/0 with lp ls 1 ps 5 t '$k_{res}$', \ -'DAT_FILE_WITH_RESULTS_MACRO' usi ($1):($3) with lp ls 1 not, \ -1/0 with lp ls 2 ps 5 t '$k_{tot}$', \ +1/0 with lp ls 1 ps 5 t '$k_{tot} \: ref. \: LES$', \ +'k_plus_Re_tau_2000.dat' usi ($1):($2) with lp ls 1 not, \ +1/0 with lp ls 2 ps 5 t '$k_{tot} \: Current$', \ 'DAT_FILE_WITH_RESULTS_MACRO' usi ($1):($5) with lp ls 2 not # necessary line diff --git a/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Uniform_Mesh/Xmgrace/k_plus_Re_tau_2000.dat b/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Uniform_Mesh/Xmgrace/k_plus_Re_tau_2000.dat new file mode 100644 index 000000000..f1569f946 --- /dev/null +++ b/Tests/Hybrid_Les_Rans/Channel_Re_Tau_2000/Uniform_Mesh/Xmgrace/k_plus_Re_tau_2000.dat @@ -0,0 +1,65 @@ + 0.76 0.05341118800000001 + 2.32 0.46102494 + 4.02 1.2829949 + 5.88 2.4515291 + 7.9 3.7440052 + 10.1 4.8625406 + 12.48 5.6116377 + 15.08 5.9721373 + 17.92 6.0368282 + 20.98 5.9186594 + 24.34 5.7072191 + 27.98 5.4597938 + 31.92 5.2073395 + 36.22 4.966163 +40.90000000000001 4.744191499999999 + 45.98 4.5423094 + 51.48 4.359308599999999 + 57.48 4.1928366 + 63.98 4.042262099999999 +71.04000000000001 3.9066771 + 78.7 3.7850351 + 87.02 3.6758656 +96.04000000000001 3.5790707 + 105.8 3.4925206 + 116.4 3.4157166 + 127.86 3.348173 + 140.28 3.2893865 + 153.72 3.2381728 + 168.24 3.1929787 + 183.94 3.1504534 + 200.9 3.1074085 + 219.2 3.0652902 + 238.94 3.0227965 + 260.2 2.9778608 + 283.08 2.9364654 + 307.7 2.8894625 + 334.16 2.8333964 + 362.54 2.7733809 + 392.96 2.7078265 + 425.52 2.6379633 + 460.34 2.5613083 + 497.5 2.4824873 + 537.1 2.4085961 + 579.22 2.3303677 + 623.98 2.2573193 +671.4000000000001 2.183273 + 721.58 2.0958828 + 774.54 2.0071174 + 830.34 1.9231549 + 888.96 1.848519 +950.4000000000001 1.7529777 + 1014.64 1.65451 + 1081.62 1.5366693 + 1151.26 1.4209837 + 1223.44 1.290933 + 1298.04 1.1705889 + 1374.88 1.0512143 + 1453.78 0.92785728 + 1534.52 0.82042875 + 1616.88 0.72361343 + 1700.58 0.64354871 + 1785.36 0.58830353 + 1870.902 0.5446869999999999 + 1956.914 0.52843626 + diff --git a/Tests/Les/Channel_Re_Tau_180/User_Mod/Save_Results.f90 b/Tests/Les/Channel_Re_Tau_180/User_Mod/Save_Results.f90 index e39593765..8788e19cd 100644 --- a/Tests/Les/Channel_Re_Tau_180/User_Mod/Save_Results.f90 +++ b/Tests/Les/Channel_Re_Tau_180/User_Mod/Save_Results.f90 @@ -83,6 +83,13 @@ subroutine User_Mod_Save_Results(flow, save_name) nu_max = 0.0 n_points = 0 + if(heat_transfer) then + call Comm_Mod_Global_Sum_Real(heat_flux) + call Comm_Mod_Global_Sum_Real(heated_area) + heat_flux = heat_flux / (heated_area + TINY) + heat = heat_flux * heated_area + end if + open(9, file=coord_name) ! Write the number of searching intervals diff --git a/Tests/Les/Pipe_Re_Tau_180/User_Mod/Save_Results.f90 b/Tests/Les/Pipe_Re_Tau_180/User_Mod/Save_Results.f90 index a495ff3a1..62e654ffe 100644 --- a/Tests/Les/Pipe_Re_Tau_180/User_Mod/Save_Results.f90 +++ b/Tests/Les/Pipe_Re_Tau_180/User_Mod/Save_Results.f90 @@ -84,6 +84,13 @@ subroutine User_Mod_Save_Results(flow, save_name) nu_max = 0.0 n_points = 0 + if(heat_transfer) then + call Comm_Mod_Global_Sum_Real(heat_flux) + call Comm_Mod_Global_Sum_Real(heated_area) + heat_flux = heat_flux / (heated_area + TINY) + heat = heat_flux * heated_area + end if + open(9, file=coord_name) ! Write the number of searching intervals diff --git a/Tests/test_build.sh b/Tests/test_build.sh index 3439138e4..178a0dc46 100755 --- a/Tests/test_build.sh +++ b/Tests/test_build.sh @@ -1,16 +1,25 @@ #!/bin/bash -# it is an useful script in debug perposus to automatically build and run most -# cases in T-Flows +# Description: This script is made for debug purposes. +# It automatically builds and runs most cases in T-Flows -# compilation flags +# Requires: gnuplot, texlive-base, mpi, gfortran + +# Compilation flags used in makefiles FCOMP="gnu" -# conduct tests with DEBUG=yes +# Conduct tests with DEBUG=yes DEBUG="no" -# repeat tests with CGNS_HDF5=yes -CGNS="yes" +# Repeat tests with CGNS_HDF5=yes +CGNS="no" + +# A small reminder how to set up alternatives if you have mpich and openmpi: +#update-alternatives --install /usr/bin/mpif90 mpif90 /usr/bin/mpif90.openmpi 20 +#update-alternatives --install /usr/bin/mpif90 mpif90 /usr/bin/mpif90.mpich 80 + +#update-alternatives --install /usr/bin/mpirun mpirun /usr/bin/mpirun.openmpi 20 +#update-alternatives --install /usr/bin/mpirun mpirun /usr/bin/mpirun.mpich 80 -# folder structure +# Folder structure TEST_DIR=$PWD # dir with tests GENE_DIR=$PWD/../Sources/Generate # Generate src folder CONV_DIR=$PWD/../Sources/Convert # Convert src folder @@ -18,14 +27,14 @@ DIVI_DIR=$PWD/../Sources/Divide # Divide src folder PROC_DIR=$PWD/../Sources/Process # Process src folder BINA_DIR=$PWD/../Binaries/ # binaries folder -# executables +# Executables GENE_EXE=$BINA_DIR/Generate # Generate ex CONV_EXE=$BINA_DIR/Convert # Convert ex DIVI_EXE=$BINA_DIR/Divide # Divide ex PROC_EXE=$BINA_DIR/Process # Process ex -# folders with geometry -# generator file (.dom) +# Folders with geometry +# Generator file (.dom) LAMINAR_BACKSTEP_ORTH_DIR=$TEST_DIR/Laminar/Backstep/Orthogonal LAMINAR_BACKSTEP_NON_ORTH_DIR=$TEST_DIR/Laminar/Backstep/Nonorthogonal @@ -33,7 +42,7 @@ LES_CAVITY_LID_DRIVEN_DIR=$TEST_DIR/Laminar/Cavity/Lid_Driven/Re_1000 LES_CAVITY_THERM_DRIVEN_DIR_106=$TEST_DIR/Laminar/Cavity/Thermally_Driven/Ra_10e6 LES_CAVITY_THERM_DRIVEN_DIR_108=$TEST_DIR/Laminar/Cavity/Thermally_Driven/Ra_10e8 -RANS_BACKSTEP_5100_DIR=$TEST_DIR/Rans/Backstep_Re_5100 +RANS_BACKSTEP_5100_DIR=$TEST_DIR/Rans/Backstep_Re_05100 RANS_BACKSTEP_28000_DIR=$TEST_DIR/Rans/Backstep_Re_28000 RANS_CHANNEL_LR_LONG_DIR=$TEST_DIR/Rans/Channel_Re_Tau_590/Long_Domain @@ -46,7 +55,7 @@ $TEST_DIR/Hybrid_Les_Rans/Channel_Re_Tau_2000/Uniform_Mesh HYB_CHANNEL_HR_STRETCHED_DIR=\ $TEST_DIR/Hybrid_Les_Rans/Channel_Re_Tau_2000/Stretched_Mesh -# mesh file (.cgns/.neu) +# Mesh file (.cgns/.neu) LES_PIPE_DIR=$TEST_DIR/Les/Pipe_Re_Tau_180 RANS_IMPINGING_JET_DIR=$TEST_DIR/Rans/Impinging_Jet_2d_Distant_Re_23000 @@ -54,10 +63,10 @@ RANS_FUEL_BUNDLE_DIR=$TEST_DIR/Rans/Fuel_Bundle #RANS_PIPE_DIR=$TEST_DIR/Rans/Pipe_Re_Tau_2000 #------------------------------------------------------------------------------# -# start time measurements from this moment +# Start time measurements from this moment current_time=$(date +%s) -# script logs +# Script logs FULL_LOG=$TEST_DIR/test_build.log # logs of current script if [ -f $FULL_LOG ]; then cp /dev/null $FULL_LOG; fi echo "Full log is being written in file" "$FULL_LOG" @@ -65,10 +74,10 @@ echo "Full log is being written in file" "$FULL_LOG" # exit when any command fails set -e -# keep track of the last executed command -trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG +# Keep track of the last executed command +# trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG # echo an error message before exiting -trap 'echo "\"${last_command}\" command filed with exit code $?."' EXIT +# trap 'echo "\"${last_command}\" command filed with exit code $?."' EXIT #------------------------------------------------------------------------------# # time in seconds @@ -464,6 +473,7 @@ function processor_backup_tests { # Grasp/embrace as many different model combinations as you can + echo "================================= TEST 1 ==============================" #-- Channel_Re_Tau_590 [k_eps model + T] replace_line_with_first_occurence_in_file "TURBULENCE_MODEL" \ "TURBULENCE_MODEL k_eps" $RANS_CHANNEL_LR_UNIFORM_DIR/control @@ -472,6 +482,7 @@ function processor_backup_tests { process_backup_test yes $RANS_CHANNEL_LR_UNIFORM_DIR fi + echo "================================= TEST 2 ==============================" #-- Channel_Re_Tau_590 [k_eps_zeta_f model + T] replace_line_with_first_occurence_in_file "TURBULENCE_MODEL" \ "TURBULENCE_MODEL k_eps_zeta_f" $RANS_CHANNEL_LR_UNIFORM_DIR/control @@ -480,6 +491,7 @@ function processor_backup_tests { process_backup_test yes $RANS_CHANNEL_LR_UNIFORM_DIR fi + echo "================================= TEST 3 ==============================" #-- Channel_Re_Tau_590_Rsm [rsm_hanjalic_jakirlic model + T] replace_line_with_first_occurence_in_file "TURBULENCE_MODEL" \ "TURBULENCE_MODEL rsm_hanjalic_jakirlic" $RANS_CHANNEL_LR_RSM_DIR/control @@ -488,6 +500,7 @@ function processor_backup_tests { process_backup_test yes $RANS_CHANNEL_LR_RSM_DIR fi + echo "================================= TEST 4 ==============================" #-- Channel_Re_Tau_590_Rsm [rsm_manceau_hanjalic model + T] replace_line_with_first_occurence_in_file "TURBULENCE_MODEL" \ "TURBULENCE_MODEL rsm_manceau_hanjalic" $RANS_CHANNEL_LR_RSM_DIR/control @@ -496,12 +509,14 @@ function processor_backup_tests { process_backup_test yes $RANS_CHANNEL_LR_RSM_DIR fi + echo "================================= TEST 5 ==============================" #-- Pipe_Re_Tau_180 [les_dynamic] process_backup_test no $LES_PIPE_DIR if [ "$CGNS" = "yes" ]; then process_backup_test yes $LES_PIPE_DIR fi + echo "================================= TEST 6 ==============================" #-- Cavity_Lid_Driven_Re_1000 [none] process_backup_test no $LES_CAVITY_LID_DRIVEN_DIR if [ "$CGNS" = "yes" ]; then @@ -526,50 +541,163 @@ function process_save_exit_now_test { echo "Test: save_now & exit now on " $2 - name_in_div=$(head -n1 "$2"/divide.scr) - nproc_in_div=$(head -n2 "$2"/divide.scr | tail -n1) + cd "$2" + name_in_div=$(head -n1 divide.scr) + nproc_in_div=$(head -n2 divide.scr | tail -n1) - #----------------------------------------# + if [ -f "save_now" ]; then rm save_now; fi + if [ -f "exit_now" ]; then rm exit_now; fi + + # change number of timesteps to 3 + replace_line_with_first_occurence_in_file "NUMBER_OF_TIME_STEPS" \ + "NUMBER_OF_TIME_STEPS 3" control + + # change backup interval to 10 ts + replace_line_with_first_occurence_in_file "BACKUP_SAVE_INTERVAL" \ + "BACKUP_SAVE_INTERVAL 10" control + + # comment line with LOAD_BACKUP_NAME + n1=$(printf "%06d" 1) + replace_line_with_first_occurence_in_file "LOAD_BACKUP_NAME" \ + "#LOAD_BACKUP_NAME "$name_in_div"-ts"$n1".backup" control + + echo "================================= TEST 1 ==============================" echo "np=1, MPI=no" clean_compile $PROC_DIR $1 no # dir CGNS_HDF5 MPI cd $2 - echo "save_now" + echo "Forcing to save: save_now" touch save_now - if launch_process seq 1 | grep -q ""$name_in_div"-ts000001"; then - echo "exit_now" + # get current line count where search starts + n_start="$(echo "$(wc -l $FULL_LOG | cut -d" " -f1) + 1" | bc -l)" + + # start from scratch + launch_process seq 1 + + # find if save was made in the range [n_start: n_finish] + if tail -n+$n_start $FULL_LOG | \ + grep -q "# Creating file: "$name_in_div"-ts"$n1""; then + + echo "save_now was successfull" + + echo "Forcing to exit: exit_now" touch exit_now - launch_process seq 1 | grep -q "# Exiting !" - echo "save_exit_now_test was successfull" + + # uncomment line with LOAD_BACKUP_NAME + replace_line_with_first_occurence_in_file "LOAD_BACKUP_NAME" \ + "LOAD_BACKUP_NAME "$name_in_div"-ts"$n1".backup" control + + # start from ts=1 + n_start="$(echo "$(wc -l $FULL_LOG | cut -d" " -f1) + 1" | bc -l)" + + launch_process seq 1 + + if tail -n+$n_start $FULL_LOG | \ + tr -s " " | \ + grep -q "Time step : 3"; then + + echo "exit_now was NOT successfull" + else + echo "exit_now was successfull" + fi + else + echo "save_now was NOT successfull" fi - #----------------------------------------# + echo "================================= TEST 2 ==============================" echo "np=1, MPI=yes" + + # comment line with LOAD_BACKUP_NAME + replace_line_with_first_occurence_in_file "LOAD_BACKUP_NAME" \ + "#LOAD_BACKUP_NAME "$name_in_div"-ts"$n1".backup" control + clean_compile $PROC_DIR $1 yes # dir CGNS_HDF5 MPI cd $2 - echo "save_now" + echo "Forcing to save: save_now" touch save_now - if launch_process par 1 | grep -q ""$name_in_div"-ts000001"; then - echo "exit_now" + # get current line count where search starts + n_start="$(echo "$(wc -l $FULL_LOG | cut -d" " -f1) + 1" | bc -l)" + + # start from scratch + launch_process par 1 + + # find if save was made in the range [n_start: n_finish] + if tail -n+$n_start $FULL_LOG | \ + grep -q "# Creating file: "$name_in_div"-ts"$n1""; then + + echo "save_now was successfull" + + echo "Forcing to exit: exit_now" touch exit_now - launch_process par 1 | grep -q "# Exiting !" - echo "save_exit_now_test was successfull" + + # uncomment line with LOAD_BACKUP_NAME + replace_line_with_first_occurence_in_file "LOAD_BACKUP_NAME" \ + "LOAD_BACKUP_NAME "$name_in_div"-ts"$n1".backup" control + + # start from ts=1 + n_start="$(echo "$(wc -l $FULL_LOG | cut -d" " -f1) + 1" | bc -l)" + + launch_process par 1 + + if tail -n+$n_start $FULL_LOG | \ + tr -s " " | \ + grep -q "Time step : 3"; then + + echo "exit_now was NOT successfull" + else + echo "exit_now was successfull" + fi + else + echo "save_now was NOT successfull" fi - #----------------------------------------# + echo "================================= TEST 3 ==============================" echo "np=2, MPI=yes" - echo "save_now" + # comment line with LOAD_BACKUP_NAME + replace_line_with_first_occurence_in_file "LOAD_BACKUP_NAME" \ + "#LOAD_BACKUP_NAME "$name_in_div"-ts"$n1".backup" control + + echo "Forcing to save: save_now" touch save_now - if launch_process par $nproc_in_div | grep -q ""$name_in_div"-ts000001"; then - echo "exit_now" + # get current line count where search starts + n_start="$(echo "$(wc -l $FULL_LOG | cut -d" " -f1) + 1" | bc -l)" + + # start from scratch + launch_process par $nproc_in_div + + # find if save was made in the range [n_start: n_finish] + if tail -n+$n_start $FULL_LOG | \ + grep -q "# Creating file: "$name_in_div"-ts"$n1""; then + + echo "save_now was successfull" + + echo "Forcing to exit: exit_now" touch exit_now - launch_process par $nproc_in_div | grep -q "# Exiting !" - echo "save_exit_now_test was successfull" + + # uncomment line with LOAD_BACKUP_NAME + replace_line_with_first_occurence_in_file "LOAD_BACKUP_NAME" \ + "LOAD_BACKUP_NAME "$name_in_div"-ts"$n1".backup" control + + # start from ts=1 + n_start="$(echo "$(wc -l $FULL_LOG | cut -d" " -f1) + 1" | bc -l)" + + launch_process par $nproc_in_div + + if tail -n+$n_start $FULL_LOG | \ + tr -s " " | \ + grep -q "Time step : 3"; then + + echo "exit_now was NOT successfull" + else + echo "exit_now was successfull" + fi + else + echo "save_now was NOT successfull" fi } #------------------------------------------------------------------------------# @@ -583,9 +711,9 @@ function process_save_exit_now_tests { echo " !!" echo " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - process_save_exit_now_test no $RANS_CHANNEL_DIR + process_save_exit_now_test no $LAMINAR_BACKSTEP_ORTH_DIR if [ "$CGNS" = "yes" ]; then - process_save_exit_now_test yes $RANS_CHANNEL_DIR + process_save_exit_now_test yes $LAMINAR_BACKSTEP_ORTH_DIR fi } @@ -677,62 +805,71 @@ function processor_compilation_tests { echo " !!" echo " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "================================= TEST 1 ==============================" # no User_Mod/ dir !!! processor_compilation_test \ "$LES_CAVITY_LID_DRIVEN_DIR" \ "none" \ "$LES_CAVITY_LID_DRIVEN_DIR/Xmgrace" + echo "================================= TEST 2 ==============================" # no User_Mod/ dir !!! processor_compilation_test \ "$LES_CAVITY_THERM_DRIVEN_DIR_106" \ "none" \ "$LES_CAVITY_THERM_DRIVEN_DIR_106/Xmgrace" + echo "================================= TEST 3 ==============================" # no User_Mod/ dir !!! processor_compilation_test \ "$LES_CAVITY_THERM_DRIVEN_DIR_108" \ "none" \ "$LES_CAVITY_THERM_DRIVEN_DIR_108/Xmgrace" - # [~2 min test] + echo "================================= TEST 4 ==============================" + # User_Mod/ dir exists processor_compilation_test \ "$RANS_CHANNEL_LR_UNIFORM_DIR" \ "k_eps" \ "$RANS_CHANNEL_LR_UNIFORM_DIR/Xmgrace" - # [~2 min test] + echo "================================= TEST 5 ==============================" + # User_Mod/ dir exists processor_compilation_test \ "$RANS_CHANNEL_LR_STRETCHED_DIR" \ "k_eps_zeta_f" \ "$RANS_CHANNEL_LR_STRETCHED_DIR/Xmgrace" - # [~5 min test] + echo "================================= TEST 6 ==============================" + # User_Mod/ dir exists processor_compilation_test \ "$RANS_CHANNEL_LR_RSM_DIR" \ "rsm_manceau_hanjalic" \ "$RANS_CHANNEL_LR_RSM_DIR/Xmgrace" - # [~5 min test] + echo "================================= TEST 7 ==============================" + # User_Mod/ dir exists processor_compilation_test \ "$RANS_CHANNEL_LR_RSM_DIR" \ "rsm_hanjalic_jakirlic" \ "$RANS_CHANNEL_LR_RSM_DIR/Xmgrace" - # [~12 HOURS test] + echo "================================= TEST 8 ==============================" + # User_Mod/ dir exists processor_compilation_test \ "$HYB_CHANNEL_HR_UNIFORM_DIR" \ "hybrid_les_rans" \ "$HYB_CHANNEL_HR_UNIFORM_DIR/Xmgrace" - # [~12 HOURS test] + echo "================================= TEST 9 ==============================" + # User_Mod/ dir exists processor_compilation_test \ "$HYB_CHANNEL_HR_STRETCHED_DIR" \ "hybrid_les_rans" \ "$HYB_CHANNEL_HR_STRETCHED_DIR/Xmgrace" # # Issue: pipe does not pass processor_backup_tests -# processor_full_length_test \ +# processor_compilation_test \ # "$LES_PIPE_DIR" \ # "les_dynamic" \ # "$LES_PIPE_DIR/Xmgrace" @@ -794,7 +931,7 @@ function processor_full_length_test { launch_process par $nproc_in_div - if [ -f *-res-plus.dat ];then + if ls *-res-plus.dat 1> /dev/null 2>&1; then # case-ts??????-res-plus.dat # extract essential data from produced .dat files last_results_plus_dat_file=$(realpath --relative-to="$3" \ @@ -805,6 +942,8 @@ function processor_full_length_test { launch_gnuplot "$3" gnuplot_script_template.sh \ "$last_results_plus_dat_file" "result_plus_"$2"" + else + echo "Warning: file *-res-plus.dat does not exist" fi } #------------------------------------------------------------------------------# @@ -822,55 +961,64 @@ function processor_full_length_tests { echo " !!" echo " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + echo "================================= TEST 1 ==============================" # no User_Mod/ dir !!! processor_full_length_test \ "$LES_CAVITY_LID_DRIVEN_DIR" \ "none" \ "$LES_CAVITY_LID_DRIVEN_DIR/Xmgrace" + echo "================================= TEST 2 ==============================" # no User_Mod/ dir !!! processor_full_length_test \ "$LES_CAVITY_THERM_DRIVEN_DIR_106" \ "none" \ "$LES_CAVITY_THERM_DRIVEN_DIR_106/Xmgrace" + echo "================================= TEST 3 ==============================" # no User_Mod/ dir !!! processor_full_length_test \ "$LES_CAVITY_THERM_DRIVEN_DIR_108" \ "none" \ "$LES_CAVITY_THERM_DRIVEN_DIR_108/Xmgrace" + echo "================================= TEST 4 ==============================" # [~2 min test] processor_full_length_test \ "$RANS_CHANNEL_LR_UNIFORM_DIR" \ "k_eps" \ "$RANS_CHANNEL_LR_UNIFORM_DIR/Xmgrace" + echo "================================= TEST 5 ==============================" # [~2 min test] processor_full_length_test \ "$RANS_CHANNEL_LR_STRETCHED_DIR" \ "k_eps_zeta_f" \ "$RANS_CHANNEL_LR_STRETCHED_DIR/Xmgrace" + echo "================================= TEST 6 ==============================" # [~5 min test] processor_full_length_test \ "$RANS_CHANNEL_LR_RSM_DIR" \ "rsm_manceau_hanjalic" \ "$RANS_CHANNEL_LR_RSM_DIR/Xmgrace" + echo "================================= TEST 7 ==============================" # [~5 min test] processor_full_length_test \ "$RANS_CHANNEL_LR_RSM_DIR" \ "rsm_hanjalic_jakirlic" \ "$RANS_CHANNEL_LR_RSM_DIR/Xmgrace" - # [~12 HOURS test] + echo "================================= TEST 8 ==============================" + # [~4.5 HOURS test] processor_full_length_test \ "$HYB_CHANNEL_HR_UNIFORM_DIR" \ "hybrid_les_rans" \ "$HYB_CHANNEL_HR_UNIFORM_DIR/Xmgrace" - # [~12 HOURS test] + echo "================================= TEST 9 ==============================" + # [~4 HOURS test] processor_full_length_test \ "$HYB_CHANNEL_HR_STRETCHED_DIR" \ "hybrid_les_rans" \