mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
Merge pull request #2089 from shimwell/adding_remove_element
Adding remove element method to material class
This commit is contained in:
commit
cdf710ad37
2 changed files with 28 additions and 0 deletions
|
|
@ -423,6 +423,23 @@ class Material(IDManagerMixin):
|
|||
if nuclide == nuc.name:
|
||||
self.nuclides.remove(nuc)
|
||||
|
||||
def remove_element(self, element):
|
||||
"""Remove an element from the material
|
||||
|
||||
Parameters
|
||||
----------
|
||||
element : str
|
||||
Element to remove
|
||||
|
||||
"""
|
||||
cv.check_type('element', element, str)
|
||||
|
||||
# If the Material contains the element, delete it
|
||||
for nuc in reversed(self.nuclides):
|
||||
element_name = re.split(r'\d+', nuc.name)[0]
|
||||
if element_name == element:
|
||||
self.nuclides.remove(nuc)
|
||||
|
||||
def add_macroscopic(self, macroscopic):
|
||||
"""Add a macroscopic to the material. This will also set the
|
||||
density of the material to 1.0, unless it has been otherwise set,
|
||||
|
|
|
|||
|
|
@ -38,6 +38,17 @@ def test_remove_nuclide():
|
|||
assert m.nuclides[1].percent == 2.0
|
||||
|
||||
|
||||
def test_remove_elements():
|
||||
"""Test removing elements."""
|
||||
m = openmc.Material()
|
||||
for elem, percent in [('Li', 1.0), ('Be', 1.0)]:
|
||||
m.add_element(elem, percent)
|
||||
m.remove_element('Li')
|
||||
assert len(m.nuclides) == 1
|
||||
assert m.nuclides[0].name == 'Be9'
|
||||
assert m.nuclides[0].percent == 1.0
|
||||
|
||||
|
||||
def test_elements():
|
||||
"""Test adding elements."""
|
||||
m = openmc.Material()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue