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 from fromComp and give it to toComp.

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().

performRedistribution()[source]

Perform the mass redistribution between two compatible components.

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 of fromComp is changed separately by changing the height of fromComp – the number densities of fromComp are not modified. When redistributing mass, if fromComp and toComp are different temperatures, the temperature of toComp will change. See setNewToCompTemperature().

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 of fromComp, \(\delta\) is the parameter deltaZTop, and \(\hat{T}\) is the new temperature of toComp 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.