nasa / prog_models

The NASA Prognostic Model Package is a Python framework focused on defining and building models for prognostics (computation of remaining useful life) of engineering systems, and provides a set of prognostics models for select components developed within this framework, suitable for use in prognostics applications for these components.
123 stars 50 forks source link

Scipy integrator #536

Closed teubert closed 1 year ago

teubert commented 1 year ago

Allow any scipy integrator to be passed into integration_method parameter

github-actions[bot] commented 1 year ago

Thank you for opening this PR. Each PR into dev requires a code review. For the code review, look at the following:

github-actions[bot] commented 1 year ago
Benchmarking Results From: Test Time (s)
import main 0.12382559999999998
import thrown object 0.4904850999999999
model initialization 0.11945929999999993
set noise 0.6476549
simulate 0.3035293000000001
simulate with saving 0.9047793
simulate with saving, dt 1.0030148000000003
simulate with printing results, dt 1.2331623
Plot results 14.6201597
Metrics 0.032658500000000146
Surrogate Model Generation 3.1794659000000003
surrogate sim 1.0619339999999973
surrogate sim, dt 2.9274170999999996
To: Test Time (s)
import main 0.12440869999999982
import thrown object 0.4914389000000001
model initialization 0.1138262000000001
set noise 0.6356058
simulate 0.28528240000000027
simulate with saving 0.9623179999999998
simulate with saving, dt 1.0657765000000001
simulate with printing results, dt 1.2909237999999998
Plot results 14.698541999999998
Metrics 0.03697169999999872
Surrogate Model Generation 3.3374872000000018
surrogate sim 1.0192910999999967
surrogate sim, dt 2.8458659000000033
github-actions[bot] commented 1 year ago
Benchmarking Results [Update] From: Test Time (s)
import main 0.12505120000000003
import thrown object 0.49795829999999985
model initialization 0.11922460000000012
set noise 0.6727419000000001
simulate 0.3015005999999998
simulate with saving 0.9143558999999999
simulate with saving, dt 1.0429505999999997
simulate with printing results, dt 1.2664261999999997
Plot results 13.886951
Metrics 0.039173099999999295
Surrogate Model Generation 3.142888199999998
surrogate sim 0.997551099999999
surrogate sim, dt 2.8721444

To:

Test Time (s)
import main 0.12638919999999998
import thrown object 0.5081228
model initialization 0.11471370000000003
set noise 0.6788294999999998
simulate 0.2961077999999997
simulate with saving 0.8995293000000002
simulate with saving, dt 1.0182842
simulate with printing results, dt 1.2383417999999997
Plot results 13.8115593
Metrics 0.039379100000001444
Surrogate Model Generation 3.2232148999999986
surrogate sim 0.9915185999999991
surrogate sim, dt 2.868693999999998
teubert commented 1 year ago

@MikeAndSpencer configuration can be passed by the 'integrator_config' parameter as a dictionary.