=============================================================== Ri-dependent Smagorinsky model =============================================================== I have used the model advocated by Tamay and Paul, with the Smagorinsky model multiplied by a sqrt(1-Ri/Ri_c) factor. The ecorresponding implementation is below, where Ri_c is set to be 1.0. =============================================================== cc Compute the Richardson number if ((w(kx,ky,kz,1,2)**2 + w(kx,ky,kz,3,2)**2).gt.1.e-6) then Ri = Ra*dabs(w_T(kx,ky,kz,1,2)) $ / (w(kx,ky,kz,1,2)**2 + w(kx,ky,kz,3,2)**2) endif if(Ri.lt.Ri_c) then factor_Ri = sqrt(1-Ri/Ri_c) else factor_Ri = 0.0 endif do j=1,ndim do i=1,ndim if (i.eq.2) then factor = factor_Ri else factor = 1.0 endif smaVD(kx,ky,kz,ie,i,j) = norm_grad_sym*0.5 $ * factor $ * (w(kx,ky,kz,j,i)+w(kx,ky,kz,i,j)) enddo enddo =============================================================== smari1: Pr = 1; r = 0.01; Ra = 1.e6; LX1 = 7; DT = 1.e-7; sma_constant = 1.0; VD_const = 1.0; This one barely moves down the slope... =============================================================== smari2: Pr = 1; r = 1.0; Ra = 500.e6; LX1 = 7; DT = 1.e-7; sma_constant = 1.0; VD_const = 1.0; When compared with smavd1 (our benchmark), this one seems more diffusive. =============================================================== smari3: Pr = 1; r = 0.01; Ra = 500.e6; LX1 = 7; DT = 1.e-7; sma_constant = 1.0; VD_const = 1.0; Blew up after 638 time steps. =============================================================== smari4: Pr = 1; r = 0.01; Ra = 500.e6; LX1 = 7; DT = 1.e-7; sma_constant = 0.0; (NO LES model) Blew up after 638 time steps. =============================================================== smari5: Pr = 1; r = 0.01; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 0.0 =============================================================== smari6: Pr = 1; r = 0.01; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 1.0 ramp = off =============================================================== From here on, I corrected a bug that Tamay discovered. The Ri-Sma model is applied to ALL momentum equations. =============================================================== smari7: Pr = 1; r = 0.001; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 0.0 =============================================================== smari8: Pr = 1; r = 0.001; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 1.0 ramp = off =============================================================== smari9: Pr = 1; r = 0.0001; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 0.0 =============================================================== smari10: Pr = 1; r = 0.0001; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 1.0 ramp = off =============================================================== smari11:Pr = 1; r = 0.00001; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 0.0 =============================================================== smari12:Pr = 1; r = 0.00001; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 1.0 ramp = off =============================================================== smari13:Pr = 1; r = 0.000001; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 0.0 =============================================================== smari14:Pr = 1; r = 0.000001; Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 1.0 ramp = off =============================================================== smari15:Pr = 1; r = 0.0; !!!!!!!!! Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 0.0 =============================================================== smari16:Pr = 1; r = 0.0; !!!!!!!! Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 1.0 ramp = off =============================================================== =============================================================== May 13. 2004. From here on, we ran the DEBUGGED version of the code. Paul found a couple of bugs in "div_sma_t" and "div_sma_t_T": an index "iz" was out of the iz-loop. Now we are trying to go back to square one.... =============================================================== =============================================================== =============================================================== This is the same as smari16 (only it's debugged....) smari18:Pr = 1; r = 0.0; !!!!!!!! Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 1.0 ramp = off Blew up after 14 steps. =============================================================== This is the same as smari18, but "ramp" is on. smari19:Pr = 1; r = 0.0; !!!!!!!! Ra = 1.e6; Ri_c = 1.0; LX1 = 7; DT = 2.e-6; sma_constant = 1.0 ramp = on Blew up after 14 steps. =============================================================== This is like tamay45. smari20:Pr = 1; r = 1.0; Ra = 500.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-7; sma_constant = 0.01 ramp = on VD_constant = on Blew up after 1002 steps. =============================================================== This is like smari20. We just decreased the Smag. constant. smari21:Pr = 1; r = 1.0; Ra = 500.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-7; sma_constant = 0.001 ! Small Smag. constant ramp = on VD_constant = on Blew up after 4135 steps. =============================================================== This is like smari21. We decreased the Smag. constant even more. smari22:Pr = 1; r = 1.0; Ra = 500.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-7; sma_constant = 0.0005 ! Small Smag. constant ramp = on VD_constant = on Blew up after 10,947 steps. =============================================================== This is like smari22. We decreased the Smag. constant even more. smari23:Pr = 1; r = 1.0; Ra = 500.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-7; sma_constant = 0.0001 ! Small Smag. constant ramp = on VD_constant = on It ran just fine all the 15,000 steps. =============================================================== Since smari23 ran fine, we decided to increase sma_constant a bit. smari24:Pr = 1; r = 1.0; Ra = 500.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-7; sma_constant = 0.0002 ramp = on VD_constant = on It ran just fine all the 15,000 steps. =============================================================== Since smari23 ran fine, we decided to increase sma_constant a bit. smari25:Pr = 1; r = 1.0; Ra = 500.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-7; sma_constant = 0.0003 ramp = on VD_constant = on Blew up after 10870 steps. =============================================================== 26 July, 2004 These are the tests with "r=0" suggested by Tamay =============================================================== This is "test1" suggested by Tamay. smari26:Pr = 1; r = 0.02; Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.0 ramp = on VD_constant = on It ran just fine for 15,000 steps. =============================================================== This is "test2" suggested by Tamay. The same as test1, but with no vert. diffusivity. smari27:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.0 ramp = on VD_constant = on It blew up after 7822 steps. =============================================================== This is "test3" suggested by Tamay. The same as test2, but with Smag. smari28:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.01 ramp = on VD_constant = on It blew up after 967 steps. =============================================================== This is the same as test3, but with a smaller Smag., since test3 blew-up. smari29:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.001 ramp = on VD_constant = on It blew up after 3494 steps. =============================================================== This is the same as smari29, but with a smaller Smag., since smari29 blew-up. smari30:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.0001 ramp = on VD_constant = on It blew up after 7389 steps. =============================================================== This is the same as smari28, but with Ri_c = 0.5. smari31:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 0.5; LX1 = 7; DT = 1.e-6; sma_constant = 0.01 ramp = on VD_constant = on It blew up after 1009 steps. So it seems that decreasing Ri_c doesn't help too much. =============================================================== This is the same as smari30, but with a smaller "delta_target" in "subroutine filter_radius(delta)" (0.05 instead of 0.2). smari32:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.0001 ramp = on VD_constant = on delta_target = 0.05 Blew-up after 7865 steps. =============================================================== This is the same as smari32, but with a smaller "delta_target" in "subroutine filter_radius(delta)" (0.01 instead of 0.05). smari33:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.0001 ramp = on VD_constant = on delta_target = 0.01 Blew-up after 7823 steps. =============================================================== "smari34" is the same as "smari33", but with a larger "C_s". smari34:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.1 !!!!! ramp = on VD_constant = on delta_target = 0.01 Blew up after 14845 steps. (So it ran OK for all practical purposes.) =============================================================== "smari35" is the same as "smari33", but with a larger "C_s". smari35:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.05 !!!!! ramp = on VD_constant = on delta_target = 0.01 Blew up after 7281 steps. =============================================================== "smari36" is the same as "smari34", but with a larger "C_s". smari36:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.2 !!!!! ramp = on VD_constant = on delta_target = 0.01 Blew up after 9072 steps. =============================================================== "smari37" is the same as "smari34", but WITHOUT "ramp" smari37:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.1 !!!!! ramp = on VD_constant = on delta_target = 0.01 Blew up after 14644 steps. (So it ran OK for all practical purposes.) =============================================================== =============================================================== =============================================================== August 3, 2004 From here on, we added a Ri-Smag model to the Temperature eqn. (it used to be just plain Smag.) =============================================================== =============================================================== =============================================================== "smari38" is the same as "smari37", but with a bigger C_s smari38:Pr = 1; r = 0.0; !!!!! Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.2 !!!!! ramp = on VD_constant = on delta_target = 0.01 ramp = off Blew up after 8970 steps. So it seems that adding a Ri-dependence to the temperature eqn. did not help. =============================================================== =============================================================== =============================================================== August 5, 2004 I think I found a BIIIIG mistake!!! I think that I used the wrong sign for the Smag. term. This would obviously explain the instability. =============================================================== =============================================================== =============================================================== "smari39" is the same as "smari38", but with the corrected sign smari39:Pr = 1; r = 0.0; Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 0.2 !!!!! ramp = on VD_constant = on delta_target = 0.01 ramp = off Blew up after 11685 steps. =============================================================== "smari40" is the same as "smari39", but with a bigger C_s smari40:Pr = 1; r = 0.0; Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 1.0 !!!!! ramp = on VD_constant = on delta_target = 0.01 ramp = off It ran just fine for 15,000 steps !!!! =============================================================== "smari41" is the same as "smari39", but with C_s = 100.0 !!!!! smari41:Pr = 1; r = 0.0; Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 100.0 !!!!! ramp = on VD_constant = on delta_target = 0.01 ramp = off Blew up after 1198 steps. =============================================================== "smari42" is the same as "smari41", but with a smaller C_S ( C_s = 10.0 ) smari42:Pr = 1; r = 0.0; Ra = 5.e6; Ri_c = 1.0; LX1 = 7; DT = 1.e-6; sma_constant = 10.0 !!!!! ramp = on VD_constant = on delta_target = 0.01 ramp = off Blew up after 13490 steps. =============================================================== =============================================================== TABLE =============================================================== --------------------------------------------------------------- | test | C_s | Ri_c | delta | # steps blow-up | --------------------------------------------------------------- |smari27 | 0.0 | 1.0 | 0.2 | 7822 | --------------------------------------------------------------- |smari28 | 0.01 | 1.0 | 0.2 | 967 | --------------------------------------------------------------- |smari29 | 0.001 | 1.0 | 0.2 | 3494 | --------------------------------------------------------------- |smari30 | 0.0001 | 1.0 | 0.2 | 7389 | --------------------------------------------------------------- |smari31 | 0.01 | 0.5 | 0.2 | 1009 | --------------------------------------------------------------- |smari32 | 0.0001 | 1.0 | 0.05 | 7865 | --------------------------------------------------------------- |smari33 | 0.0001 | 1.0 | 0.01 | 7823 | --------------------------------------------------------------- |smari34 | 0.1 | 1.0 | 0.01 | 14845 | --------------------------------------------------------------- |smari35 | 0.05 | 1.0 | 0.01 | 7281 | --------------------------------------------------------------- |smari36 | 0.2 | 1.0 | 0.01 | 9072 | --------------------------------------------------------------- | From now on, NO "ramp" | --------------------------------------------------------------- |smari37 | 0.1 | 1.0 | 0.01 | 14644 | --------------------------------------------------------------- | From now on, Ri-dependence in the Temp. eqn. | --------------------------------------------------------------- |smari38 | 0.2 | 1.0 | 0.01 | 8970 | --------------------------------------------------------------- | From now on, we use the correct sign for the Smag. term | --------------------------------------------------------------- |smari39 | 0.2 | 1.0 | 0.01 | 11685 | --------------------------------------------------------------- |smari40 | 1.0 | 1.0 | 0.01 | 15000 | --------------------------------------------------------------- |smari41 | 100.0 | 1.0 | 0.01 | 1198 | --------------------------------------------------------------- |smari42 | 10.0 | 1.0 | 0.01 | 13498 | --------------------------------------------------------------- =============================================================== END TABLE =============================================================== =============================================================== =============================================================== =============================================================== ===============================================================