BA Lena Schürmann: Difference between revisions
Jump to navigation
Jump to search
| Line 3: | Line 3: | ||
=== Analyse der Ablösefrequenz: === | === Analyse der Ablösefrequenz: === | ||
==== | ==== Methode 1: Analyse mittels Autokorrelation: ==== | ||
<syntaxhighlight lang="python3" line="1"> | |||
def cov(a,b): | |||
return np.mean(np.dot((a-np.mean(a)),(b-np.mean(b)))) | |||
def autokorr(data): | |||
autok=[] | |||
for tau in range (0,int(len(data))): | |||
data_a=data[:len(data)-tau] | |||
data_b=data[tau:] | |||
temp=cov(data_a,data_b)/np.sqrt(cov(data_a,data_a)*cov(data_b,data_b)) | |||
autok.append(temp) | |||
autok=np.asarray(autok) | |||
return autok | |||
</syntaxhighlight>Hier wird die [https://de.wikipedia.org/wiki/Autokorrelation Autokorrelationsfunktion] in ihrer allgemeinen normierten Form verwendet. <gallery mode="nolines"> | |||
File:Re100 Autokorr.png|Autokorrelationsfunktion angewandt auf die Zeitreihen von Druck, Dichte und Geschwindigkeit an Position n_r=40 und n_phi=90. Maximalstellen markiert durch x kennzeichnen lokal höchste Übereinstimmung der Zeitreihen. Literaturwert als grobe visuelle Orientierung (umgerechnet in Perioden aus Daten von Roshko). | |||
File:Re100 Autokorr St.png|Autokorrelationsfunktion angewandt auf die Zeitreihen von Druck, Dichte und Geschwindigkeit an Position n_r=40 und n_phi=90. Maximalstellen markiert durch x kennzeichnen lokal höchste Übereinstimmung der Zeitreihen. Literaturwert als grobe visuelle Orientierung (aus Daten von Roshko). | |||
</gallery> | |||
===== Über erste Periodendauer: ===== | |||
<syntaxhighlight lang="python3" line="1"> | |||
def autokorr_mod(vs_r, mesh_grid,stepwidth): | |||
phis_min=0 | |||
phis_max=np.shape(mesh_grid)[1] | |||
diffs_mod=[] | |||
for rs in range (0,np.shape(mesh_grid)[0]): | |||
for phi in range (phis_min,phis_max): | |||
diffs_mod.append(np.asarray(sp.find_peaks(autokorr(vs_r[:,rs,phi]))[0])[0]) | |||
return diffs_mod*stepwidth | |||
</syntaxhighlight> | |||
===== Über Durchschnittliche Periodendauer: ===== | |||
<syntaxhighlight lang="python3" line="1"> | |||
def autokorr_anw_mod(vs_r, mesh_grid,stepwidth): | |||
phis_min=0 | |||
phis_max=np.shape(mesh_grid)[1] | |||
diffs_mod=[] | |||
for rs in range (0,np.shape(mesh_grid)[0]): | |||
for phi in range (phis_min,phis_max): | |||
vs_auto_maxs=np.asarray(sp.find_peaks(autokorr(vs_r[:,rs,phi]))[0]) | |||
diffs_mod=np.hstack((diffs_mod,(vs_auto_maxs[1:]-vs_auto_maxs[:-1])[0])) | |||
return diffs_mod*stepwidth | |||
</syntaxhighlight> | |||
==== Methode 2: Analyse mittels Fourier-Analyse: ==== | |||
[[File:BA-LS-St-Re-Vgl-Roshko.png|alt=This plot shows the strouhal number for different reynolds numbers in case of eddie shedding behind a spherical cylinder. Three curves are approximately the data collected by Roshko (source: M.M Zdrakovich, Flow around circular cylinders, Vol. 1) and the marks in blue show the results of the simulated data with pluto.|thumb|center|600px|Current Simulation Results]] | [[File:BA-LS-St-Re-Vgl-Roshko.png|alt=This plot shows the strouhal number for different reynolds numbers in case of eddie shedding behind a spherical cylinder. Three curves are approximately the data collected by Roshko (source: M.M Zdrakovich, Flow around circular cylinders, Vol. 1) and the marks in blue show the results of the simulated data with pluto.|thumb|center|600px|Current Simulation Results]] | ||
Revision as of 02:37, 17 June 2024
Vortragstitel im Bachelorseminar: Modellierung und Analyse der Ablösefrequenz von von Kármán-Straßen
Analyse der Ablösefrequenz:
Methode 1: Analyse mittels Autokorrelation:
def cov(a,b):
return np.mean(np.dot((a-np.mean(a)),(b-np.mean(b))))
def autokorr(data):
autok=[]
for tau in range (0,int(len(data))):
data_a=data[:len(data)-tau]
data_b=data[tau:]
temp=cov(data_a,data_b)/np.sqrt(cov(data_a,data_a)*cov(data_b,data_b))
autok.append(temp)
autok=np.asarray(autok)
return autok
Hier wird die Autokorrelationsfunktion in ihrer allgemeinen normierten Form verwendet.
Autokorrelationsfunktion angewandt auf die Zeitreihen von Druck, Dichte und Geschwindigkeit an Position n_r=40 und n_phi=90. Maximalstellen markiert durch x kennzeichnen lokal höchste Übereinstimmung der Zeitreihen. Literaturwert als grobe visuelle Orientierung (umgerechnet in Perioden aus Daten von Roshko).
Über erste Periodendauer:
def autokorr_mod(vs_r, mesh_grid,stepwidth):
phis_min=0
phis_max=np.shape(mesh_grid)[1]
diffs_mod=[]
for rs in range (0,np.shape(mesh_grid)[0]):
for phi in range (phis_min,phis_max):
diffs_mod.append(np.asarray(sp.find_peaks(autokorr(vs_r[:,rs,phi]))[0])[0])
return diffs_mod*stepwidth
Über Durchschnittliche Periodendauer:
def autokorr_anw_mod(vs_r, mesh_grid,stepwidth):
phis_min=0
phis_max=np.shape(mesh_grid)[1]
diffs_mod=[]
for rs in range (0,np.shape(mesh_grid)[0]):
for phi in range (phis_min,phis_max):
vs_auto_maxs=np.asarray(sp.find_peaks(autokorr(vs_r[:,rs,phi]))[0])
diffs_mod=np.hstack((diffs_mod,(vs_auto_maxs[1:]-vs_auto_maxs[:-1])[0]))
return diffs_mod*stepwidth
