Skip to content

Commit 94d3f8d

Browse files
Merge pull request #150 from boschresearch/143-refactor-notch-approximation
143 refactor notch approximation
2 parents 5780dd1 + a3d7452 commit 94d3f8d

17 files changed

+1152
-1173
lines changed

Diff for: benchmarks/generate_time_signal.py

+18-16
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@
22
import numpy as np
33
import pylife.stress.timesignal as TS
44

5-
np.random.seed(23424711)
65

7-
load_signal = TS.TimeSignalGenerator(
8-
10,
9-
{
10-
'number': 50_000,
11-
'amplitude_median': 50.0,
12-
'amplitude_std_dev': 0.5,
13-
'frequency_median': 4,
14-
'frequency_std_dev': 3,
15-
'offset_median': 0,
16-
'offset_std_dev': 0.4,
17-
},
18-
None,
19-
None,
20-
).query(1_000_000)
6+
if __name__ == "__main__":
7+
np.random.seed(23424711)
218

22-
np.savetxt('load_signal.csv', load_signal)
9+
load_signal = TS.TimeSignalGenerator(
10+
10,
11+
{
12+
'number': 50_000,
13+
'amplitude_median': 50.0,
14+
'amplitude_std_dev': 0.5,
15+
'frequency_median': 4,
16+
'frequency_std_dev': 3,
17+
'offset_median': 0,
18+
'offset_std_dev': 0.4,
19+
},
20+
None,
21+
None,
22+
).query(1_000_000)
23+
24+
np.savetxt('load_signal.csv', load_signal)

Diff for: demos/fkm_nonlinear/fkm_nonlinear_full.ipynb

+5-15
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@
215215
"plt.rcParams.update({'font.size': 22})\n",
216216
"plt.plot(range(len(scaled_load_sequence)), load_sequence, \"o-\", c=\"g\", lw=3)\n",
217217
"plt.grid()\n",
218-
"plt.ylabel(\"$\\sigma_V$ [MPa]\")"
218+
"plt.ylabel(r\"$\\sigma_V$ [MPa]\")"
219219
]
220220
},
221221
{
@@ -559,18 +559,13 @@
559559
"load_sequence_list = scaled_load_sequence\n",
560560
"print(load_sequence_list)\n",
561561
"\n",
562-
"# wrap the notch approximation law by a binning class, which precomputes the values\n",
563-
"maximum_absolute_load = max(np.abs(load_sequence_list))\n",
564-
"print(f\"maximum_absolute_load: {maximum_absolute_load}\")\n",
565-
"extended_neuber_binned = pylife.materiallaws.notch_approximation_law.Binned(\n",
566-
" extended_neuber, maximum_absolute_load, 100)\n",
567-
"\n",
568562
"# create recorder object\n",
569563
"recorder = pylife.stress.rainflow.recorders.FKMNonlinearRecorder()\n",
570564
"\n",
571565
"# create detector object\n",
572566
"detector = pylife.stress.rainflow.fkm_nonlinear.FKMNonlinearDetector(\n",
573-
" recorder=recorder, notch_approximation_law=extended_neuber_binned)\n",
567+
" recorder=recorder, notch_approximation_law=extended_neuber\n",
568+
")\n",
574569
"\n",
575570
"# perform HCM algorithm, first run\n",
576571
"detector.process(load_sequence_list, flush=False)\n",
@@ -759,18 +754,13 @@
759754
"load_sequence_list = scaled_load_sequence\n",
760755
"print(load_sequence_list)\n",
761756
"\n",
762-
"# wrap the notch approximation law by a binning class, which precomputes the values\n",
763-
"maximum_absolute_load = max(np.abs(load_sequence_list))\n",
764-
"print(f\"maximum_absolute_load: {maximum_absolute_load}\")\n",
765-
"seeger_beste_binned = pylife.materiallaws.notch_approximation_law.Binned(\n",
766-
" seeger_beste, maximum_absolute_load, 100)\n",
767-
"\n",
768757
"# create recorder object\n",
769758
"recorder = pylife.stress.rainflow.recorders.FKMNonlinearRecorder()\n",
770759
"\n",
771760
"# create detector object\n",
772761
"detector = pylife.stress.rainflow.fkm_nonlinear.FKMNonlinearDetector(\n",
773-
" recorder=recorder, notch_approximation_law=seeger_beste_binned)\n",
762+
" recorder=recorder, notch_approximation_law=seeger_beste\n",
763+
")\n",
774764
"\n",
775765
"# perform HCM algorithm, first run\n",
776766
"detector.process(load_sequence_list, flush=False)\n",

0 commit comments

Comments
 (0)