intertools.product einzelne parametersets lesen
Verfasst: Montag 20. Juli 2020, 19:44
Hallo, ich muss für 5 verschiedene parameter einen min und max wert, sowie den zugehörigen step definieren, dies erfolgt über:
Diese einzelnen Parameter werden über itertool.product erfolgreich kombiniert:
soweit so gut, nun steht zB in der ersten Zeile:
1600, 0.05, 0.8, 80, 10
usw.
soweit so gut. Jetzt muss ich eben Zeile für Zeile in ein TXT File im Format:
1600
0.05
0.8
80
10
ein statischer Wert
ein statischer Wert
ein statischer Wert
ein statischer Wert
das habe ich bislang nur ohne der intertools.product funktion geschafft
anschließend soll ein binäres Programm aufgerufen werden, welches leider ein txt in genau dem Format benötigt:
Kann mir jemand bei dem Zwischenschritt weiterhelfen, wie ich die Parametesets Zeile für Zeile in das TXT File bekomme und Zwischendurch das binäre file auszuführen kann. Dieser Schritt soll sich wsl im 6 stelligen Bereich wiederholen.
Danke schon mal vorweg
Code: Alles auswählen
import itertools
import numpy as np
# input parameter range:
density_dry = np.arange(1600,2250,50)
saturation = np.arange(0.05,1.1,0.31)
diameter = np.arange(0.8,4.6,0.1)
cement_content = np.arange(80,950,10)
start_temp = np.arange(10,31,1)
Code: Alles auswählen
# calculate parametersets:
print(">>> calculate parametersets")
parameter_iteration = itertools.product(density_dry, saturation, diameter, cement_content, start_temp)
1600, 0.05, 0.8, 80, 10
usw.
soweit so gut. Jetzt muss ich eben Zeile für Zeile in ein TXT File im Format:
1600
0.05
0.8
80
10
ein statischer Wert
ein statischer Wert
ein statischer Wert
ein statischer Wert
das habe ich bislang nur ohne der intertools.product funktion geschafft
Code: Alles auswählen
arameterset = open ("input_parameterset.txt", "w")
devries.write(str(density_dry))
devries.write("\n")
devries.write(str(saturation))
devries.write("\n")
devries.write(str(diameter))
devries.write("\n")
devries.write(str(cement_content))
devries.write("\n")
devries.write(str(start_temp))
devries.write("\n")
devries.write (
"1\n"
"0.9\n"
"0\n"
"10\n")
devries.close()
Code: Alles auswählen
subprocess.run('./iteration')
Danke schon mal vorweg