@@ -83,7 +83,9 @@ def get_FIM_Q_L(doe_obj=None):
83
83
for i in model .output_names
84
84
for j in model .parameter_names
85
85
]
86
- sigma_inv = [1 / v for k , v in model .scenario_blocks [0 ].measurement_error .items ()]
86
+ sigma_inv = [
87
+ 1 / v ** 2 for k , v in model .scenario_blocks [0 ].measurement_error .items ()
88
+ ]
87
89
param_vals = np .array (
88
90
[[v for k , v in model .scenario_blocks [0 ].unknown_parameters .items ()]]
89
91
)
@@ -469,24 +471,24 @@ def test_reactor_grid_search_bad_model(self):
469
471
class TestDoe (unittest .TestCase ):
470
472
def test_doe_full_factorial (self ):
471
473
log10_D_opt_expected = [
472
- 3.7734377852467524 ,
473
- 5.137792359070963 ,
474
- 5.182167857710023 ,
475
- 6.546522431509408 ,
474
+ 11.77343778527225 ,
475
+ 13.137792359064383 ,
476
+ 13.182167857699808 ,
477
+ 14.54652243150573 ,
476
478
]
477
479
478
480
log10_A_opt_expected = [
479
- 3.5935726800929695 ,
480
- 3.6133186151486933 ,
481
- 3.945755198204365 ,
482
- 3.9655011332598367 ,
481
+ 5.59357268009304 ,
482
+ 5.613318615148643 ,
483
+ 5.945755198204368 ,
484
+ 5.965501133259909 ,
483
485
]
484
486
485
487
log10_E_opt_expected = [
486
- - 1.7201873126109162 ,
487
- - 0.691340497355524 ,
488
- - 1.3680047944877138 ,
489
- - 0.3391579792516522 ,
488
+ 0.27981268741620413 ,
489
+ 1.3086595026369012 ,
490
+ 0.6319952055040333 ,
491
+ 1.6608420207466377 ,
490
492
]
491
493
492
494
log10_ME_opt_expected = [
@@ -497,31 +499,31 @@ def test_doe_full_factorial(self):
497
499
]
498
500
499
501
eigval_min_expected = [
500
- 0.019046390638130666 ,
501
- 0.20354456134677426 ,
502
- 0.04285437893696232 ,
503
- 0.45797526302234304 ,
502
+ 1.9046390638130666 ,
503
+ 20.354456134677426 ,
504
+ 4.285437893696232 ,
505
+ 45.797526302234304 ,
504
506
]
505
507
506
508
eigval_max_expected = [
507
- 3169.552855492114 ,
508
- 3576.0292523637977 ,
509
- 7131.493924857995 ,
510
- 8046.0658178139165 ,
509
+ 316955.2855492114 ,
510
+ 357602.92523637977 ,
511
+ 713149.3924857995 ,
512
+ 804606.58178139165 ,
511
513
]
512
514
513
515
det_FIM_expected = [
514
- 5935.233170586055 ,
515
- 137338.51875774842 ,
516
- 152113.5345070818 ,
517
- 3519836.021699428 ,
516
+ 593523317093.4525 ,
517
+ 13733851875566.766 ,
518
+ 15211353450350.424 ,
519
+ 351983602166961.56 ,
518
520
]
519
521
520
522
trace_FIM_expected = [
521
- 3922.5878617108597 ,
522
- 4105.051549241871 ,
523
- 8825.822688850109 ,
524
- 9236.36598578955 ,
523
+ 392258.78617108597 ,
524
+ 410505.1549241871 ,
525
+ 882582.2688850109 ,
526
+ 923636.598578955 ,
525
527
]
526
528
ff = run_reactor_doe (
527
529
n_points_for_design = 2 ,
@@ -551,15 +553,11 @@ def test_doe_full_factorial(self):
551
553
self .assertStructuredAlmostEqual (
552
554
ff_results ["eigval_min" ], eigval_min_expected , abstol = 1e-4
553
555
)
554
- self .assertStructuredAlmostEqual (
555
- ff_results ["eigval_max" ], eigval_max_expected , abstol = 1e-4
556
- )
557
- self .assertStructuredAlmostEqual (
558
- ff_results ["det_FIM" ], det_FIM_expected , abstol = 1e-4
559
- )
560
- self .assertStructuredAlmostEqual (
561
- ff_results ["trace_FIM" ], trace_FIM_expected , abstol = 1e-4
562
- )
556
+ # abstol of 1e-4 removed for the following values as
557
+ # their non-log values are large (e.g., >1e10)
558
+ self .assertStructuredAlmostEqual (ff_results ["eigval_max" ], eigval_max_expected )
559
+ self .assertStructuredAlmostEqual (ff_results ["det_FIM" ], det_FIM_expected )
560
+ self .assertStructuredAlmostEqual (ff_results ["trace_FIM" ], trace_FIM_expected )
563
561
564
562
565
563
if __name__ == "__main__" :
0 commit comments