armi.reactor.converters.axialExpansionChanger.redistributeMass module
- class armi.reactor.converters.axialExpansionChanger.redistributeMass.RedistributeMass(fromComp: Component, toComp: Component, deltaZTop: float, assemName: str, initOnly: bool = False)[source]
Bases:
objectGiven
deltaZTop, add mass fromfromCompand give it totoComp.- Parameters:
fromComp – Component which is going to give mass to toComp
toComp – Component that is recieving mass from fromComp
deltaZTop – The length, in cm, of fromComp being given to toComp
initOnly – Optional parameter to only initialize the class and not perform the redistribution. If True, the redistribution can be executed by calling
performRedistribution().
- property fromCompVolume
- property toCompVolume
- property newVolume
Compute and return the new post-redistribution volume of toComp.
- compatabilityCheck() bool[source]
Ensure fromComp and toComp are the same material.
Notes
If the linked components are not the same material, we cannot transfer mass between materials because then the resulting material has unknown properties.
- Return type:
False if incompatible; true otherwise.
- setNewToCompNDens()[source]
Calculate the post-redistribution number densities for toComp and determine how much mass is in play for fromComp and toComp.
Notes
Only the mass of
toCompis changed in this method. The mass offromCompis changed separately by changing the height offromComp– the number densities offromCompare not modified. When redistributing mass, iffromCompandtoCompare different temperatures, the temperature oftoCompwill change. SeesetNewToCompTemperature().
- setNewToCompTemperature()[source]
Calculate and set the post-redistribution temperature of toComp.
Notes
Calculating this new temperature is non trivial due to thermal expansion. The following defines what the area of
toCompis post-redistribution,\[\begin{split}A_1(\hat{T}) \left( H_1 + \delta \right) &= A_1(T_1) H_1 + A_2(T_2)\delta,\\ A_1(\hat{T}) &= \frac{A_1(T_1) H_1 + A_2(T_2)\delta}{H_1 + \delta}.\end{split}\]Where, \(A_1, T_1, H_1\), are the area, temperature, and height of
toComp, \(A_2, T_2\), are the area and temparature offromComp, \(\delta\) is the parameterdeltaZTop, and \(\hat{T}\) is the new temperature oftoComppost-redistribution.scipy.optimize.brentq()is used to find the root of the above equation, indicating the value for \(\hat{T}\) that finds the desired area, post-redistribution of mass.