armi
armi copied to clipboard
Dedicated Composite sub-class for modeling particle fuel
I've been thinking about how our downstream clients will detect the presence of particle fuel. Looking at discussions in
- #1030
- #1008
- https://github.com/terrapower/armi/discussions/960
🚨 a lot of the earlier description / design / acceptance criteria is duplicated in and moved to #1134 🚨
Encourage a specific Composite subclass where the children are all spheres to model one particle fuel object. Some specific design concepts / requirements
- Children are only allowed to be
SphereComponents - Multiplicity of each child is one as there is one layer of each material with a certain radii in a kernel. For your "standard" TRISO (#228), this would be
- fuel kernel
- porous graphite layer
- inner pyrolytic graphite
- inert layer of SiC
- outer pyrolytic graphite (same
Materialas inner pyrolytic graphite, but with differentidandodparameters
- Multiplicity of the
ParticleFuelitself can be greater than one to signify the number of a given particle in the parentCompact- #1134 - Multiplicity must be able to be serialized / deserialized from database
- so stored as a parameter?
- Layers are not allowed to be overlapping
- Support for linked dimensions (as fuel kernel expands, inner diameter of next layer increases)
- Not trying to add in a fully feature TRISO expansion routine, but linked dimensions will help support that
- Iteration goes from innermost layer to outermost layer
- Item access via
__getitem__picks up the given layer, sopf[0]would be the innermost,pf[-1]would be the outermost, etc.