Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Notebooks supporting the J. Fluid Mech. submission "Turbulent mixed convection in vertical and horizontal channels"

206 views
unlisted
ubuntu2204
Kernel: Python 3 (system-wide)

import numpy as np import h5py import matplotlib.pyplot as plt import seaborn as sns import cmocean # Aesthetics sns.set_theme() sns.set_style('ticks') sns.set_context('paper') plt.rc('mathtext', fontset='stix') plt.rc('font', family='serif') plt.rc('axes', grid=True) import pandas as pd

Load energy budget data

df = pd.read_csv('../data/budget_data.csv') df.head()

Set parameter-dependent figure aesthetics

def Pr_mark(Pr): if Pr==1: return 'o' elif Pr==4: return '^' else: return 'v' camp = sns.color_palette('flare', as_cmap=True) cspeed = cmocean.tools.crop_by_percent(cmocean.cm.tempo, 30, which='both', N=None) def Re_col(lR): return camp((lR - 2.5)/1.5) def Gr_col(lG): return cspeed((lG - 6)/2)
fig, axs = plt.subplots(1,2, figsize=(5.2,2.0), dpi=200, layout='constrained') for Gr in df.Gr.unique(): for Pr in df.Pr.unique(): sdf = df[(df.Gr==Gr) & (df.Pr==Pr)].sort_values('Re') axs[0].plot(sdf.Re/sdf.Re0, (sdf.I)/(sdf.qm + sdf.qp), marker=Pr_mark(Pr), color=Gr_col(np.log10(Gr)), markeredgecolor='k') axs[1].plot(sdf.Re/sdf.Re0, (sdf.I)/(sdf.I + sdf.qm + sdf.qp), marker=Pr_mark(Pr), color=Gr_col(np.log10(Gr)), markeredgecolor='k') Rr = 10**np.linspace(-1,2,101) axs[0].loglog(Rr, 0.1*Rr**2, 'k--') axs[1].semilogx(Rr, Rr**2/(Rr**2 + 10), 'k--') for ax in axs: ax.set_xlabel('$Re/Re_0$') axs[0].set_ylabel('$\mathcal{I}/q$') axs[1].set_ylabel('$\mathcal{I}/(\mathcal{I} + q)$') axs[0].annotate('$\mathcal{I}/q \\approx 0.1 (Re/Re_0)^2$', (2, 2.5), rotation=35, ha='center', va='center') axs[0].annotate('$(a)$', (-0.05, 1.05), xycoords='axes fraction', ha='right', va='bottom') axs[1].annotate('$(b)$', (-0.05, 1.05), xycoords='axes fraction', ha='right', va='bottom') # fig.savefig('total_KE_budget.pdf') plt.show()
Image in a Jupyter notebook