@@ -494,28 +494,39 @@ def test_changeNumberDensities(self):
494
494
495
495
496
496
class TestComponentExpansion (unittest .TestCase ):
497
- # when comparing to 3D density, the comparison is not quite correct.
498
- # We need a bigger delta, this will be investigated/fixed in another PR
497
+ tCold = 20
499
498
tWarm = 50
500
499
tHot = 500
501
500
coldOuterDiameter = 1.0
502
501
503
- def test_ComponentMassIndependentOfInputTemp (self ):
504
- coldT = 20
505
- circle1 = Circle ("circle" , "HT9" , coldT , self .tHot , self .coldOuterDiameter )
506
- coldT += 200
502
+ def test_HT9Expansion (self ):
503
+ self .runExpansionTests (mat = "HT9" , isotope = "FE" )
504
+
505
+ def test_UZrExpansion (self ):
506
+ self .runExpansionTests (mat = "UZr" , isotope = "U235" )
507
+
508
+ def test_B4CExpansion (self ):
509
+ self .runExpansionTests (mat = "B4C" , isotope = "B10" )
510
+
511
+ def runExpansionTests (self , mat : str , isotope : str ):
512
+ self .componentMassIndependentOfInputTemp (mat )
513
+ self .expansionConservationHotHeightDefined (mat , isotope )
514
+ self .expansionConservationColdHeightDefined (mat )
515
+
516
+ def componentMassIndependentOfInputTemp (self , mat : str ):
517
+ circle1 = Circle ("circle" , mat , self .tCold , self .tHot , self .coldOuterDiameter )
507
518
# pick the input dimension to get the same hot component
508
519
hotterDim = self .coldOuterDiameter * (
509
- 1 + circle1 .material .linearExpansionFactor (coldT , 20 )
520
+ 1 + circle1 .material .linearExpansionFactor (self . tCold + 200 , self . tCold )
510
521
)
511
- circle2 = Circle ("circle" , "HT9" , coldT , self .tHot , hotterDim )
522
+ circle2 = Circle ("circle" , mat , self . tCold + 200 , self .tHot , hotterDim )
512
523
self .assertAlmostEqual (circle1 .getDimension ("od" ), circle2 .getDimension ("od" ))
513
524
self .assertAlmostEqual (circle1 .getArea (), circle2 .getArea ())
514
525
self .assertAlmostEqual (circle1 .getMassDensity (), circle2 .getMassDensity ())
515
526
516
- def test_ExpansionConservationHotHeightDefined (self ):
527
+ def expansionConservationHotHeightDefined (self , mat : str , isotope : str ):
517
528
"""
518
- Demonstrate tutorial for how to expand and relation ships conserved at during expansion.
529
+ Demonstrate tutorial for how to expand and relationships conserved at during expansion.
519
530
520
531
Notes
521
532
-----
@@ -524,13 +535,13 @@ def test_ExpansionConservationHotHeightDefined(self):
524
535
"""
525
536
hotHeight = 1.0
526
537
527
- circle1 = Circle ("circle" , "HT9" , 20 , self .tWarm , self .coldOuterDiameter )
528
- circle2 = Circle ("circle" , "HT9" , 20 , self .tHot , self .coldOuterDiameter )
538
+ circle1 = Circle ("circle" , mat , self . tCold , self .tWarm , self .coldOuterDiameter )
539
+ circle2 = Circle ("circle" , mat , self . tCold , self .tHot , self .coldOuterDiameter )
529
540
530
541
# mass density is proportional to Fe number density and derived from
531
542
# all the number densities and atomic masses
532
543
self .assertAlmostEqual (
533
- circle1 .p .numberDensities ["FE" ] / circle2 .p .numberDensities ["FE" ],
544
+ circle1 .p .numberDensities [isotope ] / circle2 .p .numberDensities [isotope ],
534
545
circle1 .getMassDensity () / circle2 .getMassDensity (),
535
546
)
536
547
@@ -615,7 +626,7 @@ def test_ExpansionConservationHotHeightDefined(self):
615
626
mass1 , circle1 .getMassDensity () * circle1 .getArea () * hotHeight
616
627
)
617
628
618
- def test_ExpansionConservationColdHeightDefined (self ):
629
+ def expansionConservationColdHeightDefined (self , mat : str ):
619
630
"""
620
631
Demonstrate that material is conserved at during expansion
621
632
@@ -625,10 +636,12 @@ def test_ExpansionConservationColdHeightDefined(self):
625
636
inputHeightsConsideredHot = False
626
637
"""
627
638
coldHeight = 1.0
628
- circle1 = Circle ("circle" , "HT9" , 20 , self .tWarm , self .coldOuterDiameter )
629
- circle2 = Circle ("circle" , "HT9" , 20 , self .tHot , self .coldOuterDiameter )
639
+ circle1 = Circle ("circle" , mat , self . tCold , self .tWarm , self .coldOuterDiameter )
640
+ circle2 = Circle ("circle" , mat , self . tCold , self .tHot , self .coldOuterDiameter )
630
641
# same as 1 but we will make like 2
631
- circle1AdjustTo2 = Circle ("circle" , "HT9" , 20 , self .tWarm , 1.0 )
642
+ circle1AdjustTo2 = Circle (
643
+ "circle" , mat , self .tCold , self .tWarm , self .coldOuterDiameter
644
+ )
632
645
633
646
# make it hot like 2
634
647
circle1AdjustTo2 .adjustDensityForHeightExpansion (self .tHot )
0 commit comments