conditional-analysis-dns/fluctuation_product_u_ddxc.py

51 lines
1.2 KiB
Python

import argparse
import datetime
import numpy as np
import dnstool
from pycompact import CompactScheme
# Commandline argument parser
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--case", help="target case name", required=True)
args = parser.parse_args()
params = vars(args)
casename = params["case"]
cases = dnstool.case_library()
case = cases[casename]
nx, ny, nz = case.shape
cs = CompactScheme(nx, ny, nz, False, True, True, 4, 2, 2)
cfile = "c.dat"
ufile = "u.dat"
ddxcfile = "ddxc.dat"
resfile = "uddxc.dat"
c = np.memmap(cfile, mode="r", dtype=np.double).reshape((512,-1,256,256))
u = np.memmap(ufile, mode="r", dtype=np.double).reshape((512,-1,256,256))
ddxc = np.memmap(ufile, mode="r", dtype=np.double).reshape((512,-1,256,256))
storage = np.memmap(resfile, mode='w+', dtype=np.double, shape=(nx, len(case.data_files), ny, nz))
for xidx in range(nx):
u_cstar =
u_mean =
u_mean_at_x = np.interp (c[xidx], u_cstar, u_mean)
u_at_x = u[xidx]
u_flux_at_x = u_at_x - u_mean_at_x
ddxc_cstar =
ddxc_mean =
ddxc_mean_at_x = np.interp (c[xidx], ddxc_cstar, ddxc_mean)
ddxc_at_x = u[xidx]
ddxc_flux_at_x = ddxc_at_x - ddxc_mean_at_x
storage[xidx,:,:,:] = u_flux_at_x * ddxc_flux_at_x
storage.flush()