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:
object
Given
deltaZTop
, add mass fromfromComp
and 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
toComp
is changed in this method. The mass offromComp
is changed separately by changing the height offromComp
– the number densities offromComp
are not modified. When redistributing mass, iffromComp
andtoComp
are different temperatures, the temperature oftoComp
will 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
toComp
is 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 oftoComp
post-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.