-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Необходимо реализовать функцию/функции, которые будут принимать в качестве входных данных словарь с массивами + имена нуклидов/элементов, которые ты сейчас готовишь, а на выходе получать словарь с теми же ключами, как и у исходного, только вместо массива там будет объект класса openmc.Material. Нечто наподобие https://github.com/mit-crpg/BEAVRS/blob/master/models/openmc/beavrs/materials.py ф-я openmc_materials только все в автомате.
Ф-я/-и должна/ы выглядеть сл.образом:
def translate_function(inp_dict, names, mode_nuclide=True):
out_dict = {}
for k, v in inp_dict.items():
mat = openmc.Material(name = k)
mat.set_density('sum')# это обязательно
for name, value in zip(names, v):
if (mode_nuclide):
mat.add_nuclide(name, value)
else:
mat.add_element(name, value)
out_dict[k] = mat
return out_dict
Соответственно для словаря с нуклидами используется ф-я add_nuclide, а для словарей с элементами и элементами СУЗ add_element.