From 82da59306483603e3c4d4835abe72d10ab508fe6 Mon Sep 17 00:00:00 2001 From: ignis Date: Sun, 12 Dec 2021 13:47:29 +0900 Subject: [PATCH] varialble Dm balance terms --- binning_balance_terms_from_raw.py | 40 ++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/binning_balance_terms_from_raw.py b/binning_balance_terms_from_raw.py index b7dab4e..3720d38 100644 --- a/binning_balance_terms_from_raw.py +++ b/binning_balance_terms_from_raw.py @@ -129,6 +129,17 @@ class ConditionalMeanBinning: np.savez(self.name, **self.average()) print("saved ", self.name) +def sutherland(c, dm0=0.02*4./3., rvis=5., pre=2.10e4, ac=26.7, bc=3.): + t0 = 1 + t1 = 1 + bc + + Ts = (rvis * t1 - (t1**(3. / 2.))) / (t1**(3. / 2.) - rvis) + As = t0 + Ts + + theta = (1 + bc * c) + + return dm0 * As * np.sqrt(theta) / (1. + Ts / theta) + cs = CompactScheme(nx, ny, nz, False, True, True, 4, 2, 2) @@ -136,6 +147,10 @@ cs = CompactScheme(nx, ny, nz, False, True, True, 4, 2, 2) cmean_verify = np.zeros(len(x_indices)) # Conditional Average Objects +avg_objs_ddxdmddxc = [ConditionalMeanBinning(var='ddxdmddxc', case=casename, loc=xi) for xi in x_indices] +avg_objs_ddydmddyc = [ConditionalMeanBinning(var='ddydmddyc', case=casename, loc=xi) for xi in x_indices] +avg_objs_ddzdmddzc = [ConditionalMeanBinning(var='ddzdmddzc', case=casename, loc=xi) for xi in x_indices] + avg_objs_ddxc = [ConditionalMeanBinning(var='ddxc', case=casename, loc=xi) for xi in x_indices] avg_objs_ddyc = [ConditionalMeanBinning(var='ddyc', case=casename, loc=xi) for xi in x_indices] avg_objs_ddzc = [ConditionalMeanBinning(var='ddzc', case=casename, loc=xi) for xi in x_indices] @@ -147,8 +162,6 @@ avg_objs_uddxc = [ConditionalMeanBinning(var='uddxc', case=casename, loc=xi) for avg_objs_vddyc = [ConditionalMeanBinning(var='vddyc', case=casename, loc=xi) for xi in x_indices] avg_objs_wddzc = [ConditionalMeanBinning(var='wddzc', case=casename, loc=xi) for xi in x_indices] -avg_objs_ddxcddxc = [ConditionalMeanBinning(var='ddxcddxc', case=casename, loc=xi) for xi in x_indices] - targets=[ 'ddxc', 'ddyc', 'ddzc', 'd2dxc', 'd2dyc', 'd2dzc', 'uddxc', 'vddyc', 'wddzc', ] mean_array = np.zeros((10, nx)) @@ -162,27 +175,38 @@ for i, fname in enumerate(case.data_files[:n_timestep]): u = u+u0 y = scalar[-1] c = (1. - y) + dm = sutherland(c) d2dxc = cs.d2dx(c) d2dyc = cs.d2dy(c) d2dzc = cs.d2dz(c) + ddxdm = cs.ddx(dm) + ddydm = cs.ddy(dm) + ddzdm = cs.ddz(dm) + ddzc = cs.ddz(c) ddyc = cs.ddy(c) ddxc = cs.ddx(c) - ddxcddxc = ddxc * ddxc - uddxc = u*ddxc vddyc = v*ddyc wddzc = w*ddzc + ddxdmddxc = ddxdm*ddxc + ddydmddyc = ddydm*ddyc + ddzdmddzc = ddzdm*ddzc + for idx, field in enumerate([u, v, w, c, ddxc, ddyc, ddzc, d2dxc, d2dyc, d2dzc]): mean_array[idx] += field.sum(axis=(0,1)) for j, xi in enumerate(x_indices): mask = avg_objs_ddxc[j].calculate_conditional_mask(c[:,:,xi]) + avg_objs_ddxdmddxc[j].feed_samples(c[:,:,xi], ddxdmddxc[:,:,xi], mask) + avg_objs_ddydmddyc[j].feed_samples(c[:,:,xi], ddydmddyc[:,:,xi], mask) + avg_objs_ddzdmddzc[j].feed_samples(c[:,:,xi], ddzdmddzc[:,:,xi], mask) + avg_objs_ddxc[j].feed_samples(c[:,:,xi], ddxc[:,:,xi], mask) avg_objs_ddyc[j].feed_samples(c[:,:,xi], ddyc[:,:,xi], mask) avg_objs_ddzc[j].feed_samples(c[:,:,xi], ddzc[:,:,xi], mask) @@ -191,8 +215,6 @@ for i, fname in enumerate(case.data_files[:n_timestep]): avg_objs_d2dyc[j].feed_samples(c[:,:,xi], d2dyc[:,:,xi], mask) avg_objs_d2dzc[j].feed_samples(c[:,:,xi], d2dzc[:,:,xi], mask) - avg_objs_ddxcddxc[j].feed_samples(c[:,:,xi], ddxcddxc[:,:,xi], mask) - avg_objs_uddxc[j].feed_samples(c[:,:,xi], uddxc[:,:,xi], mask) avg_objs_vddyc[j].feed_samples(c[:,:,xi], vddyc[:,:,xi], mask) avg_objs_wddzc[j].feed_samples(c[:,:,xi], wddzc[:,:,xi], mask) @@ -216,6 +238,10 @@ def save_cmean_result (fmt, obj_list): for j, xi in enumerate(x_indices): obj_list[j].save_to_file() +save_cmean_result("cavg_ddxdmddxc_c_{}_{}", avg_objs_ddxdmddxc) +save_cmean_result("cavg_ddydmddyc_c_{}_{}", avg_objs_ddydmddyc) +save_cmean_result("cavg_ddzdmddzc_c_{}_{}", avg_objs_ddzdmddzc) + save_cmean_result("cavg_ddxc_c_{}_{}", avg_objs_ddxc) save_cmean_result("cavg_ddyc_c_{}_{}", avg_objs_ddyc) save_cmean_result("cavg_ddzc_c_{}_{}", avg_objs_ddzc) @@ -227,5 +253,3 @@ save_cmean_result("cavg_wddzc_c_{}_{}", avg_objs_wddzc) save_cmean_result("cavg_d2dxc_c_{}_{}", avg_objs_d2dxc) save_cmean_result("cavg_d2dyc_c_{}_{}", avg_objs_d2dyc) save_cmean_result("cavg_d2dzc_c_{}_{}", avg_objs_d2dzc) - -save_cmean_result("cavg_ddxcddxc_c_{}_{}", avg_objs_ddxcddxc)