ukaea/neutronics_material_maker

Removing MultiMaterial class

shimwell opened this issue · 1 comments

Chatting with @eepeterson and perhaps the MultiMaterial class should be removed

Everything should just be a Material class as this a simpler and more predictable approach

Perhaps mixed materials can still be made like this.

This follows a design similar to the OpenMC approach so it must be the right way to do it

mat_1 = nmm.Material(elements={'Li', 1}, density=2)   # user made material
mat_2 = nmm.Material().from_library(name='eurofer', library='pnnl')  # material from reference
mat_3 = nmm.Material().from_mixture(materials=[mat_1, mat_2], fracts=[0.5, 0.5]) # mixed material

@shimwell I think that makes sense although the from_library and from_mixture functions should be class methods so you don't need the parentheses i.e. mat_3 = nmm.Material.from_mixture(materials=[mat_1, mat_2], fracts=[0.5, 0.5]) # mixed material