ukaea / neutronics_material_maker

A tool for making parametric material cards for use in neutronics codes. Original developed for the Paramak
19 stars 10 forks source link

Removing MultiMaterial class #134

Open shimwell opened 3 years ago

shimwell commented 3 years ago

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
eepeterson commented 3 years ago

@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