Edit on Gitlab Launch with Binder

Mann spectrumΒΆ

[1]:
import matplotlib.pyplot as plt
import numpy as np
from ipywidgets import interact
from ipywidgets import FloatSlider
from hipersim.turbgen.mannspectrum import MannSpectrum_TableLookup
c_lst = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728'] # [plt.plot([])[0].get_color() for c in range(4)]
[4]:
def _plot_spectra(ae23,L,G,ls='-'):
    k1, Phi = MannSpectrum_TableLookup(Gamma=G, L=L, alphaepsilon=ae23, kinput=None)

    for P, l, c in zip(Phi,['uu','vv','ww','uw'], c_lst):
        if ls!='-':
            l = ''
        plt.semilogx(k1,k1*P, color=c, ls=ls, label=l)

def plot_spectra(ae23,L,G):
    plt.gca().cla()
    _plot_spectra(ae23=.1,L=33.6,G=3.9,ls='--')
    plt.plot([],'--', color='grey', label=r'$\alpha\epsilon^{2/3}=.1, L=33.6, \Gamma=3.9$')
    _plot_spectra(ae23,L,G)
    plt.xlabel('Wave number, $k_1$ $  [m^{-1}$]')
    plt.ylabel('$k_1 S(k_1)[m^2s^{-2}]$')
    plt.legend()
    plt.grid()
[5]:
_ = interact(plot_spectra,
             ae23=FloatSlider(min=0, max=1, step=.1, value=.1, continuous_update=True),
             L=FloatSlider(min=0.1, max=200, step=.1, value=33.6, continuous_update=True),
             G=FloatSlider(min=0, max=5, step=.1, value=3.9, continuous_update=True),
              )
[ ]: