diff --git a/README.md b/README.md
index a6cc926..6a26cfd 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ temperature and pressure.
:point_right: [Documentation](https://neutronics-material-maker.readthedocs.io/en/latest/)
-:point_right: [Video presentation](https://www.youtube.com/watch?v=V-VHLwRar9s)
+:point_right: [Video presentation]()
## Installation
@@ -106,17 +106,17 @@ my_mat2.openmc_material
```
-## Usage - MultiMaterial (Mixed Materials))
+## Usage - Material.from_mixture
-Materials can also be mixed together using the MultiMaterial class. This
+Materials can also be mixed together using the from_mixture method. This
accepts a list of ```neutronics_material_maker.Materials``` or
```openmc.Material``` objects along with the material fractions (fracs).
```python
import neutronics_material_maker as nmm
-my_mat1 = nmm.Material('Li4SiO4', packing_fraction=0.64)
-my_mat2 = nmm.Material('Be12Ti')
-my_mat3 = MultiMaterial(materials=[my_mat1, my_mat2],
+my_mat1 = nmm.Material.from_library(name='Li4SiO4', packing_fraction=0.64)
+my_mat2 = nmm.Material.from_library(name='Be12Ti')
+my_mat3 = nmm.Material.from_mixture(materials=[my_mat1, my_mat2],
fracs=[0.4, 0.6],
percent_type='vo')
my_mat3.openmc_material
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 61141f1..d62f974 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -20,7 +20,7 @@
# -- Project information -----------------------------------------------------
project = "NeutronicsMaterialMaker"
-copyright = "2020, UKAEA and neutronics-material-maker contributors"
+copyright = "2020-2021 neutronics-material-maker contributors"
author = "neutronics-material-maker development team"
# The short X.Y version
@@ -133,7 +133,7 @@
master_doc,
"NeutronicsMaterialMaker.tex",
"NeutronicsMaterialMaker Documentation",
- "John Billingsley",
+ "Neutronics material maker contributors",
"manual",
)
]
diff --git a/docs/source/example_library_usage.rst b/docs/source/example_library_usage.rst
deleted file mode 100644
index 063ccfc..0000000
--- a/docs/source/example_library_usage.rst
+++ /dev/null
@@ -1,68 +0,0 @@
-Interal library searching, extension and exporting
-==================================================
-
-Usage - finding available materials
------------------------------------
-
-Each of the materials available is stored in an internal dictionary that can be
-accessed using the AvailableMaterials() command.
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
- all_materials = nmm.AvailableMaterials()
- print(all_materials.keys())
-
-Usage - importing your own library from a file
-----------------------------------------------
-
-A correctly formated JSON file that contains materials defined in the same
-format as the `exisiting materials `_ can be added to the material library.
-
-Assuming you have a JSON file saved as mat_lib.json with the following contents
-then this can be added to the material library in the the following manner.
-
-::
-
- {
- "my_secret_material": {
- "density": 1.0,
- "percent_type":"ao",
- "density_unit": "g/cm3",
- "elements": {
- "H": 0.2,
- "C": 0.8
- },
- }
- }
-
-This example file only contains one material but it could contain a list of
-several materials.
-
-You can import this file into the package using AddMaterialFromFile().
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
- nmm.AddMaterialFromFile('mat_lib.json')
- my_new_material = nmm.Material('my_secret_material')
-
-Another option is to use AddMaterialFromDir() to import a directory of JSON files.
-
-Usage - exporting a material to a JSON file
--------------------------------------------
-
-Materials can also be exported to a JSON file as demonstrated below
-
-.. code-block:: python
-
- import json
-
- import neutronics_material_maker as nmm
-
- my_mat1 = nmm.Material('eurofer')
- my_mat2 = nmm.Material('Li4SiO4')
-
- with open('my_materials.json', 'w') as outfile:
- json.dump([my_mat1, my_mat2], outfile, indent=4)
-
diff --git a/docs/source/example_material.rst b/docs/source/example_material.rst
index 32308a4..b132e50 100644
--- a/docs/source/example_material.rst
+++ b/docs/source/example_material.rst
@@ -1,103 +1,7 @@
Example Material() usage
========================
-Usage - basic Material()
-------------------------
-
-Here is an example that accesses a material from the internal collection called eurofer which has about 60 isotopes and a density of 7.78g/cm3.
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
-
- my_mat = nmm.Material('eurofer')
-
-Once the object has been initiated the OpenMC or Serpent material card can be accessed.
-
-.. code-block:: python
-
- my_mat.openmc_material
- my_mat.serpent_material
-
-To access MCNP material it is necessary to also provide an id.
-
-.. code-block:: python
-
- my_mat = nmm.Material('eurofer', material_id=1)
- my_mat.mcnp_material
-
-To access the Fispact material it is necessary to also provide a volume.
-
-.. code-block:: python
-
- my_mat = nmm.Material('eurofer', volume_in_cm3=10)
- my_mat.fispact_material
-
-To access the Shift material it is necessary to also provide a temperature and
-a material id
-
-.. code-block:: python
-
- my_mat = nmm.Material('eurofer', temperature=293, material_id=1)
- my_mat.shift_material
-
-
-Usage - hot pressurised Material()
------------------------------------
-
-For several materials within the collection the temperature and the pressure impacts the density of the material. The neutronics_material_maker adjusts the density to take temperature (in C or K) and the pressure into account when appropriate. Densities are calculated either by a material specific formula (for example `FLiBe `_) or using `CoolProps `_ (for example coolants such as H2O).
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
-
- my_mat1 = nmm.Material('H2O', temperature=300, pressure=15e6)
-
- my_mat1.openmc_material
-
-Temperature can be provided in degrees C or Kelvin.
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
-
- my_mat1 = nmm.Material('H2O', temperature=573.15, pressure=15e6)
-
- my_mat1.openmc_material
-
-The temperature is automatically sent to the openmc_material and
-serpent_material cards. However if this causes difficulties for you (perhaps
-due to not having cross sections at that temperature) this automatic propagate
-of temperature information can be disabled by setting the
-temperature_to_neutronics_code to False.
-
-
-Usage - enriched Material()
----------------------------
-
-For several materials within the collection the density is adjusted when the material is enriched. For breeder blankets in fusion it is common to enrich the lithium 6 content.
-
-Lithium ceramics used in fusion breeder blankets often contain enriched lithium-6 content. This slight change in density is accounted for by the neutronics_material_maker.
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
-
- my_mat2 = nmm.Material('Li4SiO4', enrichment=60)
-
- my_mat2.openmc_material
-
-
-The default enrichment target for 'Li4SiO4' is Li6 but this can be changed if required.
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
-
- my_mat2 = nmm.Material('Li4SiO4', enrichment_target='Li7', enrichment=40)
-
- my_mat2.openmc_material
-
+While the internal data bases contain
Usage - make a your own materials
---------------------------------
@@ -154,7 +58,8 @@ Example making materials from isotopes defined by zaid
}
)
-It is also possible to make your own materials directly from a dictionary by making use of the python syntax **
+It is also possible to make your own materials directly from a dictionary by
+making use of the python syntax to exspand a dictionary **
.. code-block:: python
@@ -172,54 +77,3 @@ It is also possible to make your own materials directly from a dictionary by mak
}
my_mat = nmm.Material(**my_dict)
-
-Usage - adding extra lines to a material card
----------------------------------------------
-
-If you require additional lines at the end of the MCNP, Serpent, Fispact or
-Shift materia card then the additional_end_lines argument can be used. This
-will add specific line(s) to the end of a material card. Multiple lines can be
-added by creating a list with multiple entries.
-
-In this example and additional line can be added to allow the S(α,β) treatment
-of water to be correctly modeled in MCNP. But this could also be used to add
-comments to the material card or other text at the end of the material card
-string.
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
-
- my_mat2 = nmm.Material(
- 'H2O',
- material_id=24,
- temperature=573.15,
- pressure=15e6,
- additional_end_lines={'mcnp': [' mt24 lwtr.01']}
- )
-
- print(my_mat2.mcnp_material)
-
-The above code will return a MCNP material card string with the additional line
-' mt24 lwtr.01' at the end. Notice that spaces should also be set by the
-user.
-
-.. code-block:: bash
-
- c H2O density 7.25553605e-01 g/cm3
- M24 001001 6.66562840e-01
- 001002 1.03826667e-04
- 008016 3.32540200e-01
- 008017 1.26333333e-04
- 008018 6.66800000e-04
- mt24 lwtr.01
-
-It is also possible to specifiy this additional line in a JSON file and
-then read in the file and export the material. The additional end lines can
-also support different outputs for different codes and multiple lines being
-appended to the material card as demonstrated in this video on the feature.
-
-.. raw:: html
-
-
-
diff --git a/docs/source/example_material_from_library.rst b/docs/source/example_material_from_library.rst
new file mode 100644
index 0000000..9c39c53
--- /dev/null
+++ b/docs/source/example_material_from_library.rst
@@ -0,0 +1,225 @@
+Example Material.from_library() usage
+=====================================
+
+Usage - finding available materials
+-----------------------------------
+
+Each of the materials available is stored in an internal dictionary that can be
+accessed using the AvailableMaterials() command.
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+ all_materials = nmm.AvailableMaterials()
+ print(all_materials.keys())
+
+
+Usage - making materials from libraries
+---------------------------------------
+
+Here is an example that accesses a material from the internal collection called eurofer which has about 60 isotopes and a density of 7.78g/cm3.
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+
+ my_mat = nmm.Material.from_library(name='eurofer')
+
+Once the object has been initiated the OpenMC or Serpent material card can be accessed.
+
+.. code-block:: python
+
+ my_mat.openmc_material
+ my_mat.serpent_material
+
+To access MCNP material it is necessary to also provide an id.
+
+.. code-block:: python
+
+ my_mat = nmm.Material.from_library(name='eurofer', material_id=1)
+ my_mat.mcnp_material
+
+To access the Fispact material it is necessary to also provide a volume.
+
+.. code-block:: python
+
+ my_mat = nmm.Material.from_library(name='eurofer', volume_in_cm3=10)
+ my_mat.fispact_material
+
+To access the Shift material it is necessary to also provide a temperature and
+a material id
+
+.. code-block:: python
+
+ my_mat = nmm.Material.from_library(name='eurofer', temperature=293, material_id=1)
+ my_mat.shift_material
+
+Usage - customising materials from libraries
+--------------------------------------------
+
+Usage - hot pressurised Material()
+-----------------------------------
+
+For several materials within the collection the temperature and the pressure impacts the density of the material. The neutronics_material_maker adjusts the density to take temperature (in C or K) and the pressure into account when appropriate. Densities are calculated either by a material specific formula (for example `FLiBe `_) or using `CoolProps `_ (for example coolants such as H2O).
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+
+ my_mat1 = nmm.Material.from_library('H2O', temperature=300, pressure=15e6)
+
+ my_mat1.openmc_material
+
+Temperature can be provided in degrees C or Kelvin.
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+
+ my_mat1 = nmm.Material.from_library('H2O', temperature=573.15, pressure=15e6)
+
+ my_mat1.openmc_material
+
+The temperature is automatically sent to the openmc_material and
+serpent_material cards. However if this causes difficulties for you (perhaps
+due to not having cross sections at that temperature) this automatic propagate
+of temperature information can be disabled by setting the
+temperature_to_neutronics_code to False.
+
+
+Usage - enriched Material()
+---------------------------
+
+For several materials within the collection the density is adjusted when the material is enriched. For breeder blankets in fusion it is common to enrich the lithium 6 content.
+
+Lithium ceramics used in fusion breeder blankets often contain enriched lithium-6 content. This slight change in density is accounted for by the neutronics_material_maker.
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+
+ my_mat2 = nmm.Material.from_library('Li4SiO4', enrichment=60)
+
+ my_mat2.openmc_material
+
+
+The default enrichment target for 'Li4SiO4' is Li6 but this can be changed if required.
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+
+ my_mat2 = nmm.Material.from_library('Li4SiO4', enrichment_target='Li7', enrichment=40)
+
+ my_mat2.openmc_material
+
+
+Usage - adding extra lines to a material card
+---------------------------------------------
+
+If you require additional lines at the end of the MCNP, Serpent, Fispact or
+Shift materia card then the additional_end_lines argument can be used. This
+will add specific line(s) to the end of a material card. Multiple lines can be
+added by creating a list with multiple entries.
+
+In this example and additional line can be added to allow the S(α,β) treatment
+of water to be correctly modeled in MCNP. But this could also be used to add
+comments to the material card or other text at the end of the material card
+string.
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+
+ my_mat2 = nmm.Material.from_library(
+ name='H2O',
+ material_id=24,
+ temperature=573.15,
+ pressure=15e6,
+ additional_end_lines={'mcnp': [' mt24 lwtr.01']}
+ )
+
+ print(my_mat2.mcnp_material)
+
+The above code will return a MCNP material card string with the additional line
+' mt24 lwtr.01' at the end. Notice that spaces should also be set by the
+user.
+
+.. code-block:: bash
+
+ c H2O density 7.25553605e-01 g/cm3
+ M24 001001 6.66562840e-01
+ 001002 1.03826667e-04
+ 008016 3.32540200e-01
+ 008017 1.26333333e-04
+ 008018 6.66800000e-04
+ mt24 lwtr.01
+
+It is also possible to specifiy this additional line in a JSON file and
+then read in the file and export the material. The additional end lines can
+also support different outputs for different codes and multiple lines being
+appended to the material card as demonstrated in this video on the feature.
+
+.. raw:: html
+
+
+
+
+Usage - importing your own library from a file
+----------------------------------------------
+
+A correctly formated JSON file that contains materials defined in the same
+format as the `exisiting materials `_ can be added to the material library.
+
+Assuming you have a JSON file saved as mat_lib.json with the following contents
+then this can be added to the material library in the the following manner.
+
+::
+
+ {
+ "my_secret_material": {
+ "density": 1.0,
+ "percent_type":"ao",
+ "density_unit": "g/cm3",
+ "elements": {
+ "H": 0.2,
+ "C": 0.8
+ },
+ }
+ }
+
+This example file only contains one material but it could contain a list of
+several materials.
+
+You can import this file into the package using AddMaterialFromFile().
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+ nmm.AddMaterialFromFile('mat_lib.json')
+ my_new_material = nmm.Material.from_library(name='my_secret_material')
+
+Another option is to use AddMaterialFromDir() to import a directory of JSON files.
+
+Usage - exporting a material to a JSON file
+-------------------------------------------
+
+Materials can also be exported to a JSON file as demonstrated below. This JSON
+file can then be read back in if required using the AddMaterialFromDir or
+AddMaterialFromFile utility functions.
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+
+ my_mat1 = nmm.Material.from_library(name='eurofer', material_id=1)
+ my_mat2 = nmm.Material.from_library(name='Li4SiO4', material_id=1)
+
+ nmm.SaveMaterialsToFile(
+ filename='my_materials.json',
+ materials=[my_mat1, my_mat2],
+ format='json',
+ )
+
+The format can be changed to 'mcnp', 'serpent', 'shift' or 'fispact' to output
+a list of nmm.Materials in those formats.
diff --git a/docs/source/example_material_from_mixture.rst b/docs/source/example_material_from_mixture.rst
new file mode 100644
index 0000000..de97bef
--- /dev/null
+++ b/docs/source/example_material_from_mixture.rst
@@ -0,0 +1,35 @@
+Example Material.from_mixture() usage
+=====================================
+
+Usage - mixing two materials using Material.from_mixture
+--------------------------------------------------------
+
+Making two materials and mixing them to create a new material, the density
+of the new material will be calculated from the mixture of the two materials.
+
+This example mixes two materials with 40% of mat1 and 60% of mat2 by volume
+fraction
+
+.. code-block:: python
+
+ import neutronics_material_maker as nmm
+
+ mat1 = nmm.Material.from_library(name='eurofer')
+ mat2 = nmm.Material.from_library(name='tungsten')
+
+ mat3 = nmm.Material.from_mixture(
+ name='mixed_eurofer_and_tungsten',
+ materials=[mat1, mat2],
+ fracs=[0.4, 0.6],
+ percent_type='vo'
+ )
+
+This new material can then be exported to a file, perhaps as part of
+a new material library and retrieve later
+
+.. code-block:: python
+
+ import json
+
+ with open('my_mixed_material.json', 'w') as outfile:
+ json.dump(mat3, outfile, indent=4)
diff --git a/docs/source/example_multimaterial.rst b/docs/source/example_multimaterial.rst
deleted file mode 100644
index 3aa7ad4..0000000
--- a/docs/source/example_multimaterial.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-Example MultiMaterial() usage
-=============================
-
-Usage - mixing two materials to make a MultiMaterial
-----------------------------------------------------
-
-Making two materials and mixing them to create a MultiMaterial, the density
-of the new material will be calculated from the mixture of the two materials.
-
-This example mixes two materials with 40% of mat1 and 60% of mat2 by volume
-fraction
-
-.. code-block:: python
-
- import neutronics_material_maker as nmm
-
- mat1 = nmm.Material('eurofer')
- mat2 = nmm.Material('tungsten')
-
- mat3 = nmm.MultiMaterial(
- material_tag='mixed_mat',
- materials=[mat1, mat2],
- fracs=[0.4, 0.6],
- percent_type='vo'
- )
diff --git a/docs/source/index.rst b/docs/source/index.rst
index e097c23..2aec3d3 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -16,7 +16,7 @@ isotopic enrichment.
.. raw:: html
-
+
.. toctree::
@@ -24,10 +24,9 @@ isotopic enrichment.
material
- multimaterial
example_material
- example_multimaterial
- example_library_usage
+ example_material_from_mixture
+ example_material_from_library
History
@@ -86,17 +85,14 @@ the development version.
Features
--------
-There are two main user classes
+There is just on user class
`Material() `_
-and
-`MutliMaterial() `_
-which are both fully documented.
Example Scripts
---------------
-There are several examples in the relevant example webpages; `example Material usage `_ and `example MutliMaterial usage `_ .
+There are several examples in the relevant example webpages; `example Material usage `_ .
Additionally there are more examples in the `OpenMC workshop `_ .
diff --git a/docs/source/material.rst b/docs/source/material.rst
index 649dc50..fe44852 100644
--- a/docs/source/material.rst
+++ b/docs/source/material.rst
@@ -1,5 +1,5 @@
-Material()
-==========
+Material() class
+================
.. automodule:: neutronics_material_maker.material.Material
diff --git a/docs/source/multimaterial.rst b/docs/source/multimaterial.rst
deleted file mode 100644
index da682ef..0000000
--- a/docs/source/multimaterial.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-MultiMaterial()
-===============
-
-.. automodule:: neutronics_material_maker.MultiMaterial
- :members:
- :show-inheritance:
\ No newline at end of file
diff --git a/neutronics_material_maker/__init__.py b/neutronics_material_maker/__init__.py
index e031dbe..3aaddcb 100644
--- a/neutronics_material_maker/__init__.py
+++ b/neutronics_material_maker/__init__.py
@@ -10,6 +10,6 @@
from .utils import zaid_to_isotope
from .utils import check_add_additional_end_lines
from .utils import NATURAL_ABUNDANCE
+from .utils import SaveMaterialsToFile
from .material import Material
-from .mutlimaterial import MultiMaterial
diff --git a/neutronics_material_maker/data/breeder_materials.json b/neutronics_material_maker/data/breeder_materials.json
index 5e75e02..d67206c 100644
--- a/neutronics_material_maker/data/breeder_materials.json
+++ b/neutronics_material_maker/data/breeder_materials.json
@@ -1,10 +1,9 @@
{
"Li": {
"chemical_equation": "Li",
- "density_equation": "0.515 - 1.01e-4 * (temperature + 273.15 - 200)",
+ "density": "0.515 - 1.01e-4 * (temperature + 273.15 - 200)",
"density_unit": "g/cm3",
- "reference": "http://aries.ucsd.edu/LIB/PROPS/PANOS/li.html",
- "temperature_dependant": true,
+ "comment": "http://aries.ucsd.edu/LIB/PROPS/PANOS/li.html",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
@@ -13,8 +12,7 @@
"chemical_equation": "FLiNaK",
"density": 2.1,
"density_unit":"g/cm3",
- "enrichable": true,
- "reference": "Based on chemical formula",
+ "comment": "Based on chemical formula",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
diff --git a/neutronics_material_maker/data/breeder_materials_with_crystal_structure.json b/neutronics_material_maker/data/breeder_materials_with_crystal_structure.json
index af993f0..59119d6 100644
--- a/neutronics_material_maker/data/breeder_materials_with_crystal_structure.json
+++ b/neutronics_material_maker/data/breeder_materials_with_crystal_structure.json
@@ -4,9 +4,7 @@
"atoms_per_unit_cell": 2,
"volume_of_unit_cell_cm3": 0.17162883501e-21,
"density_unit":"g/cm3",
- "enrichable": true,
- "packable": true,
- "reference": "DOI 10.17188/1188336 https://materialsproject.org/materials/mp-11737/",
+ "comment": "DOI 10.17188/1188336 https://materialsproject.org/materials/mp-11737/",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
@@ -16,9 +14,7 @@
"atoms_per_unit_cell": 2,
"volume_of_unit_cell_cm3": 0.12255616623e-21,
"density_unit":"g/cm3",
- "enrichable": true,
- "packable": true,
- "reference": "DOI 10.17188/1208560 https://materialsproject.org/materials/mp-5012/",
+ "comment": "DOI 10.17188/1208560 https://materialsproject.org/materials/mp-5012/",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
@@ -28,9 +24,7 @@
"atoms_per_unit_cell": 2,
"volume_of_unit_cell_cm3": 0.12610426777e-21,
"density_unit":"g/cm3",
- "enrichable": true,
- "packable": true,
- "reference": "DOI 10.17188/1207897 https://materialsproject.org/materials/mp-4156/",
+ "comment": "DOI 10.17188/1207897 https://materialsproject.org/materials/mp-4156/",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
@@ -40,9 +34,7 @@
"atoms_per_unit_cell": 4,
"volume_of_unit_cell_cm3": 0.21849596020e-21,
"density_unit":"g/cm3",
- "enrichable": true,
- "packable": true,
- "reference": "DOI 10.17188/1203676 https://materialsproject.org/materials/mp-2931/",
+ "comment": "DOI 10.17188/1203676 https://materialsproject.org/materials/mp-2931/",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
diff --git a/neutronics_material_maker/data/coolant_materials.json b/neutronics_material_maker/data/coolant_materials.json
index bd9a8cf..ab97c85 100644
--- a/neutronics_material_maker/data/coolant_materials.json
+++ b/neutronics_material_maker/data/coolant_materials.json
@@ -1,20 +1,16 @@
{
"He": {
"elements": {"He": 1.0},
- "density_equation": "PropsSI('D', 'T', temperature, 'P', pressure, 'Helium')",
+ "density": "PropsSI('D', 'T', temperature, 'P', pressure, 'Helium')",
"density_unit": "kg/m3",
- "reference": "CoolProp python package for density equation",
- "temperature_dependant": true,
- "pressure_dependant": true,
+ "comment": "CoolProp python package for density equation",
"percent_type": "ao"
},
"H2O": {
"chemical_equation": "H2O",
- "density_equation": "PropsSI('D', 'T', temperature, 'P', pressure, 'Water')/1000.",
+ "density": "PropsSI('D', 'T', temperature, 'P', pressure, 'Water')/1000.",
"density_unit": "g/cm3",
- "reference": "CoolProp python package",
- "temperature_dependant": true,
- "pressure_dependant": true,
+ "comment": "CoolProp python package",
"percent_type": "ao"
},
"D2O": {
@@ -28,38 +24,30 @@
},
"CO2": {
"chemical_equation": "CO2",
- "density_equation": "PropsSI('D', 'T', temperature, 'P', pressure, 'CO2')/1000.",
+ "density": "PropsSI('D', 'T', temperature, 'P', pressure, 'CO2')/1000.",
"density_unit": "g/cm3",
- "reference": "CoolProp python package",
- "temperature_dependant": true,
- "pressure_dependant": true,
+ "comment": "CoolProp python package",
"percent_type": "ao"
},
"nitrogen": {
"chemical_equation": "N",
- "density_equation": "PropsSI('D', 'T', temperature, 'P', pressure, 'nitrogen')/1000.",
+ "density": "PropsSI('D', 'T', temperature, 'P', pressure, 'nitrogen')/1000.",
"density_unit": "g/cm3",
- "reference": "CoolProp python package",
- "temperature_dependant": true,
- "pressure_dependant": true,
+ "comment": "CoolProp python package",
"percent_type": "ao"
},
"argon": {
"chemical_equation": "Ar",
- "density_equation": "PropsSI('D', 'T', temperature, 'P', pressure, 'argon')/1000.",
+ "density": "PropsSI('D', 'T', temperature, 'P', pressure, 'argon')/1000.",
"density_unit": "g/cm3",
- "reference": "CoolProp python package",
- "temperature_dependant": true,
- "pressure_dependant": true,
+ "comment": "CoolProp python package",
"percent_type": "ao"
},
"xenon": {
"chemical_equation": "Xe",
- "density_equation": "PropsSI('D', 'T', temperature, 'P', pressure, 'xenon')/1000.",
+ "density": "PropsSI('D', 'T', temperature, 'P', pressure, 'xenon')/1000.",
"density_unit": "g/cm3",
- "reference": "CoolProp python package",
- "temperature_dependant": true,
- "pressure_dependant": true,
+ "comment": "CoolProp python package",
"percent_type": "ao"
}
}
diff --git a/neutronics_material_maker/data/moderators.json b/neutronics_material_maker/data/moderators.json
index 1d534dd..ab94e08 100644
--- a/neutronics_material_maker/data/moderators.json
+++ b/neutronics_material_maker/data/moderators.json
@@ -5,7 +5,7 @@
},
"density": 1.91,
"density_unit": "g/cm3",
- "reference": "Toyo Tanso isotropic graphite HPG-59 https://www.toyotanso.com/Products/Special_graphite/data.html",
+ "comment": "Toyo Tanso isotropic graphite HPG-59 https://www.toyotanso.com/Products/Special_graphite/data.html",
"percent_type": "ao"
}
}
diff --git a/neutronics_material_maker/data/multiplier_and_breeder_materials.json b/neutronics_material_maker/data/multiplier_and_breeder_materials.json
index 280f400..789d85d 100644
--- a/neutronics_material_maker/data/multiplier_and_breeder_materials.json
+++ b/neutronics_material_maker/data/multiplier_and_breeder_materials.json
@@ -1,21 +1,18 @@
{
"Pb842Li158": {
"chemical_equation": "Pb842Li158",
- "density_equation": "99.90*(0.1-16.8e-6*(temperature + 273.15))",
+ "density": "99.90*(0.1-16.8e-6*(temperature + 273.15))",
"density_unit": "g/cm3",
- "reference": "density equation valid for in the range 240-350 C. source http://aries.ucsd.edu/LIB/PROPS/PANOS/lipb.html",
- "temperature_dependant": true,
- "enrichable": true,
+ "comment": "density equation valid for in the range 240-350 C. source http://aries.ucsd.edu/LIB/PROPS/PANOS/lipb.html",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type": "ao"
},
"lithium-lead": {
"chemical_equation": "Pb842Li158",
- "density_equation": "99.90*(0.1-16.8e-6*(temperature + 273.15))",
+ "density": "99.90*(0.1-16.8e-6*(temperature + 273.15))",
"density_unit": "g/cm3",
- "reference": "density equation valid for in the range 240-350 C. source http://aries.ucsd.edu/LIB/PROPS/PANOS/lipb.html",
- "temperature_dependant": true,
+ "comment": "density equation valid for in the range 240-350 C. source http://aries.ucsd.edu/LIB/PROPS/PANOS/lipb.html",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
@@ -25,19 +22,16 @@
"atoms_per_unit_cell": 1,
"volume_of_unit_cell_cm3": 0.14400485967e-21,
"density_unit":"g/cm3",
- "enrichable": true,
- "packable": true,
- "reference": "DOI 10.17188/1198772 https://materialsproject.org/materials/mp-22538/",
+ "comment": "DOI 10.17188/1198772 https://materialsproject.org/materials/mp-22538/",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
},
"FLiBe": {
"chemical_equation": "F2Li2BeF2",
- "density_equation": "2.214 - 4.2e-4 * (temperature + 273.15)",
+ "density": "2.214 - 4.2e-4 * (temperature + 273.15)",
"density_unit": "g/cm3",
- "reference": "source http://aries.ucsd.edu/LIB/MEETINGS/0103-TRANSMUT/gohar/Gohar-present.pdf",
- "temperature_dependant": true,
+ "comment": "source http://aries.ucsd.edu/LIB/MEETINGS/0103-TRANSMUT/gohar/Gohar-present.pdf",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
@@ -46,8 +40,7 @@
"chemical_equation": "FLiNaBe",
"density": 2.05,
"density_unit":"g/cm3",
- "enrichable": true,
- "reference": "Based on chemical formula",
+ "comment": "Based on chemical formula",
"percent_type": "ao",
"enrichment_target":"Li6",
"enrichment_type":"ao"
diff --git a/neutronics_material_maker/data/multiplier_materials.json b/neutronics_material_maker/data/multiplier_materials.json
index 098a123..16f8fb9 100644
--- a/neutronics_material_maker/data/multiplier_materials.json
+++ b/neutronics_material_maker/data/multiplier_materials.json
@@ -1,9 +1,9 @@
{
"Pb": {
"chemical_equation": "Pb",
- "density_equation": "10.678 - 13.174e-4 * (temperature-600.6)",
+ "density": "10.678 - 13.174e-4 * (temperature-600.6)",
"density_unit": "g/cm3",
- "reference": "https://www.sciencedirect.com/science/article/abs/pii/0022190261802261",
+ "comment": "https://www.sciencedirect.com/science/article/abs/pii/0022190261802261",
"percent_type": "ao"
},
"Be": {
@@ -11,19 +11,15 @@
"atoms_per_unit_cell": 2,
"volume_of_unit_cell_cm3": 0.01587959994e-21,
"density_unit": "g/cm3",
- "enrichable": false,
- "packable": true,
- "reference": "DOI 10.17188/1312591 https://materialsproject.org/materials/mp-87/",
+ "comment": "DOI 10.17188/1312591 https://materialsproject.org/materials/mp-87/",
"percent_type": "ao"
},
"Be12Ti": {
"chemical_equation": "Be12Ti",
"atoms_per_unit_cell": 1,
"volume_of_unit_cell_cm3": 0.11350517285e-21,
- "enrichable": false,
"density_unit": "g/cm3",
- "packable": true,
- "reference": "DOI 10.17188/1187703 https://materialsproject.org/materials/mp-11280/",
+ "comment": "DOI 10.17188/1187703 https://materialsproject.org/materials/mp-11280/",
"percent_type": "ao"
},
"Ba5Pb3": {
@@ -31,9 +27,7 @@
"atoms_per_unit_cell": 2,
"volume_of_unit_cell_cm3": 0.74343377212e-21,
"density_unit": "g/cm3",
- "enrichable": false,
- "packable": true,
- "reference": "DOI 10.17188/1278091 https://materialsproject.org/materials/mp-622106/",
+ "comment": "DOI 10.17188/1278091 https://materialsproject.org/materials/mp-622106/",
"percent_type": "ao"
},
"Nd5Pb4": {
@@ -41,9 +35,7 @@
"atoms_per_unit_cell": 4,
"volume_of_unit_cell_cm3": 1.17174024048e-21,
"density_unit": "g/cm3",
- "enrichable": false,
- "packable": true,
- "reference": "https://materialsproject.org/materials/mp-1204902/",
+ "comment": "https://materialsproject.org/materials/mp-1204902/",
"percent_type": "ao"
},
"Zr5Pb3": {
@@ -51,9 +43,7 @@
"atoms_per_unit_cell": 2,
"volume_of_unit_cell_cm3": 0.43511266920e-21,
"density_unit": "g/cm3",
- "enrichable": false,
- "packable": true,
- "reference": "DOI 10.17188/1283750 https://materialsproject.org/materials/mp-681992/",
+ "comment": "DOI 10.17188/1283750 https://materialsproject.org/materials/mp-681992/",
"percent_type": "ao"
},
"Zr5Pb4": {
diff --git a/neutronics_material_maker/data/pnnl_materials.json b/neutronics_material_maker/data/pnnl_materials.json
index b8c1101..1173603 100644
--- a/neutronics_material_maker/data/pnnl_materials.json
+++ b/neutronics_material_maker/data/pnnl_materials.json
@@ -3,7 +3,7 @@
"density":1.127,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.58364,
"C":0.374859,
@@ -17,7 +17,7 @@
"density":0.7899,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.599985,
"C":0.300013,
@@ -28,7 +28,7 @@
"density":0.001097,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.499983,
"C":0.500017
@@ -38,7 +38,7 @@
"density":0.001205,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.00015,
"N":0.784431,
@@ -50,7 +50,7 @@
"density":1.42,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.53845,
"C":0.230778,
@@ -62,7 +62,7 @@
"density":2.6989,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Al":1.0
}
@@ -71,7 +71,7 @@
"density":3.97,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.6,
"Al":0.4
@@ -81,7 +81,7 @@
"density":2.78,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Mg":0.017158,
"Al":0.955163,
@@ -98,7 +98,7 @@
"density":2.59,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.083519,
"Mg":0.001728,
@@ -117,7 +117,7 @@
"density":2.73,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Al":0.987924,
"Si":0.00322,
@@ -131,7 +131,7 @@
"density":2.69,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Be":1.5e-05,
"Mg":0.000313,
@@ -148,7 +148,7 @@
"density":2.66,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Mg":0.044473,
"Al":0.947944,
@@ -165,7 +165,7 @@
"density":2.7,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Mg":0.011162,
"Al":0.977325,
@@ -182,7 +182,7 @@
"density":2.81,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Mg":0.029014,
"Al":0.933062,
@@ -199,7 +199,7 @@
"density":0.771,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.749992,
"N":0.250008
@@ -209,7 +209,7 @@
"density":1.25,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.416667,
"C":0.583333
@@ -219,7 +219,7 @@
"density":0.001662,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ar":1.0
}
@@ -228,7 +228,7 @@
"density":1.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.586755,
"C":0.402588,
@@ -243,7 +243,7 @@
"density":2.5784,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.134043,
"C":0.110118,
@@ -268,7 +268,7 @@
"density":1.25,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.431814,
"C":0.488641,
@@ -279,7 +279,7 @@
"density":4.89,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"F":0.666662,
"Ba":0.333338
@@ -289,7 +289,7 @@
"density":4.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666682,
"S":0.166644,
@@ -300,7 +300,7 @@
"density":0.8765,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.499983,
"C":0.500017
@@ -310,7 +310,7 @@
"density":1.848,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Be":1.0
}
@@ -319,7 +319,7 @@
"density":1.9,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Be":0.666667,
"C":0.333333
@@ -329,7 +329,7 @@
"density":3.01,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Be":0.5,
"O":0.5
@@ -339,7 +339,7 @@
"density":9.747,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Bi":1.0
}
@@ -348,7 +348,7 @@
"density":7.13,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.631647,
"Ge":0.157804,
@@ -359,7 +359,7 @@
"density":1.06,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.634604,
"C":0.052291,
@@ -381,7 +381,7 @@
"density":1.45,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.513809,
"C":0.35363,
@@ -395,7 +395,7 @@
"density":1.785,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.386404,
"C":0.335506,
@@ -409,7 +409,7 @@
"density":1.85,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.527886,
"C":0.192478,
@@ -425,7 +425,7 @@
"density":1.85,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.475389,
"C":0.121904,
@@ -442,7 +442,7 @@
"density":2.53,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.454507,
"C":0.113475,
@@ -453,7 +453,7 @@
"density":2.6,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.217879,
"Na":0.005123,
@@ -468,7 +468,7 @@
"density":2.6,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.116547,
"Na":0.005481,
@@ -483,7 +483,7 @@
"density":1.73,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.465116,
"B":0.093023,
@@ -495,7 +495,7 @@
"density":1.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.428571,
"B":0.142857,
@@ -506,7 +506,7 @@
"density":2.37,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":1.0
}
@@ -515,7 +515,7 @@
"density":2.52,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.799981,
"C":0.200019
@@ -525,7 +525,7 @@
"density":0.004058,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.333333,
"F":0.666667
@@ -535,7 +535,7 @@
"density":0.002831,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.25,
"F":0.75
@@ -545,7 +545,7 @@
"density":1.812,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.399978,
"O":0.600022
@@ -555,7 +555,7 @@
"density":1.03,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.654712,
"C":0.062268,
@@ -576,7 +576,7 @@
"density":8.07,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Fe":0.001002,
"Cu":0.674918,
@@ -589,7 +589,7 @@
"density":1.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.663432,
"AL":0.003747,
@@ -602,7 +602,7 @@
"density":2.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.636337,
"Mg":0.005057,
@@ -617,7 +617,7 @@
"density":2.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.635745,
"Mg":0.001008,
@@ -632,7 +632,7 @@
"density":8.4,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Al":0.065613,
"Si":0.007378,
@@ -649,7 +649,7 @@
"density":1.76,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.268599,
"C":0.458133,
@@ -662,7 +662,7 @@
"density":8.65,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Cd":1.0
}
@@ -671,7 +671,7 @@
"density":2.45,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.380952,
"N":0.095238,
@@ -683,7 +683,7 @@
"density":6.2,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Cd":0.499997,
"Te":0.500003
@@ -693,7 +693,7 @@
"density":7.9,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666662,
"Cd":0.166664,
@@ -704,7 +704,7 @@
"density":2.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.200002,
"O":0.599991,
@@ -715,7 +715,7 @@
"density":3.18,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"F":0.666655,
"Ca":0.333345
@@ -725,7 +725,7 @@
"density":3.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.499987,
"Ca":0.500013
@@ -735,7 +735,7 @@
"density":2.96,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666678,
"S":0.166644,
@@ -746,7 +746,7 @@
"density":0.001842,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.333333,
"O":0.666667
@@ -756,7 +756,7 @@
"density":1.594,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.200003,
"Cl":0.799997
@@ -766,7 +766,7 @@
"density":0.32,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":1e-06,
"C":0.999999
@@ -776,7 +776,7 @@
"density":2.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":1e-06,
"C":0.999999
@@ -786,7 +786,7 @@
"density":1.7,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":1e-06,
"C":0.999999
@@ -796,7 +796,7 @@
"density":1.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.437442,
"O":0.437316,
@@ -810,7 +810,7 @@
"density":1.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.213314,
"O":0.528366,
@@ -827,7 +827,7 @@
"density":1.42,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.476179,
"C":0.285724,
@@ -838,7 +838,7 @@
"density":0.24,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.47619,
"C":0.285714,
@@ -849,7 +849,7 @@
"density":1.03,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.659087,
"N":0.000353,
@@ -862,7 +862,7 @@
"density":6.16,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"F":0.75,
"Ce":0.25
@@ -872,7 +872,7 @@
"density":4.51,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"I":0.5,
"Cs":0.5
@@ -882,7 +882,7 @@
"density":7.18,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Cr":1.0
}
@@ -891,7 +891,7 @@
"density":2.2,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.6333,
"Na":0.006923,
@@ -910,7 +910,7 @@
"density":0.84,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.228612,
"C":0.74902,
@@ -923,7 +923,7 @@
"density":0.75,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.421425,
"C":0.533649,
@@ -936,7 +936,7 @@
"density":0.75,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.357505,
"C":0.519319,
@@ -949,7 +949,7 @@
"density":3.35,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.109602,
"O":0.600189,
@@ -966,7 +966,7 @@
"density":3.36,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.235416,
"O":0.548162,
@@ -985,7 +985,7 @@
"density":3.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.147522,
"B":0.025543,
@@ -1008,7 +1008,7 @@
"density":3.2,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.208729,
"B":0.022437,
@@ -1028,7 +1028,7 @@
"density":4.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.158643,
"O":0.207881,
@@ -1044,7 +1044,7 @@
"density":2.18,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.07844,
"O":0.595591,
@@ -1061,7 +1061,7 @@
"density":2.35,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.20517,
"O":0.539084,
@@ -1078,7 +1078,7 @@
"density":4.4,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.018192,
"O":0.412591,
@@ -1095,7 +1095,7 @@
"density":5.9,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.135585,
"O":0.150644,
@@ -1112,7 +1112,7 @@
"density":4.54,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.20964,
"O":0.301631,
@@ -1129,7 +1129,7 @@
"density":2.25,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.084739,
"O":0.604079,
@@ -1144,7 +1144,7 @@
"density":3.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.247678,
"B":0.018643,
@@ -1165,7 +1165,7 @@
"density":3.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.24827,
"B":0.021464,
@@ -1186,7 +1186,7 @@
"density":4.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.244686,
"B":0.025664,
@@ -1202,7 +1202,7 @@
"density":3.53,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.082371,
"O":0.551004,
@@ -1222,7 +1222,7 @@
"density":4.64,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.086069,
"O":0.314488,
@@ -1239,7 +1239,7 @@
"density":2.147,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.059733,
"C":0.159071,
@@ -1261,7 +1261,7 @@
"density":5.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.187558,
"O":0.141791,
@@ -1275,7 +1275,7 @@
"density":2.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.106691,
"C":0.25354,
@@ -1293,7 +1293,7 @@
"density":2.35,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.149867,
"C":0.074204,
@@ -1311,7 +1311,7 @@
"density":2.35,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.103586,
"O":0.58481,
@@ -1329,7 +1329,7 @@
"density":2.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.30533,
"C":0.00288,
@@ -1347,7 +1347,7 @@
"density":2.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.168759,
"C":0.001416,
@@ -1365,7 +1365,7 @@
"density":2.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.168038,
"O":0.563183,
@@ -1380,7 +1380,7 @@
"density":2.32,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.133302,
"C":0.082334,
@@ -1401,7 +1401,7 @@
"density":2.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.246195,
"C":0.001181,
@@ -1420,7 +1420,7 @@
"density":8.96,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Cu":1.0
}
@@ -1429,7 +1429,7 @@
"density":0.22,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.151312,
"O":0.581761,
@@ -1446,7 +1446,7 @@
"density":1.52,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.316855,
"O":0.501581,
@@ -1458,7 +1458,7 @@
"density":1.52,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.670604,
"Na":0.005578,
@@ -1476,7 +1476,7 @@
"density":0.001253,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.75,
"C":0.25
@@ -1486,7 +1486,7 @@
"density":0.901,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.571429,
"C":0.285714,
@@ -1497,7 +1497,7 @@
"density":0.7893,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666654,
"C":0.222232,
@@ -1508,7 +1508,7 @@
"density":0.001175,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666653,
"C":0.333347
@@ -1518,7 +1518,7 @@
"density":1.114,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.6,
"C":0.2,
@@ -1529,7 +1529,7 @@
"density":1.72,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.444444,
"N":0.222222,
@@ -1540,7 +1540,7 @@
"density":1.49,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.285714,
"C":0.142857,
@@ -1552,7 +1552,7 @@
"density":1.89,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.285714,
"C":0.142857,
@@ -1564,7 +1564,7 @@
"density":1.49,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.300771,
"C":0.234383,
@@ -1576,7 +1576,7 @@
"density":1.6,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.25,
"C":0.15,
@@ -1588,7 +1588,7 @@
"density":1.77,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.275862,
"C":0.172414,
@@ -1600,7 +1600,7 @@
"density":1.82,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.285714,
"C":0.142857,
@@ -1612,7 +1612,7 @@
"density":1.65,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.238095,
"C":0.333333,
@@ -1624,7 +1624,7 @@
"density":1.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.618329,
"C":0.101257,
@@ -1636,7 +1636,7 @@
"density":0.185,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.384052,
"C":0.316901,
@@ -1648,7 +1648,7 @@
"density":5.2,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.599991,
"Fe":0.400009
@@ -1658,7 +1658,7 @@
"density":1.024,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.660018,
"N":1.2e-05,
@@ -1673,7 +1673,7 @@
"density":1.27,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.001849,
"O":0.001658,
@@ -1690,7 +1690,7 @@
"density":2.49,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.035039,
"O":0.609968,
@@ -1707,7 +1707,7 @@
"density":2.565,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.043757,
"O":0.611965,
@@ -1726,7 +1726,7 @@
"density":2.55,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.628478,
"Mg":0.030755,
@@ -1739,7 +1739,7 @@
"density":1.12,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.200004,
"F":0.399998,
@@ -1750,7 +1750,7 @@
"density":1.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.200003,
"F":0.399999,
@@ -1761,7 +1761,7 @@
"density":0.95,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.200004,
"F":0.599997,
@@ -1772,7 +1772,7 @@
"density":1.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.200003,
"F":0.599998,
@@ -1783,7 +1783,7 @@
"density":1.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.200005,
"F":0.599996,
@@ -1794,7 +1794,7 @@
"density":7.9004,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Gd":1.0
}
@@ -1803,7 +1803,7 @@
"density":7.44,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.400012,
"S":0.199976,
@@ -1814,7 +1814,7 @@
"density":6.71,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.625,
"Si":0.125,
@@ -1825,7 +1825,7 @@
"density":1.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.558087,
"C":0.316304,
@@ -1837,7 +1837,7 @@
"density":5.31,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ga":0.5,
"As":0.5
@@ -1847,7 +1847,7 @@
"density":0.721,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.689368,
"C":0.310632
@@ -1857,7 +1857,7 @@
"density":5.323,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ge":1.0
}
@@ -1866,7 +1866,7 @@
"density":2.66,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.078133,
"O":0.581195,
@@ -1880,7 +1880,7 @@
"density":2.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.209694,
"O":0.545112,
@@ -1894,7 +1894,7 @@
"density":2.42,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.124299,
"O":0.585945,
@@ -1908,7 +1908,7 @@
"density":2.42,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.239068,
"O":0.546269,
@@ -1920,7 +1920,7 @@
"density":2.23,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.070449,
"O":0.641095,
@@ -1934,7 +1934,7 @@
"density":0.128,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.018718,
"B":0.026176,
@@ -1948,7 +1948,7 @@
"density":6.22,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.592955,
"Si":0.174592,
@@ -1961,7 +1961,7 @@
"density":2.4,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.603858,
"Na":0.088145,
@@ -1973,7 +1973,7 @@
"density":1.2613,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.571417,
"C":0.214294,
@@ -1984,7 +1984,7 @@
"density":19.32,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Au":1.0
}
@@ -1993,7 +1993,7 @@
"density":2.32,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.333321,
"O":0.500014,
@@ -2005,7 +2005,7 @@
"density":0.000125,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"He3":1.0
}
@@ -2014,7 +2014,7 @@
"density":0.000166,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"He":1.0
}
@@ -2023,7 +2023,7 @@
"density":8.4e-05,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":1.0
}
@@ -2032,7 +2032,7 @@
"density":7.94,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.002984,
"Al":0.007663,
@@ -2050,7 +2050,7 @@
"density":8.47,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.004642,
"Si":0.006583,
@@ -2066,7 +2066,7 @@
"density":8.44,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.133302,
"C":0.082334,
@@ -2087,7 +2087,7 @@
"density":8.19,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.000267,
"C":0.003507,
@@ -2110,7 +2110,7 @@
"density":7.31,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"In":1.0
}
@@ -2119,7 +2119,7 @@
"density":7.874,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Fe":1.0
}
@@ -2128,7 +2128,7 @@
"density":7.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.333333,
"Fe":0.666667
@@ -2138,7 +2138,7 @@
"density":7.15,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.499969,
"Fe":0.500031
@@ -2148,7 +2148,7 @@
"density":7.866,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.000556,
"O":0.003826,
@@ -2162,7 +2162,7 @@
"density":7.15,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.137104,
"Si":0.044836,
@@ -2176,7 +2176,7 @@
"density":7.7,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.003746,
"Si":0.003164,
@@ -2190,7 +2190,7 @@
"density":0.096,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.000468,
"O":0.636102,
@@ -2205,7 +2205,7 @@
"density":1.42,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.256399,
"C":0.564114,
@@ -2217,7 +2217,7 @@
"density":16.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ni":0.191007,
"Cu":0.294036,
@@ -2228,7 +2228,7 @@
"density":1.95,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.32,
"B":0.16,
@@ -2240,7 +2240,7 @@
"density":0.819,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.694164,
"C":0.305836
@@ -2250,7 +2250,7 @@
"density":0.003478,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Kr":1.0
}
@@ -2259,7 +2259,7 @@
"density":1.79,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.333333,
"C":0.333333,
@@ -2270,7 +2270,7 @@
"density":11.35,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Pb":1.0
}
@@ -2279,7 +2279,7 @@
"density":8.24,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666667,
"W":0.166667,
@@ -2290,7 +2290,7 @@
"density":0.534,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":1.0
}
@@ -2299,7 +2299,7 @@
"density":1.178,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.499991,
"Li":0.250004,
@@ -2310,7 +2310,7 @@
"density":2.635,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.5,
"F":0.5
@@ -2320,7 +2320,7 @@
"density":3.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"Li6":0.315789,
"B10":0.157895
@@ -2334,7 +2334,7 @@
"density":0.82,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.499989,
"Li":0.500011
@@ -2344,7 +2344,7 @@
"density":4.08,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.499998,
"I":0.500002
@@ -2354,7 +2354,7 @@
"density":3.494,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.499998,
"I":0.500002
@@ -2364,7 +2364,7 @@
"density":2.013,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.666667,
"O":0.333333
@@ -2374,7 +2374,7 @@
"density":2.44,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Li":0.153851,
"B":0.307673,
@@ -2385,7 +2385,7 @@
"density":1.19,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.53332,
"C":0.333345,
@@ -2396,7 +2396,7 @@
"density":6.73,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.6,
"Al":0.25,
@@ -2407,7 +2407,7 @@
"density":8.4,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.6,
"Al":0.2,
@@ -2418,7 +2418,7 @@
"density":7.4,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.625,
"Si":0.125,
@@ -2429,7 +2429,7 @@
"density":7.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.5,
"Si":0.1,
@@ -2441,7 +2441,7 @@
"density":1.74,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Mg":1.0
}
@@ -2450,7 +2450,7 @@
"density":3.58,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.5,
"Mg":0.5
@@ -2460,7 +2460,7 @@
"density":2.53,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.333313,
"O":0.583351,
@@ -2471,7 +2471,7 @@
"density":1.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.47619,
"C":0.285714,
@@ -2482,7 +2482,7 @@
"density":1.35,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.388889,
"C":0.277778,
@@ -2493,7 +2493,7 @@
"density":13.546,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Hg":1.0
}
@@ -2502,7 +2502,7 @@
"density":6.36,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"I":0.666667,
"Hg":0.333333
@@ -2512,7 +2512,7 @@
"density":0.000667,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.8,
"C":0.2
@@ -2522,7 +2522,7 @@
"density":0.7914,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666654,
"C":0.166675,
@@ -2533,7 +2533,7 @@
"density":1.3266,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.4,
"C":0.2,
@@ -2544,7 +2544,7 @@
"density":10.22,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Mo":1.0
}
@@ -2553,7 +2553,7 @@
"density":1.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.111111,
"O":0.555556,
@@ -2565,7 +2565,7 @@
"density":1.11,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.619265,
"C":0.082642,
@@ -2577,7 +2577,7 @@
"density":1.07,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.631883,
"C":0.062435,
@@ -2589,7 +2589,7 @@
"density":1.04,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.630932,
"C":0.056732,
@@ -2610,7 +2610,7 @@
"density":1.04,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.633101,
"C":0.06407,
@@ -2627,7 +2627,7 @@
"density":0.000839,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ne":1.0
}
@@ -2636,7 +2636,7 @@
"density":8.902,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ni":1.0
}
@@ -2645,7 +2645,7 @@
"density":8.57,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Nb":1.0
}
@@ -2654,7 +2654,7 @@
"density":0.001165,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"N":1.0
}
@@ -2663,7 +2663,7 @@
"density":1.08,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.593363,
"C":0.311934,
@@ -2675,7 +2675,7 @@
"density":1.425,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.617633,
"C":0.323542,
@@ -2687,7 +2687,7 @@
"density":1.14,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.578932,
"C":0.315803,
@@ -2699,7 +2699,7 @@
"density":1.14,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.599986,
"C":0.320013,
@@ -2711,7 +2711,7 @@
"density":0.97,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.588884,
"C":0.39773,
@@ -2724,7 +2724,7 @@
"density":0.975,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.587752,
"C":0.404749,
@@ -2735,7 +2735,7 @@
"density":0.97,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.590046,
"C":0.391765,
@@ -2747,7 +2747,7 @@
"density":0.875,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.629388,
"C":0.36522,
@@ -2759,7 +2759,7 @@
"density":0.955,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.633782,
"C":0.364349,
@@ -2770,7 +2770,7 @@
"density":0.871,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.392857,
"C":0.47619,
@@ -2783,7 +2783,7 @@
"density":0.915,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.62069,
"C":0.344828,
@@ -2794,7 +2794,7 @@
"density":0.001332,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":1.0
}
@@ -2803,7 +2803,7 @@
"density":0.001561,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.285714,
"C":0.071429,
@@ -2814,7 +2814,7 @@
"density":0.001611,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.166667,
"C":0.041667,
@@ -2825,7 +2825,7 @@
"density":12.02,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Pd":1.0
}
@@ -2834,7 +2834,7 @@
"density":1.2914,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.546952,
"C":0.235246,
@@ -2847,7 +2847,7 @@
"density":2.2,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.440293,
"C":0.255254,
@@ -2861,7 +2861,7 @@
"density":3.815,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.407082,
"C":0.175079,
@@ -2877,7 +2877,7 @@
"density":21.45,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Pt":1.0
}
@@ -2886,7 +2886,7 @@
"density":6.75,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Br":0.75
},
@@ -2902,7 +2902,7 @@
"density":13.6,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.5
},
@@ -2918,7 +2918,7 @@
"density":5.71,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Cl":0.75
},
@@ -2934,7 +2934,7 @@
"density":11.46,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666667
},
@@ -2950,7 +2950,7 @@
"density":9.33,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"F":0.75
},
@@ -2966,7 +2966,7 @@
"density":7.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"F":0.8
},
@@ -2982,7 +2982,7 @@
"density":5.08,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"F":0.857143
},
@@ -2998,7 +2998,7 @@
"density":6.92,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"I":0.75
},
@@ -3014,7 +3014,7 @@
"density":2.447,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"N":0.235294,
"O":0.705882
@@ -3031,7 +3031,7 @@
"density":14.25,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"N":0.5
},
@@ -3047,7 +3047,7 @@
"density":10.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.6
},
@@ -3063,7 +3063,7 @@
"density":14.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.5
},
@@ -3079,7 +3079,7 @@
"density":19.84,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"Pu238":0.0001,
"Pu239":0.936559,
@@ -3093,7 +3093,7 @@
"density":19.84,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"Pu238":0.000897,
"Pu239":0.86247,
@@ -3107,7 +3107,7 @@
"density":19.84,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"Pu238":0.002347,
"Pu239":0.785422,
@@ -3121,7 +3121,7 @@
"density":19.84,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"Pu238":0.000502,
"Pu239":0.935269,
@@ -3134,7 +3134,7 @@
"density":19.84,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"Pu238":0.001005,
"Pu239":0.861564,
@@ -3147,7 +3147,7 @@
"density":19.84,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"Pu238":0.009965,
"Pu239":0.625153,
@@ -3160,7 +3160,7 @@
"density":19.84,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"Pu238":0.000301,
"Pu239":0.939451,
@@ -3174,7 +3174,7 @@
"density":1.2,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.424226,
"C":0.484864,
@@ -3185,7 +3185,7 @@
"density":1.38,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.363632,
"C":0.454552,
@@ -3196,7 +3196,7 @@
"density":1.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.627759,
"B":0.04669,
@@ -3207,7 +3207,7 @@
"density":0.93,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666662,
"C":0.333338
@@ -3217,7 +3217,7 @@
"density":0.0482,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.344828,
"C":0.517241,
@@ -3229,7 +3229,7 @@
"density":0.9,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666653,
"C":0.333347
@@ -3239,7 +3239,7 @@
"density":1.06,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.499994,
"C":0.500006
@@ -3249,7 +3249,7 @@
"density":2.25,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.333339,
"F":0.666661
@@ -3259,7 +3259,7 @@
"density":0.021,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.360023,
"C":0.400878,
@@ -3271,7 +3271,7 @@
"density":1.19,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.499986,
"C":0.333345,
@@ -3282,7 +3282,7 @@
"density":1.406,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.499995,
"C":0.33334,
@@ -3293,7 +3293,7 @@
"density":1.032,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.525382,
"C":0.474618
@@ -3303,7 +3303,7 @@
"density":1.7,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.333317,
"C":0.333346,
@@ -3314,7 +3314,7 @@
"density":1.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.615385,
"Al":0.076923,
@@ -3326,7 +3326,7 @@
"density":3.13,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"K":0.5,
"I":0.5
@@ -3336,7 +3336,7 @@
"density":2.32,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.333333,
"K":0.666667
@@ -3346,7 +3346,7 @@
"density":0.001879,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.72726,
"C":0.27274
@@ -3356,7 +3356,7 @@
"density":0.43,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.72726,
"C":0.27274
@@ -3366,7 +3366,7 @@
"density":1.23,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.416667,
"C":0.583333
@@ -3376,7 +3376,7 @@
"density":1.08,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.589073,
"C":0.317171,
@@ -3388,7 +3388,7 @@
"density":2.662,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.032837,
"C":0.044735,
@@ -3410,7 +3410,7 @@
"density":3.01,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.607469,
"Na":0.020797,
@@ -3429,7 +3429,7 @@
"density":2.69,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.629769,
"Na":0.024738,
@@ -3448,7 +3448,7 @@
"density":2.61,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.017089,
"C":0.181445,
@@ -3469,7 +3469,7 @@
"density":2.32,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.034647,
"C":0.022161,
@@ -3490,7 +3490,7 @@
"density":2.68,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.1039,
"C":0.011058,
@@ -3511,7 +3511,7 @@
"density":0.92,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666653,
"C":0.333347
@@ -3521,7 +3521,7 @@
"density":0.92,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.61537,
"C":0.38463
@@ -3531,7 +3531,7 @@
"density":1.23,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.499985,
"C":0.400014,
@@ -3542,7 +3542,7 @@
"density":1.0185,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.597039,
"C":0.199359,
@@ -3554,7 +3554,7 @@
"density":1.209865,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.621161,
"O":0.310581,
@@ -3566,7 +3566,7 @@
"density":1.022394,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.661906,
"O":0.330953,
@@ -3578,7 +3578,7 @@
"density":1.7,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.135405,
"C":0.004874,
@@ -3595,7 +3595,7 @@
"density":1.023343,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.66159,
"O":0.331493,
@@ -3611,7 +3611,7 @@
"density":1.023343,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.661599,
"B":3e-06,
@@ -3631,7 +3631,7 @@
"density":2.14,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.297872,
"O":0.489362,
@@ -3643,7 +3643,7 @@
"density":2.33,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Si":1.0
}
@@ -3652,7 +3652,7 @@
"density":3.21,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.5,
"Si":0.5
@@ -3662,7 +3662,7 @@
"density":2.648,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666667,
"Si":0.333333
@@ -3672,7 +3672,7 @@
"density":2.32,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666667,
"Si":0.333333
@@ -3682,7 +3682,7 @@
"density":10.5,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ag":1.0
}
@@ -3691,7 +3691,7 @@
"density":1.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.619966,
"C":0.118059,
@@ -3712,7 +3712,7 @@
"density":0.971,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Na":1.0
}
@@ -3721,7 +3721,7 @@
"density":7.57,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666667,
"Na":0.083333,
@@ -3733,7 +3733,7 @@
"density":2.17,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Na":0.5,
"Cl":0.5
@@ -3743,7 +3743,7 @@
"density":3.667,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Na":0.499999,
"I":0.500001
@@ -3753,7 +3753,7 @@
"density":2.261,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"N":0.2,
"O":0.6,
@@ -3764,7 +3764,7 @@
"density":2.27,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.333333,
"Na":0.666667
@@ -3774,7 +3774,7 @@
"density":7.87,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"B":0.048827,
"C":0.00174,
@@ -3791,7 +3791,7 @@
"density":7.82,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.022831,
"Fe":0.977169
@@ -3801,7 +3801,7 @@
"density":7.874,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.009183,
"Si":0.007854,
@@ -3820,7 +3820,7 @@
"density":7.86,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.003405,
"N":0.004866,
@@ -3837,7 +3837,7 @@
"density":7.86,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.006356,
"Si":0.018057,
@@ -3853,7 +3853,7 @@
"density":8.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.00183,
"Si":0.009781,
@@ -3869,7 +3869,7 @@
"density":8.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.000687,
"Si":0.009793,
@@ -3885,7 +3885,7 @@
"density":8.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.0019,
"Si":0.010048,
@@ -3902,7 +3902,7 @@
"density":8.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.001384,
"Si":0.019722,
@@ -3919,7 +3919,7 @@
"density":8.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.00364,
"Si":0.019457,
@@ -3936,7 +3936,7 @@
"density":8.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.003659,
"Si":0.019559,
@@ -3954,7 +3954,7 @@
"density":7.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.003591,
"Si":0.019108,
@@ -3970,7 +3970,7 @@
"density":7.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.030406,
"Si":0.012521,
@@ -3986,7 +3986,7 @@
"density":0.862,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.635838,
"C":0.32948,
@@ -3997,7 +3997,7 @@
"density":1.22,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.416667,
"C":0.583333
@@ -4007,7 +4007,7 @@
"density":2.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"S":1.0
}
@@ -4016,7 +4016,7 @@
"density":16.654,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ta":1.0
}
@@ -4025,7 +4025,7 @@
"density":11.72,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Th":1.0
}
@@ -4034,7 +4034,7 @@
"density":10.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666667,
"Th":0.333333
@@ -4044,7 +4044,7 @@
"density":7.31,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Sn":1.0
}
@@ -4053,7 +4053,7 @@
"density":1.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.546359,
"C":0.32948,
@@ -4067,7 +4067,7 @@
"density":0.001064,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.605249,
"C":0.227454,
@@ -4079,7 +4079,7 @@
"density":0.001826,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.598952,
"C":0.278531,
@@ -4091,7 +4091,7 @@
"density":0.92,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.634643,
"C":0.284063,
@@ -4112,7 +4112,7 @@
"density":1.02,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.625781,
"C":0.164483,
@@ -4128,7 +4128,7 @@
"density":1.05,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.633136,
"C":0.053674,
@@ -4149,7 +4149,7 @@
"density":1.05,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.64323,
"C":0.047811,
@@ -4166,7 +4166,7 @@
"density":1.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.630454,
"C":0.117588,
@@ -4187,7 +4187,7 @@
"density":1.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.630936,
"C":0.058092,
@@ -4199,7 +4199,7 @@
"density":1.04,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.64136,
"C":0.047676,
@@ -4220,7 +4220,7 @@
"density":1.04,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.645178,
"C":0.050568,
@@ -4237,7 +4237,7 @@
"density":4.54,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Ti":1.0
}
@@ -4246,7 +4246,7 @@
"density":4.43,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.004953,
"C":0.002154,
@@ -4262,7 +4262,7 @@
"density":4.26,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666606,
"Ti":0.333394
@@ -4272,7 +4272,7 @@
"density":3.75,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666667,
"Ti":0.333333
@@ -4282,7 +4282,7 @@
"density":0.8669,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.533317,
"C":0.466683
@@ -4292,7 +4292,7 @@
"density":0.864,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.627907,
"B":0.023256,
@@ -4304,7 +4304,7 @@
"density":0.9724,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.613636,
"C":0.272727,
@@ -4316,7 +4316,7 @@
"density":19.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"W":1.0
}
@@ -4325,7 +4325,7 @@
"density":13.63,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.5
},
@@ -4340,7 +4340,7 @@
"density":11.28,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"C":0.666667
},
@@ -4355,7 +4355,7 @@
"density":10.96,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666667
},
@@ -4370,7 +4370,7 @@
"density":4.68,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"F":0.857143
},
@@ -4385,7 +4385,7 @@
"density":11.1,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.75
},
@@ -4400,7 +4400,7 @@
"density":14.31,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"N":0.5
},
@@ -4415,7 +4415,7 @@
"density":8.3,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.727273
},
@@ -4430,7 +4430,7 @@
"density":6.7,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"F":0.8
},
@@ -4445,7 +4445,7 @@
"density":7.29,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.75
},
@@ -4460,7 +4460,7 @@
"density":18.951157,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"U234":5e-06,
"U235":0.002532,
@@ -4471,7 +4471,7 @@
"density":18.944492,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"U234":0.00031,
"U235":0.029967,
@@ -4482,7 +4482,7 @@
"density":18.724868,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"U234":0.010582,
"U235":0.932362,
@@ -4494,7 +4494,7 @@
"density":18.732854,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"U234":0.009722,
"U235":0.898982,
@@ -4506,7 +4506,7 @@
"density":18.72476,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"U234":0.009849,
"U235":0.932166,
@@ -4518,7 +4518,7 @@
"density":18.944386,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"U234":0.000271,
"U235":0.030372,
@@ -4530,7 +4530,7 @@
"density":18.95,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"isotopes": {
"U234":5.8e-05,
"U235":0.007295,
@@ -4541,7 +4541,7 @@
"density":11.0,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.666666
},
@@ -4561,7 +4561,7 @@
"density":6.37,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.4,
"F":0.4
@@ -4577,7 +4577,7 @@
"density":2.203,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"N":0.181818,
"O":0.727273
@@ -4593,7 +4593,7 @@
"density":0.085,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.197175,
"O":0.520978,
@@ -4610,7 +4610,7 @@
"density":1.8,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.133327,
"C":0.333341,
@@ -4621,7 +4621,7 @@
"density":1.10534,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.333333
},
@@ -4633,7 +4633,7 @@
"density":0.998207,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666657,
"O":0.333343
@@ -4643,7 +4643,7 @@
"density":0.000756,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666657,
"O":0.333343
@@ -4653,7 +4653,7 @@
"density":1.05,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.632204,
"C":0.304366,
@@ -4666,7 +4666,7 @@
"density":0.99,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.65888,
"C":0.320919,
@@ -4679,7 +4679,7 @@
"density":0.93,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.675311,
"C":0.324689
@@ -4689,7 +4689,7 @@
"density":0.64,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.462423,
"C":0.323389,
@@ -4705,7 +4705,7 @@
"density":0.005485,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Xe":1.0
}
@@ -4714,7 +4714,7 @@
"density":4.56,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.6,
"Al":0.25,
@@ -4725,7 +4725,7 @@
"density":5.37,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.6,
"Al":0.2,
@@ -4736,7 +4736,7 @@
"density":4.45,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.625,
"Si":0.125,
@@ -4747,7 +4747,7 @@
"density":2.25,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.173913,
"O":0.521739,
@@ -4760,7 +4760,7 @@
"density":7.133,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Zn":1.0
}
@@ -4769,7 +4769,7 @@
"density":5.42,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Zn":0.5,
"Se":0.5
@@ -4779,7 +4779,7 @@
"density":4.09,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"S":0.5,
"Zn":0.5
@@ -4789,7 +4789,7 @@
"density":6.56,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.006796,
"Cr":0.001743,
@@ -4803,7 +4803,7 @@
"density":6.56,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"O":0.00679,
"Cr":0.001741,
@@ -4816,7 +4816,7 @@
"density":6.506,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"Zr":1.0
}
@@ -4825,7 +4825,7 @@
"density":5.61,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.615385,
"Zr":0.384615
@@ -4835,7 +4835,7 @@
"density":5.61,
"density_unit":"g/cm3",
"percent_type": "ao",
- "reference":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
+ "comment":"https://www.pnnl.gov/main/publications/external/technical_reports/PNNL-15870Rev1.pdf",
"elements": {
"H":0.666667,
"Zr":0.333333
diff --git a/neutronics_material_maker/data/structural_materials.json b/neutronics_material_maker/data/structural_materials.json
index ab0cb35..20d126d 100644
--- a/neutronics_material_maker/data/structural_materials.json
+++ b/neutronics_material_maker/data/structural_materials.json
@@ -42,7 +42,7 @@
},
"density": 7.78,
"density_unit": "g/cm3",
- "reference": "neutronics handbook",
+ "comment": "neutronics handbook",
"percent_type": "ao"
},
"SS_316L_N_IG": {
@@ -66,7 +66,7 @@
},
"density": 7.93,
"density_unit": "g/cm3",
- "reference": "neutronics handbook",
+ "comment": "neutronics handbook",
"percent_type": "ao"
},
"tungsten_with_impurities": {
@@ -104,7 +104,7 @@
},
"density": 19.0,
"density_unit": "g/cm3",
- "reference": "neutronics handbook",
+ "comment": "neutronics handbook",
"percent_type": "ao"
},
"tungsten": {
@@ -238,7 +238,7 @@
},
"density": 8.9,
"density_unit": "g/cm3",
- "reference": "neutronics handbook",
+ "comment": "neutronics handbook",
"percent_type": "ao"
},
"CuCrZr": {
@@ -249,7 +249,7 @@
},
"density": 8.9,
"density_unit": "g/cm3",
- "reference": "",
+ "comment": "",
"percent_type": "wo"
}
}
diff --git a/neutronics_material_maker/material.py b/neutronics_material_maker/material.py
index 8e48a04..cfbbea9 100644
--- a/neutronics_material_maker/material.py
+++ b/neutronics_material_maker/material.py
@@ -3,24 +3,23 @@
__author__ = "neutronics material maker development team"
+import json
import os
import re
import warnings
from json import JSONEncoder
-from typing import Optional, Dict, List
+from typing import Dict, List, Optional, Union
+
import asteval
from CoolProp.CoolProp import PropsSI
-from neutronics_material_maker import (
- make_fispact_material,
- make_serpent_material,
- make_mcnp_material,
- make_shift_material,
- material_dict,
- zaid_to_isotope,
- check_add_additional_end_lines,
- NATURAL_ABUNDANCE
-)
+from neutronics_material_maker import (NATURAL_ABUNDANCE,
+ check_add_additional_end_lines,
+ make_fispact_material,
+ make_mcnp_material,
+ make_serpent_material,
+ make_shift_material, material_dict,
+ zaid_to_isotope)
OPENMC_AVAILABLE = True
try:
@@ -50,39 +49,20 @@ def _default(self, obj):
class Material:
"""
- Produces a material by looking up the material_name in a
- collection of prepared materials. Modifiers to the material
- isotopes are applied according to arguments such
- as enrichment. Modifiers to the material density are applied
- according to arguments like temperature and pressure
- where appropiate (gases, liquids). The collection of materials
- includes relationships between presure, temperature and density
- relationships. This allows the code to adjust the density of the
- material accordingly. The intended use is a tool to facilitate
- the use of a common materials library (internal or your own).
- However it is also possible to make complete Materials without
- using the reference collection but more inputs are needed from
- the user. The Material object is also json serializable
+ Produces a material from input arguments that can be output in formats
+ suitable for several different neutronics codes.
Args:
- material_name: This is the reference name used to look up the material
- from the internal collection. Look up the available materials
- AvailableMaterials()
- material_tag: This is a string that is assigned to the
- material as an identifier. This is used by neutronics
- codes to label the material with a unique identifier
+ name: This is a string that is assigned to the material as an
+ identifier. This is used by neutronics codes to label the material
+ with a unique identifier.
packing_fraction: This value is mutliplied by the density
which allows packing_fraction to be taken into account for materials
involving an amount of void. Recall that packing_fraction is equal
to 1/void fraction
enrichment: This is the percentage of isotope enrichment
required for the material. This works for materials that have
- an enrichment_target specified. The internal material collection
- have Li6 specified as an enrichment_target for Lithium containing
- compounds. Enrichment of Li6 impacts the density of a material and
- the internal package materials take this into account. It is also
- possible to use this when making materials not included in the
- reference collection but an enrichment_target must also be provided.
+ an enrichment_target and enrichment_type also specified.
enrichment_target: The isotope to enrich e.g. Li6
temperature: The temperature of the material in degrees
Kelvin. Temperature impacts the density of some materials in the
@@ -124,16 +104,16 @@ class Material:
e.g. {'Li6': 0.9, 'Li7': 0.1} alternatively zaid representation
can also be used instead of the symbol e.g. {'3006': 0.9, '4007': 0.1}
percent_type: Atom "ao" or or weight fraction "wo"
- density): value to be used as the density
+ density: value to be used as the density. Can be a number or a string.
+ if a string then it will be evaluated as an equation to find the
+ density and can contain temperature and pressure varibles.
+ variables as part of the equation.
density_unit: the units of density "g/cm3", "g/cc", "kg/m3",
"atom/b-cm", "atom/cm3"
- density_equation: An equation to be evaluated to find the density,
- can contain temperature and pressure
- variables as part of the equation.
atoms_per_unit_cell: The number of atoms in a unit cell of the
crystal structure
volume_of_unit_cell_cm3: The volume of the unit cell in cm3
- reference: An entry used to store information on the source of the
+ comment: An entry used to store information on the source of the
material data
additional_end_lines: Additional lines of test that are added to the end of
the material card. Compatable with MCNP, Serpent, Fispact outputs
@@ -149,9 +129,8 @@ class Material:
def __init__(
self,
- material_name: Optional[str] = None,
- packing_fraction: Optional[float] = 1.0,
- material_tag: Optional[str] = None,
+ name: Optional[str] = None,
+ packing_fraction: Optional[float] = 1.,
enrichment: Optional[float] = None,
enrichment_target: Optional[str] = None,
temperature: Optional[float] = None,
@@ -163,11 +142,10 @@ def __init__(
percent_type: Optional[str] = None,
density: Optional[float] = None,
density_unit: Optional[str] = None,
- density_equation: Optional[str] = None,
atoms_per_unit_cell: Optional[int] = None,
volume_of_unit_cell_cm3: Optional[float] = None,
enrichment_type: Optional[str] = None,
- reference: Optional[str] = None,
+ comment: Optional[str] = None,
zaid_suffix: Optional[str] = None,
material_id: Optional[int] = None,
decimal_places: Optional[int] = 8,
@@ -175,8 +153,7 @@ def __init__(
additional_end_lines: Optional[Dict[str, List[str]]] = None,
):
- self.material_name = material_name
- self.material_tag = material_tag
+ self.name = name
self.temperature = temperature
self.temperature_to_neutronics_code = temperature_to_neutronics_code
self.pressure = pressure
@@ -185,7 +162,6 @@ def __init__(
self.chemical_equation = chemical_equation
self.isotopes = isotopes
self.density = density
- self.density_equation = density_equation
self.atoms_per_unit_cell = atoms_per_unit_cell
self.volume_of_unit_cell_cm3 = volume_of_unit_cell_cm3
self.density_unit = density_unit
@@ -193,7 +169,7 @@ def __init__(
self.enrichment = enrichment
self.enrichment_target = enrichment_target
self.enrichment_type = enrichment_type
- self.reference = reference
+ self.comment = comment
self.zaid_suffix = zaid_suffix
self.material_id = material_id
self.decimal_places = decimal_places
@@ -213,49 +189,8 @@ def __init__(
"Material.chemical_equation and Material.elements can not both be set"
)
- if self.material_name in material_dict.keys():
-
- self._populate_from_inbuilt_dictionary()
-
- # checks that if we try to enrich a material by providing any of the
- # arguments, that the other arguments are also provided
- if self.enrichment is not None:
- if self.enrichment_target is None or self.enrichment_type is None:
- raise ValueError(
- "Material.enrichment_target and enrichment type are \
- needed to enrich a material"
- )
-
- if "temperature_dependant" in material_dict[self.material_name].keys(
- ):
- if temperature is None:
- if self.material_name == "He":
- raise ValueError(
- "temperature is needed for",
- self.material_name,
- ". Typical helium cooled blankets are 670K and 8e6Pa",
- )
- elif self.material_name == "H2O":
- raise ValueError(
- "temperature is needed for",
- self.material_name,
- ". Typical water cooled blankets are 305C and 15.5e6Pa",
- )
- raise ValueError(
- "temperature is needed for", self.material_name
- )
-
- if "pressure_dependant" in material_dict[self.material_name].keys(
- ):
- if pressure is None:
- raise ValueError(
- "pressure is needed for",
- self.material_name)
-
- # this populates the density of materials when density is provided by
- # equations and crystal latic information by making the openmc material
- # however it should also be possible to ininitialize nmm.Material
- # without openmc installed, hence the if
+ # It should also be possible to ininitialize nmm.Material without
+ # OpenMC
if OPENMC_AVAILABLE:
self._make_openmc_material()
@@ -355,36 +290,20 @@ def fispact_material(self, value):
self._fispact_material = value
@property
- def material_name(self) -> str:
+ def name(self) -> str:
"""
The name of the material, used to look up the material from the
internal database of material names available
"""
- return self._material_name
+ return self._name
- @material_name.setter
- def material_name(self, value):
+ @name.setter
+ def name(self, value):
if value is not None:
if not isinstance(value, str):
raise ValueError(
- "Material.material_name must be a string", value)
- self._material_name = value
-
- @property
- def material_tag(self) -> str:
- """
- The material tag to assign the material, used when naming openmc
- materials. This is the label attached to the material.
- """
- return self._material_tag
-
- @material_tag.setter
- def material_tag(self, value):
- if value is not None:
- if not isinstance(value, str):
- raise ValueError(
- "Material.material_tag must be a string", value)
- self._material_tag = value
+ "Material.name must be a string", value)
+ self._name = value
@property
def packing_fraction(self):
@@ -451,18 +370,6 @@ def isotopes(self, value):
"Material.isotopes must be dictionaries e.g. {'Li6':0.07, 'Li7': 0.93}"
)
- @property
- def density_equation(self):
- return self._density_equation
-
- @density_equation.setter
- def density_equation(self, value):
- if value is not None:
- if not isinstance(value, str):
- raise ValueError(
- "Material.density_equation should be a string")
- self._density_equation = value
-
@property
def density_unit(self) -> float:
"""
@@ -528,9 +435,9 @@ def atoms_per_unit_cell(self, value):
@property
def volume_of_unit_cell_cm3(self):
"""
- The volume of the crystal unit cell. Can be used in density_equation
- calculations if 'volume_of_unit_cell_cm3' is used in the
- density_equation attribute.
+ The volume of the crystal unit cell. Can be used in a density string as
+ part of the equation calculations if 'volume_of_unit_cell_cm3' is used
+ in the density attribute.
:type: float
"""
@@ -559,7 +466,7 @@ def temperature(self, value):
if value is not None:
if value < 0.0:
raise ValueError(
- "Material.temperature must be greater than 0")
+ "Material.temperature must be greater than 0 Kelvin")
self._temperature = value
@property
@@ -576,7 +483,9 @@ def density(self):
def density(self, value):
if value is None:
self._density = value
- else:
+ elif isinstance(value, str):
+ self._density = value
+ elif isinstance(value, (int, float)):
if value < 0:
raise ValueError("Material.density should be above 0", value)
self._density = float(value)
@@ -614,8 +523,8 @@ def enrichment_target(self, value):
if value is not None:
if value not in NATURAL_ABUNDANCE.keys():
raise ValueError(
- "Material.enrichment_target must be a naturally occuring \
- isotope from this list",
+ "Material.enrichment_target must be a naturally occuring "
+ "isotope from this list",
NATURAL_ABUNDANCE.keys(),
)
self._enrichment_target = value
@@ -624,8 +533,7 @@ def enrichment_target(self, value):
def pressure(self):
"""
The pressure of the material in Pascals. Must be a possive number. Used
- to calculate the density if the density_equation contains
- pressure.
+ to calculate the density if it appears in the density attribute.
:type: float
"""
@@ -640,21 +548,21 @@ def pressure(self, value):
self._pressure = value
@property
- def reference(self):
+ def comment(self):
"""
- A reference string to state where the material properties information
+ A comment string to state where the material properties information
came from
:type: str
"""
- return self._reference
+ return self._comment
- @reference.setter
- def reference(self, value):
+ @comment.setter
+ def comment(self, value):
if value is not None:
if not isinstance(value, str):
- raise ValueError("Material.reference must be a string")
- self._reference = value
+ raise ValueError("Material.comment must be a string")
+ self._comment = value
@property
def zaid_suffix(self):
@@ -698,7 +606,7 @@ def volume_in_cm3(self, value):
"""
The volume of the material in cm3. Used when writing Fispact materials
and can also be used in density equation calculation if volume_in_cm3
- appears in density_equation.
+ appears in density attribute.
:type: float
"""
@@ -720,17 +628,13 @@ def _make_openmc_material(self):
if original_cross_sections is not None:
del os.environ["OPENMC_CROSS_SECTIONS"]
- if self.material_tag is None:
- name = self.material_name
- else:
- name = self.material_tag
if self.material_id is not None:
openmc_material = openmc.Material(
material_id=self.material_id,
- name=name)
+ name=self.name)
else:
openmc_material = openmc.Material(
- name=name)
+ name=self.name)
if self.temperature_to_neutronics_code is True:
openmc_material.temperature = self.temperature
@@ -754,140 +658,27 @@ def _make_openmc_material(self):
return openmc_material
- def _populate_from_inbuilt_dictionary(self):
- """This runs on initilisation and if attributes of the Material object
- are not specified (left as None) then the internal material dictionary
- is checked to see if defaults are pressent for the particular material.
- If the attributed has defaults that are present in the internal
- dictionary then these are used to populated the attributes of the
- Material object when present.
- """
-
- if (
- self.material_id is None
- and "material_id" in material_dict[self.material_name].keys()
- ):
- self.material_id = material_dict[self.material_name]["material_id"]
-
- if (
- self.additional_end_lines is None
- and "additional_end_lines" in material_dict[self.material_name].keys()
- ):
- self.additional_end_lines = material_dict[self.material_name]["additional_end_lines"]
+ def _check_enrichment_attributes(self):
- if (
- self.chemical_equation is None
- and "chemical_equation" in material_dict[self.material_name].keys()
- ):
- self.chemical_equation = material_dict[self.material_name][
- "chemical_equation"
- ]
+ if self.enrichment is None:
+ return None
- if (
- self.temperature is None
- and "temperature" in material_dict[self.material_name].keys()
- ):
- self.temperature = material_dict[self.material_name][
- "temperature"
- ]
-
- if (
- self.pressure is None
- and "pressure" in material_dict[self.material_name].keys()
- ):
- self.pressure = material_dict[self.material_name]["pressure"]
+ elif (self.enrichment_type is not None and self.enrichment_target is not None):
+ return re.split(r"(\d+)", self.enrichment_target)[0]
- if (
- self.packing_fraction is None
- and "packing_fraction" in material_dict[self.material_name].keys()
- ):
- self.packing_fraction = material_dict[self.material_name][
- "packing_fraction"
- ]
-
- if (
- self.elements is None
- and "elements" in material_dict[self.material_name].keys()
- ):
- self.elements = material_dict[self.material_name]["elements"]
-
- if (
- self.isotopes is None
- and "isotopes" in material_dict[self.material_name].keys()
- ):
- self.isotopes = material_dict[self.material_name]["isotopes"]
-
- if (
- self.density is None
- and "density" in material_dict[self.material_name].keys()
- ):
- self.density = material_dict[self.material_name]["density"]
-
- if (
- self.density_equation is None
- and "density_equation" in material_dict[self.material_name].keys()
- ):
- self.density_equation = material_dict[self.material_name][
- "density_equation"
- ]
-
- if (
- self.atoms_per_unit_cell is None
- and "atoms_per_unit_cell" in material_dict[self.material_name].keys()
- ):
- self.atoms_per_unit_cell = material_dict[self.material_name][
- "atoms_per_unit_cell"
- ]
-
- if (
- self.volume_of_unit_cell_cm3 is None
- and "volume_of_unit_cell_cm3" in material_dict[self.material_name].keys()
- ):
- self.volume_of_unit_cell_cm3 = material_dict[self.material_name][
- "volume_of_unit_cell_cm3"
- ]
-
- if (
- self.density_unit is None
- and "density_unit" in material_dict[self.material_name].keys()
- ):
- self.density_unit = material_dict[self.material_name]["density_unit"]
-
- if (
- self.percent_type is None
- and "percent_type" in material_dict[self.material_name].keys()
- ):
- self.percent_type = material_dict[self.material_name]["percent_type"]
-
- if (
- self.enrichment is None
- and "enrichment" in material_dict[self.material_name].keys()
- ):
- self.enrichment = material_dict[self.material_name]["enrichment"]
-
- if (
- self.enrichment_target is None
- and "enrichment_target" in material_dict[self.material_name].keys()
- ):
- self.enrichment_target = material_dict[self.material_name][
- "enrichment_target"
- ]
-
- if (
- self.enrichment_type is None
- and "enrichment_type" in material_dict[self.material_name].keys()
- ):
- self.enrichment_type = material_dict[self.material_name]["enrichment_type"]
+ elif (self.enrichment is not None or self.enrichment_type is not None or self.enrichment_target is not None):
+ raise ValueError(
+ "Material.enrichment_target, Material.enrichment_type and "
+ "Material.enrichment are all needed to enrich a material"
+ )
- if (
- self.reference is None
- and "reference" in material_dict[self.material_name].keys()
- ):
- self.reference = material_dict[self.material_name]["reference"]
+ return None
def _add_elements_from_equation(self, openmc_material):
"""Adds elements from a dictionary or chemical equation to the Material"""
+ self._check_enrichment_attributes()
+
openmc_material.add_elements_from_formula(
self.chemical_equation,
percent_type=self.percent_type,
@@ -908,10 +699,7 @@ def _add_elements_from_dict(self, openmc_material):
openmc material object with additional elements
"""
- if self.enrichment_target is not None:
- enrichment_element = re.split(r"(\d+)", self.enrichment_target)[0]
- else:
- enrichment_element = None
+ enrichment_element = self._check_enrichment_attributes()
for element_symbol, element_number in zip(
self.elements.keys(), self.elements.values()
@@ -965,50 +753,60 @@ def _add_density(self, openmc_material):
openmc material object with density set
"""
- if not isinstance(self.density, float):
+ if isinstance(self.density, float):
+ density = self.density
- if self.density is None and self.density_equation is not None:
+ # a density equation is being used
+ elif isinstance(self.density, str):
+ aeval = asteval.Interpreter(usersyms=asteval_user_symbols)
- aeval = asteval.Interpreter(usersyms=asteval_user_symbols)
+ if "temperature" in self.density and self.temperature is None:
+ raise ValueError(
+ "Material.temperature is needed to calculate the density")
- # Potentially used in the eval part
- aeval.symtable["temperature"] = self.temperature
- aeval.symtable["pressure"] = self.pressure
+ if "pressure" in self.density and self.pressure is None:
+ raise ValueError(
+ "Material.pressure is needed to calculate the density"
+ )
- density = aeval.eval(self.density_equation)
+ # Potentially used in the eval part
+ aeval.symtable["temperature"] = self.temperature
+ aeval.symtable["pressure"] = self.pressure
- if len(aeval.error) > 0:
- raise aeval.error[0].exc(aeval.error[0].msg)
+ density = aeval.eval(self.density)
- if density is None:
- raise ValueError(
- "Density value of ",
- self.material_name,
- " can not be found")
- else:
- self.density = density
+ if len(aeval.error) > 0:
+ raise aeval.error[0].exc(aeval.error[0].msg)
- elif (
- self.atoms_per_unit_cell is not None
- and self.volume_of_unit_cell_cm3 is not None
- ):
+ if density is None:
+ raise ValueError(
+ "Density value of ",
+ self.name,
+ " can not be found")
+ else:
+ self.density = density
- molar_mass = (
- self._get_atoms_in_crystal() *
- openmc_material.average_molar_mass)
+ elif (
+ self.atoms_per_unit_cell is not None
+ and self.volume_of_unit_cell_cm3 is not None
+ ):
- mass = self.atoms_per_unit_cell * molar_mass * atomic_mass_unit_in_g
+ molar_mass = (
+ self._get_atoms_in_crystal() *
+ openmc_material.average_molar_mass)
- self.density = mass / self.volume_of_unit_cell_cm3
- else:
+ mass = self.atoms_per_unit_cell * molar_mass * atomic_mass_unit_in_g
- raise ValueError(
- "density can't be set for "
- + str(self.material_name)
- + " provide either a density_value, density_equation as a \
- string, or atoms_per_unit_cell and \
- volume_of_unit_cell_cm3"
- )
+ self.density = mass / self.volume_of_unit_cell_cm3
+ else:
+
+ raise ValueError(
+ "density can't be set for "
+ + str(self.name) +
+ " provide either a density value as a number or density "
+ "as a string, or atoms_per_unit_cell and "
+ "volume_of_unit_cell_cm3"
+ )
openmc_material.set_density(
self.density_unit, self.density * self.packing_fraction
@@ -1037,13 +835,117 @@ def _get_atoms_in_crystal(self):
self.list_of_fractions = list_of_fractions
return sum(list_of_fractions)
+ def from_json_file(
+ filename: str,
+ name: str,
+ **kwargs
+ ):
+
+ with open(filename, "r") as file:
+ new_data = json.load(file)
+
+ print(new_data)
+ print(new_data.keys())
+
+ entry = new_data[name]
+
+ # customisation of the library entry
+ for key, value in kwargs.items():
+ entry[key] = value
+
+ return Material(name=name, **entry)
+
+ def from_library(
+ name: str,
+ **kwargs
+ ):
+ # TODO allow discreat libraries to be searched library: List('str')
+
+ if name not in material_dict.keys():
+
+ raise ValueError(
+ 'name of ', name, 'not found in the internal library'
+ )
+
+ entry = material_dict[name].copy()
+
+ # customisation of the library entry
+ for key, value in kwargs.items():
+ entry[key] = value
+
+ return Material(name=name, **entry)
+
+ def from_mixture(
+ materials,
+ fracs: List[float],
+ percent_type: Optional[str] = 'vo',
+ name: Optional[str] = None,
+ packing_fraction: Optional[float] = 1.,
+ temperature: Optional[float] = None,
+ temperature_to_neutronics_code: Optional[bool] = True,
+ pressure: Optional[float] = None,
+ comment: Optional[str] = None,
+ zaid_suffix: Optional[str] = None,
+ material_id: Optional[int] = None,
+ decimal_places: Optional[int] = 8,
+ volume_in_cm3: Optional[float] = None,
+ additional_end_lines: Optional[Dict[str, List[str]]] = None,
+ ):
+ if sum(fracs) != 1.0:
+ warnings.warn(
+ "warning sum of MutliMaterials.fracs do not sum to 1."
+ + str(fracs)
+ + " = "
+ + str(sum(fracs)),
+ UserWarning,
+ )
+
+ openmc_material_objects = []
+ for material in materials:
+ if isinstance(material, openmc.Material):
+ openmc_material_objects.append(material)
+ elif isinstance(material, Material):
+ openmc_material_objects.append(material.openmc_material)
+ else:
+ raise ValueError(
+ "only openmc.Material or neutronics_material_maker. \
+ Materials are accepted. Not", type(material),
+ )
+
+ openmc_material = openmc.Material.mix_materials(
+ materials=openmc_material_objects,
+ fracs=fracs,
+ percent_type=percent_type,
+ )
+
+ isotopes = {}
+ for nuclide in sorted(openmc_material.nuclides):
+ isotopes[nuclide.name] = nuclide.percent
+
+ return Material(
+ percent_type=nuclide.percent_type,
+ isotopes=isotopes,
+ density=openmc_material.get_mass_density(),
+ density_unit='g/cm3',
+ packing_fraction=packing_fraction,
+ name=name,
+ temperature=temperature,
+ temperature_to_neutronics_code=temperature_to_neutronics_code,
+ pressure=pressure,
+ comment=comment,
+ zaid_suffix=zaid_suffix,
+ material_id=material_id,
+ decimal_places=decimal_places,
+ volume_in_cm3=volume_in_cm3,
+ additional_end_lines=additional_end_lines,
+ )
+
def to_json(self) -> dict:
"""
Json serializable version of the material
"""
- jsonified_object = {
- "material_name": self.material_name,
- "material_tag": self.material_tag,
+
+ contents = {
"temperature": self.temperature,
"pressure": self.pressure,
"packing_fraction": self.packing_fraction,
@@ -1051,7 +953,6 @@ def to_json(self) -> dict:
"chemical_equation": self.chemical_equation,
"isotopes": self.isotopes,
"density": self.density,
- "density_equation": self.density_equation,
"atoms_per_unit_cell": self.atoms_per_unit_cell,
"volume_of_unit_cell_cm3": self.volume_of_unit_cell_cm3,
"density_unit": self.density_unit,
@@ -1059,11 +960,19 @@ def to_json(self) -> dict:
"enrichment": self.enrichment,
"enrichment_target": self.enrichment_target,
"enrichment_type": self.enrichment_type,
- "reference": self.reference,
+ "comment": self.comment,
"zaid_suffix": self.zaid_suffix,
"material_id": self.material_id,
"decimal_places": self.decimal_places,
"volume_in_cm3": self.volume_in_cm3,
}
+ for key, value in dict(contents).items():
+ if value is None:
+ del contents[key]
+
+ jsonified_object = {
+ self.name: contents
+ }
+
return jsonified_object
diff --git a/neutronics_material_maker/mutlimaterial.py b/neutronics_material_maker/mutlimaterial.py
deleted file mode 100644
index 51e0392..0000000
--- a/neutronics_material_maker/mutlimaterial.py
+++ /dev/null
@@ -1,348 +0,0 @@
-#!/usr/bin/env python3
-
-__author__ = "neutronics material maker development team"
-
-import warnings
-from json import JSONEncoder
-from typing import List, Optional, Union, Dict
-
-import neutronics_material_maker as nmm
-from neutronics_material_maker import (make_fispact_material,
- make_mcnp_material,
- make_shift_material,
- make_serpent_material,
- check_add_additional_end_lines)
-
-OPENMC_AVAILABLE = True
-try:
- import openmc
-except ImportError:
- OPENMC_AVAILABLE = False
- warnings.warn(
- "OpenMC python package not found, .openmc_material, .serpent_material, \
- .mcnp_material, .fispact_material methods not avaiable")
-
-
-atomic_mass_unit_in_g = 1.660539040e-24
-
-
-def _default(self, obj):
- """ monkey-patches json module so that the custom to_json
- method is used which allows Materials to be json dumped
- """
- return getattr(obj.__class__, "to_json", _default.default)(obj)
-
-
-_default.default = JSONEncoder.default
-JSONEncoder.default = _default
-
-
-class MultiMaterial:
- """
- Produces a mixed material from several individual materials.
- This class extends the existing openmc.Material.mix_materials
- to perform this mixing of neutronics_material_maker.Materials
- and openmc.Materials. The MultiMaterial object is json serializable.
-
- Args:
- material_tag: This is a string that is assigned to the material as an
- identifier. This is used by neutronics codes to label the material
- with a unique identifier
- materials: a list of neutronics_material_maker.Materials
- or openmc.Materials that are to be mixed
- fracs: A list of fractions that represent the amount of each material
- to mix, should sum to 1.
- percent_type: Type of frac percentage, must be one of
- atom percent 'ao', weight percent 'wo', or volume percent 'vo'.
- Defaults to 'vo'
- packing_fraction: This value is multiplied by the density which allows
- packing_fraction to be taken into account for materials involving
- an amount of void. Recall that packing_fraction is equal to 1/void
- fraction
- zaid_suffix: The nuclear library to apply to the zaid, for example
- ".31c", this is used in MCNP and Serpent material cards.
- material_id: The id number or mat number used in the MCNP material
- card
- decimal_places: The number of decimal places to use in MCNP and
- Seprent material cards when they are printed out (default of 8).
- volume_in_cm3: The volume of the material in cm3, used when
- creating fispact material cards
- temperature: The temperature of the material in degrees Kelvin. Added
- to the openmc material object and the serpent material card.
- temperature_to_neutronics_code: The temperature args are often used to
- find the material density via density equations. However it can be
- desirable to not make use of this temperature in the neutronics
- codes. Typically this is due to missing cross section data.
- Defaults to True which makes use of any material temperature in the
- neutronics material. Can be set to False which doesn't propagate
- temperature data to the neutroics material. This only impacts
- openmc and serpent materials. As shift materials require the use of
- temperature and fispact/mcnp materials don't make use of
- temperature on the material card.
- additional_end_lines: Additional lines of test that are added to the
- end of the material card. Compatable with MCNP, Serpent, Fispact
- outputs which are string based. Agument should be a dictionary
- specifying the code and a list of lines to be added, besure to
- include any white required spaces in the string. This example will
- add a single S(a,b) card to an MCNP card
- {'mnnp': [' mt24 lwtr.01']}. Additional lines are not
- carried over from materials.
-
- Returns:
- Material: a neutronics_material_maker.Material instance
-
- """
-
- def __init__(
- self,
- material_tag: Optional[str] = None,
- materials: List[Union[nmm.Material, openmc.Material]] = [],
- fracs: List[float] = [],
- percent_type: Optional[str] = "vo",
- packing_fraction: float = 1.0,
- zaid_suffix: Optional[str] = None,
- material_id: Optional[int] = None,
- decimal_places: Optional[int] = 8,
- volume_in_cm3: Optional[float] = None,
- temperature: Optional[float] = None,
- temperature_to_neutronics_code: Optional[bool] = True,
- additional_end_lines: Optional[Dict[str, List[str]]] = None,
- ):
- self.material_tag = material_tag
- self.materials = materials
- self.fracs = fracs
- self.percent_type = percent_type
- self.packing_fraction = packing_fraction
- self.zaid_suffix = zaid_suffix
- self.material_id = material_id
- self.decimal_places = decimal_places
- self.volume_in_cm3 = volume_in_cm3
- self.temperature = temperature
- self.temperature_to_neutronics_code = temperature_to_neutronics_code
- self.additional_end_lines = additional_end_lines
-
- # derived values
- self.openmc_material = None
- self.serpent_material = None
- self.mcnp_material = None
- self.shift_material = None
- self.fispact_material = None
-
- if len(self.fracs) != len(self.materials):
- raise ValueError(
- "There must be equal numbers of fracs and materials")
-
- if sum(self.fracs) != 1.0:
- warnings.warn(
- "warning sum of MutliMaterials.fracs do not sum to 1."
- + str(self.fracs)
- + " = "
- + str(sum(self.fracs)),
- UserWarning,
- )
-
- if OPENMC_AVAILABLE:
- self._make_openmc_material()
-
- @property
- def additional_end_lines(self):
- """Returns a dictionary of lists where each entry in the list is a to
- be added to the end of the material card and each key is the name of
- the neutronics code to add the line to.
-
- Returns:
- dictionary of neutronics codes each with a list of lines to add
- """
- return self._additional_end_lines
-
- @additional_end_lines.setter
- def additional_end_lines(self, value):
- check_add_additional_end_lines(value)
-
- self._additional_end_lines = value
-
- @property
- def temperature(self):
- return self._temperature
-
- @temperature.setter
- def temperature(self, value):
- if value is not None:
- if value < 0.0:
- raise ValueError(
- "Material.temperature must be greater than 0")
- self._temperature = value
-
- @property
- def packing_fraction(self):
- return self._packing_fraction
-
- @packing_fraction.setter
- def packing_fraction(self, value):
- if not isinstance(value, (float, int)):
- raise ValueError(
- "MultiMaterial.packing_fraction must be a float or int")
- if value < 0.0:
- raise ValueError(
- "MultiMaterial.packing_fraction must be greater than 0")
- if value > 1.0:
- raise ValueError(
- "MultiMaterial.packing_fraction must be less than 1.")
- self._packing_fraction = float(value)
-
- @property
- def openmc_material(self):
- """Creates an OpenMC version of the Material.
-
- Returns:
- openmc.Material() object
- """
- self._openmc_material = self._make_openmc_material()
- return self._openmc_material
-
- @openmc_material.setter
- def openmc_material(self, value):
- self._openmc_material = value
-
- @property
- def serpent_material(self) -> str:
- """Creates a a Serpent version of the Material with '\n' as line
- endings. Decimal places can be controlled with the
- Material.decimal_places attribute.
-
- Returns:
- A Serpent material card
- """
-
- self._serpent_material = make_serpent_material(self)
- return self._serpent_material
-
- @serpent_material.setter
- def serpent_material(self, value):
- self._serpent_material = value
-
- @property
- def mcnp_material(self):
- """Creates a a MCNP version of the Material with '\n' as line endings.
- Requires the Material.material_id to be set. Decimal places can be
- controlled with the Material.decimal_places attribute.
-
- Returns:
- A MCNP material card
- """
- self._mcnp_material = make_mcnp_material(self)
- return self._mcnp_material
-
- @mcnp_material.setter
- def mcnp_material(self, value):
- self._mcnp_material = value
-
- @property
- def shift_material(self):
- """Creates a a Shift version of the Material with '\n' as line endings.
- Requires the Material.material_id and Material.temperature to be set.
- Decimal places can be controlled with the Material.deicmal_places
- attribute.
-
- Returns:
- A Shift material card
- """
- self._shift_material = make_shift_material(self)
- return self._shift_material
-
- @shift_material.setter
- def shift_material(self, value):
- self._shift_material = value
-
- @property
- def fispact_material(self):
- """Creates a a FISPACT version of the Material with '\n' as line
- endings. Requires the Material.volume_in_cm3 to be set.
-
- Returns:
- A FISPACT material card
- """
- self._fispact_material = make_fispact_material(self)
- return self._fispact_material
-
- @fispact_material.setter
- def fispact_material(self, value):
- self._fispact_material = value
-
- def _make_openmc_material(self):
-
- openmc_material_objects = []
- for material in self.materials:
- if isinstance(material, openmc.Material):
- openmc_material_objects.append(material)
- elif isinstance(material, nmm.Material):
- openmc_material_objects.append(material.openmc_material)
- else:
- raise ValueError(
- "only openmc.Material or neutronics_material_maker. \
- Materials are accepted. Not", type(material),
- )
-
- openmc_material = openmc.Material.mix_materials(
- name=self.material_tag,
- materials=openmc_material_objects,
- fracs=self.fracs,
- percent_type=self.percent_type,
- )
-
- if self.temperature is not None and self.temperature_to_neutronics_code is True:
- openmc_material.temperature = self.temperature
-
- # this modifies the density by the packing fraction of the material
- if self.packing_fraction != 1.0:
- density_in_g_per_cm3 = openmc_material.get_mass_density()
-
- openmc_material.set_density(
- "g/cm3", density_in_g_per_cm3 * self.packing_fraction
- )
-
- return openmc_material
-
- def to_json(self):
-
- materials_list = []
- for material in self.materials:
- materials_list.append(
- {
- "material_name": material.material_name,
- "material_tag": material.material_tag,
- "temperature": material.temperature,
- "pressure": material.pressure,
- "packing_fraction": material.packing_fraction,
- "elements": material.elements,
- "chemical_equation": material.chemical_equation,
- "isotopes": material.isotopes,
- "density": material.density,
- "density_equation": material.density_equation,
- "atoms_per_unit_cell": material.atoms_per_unit_cell,
- "volume_of_unit_cell_cm3": material.volume_of_unit_cell_cm3,
- "density_unit": material.density_unit,
- "percent_type": material.percent_type,
- "enrichment": material.enrichment,
- "enrichment_target": material.enrichment_target,
- "enrichment_type": material.enrichment_type,
- "reference": material.reference,
- "zaid_suffix": material.zaid_suffix,
- "material_id": material.material_id,
- "decimal_places": material.decimal_places,
- "volume_in_cm3": material.volume_in_cm3,
- })
-
- jsonified_object = {
- "material_tag": self.material_tag,
- "materials": materials_list,
- "fracs": self.fracs,
- "percent_type": self.percent_type,
- "packing_fraction": self.packing_fraction,
- "zaid_suffix": self.zaid_suffix,
- "material_id": self.material_id,
- "decimal_places": self.decimal_places,
- "volume_in_cm3": self.volume_in_cm3,
- }
-
- return jsonified_object
diff --git a/neutronics_material_maker/utils.py b/neutronics_material_maker/utils.py
index 8e12b6b..d1fe02c 100644
--- a/neutronics_material_maker/utils.py
+++ b/neutronics_material_maker/utils.py
@@ -217,16 +217,16 @@ def make_fispact_material(mat) -> str:
def make_serpent_material(mat) -> str:
"""Returns the material in a string compatable with Serpent II"""
- if mat.material_tag is None:
- name = mat.material_name
- else:
- name = mat.material_tag
-
if mat.zaid_suffix is None:
zaid_suffix = ""
else:
zaid_suffix = mat.zaid_suffix
+ if mat.name is None:
+ name = ''
+ else:
+ name = mat.name
+
mat_card = ["mat " + name + " " +
str(mat.openmc_material.get_mass_density())]
if mat.temperature_to_neutronics_code is True:
@@ -260,16 +260,16 @@ def make_mcnp_material(mat) -> str:
"Material.material_id needs setting before mcnp_material can be made"
)
- if mat.material_tag is None:
- name = mat.material_name
- else:
- name = mat.material_tag
-
if mat.zaid_suffix is None:
zaid_suffix = ""
else:
zaid_suffix = mat.zaid_suffix
+ if mat.name is None:
+ name = ''
+ else:
+ name = mat.name
+
mat_card = [
"c "
+ name
@@ -315,14 +315,9 @@ def make_shift_material(mat) -> str:
"Material.temperature needs setting before shift_material can be made"
)
- if mat.material_tag is None:
- name = mat.material_name
- else:
- name = mat.material_tag
-
mat_card = [
"[COMP][MATERIAL]\n"
- + "name %s\n" % name
+ + "name %s\n" % mat.name
+ "matid %s\n" % mat.material_id
+ "tmp %s" % mat.temperature
]
@@ -359,12 +354,7 @@ def zaid_to_isotope(zaid: str) -> str:
def AddMaterialFromDir(directory: str, verbose: bool = True):
"""Add materials to the internal library from a directory of json files"""
for filename in Path(directory).rglob("*.json"):
- with open(filename, "r") as f:
- new_data = json.load(f)
- material_dict.update(new_data)
- if verbose:
- print("Added materials to library from", filename)
- print(sorted(list(new_data.keys())), "\n")
+ AddMaterialFromFile(filename, verbose)
def AddMaterialFromFile(filename: str, verbose: Optional[bool] = True) -> None:
@@ -382,6 +372,44 @@ def AvailableMaterials() -> dict:
return material_dict
+def SaveMaterialsToFile(filename: str, materials: list, format='json') -> str:
+ """Saves a list of materials to a json file. Useful for saving as a library
+ for future use.
+
+ Arguments:
+ filename: The output filename.
+ materials: List of neutronics_material_maker.Materials to save.
+
+ Returns
+ str: the filename of the json file
+ """
+
+ if format == 'json':
+ with open(filename, 'w') as outfile:
+ json.dump({mat.name: mat.to_json()[mat.name]
+ for mat in materials}, outfile, indent=4)
+ return filename
+
+ all_materials = ''
+ for mat in materials:
+ if format == 'mcnp':
+ all_materials += 'c\nc\nc\n' + mat.mcnp_material
+
+ if format == 'serpent':
+ all_materials += mat.serpent_material
+
+ if format == 'shift':
+ all_materials += mat.shift_material
+
+ if format == 'fispact':
+ all_materials += mat.shift_material
+
+ with open(filename, 'w') as outfile:
+ outfile.write(all_materials)
+
+ return filename
+
+
# loads the internal material library of materials
material_dict = {}
AddMaterialFromDir(Path(__file__).parent / "data", verbose=False)
diff --git a/setup.py b/setup.py
index d5ed498..d5600b4 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@
setuptools.setup(
name="neutronics_material_maker",
- version="0.2.7",
+ version="0.3.0",
summary="Package for making material cards for neutronics codes",
author="neutronics_material_maker development team",
author_email="mail@jshimwell.com",
diff --git a/tests/test_Material.py b/tests/test_Material.py
index 62671e9..7210245 100644
--- a/tests/test_Material.py
+++ b/tests/test_Material.py
@@ -16,11 +16,12 @@ def test_error_raised_when_enrichment_and_enrichment_target(self):
def error_raised_correctly():
- nmm.Material(
- "WC",
+ test_material = nmm.Material.from_library(
+ name="WC",
enrichment=90,
enrichment_target=None
)
+ test_material.openmc_material
self.assertRaises(ValueError, error_raised_correctly)
@@ -29,13 +30,14 @@ def test_temperature_to_neutronics_code_openmc(self):
selectivly propagated to the openmc_material and that the density
remains unchanged"""
- test_mat = nmm.Material("FLiBe", temperature=80, pressure=1)
+ test_mat = nmm.Material.from_library(
+ "FLiBe", temperature=80, pressure=1)
assert test_mat.temperature == 80
assert test_mat.openmc_material.temperature == 80
- test_mat_2 = nmm.Material(
- "FLiBe",
+ test_mat_2 = nmm.Material.from_library(
+ name="FLiBe",
temperature=80,
pressure=1,
temperature_to_neutronics_code=False)
@@ -49,8 +51,8 @@ def test_temperature_to_neutronics_code_serpent(self):
selectivly propagated to the serpent_material and that the density
remains unchanged"""
- test_mat = nmm.Material(
- "FLiBe",
+ test_mat = nmm.Material.from_library(
+ name="FLiBe",
temperature=180,
pressure=2)
@@ -58,8 +60,8 @@ def test_temperature_to_neutronics_code_serpent(self):
assert test_mat.openmc_material.temperature == 180
assert test_mat.serpent_material.split('\n')[0].endswith(' tmp 180')
- test_mat_2 = nmm.Material(
- "FLiBe",
+ test_mat_2 = nmm.Material.from_library(
+ name="FLiBe",
temperature=180,
pressure=1,
temperature_to_neutronics_code=False)
@@ -71,20 +73,21 @@ def test_temperature_to_neutronics_code_serpent(self):
assert test_mat.openmc_material.density == test_mat_2.openmc_material.density
def test_density_of_material_is_set_from_equation(self):
- test_mat = nmm.Material("FLiBe", temperature=80, pressure=1)
+ test_mat = nmm.Material.from_library(
+ "FLiBe", temperature=80, pressure=1)
assert test_mat.density is not None
def test_density_of_material_is_set_from_crystal(self):
- test_mat = nmm.Material("Li4SiO4")
+ test_mat = nmm.Material.from_library("Li4SiO4")
assert test_mat.density is not None
def test_density_of_material_is_set(self):
- test_mat = nmm.Material("eurofer")
+ test_mat = nmm.Material.from_library("eurofer")
assert test_mat.density is not None
def test_material_from_elements(self):
test_mat = nmm.Material(
- material_name="test",
+ name="test",
elements={"Li": 0.4, "Zr": 0.6},
percent_type="ao",
density=1,
@@ -96,7 +99,7 @@ def test_material_from_elements(self):
def test_material_from_isotopes(self):
test_mat = nmm.Material(
- material_name="test",
+ name="test",
isotopes={"Li6": 0.4, "Li7": 0.6},
percent_type="ao",
density=1,
@@ -107,7 +110,7 @@ def test_material_from_isotopes(self):
def test_material_from_zaid_int_isotopes(self):
test_mat = nmm.Material(
- material_name="test",
+ name="test",
isotopes={3006: 0.4, 3007: 0.6},
percent_type="ao",
density=1,
@@ -119,7 +122,7 @@ def test_material_from_zaid_int_isotopes(self):
def test_material_from_zaid_str_isotopes(self):
test_mat = nmm.Material(
- material_name="test",
+ name="test",
isotopes={"3006": 0.4, "3007": 0.6},
percent_type="ao",
density=1,
@@ -130,29 +133,29 @@ def test_material_from_zaid_str_isotopes(self):
assert "Li7" in test_mat.openmc_material.get_nuclides()
def test_iron_density(self):
- a = nmm.Material("Iron")
- assert a.openmc_material.density == 7.874
+ test_mat = nmm.Material.from_library("Iron")
+ assert test_mat.openmc_material.density == 7.874
- a = nmm.Material("Iron")
- serpent_density = a.serpent_material.split("\n")[0].split()[2]
+ test_mat = nmm.Material.from_library("Iron")
+ serpent_density = test_mat.serpent_material.split("\n")[0].split()[2]
assert float(serpent_density) == pytest.approx(7.874)
- a = nmm.Material("Iron", material_id=45)
- mcnp_density = a.mcnp_material.split("\n")[0].split()[3]
+ test_mat = nmm.Material.from_library("Iron", material_id=45)
+ mcnp_density = test_mat.mcnp_material.split("\n")[0].split()[3]
assert float(mcnp_density) == pytest.approx(7.874)
- a = nmm.Material("Iron", volume_in_cm3=100)
- fispact_density = a.fispact_material.split("\n")[0].split()[1]
+ test_mat = nmm.Material.from_library("Iron", volume_in_cm3=100)
+ fispact_density = test_mat.fispact_material.split("\n")[0].split()[1]
assert float(fispact_density) == pytest.approx(7.874)
def test_fispact_material(self):
- a = nmm.Material("Li4SiO4", volume_in_cm3=1.0)
- line_by_line_material = a.fispact_material.split("\n")
+ test_mat = nmm.Material.from_library("Li4SiO4", volume_in_cm3=1.0)
+ line_by_line_material = test_mat.fispact_material.split("\n")
assert len(line_by_line_material) == 10
- assert a.fispact_material.split(
+ assert test_mat.fispact_material.split(
"\n")[0].startswith("DENSITY 2.31899993235464")
- assert a.fispact_material.split("\n")[1] == "FUEL 8"
+ assert test_mat.fispact_material.split("\n")[1] == "FUEL 8"
assert "Li6 3.537400925715E+21" in line_by_line_material
assert "Li7 4.307481314353E+22" in line_by_line_material
assert "Si28 1.074757396925E+22" in line_by_line_material
@@ -163,8 +166,8 @@ def test_fispact_material(self):
assert "O18 9.324307302413E+19" in line_by_line_material
def test_fispact_material_with_volume(self):
- a = nmm.Material("Li4SiO4", volume_in_cm3=2.0)
- line_by_line_material = a.fispact_material.split("\n")
+ test_mat = nmm.Material.from_library("Li4SiO4", volume_in_cm3=2.0)
+ line_by_line_material = test_mat.fispact_material.split("\n")
assert len(line_by_line_material) == 10
assert line_by_line_material[0].startswith("DENSITY 2.31899993235464")
@@ -179,16 +182,16 @@ def test_fispact_material_with_volume(self):
assert "O18 1.864861460483E+20" in line_by_line_material
def test_mcnp_material_suffix(self):
- test_material1 = nmm.Material(
- "Nb3Sn", material_tag="Nb3Sn", zaid_suffix=".21c", material_id=27
+ test_material1 = nmm.Material.from_library(
+ name="Nb3Sn", zaid_suffix=".21c", material_id=27
)
mcnp_material1 = test_material1.mcnp_material
- test_material2 = nmm.Material(
- "Nb3Sn", material_tag="Nb3Sn", zaid_suffix=".30c", material_id=27
+ test_material2 = nmm.Material.from_library(
+ name="Nb3Sn", zaid_suffix=".30c", material_id=27
)
mcnp_material2 = test_material2.mcnp_material
- test_material3 = nmm.Material(
- "Nb3Sn", material_tag="Nb3Sn", material_id=27)
+ test_material3 = nmm.Material.from_library(
+ name="Nb3Sn", material_id=27)
mcnp_material3 = test_material3.mcnp_material
assert len(mcnp_material3) < len(mcnp_material2)
@@ -196,9 +199,8 @@ def test_mcnp_material_suffix(self):
assert mcnp_material1.count("21c") == mcnp_material2.count("30c")
def test_mcnp_material_lines(self):
- test_material = nmm.Material(
- "Nb3Sn",
- material_tag="test",
+ test_material = nmm.Material.from_library(
+ name="Nb3Sn",
density=3,
zaid_suffix=".30c",
decimal_places=6,
@@ -209,7 +211,7 @@ def test_mcnp_material_lines(self):
assert len(line_by_line_material) == 12
assert line_by_line_material[0].split()[0] == "c"
- assert line_by_line_material[0].split()[1] == "test"
+ assert line_by_line_material[0].split()[1] == "Nb3Sn"
assert line_by_line_material[0].split()[2] == "density"
assert float(line_by_line_material[0].split()[3]) == pytest.approx(3)
assert line_by_line_material[0].split()[4] == "g/cm3"
@@ -228,9 +230,8 @@ def test_mcnp_material_lines(self):
assert " 050116.30c 3.635000e-02" in line_by_line_material
def test_mcnp_material_lines_with_decimal_places(self):
- test_material = nmm.Material(
- "Nb3Sn",
- material_tag="test",
+ test_material = nmm.Material.from_library(
+ name="Nb3Sn",
density=3,
zaid_suffix=".30c",
material_id=27,
@@ -241,7 +242,7 @@ def test_mcnp_material_lines_with_decimal_places(self):
assert len(line_by_line_material) == 12
assert line_by_line_material[0].split()[0] == "c"
- assert line_by_line_material[0].split()[1] == "test"
+ assert line_by_line_material[0].split()[1] == "Nb3Sn"
assert line_by_line_material[0].split()[2] == "density"
assert float(line_by_line_material[0].split()[3]) == pytest.approx(3)
assert line_by_line_material[0].split()[4] == "g/cm3"
@@ -262,7 +263,7 @@ def test_mcnp_material_lines_with_decimal_places(self):
def test_mcnp_material_lines_contain_underscore(self):
test_material = nmm.Material(
chemical_equation="Nb3Sn",
- material_tag="test2",
+ name="test2",
density=3.2,
density_unit="g/cm3",
material_id=1,
@@ -293,7 +294,7 @@ def test_mcnp_material_lines_contain_underscore(self):
def test_serpent_material_lines_contain_underscore(self):
test_material = nmm.Material(
chemical_equation="Nb3Sn",
- material_tag="test2",
+ name="test2",
density=3.2,
density_unit="g/cm3",
material_id=1,
@@ -320,15 +321,15 @@ def test_serpent_material_lines_contain_underscore(self):
assert "-" in line_by_line_material[11]
def test_serpent_material_suffix(self):
- test_material1 = nmm.Material(
- "Nb3Sn", material_tag="Nb3Sn", zaid_suffix=".21c")
+ test_material1 = nmm.Material.from_library(
+ name="Nb3Sn", zaid_suffix=".21c")
serpent_material1 = test_material1.serpent_material
- test_material2 = nmm.Material(
- "Nb3Sn", material_tag="Nb3Sn", zaid_suffix=".30c")
+ test_material2 = nmm.Material.from_library(
+ name="Nb3Sn", zaid_suffix=".30c")
serpent_material2 = test_material2.serpent_material
- test_material3 = nmm.Material("Nb3Sn", material_tag="Nb3Sn")
+ test_material3 = nmm.Material.from_library(name="Nb3Sn")
serpent_material3 = test_material3.serpent_material
assert len(serpent_material3) < len(serpent_material2)
@@ -336,14 +337,14 @@ def test_serpent_material_suffix(self):
assert serpent_material1.count("21c") == serpent_material2.count("30c")
def test_serpent_material_lines(self):
- test_material = nmm.Material(
- "Nb3Sn", material_tag="test", density=3, zaid_suffix=".30c"
+ test_material = nmm.Material.from_library(
+ name="Nb3Sn", density=3, zaid_suffix=".30c"
)
line_by_line_material = test_material.serpent_material.split("\n")
assert len(line_by_line_material) == 12
assert line_by_line_material[0].split()[0] == "mat"
- assert line_by_line_material[0].split()[1] == "test"
+ assert line_by_line_material[0].split()[1] == "Nb3Sn"
assert float(line_by_line_material[0].split()[2]) == pytest.approx(3)
assert " 041093.30c 7.50000000e-01" in line_by_line_material
assert " 050120.30c 8.14500000e-02" in line_by_line_material
@@ -358,9 +359,8 @@ def test_serpent_material_lines(self):
assert " 050116.30c 3.63500000e-02" in line_by_line_material
def test_serpent_material_lines_with_decimal_places(self):
- test_material = nmm.Material(
- "Nb3Sn",
- material_tag="test",
+ test_material = nmm.Material.from_library(
+ name="Nb3Sn",
density=3.3333,
zaid_suffix=".30c",
decimal_places=4,
@@ -369,7 +369,7 @@ def test_serpent_material_lines_with_decimal_places(self):
assert len(line_by_line_material) == 12
assert line_by_line_material[0].split()[0] == "mat"
- assert line_by_line_material[0].split()[1] == "test"
+ assert line_by_line_material[0].split()[1] == "Nb3Sn"
assert float(line_by_line_material[0].split()[
2]) == pytest.approx(3.3333)
assert " 041093.30c 7.5000e-01" in line_by_line_material
@@ -392,7 +392,7 @@ def test_material_creation_from_chemical_formula_with_enrichment(self):
lithium_lead_elements = "Li" + \
str(li_fraction) + "Pb" + str(pb_fraction)
- test_material = nmm.Material(
+ test_material = nmm.Material.from_library(
"lithium-lead",
enrichment=enrichment,
enrichment_target="Li6",
@@ -439,7 +439,7 @@ def test_material_creation_from_chemical_formula_with_enrichment2(self):
lithium_lead_elements = "Li" + \
str(li_fraction) + "Pb" + str(pb_fraction)
- test_material = nmm.Material(
+ test_material = nmm.Material.from_library(
"lithium-lead",
enrichment=enrichment,
enrichment_target="Li6",
@@ -477,43 +477,43 @@ def test_density_of_crystals(self):
# these tests fail because the density value is too far away from calculated value
# however, this could be becuase the density values are rounded to 2 dp
- test_mat = nmm.Material(material_name="Li4SiO4")
+ test_mat = nmm.Material.from_library(name="Li4SiO4")
assert test_mat.openmc_material.density == pytest.approx(
2.32, rel=0.01)
- test_mat = nmm.Material(material_name="Li2SiO3")
+ test_mat = nmm.Material.from_library(name="Li2SiO3")
assert test_mat.openmc_material.density == pytest.approx(
2.44, rel=0.01)
- test_mat = nmm.Material(material_name="Li2ZrO3")
+ test_mat = nmm.Material.from_library(name="Li2ZrO3")
assert test_mat.openmc_material.density == pytest.approx(
4.03, rel=0.01)
- test_mat = nmm.Material(material_name="Li2TiO3")
+ test_mat = nmm.Material.from_library(name="Li2TiO3")
assert test_mat.openmc_material.density == pytest.approx(
3.34, rel=0.01)
- test_mat = nmm.Material(material_name="Li8PbO6")
+ test_mat = nmm.Material.from_library(name="Li8PbO6")
assert test_mat.openmc_material.density == pytest.approx(
4.14, rel=0.01)
- test_mat = nmm.Material(material_name="Be")
+ test_mat = nmm.Material.from_library(name="Be")
assert test_mat.openmc_material.density == pytest.approx(
1.88, rel=0.01)
- test_mat = nmm.Material(material_name="Be12Ti")
+ test_mat = nmm.Material.from_library(name="Be12Ti")
assert test_mat.openmc_material.density == pytest.approx(
2.28, rel=0.01)
- test_mat = nmm.Material(material_name="Ba5Pb3")
+ test_mat = nmm.Material.from_library(name="Ba5Pb3")
assert test_mat.openmc_material.density == pytest.approx(
5.84, rel=0.01)
- test_mat = nmm.Material(material_name="Nd5Pb4")
+ test_mat = nmm.Material.from_library(name="Nd5Pb4")
assert test_mat.openmc_material.density == pytest.approx(
8.79, rel=0.01)
- test_mat = nmm.Material(material_name="Zr5Pb3")
+ test_mat = nmm.Material.from_library(name="Zr5Pb3")
assert test_mat.openmc_material.density == pytest.approx(
8.23, rel=0.01)
@@ -521,9 +521,9 @@ def test_density_of_crystals(self):
def test_density_of_enriched_crystals(self):
- test_mat = nmm.Material(material_name="Li4SiO4")
- test_mat_enriched = nmm.Material(
- material_name="Li4SiO4",
+ test_mat = nmm.Material.from_library(name="Li4SiO4")
+ test_mat_enriched = nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li6",
enrichment_type="ao",
@@ -533,9 +533,9 @@ def test_density_of_enriched_crystals(self):
def test_density_of_packed_crystals(self):
- test_mat = nmm.Material(material_name="Li4SiO4")
- test_mat_packed = nmm.Material(
- material_name="Li4SiO4",
+ test_mat = nmm.Material.from_library(name="Li4SiO4")
+ test_mat_packed = nmm.Material.from_library(
+ name="Li4SiO4",
packing_fraction=0.35)
assert (
test_mat.openmc_material.density * 0.35
@@ -549,7 +549,7 @@ def test_material_creation_from_chemical_formula(self):
lithium_lead_elements = "Li" + \
str(li_fraction) + "Pb" + str(pb_fraction)
- test_material = nmm.Material(
+ test_material = nmm.Material.from_library(
"lithium-lead",
chemical_equation=lithium_lead_elements,
temperature=450,
@@ -572,43 +572,43 @@ def test_incorrect_settings(self):
def enrichment_too_high():
"""checks a ValueError is raised when enrichment is over 100"""
- nmm.Material("Li4SiO4", enrichment=200)
+ nmm.Material.from_library("Li4SiO4", enrichment=200)
self.assertRaises(ValueError, enrichment_too_high)
def enrichment_too_low():
"""checks a ValueError is raised when enrichment is under 0"""
- nmm.Material("Li4SiO4", enrichment=-10)
+ nmm.Material.from_library("Li4SiO4", enrichment=-10)
self.assertRaises(ValueError, enrichment_too_low)
def incorrect_pressure():
"""checks a ValueError is raised when pressure is below 0"""
- nmm.Material("H2O", temperature=283, pressure=-1e6)
+ nmm.Material.from_library("H2O", temperature=283, pressure=-1e6)
self.assertRaises(ValueError, incorrect_pressure)
def incorrect_temperature():
"""checks a ValueError is raised when temperature is below 0"""
- nmm.Material("H2O", temperature=-10, pressure=1e6)
+ nmm.Material.from_library("H2O", temperature=-10, pressure=1e6)
self.assertRaises(ValueError, incorrect_temperature)
def incorrect_temperature_too_low():
"""checks a ValueError is raised when temperature is below absolute zero"""
- nmm.Material("H2O", temperature=-1, pressure=1e6)
+ nmm.Material.from_library("H2O", temperature=-1, pressure=1e6)
self.assertRaises(ValueError, incorrect_temperature_too_low)
def incorrect_elements_chemical_equation_usage():
"""checks a ValueError is raised when the both chemical_equation and elements are used"""
- nmm.Material(
- material_name='my_mat',
+ nmm.Material.from_library(
+ name='my_mat',
enrichment=50.0,
chemical_equation="Li4SiO4",
elements={'C': 0.3333, 'O': 0.666},
@@ -622,8 +622,8 @@ def incorrect_elements_chemical_equation_usage():
def incorrect_enrichment_target():
"""checks a ValueError is raised when the enrichment target is not a natural isotope"""
- nmm.Material(
- material_name="Li4SiO4",
+ nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li9",
enrichment_type="ao",
@@ -634,8 +634,8 @@ def incorrect_enrichment_target():
def test_missing_temperature_He():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
- material_name="He",
+ nmm.Material.from_library(
+ name="He",
pressure=1e6,
)
@@ -644,8 +644,8 @@ def test_missing_temperature_He():
def test_missing_temperature_H2O():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
- material_name="H2O",
+ nmm.Material.from_library(
+ name="H2O",
pressure=1e6,
)
@@ -654,27 +654,27 @@ def test_missing_temperature_H2O():
def test_missing_temperature_CO2():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
- material_name="CO2",
+ nmm.Material.from_library(
+ name="CO2",
pressure=1e6,
)
self.assertRaises(ValueError, test_missing_temperature_CO2)
- def test_incorrect_material_name_type():
+ def test_incorrect_name_type():
"""checks a ValueError is raised when the temperature is not set"""
- test_material = nmm.Material("H2O",
- temperature=283,
- pressure=-1e6)
- test_material.material_name = 1
+ test_material = nmm.Material.from_library("H2O",
+ temperature=283,
+ pressure=-1e6)
+ test_material.name = 1
- self.assertRaises(ValueError, test_incorrect_material_name_type)
+ self.assertRaises(ValueError, test_incorrect_name_type)
def test_incorrect_density_unit_type():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
density=1.,
density_unit='grams per cm3')
@@ -684,7 +684,7 @@ def test_incorrect_density_unit_type():
def test_incorrect_percent_type_type():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
density=1.,
percent_type='weight percent')
@@ -694,7 +694,7 @@ def test_incorrect_percent_type_type():
def test_incorrect_enrichment_type_type():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
density=1.,
enrichment_type='weight percent')
@@ -704,7 +704,7 @@ def test_incorrect_enrichment_type_type():
def test_incorrect_atoms_per_unit_cell():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
atoms_per_unit_cell=-1.)
@@ -713,7 +713,7 @@ def test_incorrect_atoms_per_unit_cell():
def test_incorrect_volume_of_unit_cell_cm3():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
volume_of_unit_cell_cm3=-1.)
@@ -722,7 +722,7 @@ def test_incorrect_volume_of_unit_cell_cm3():
def test_incorrect_temperature():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
temperature=-1.)
@@ -731,7 +731,7 @@ def test_incorrect_temperature():
def test_incorrect_zaid_suffix_type():
"""checks a ValueError is raised when the temperature is not set"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
zaid_suffix=0.80)
@@ -741,7 +741,7 @@ def test_incorrect_packing_fraction():
"""checks a ValueError is raised when the packing_fraction is the
wrong type"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
packing_fraction="1"
)
@@ -752,7 +752,7 @@ def test_too_large_packing_fraction():
"""checks a ValueError is raised when the packing_fraction is the
too large"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
packing_fraction=1.1
)
@@ -763,7 +763,7 @@ def test_too_small_packing_fraction():
"""checks a ValueError is raised when the packing_fraction is the
too large"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
packing_fraction=-0.1
)
@@ -774,7 +774,7 @@ def test_chemical_equation_wrong_type():
"""checks a ValueError is raised when the chemical_equation is the
not a str"""
- nmm.Material(
+ nmm.Material.from_library(
"eurofer",
chemical_equation=-0.1
)
@@ -785,7 +785,7 @@ def test_enrichment_too_high():
"""checks a ValueError is raised when the enrichment is the
too large"""
- nmm.Material(
+ nmm.Material.from_library(
"Li4SiO4",
enrichment=101,
enrichment_target='Li6'
@@ -797,7 +797,7 @@ def test_enrichment_too_low():
"""checks a ValueError is raised when the enrichment is the
too small"""
- nmm.Material(
+ nmm.Material.from_library(
"Li4SiO4",
enrichment=-1,
enrichment_target='Li6'
@@ -809,29 +809,29 @@ def test_pressure_too_low():
"""checks a ValueError is raised when the pressure is the
too small"""
- nmm.Material(
+ nmm.Material.from_library(
"Li4SiO4",
pressure=-1
)
self.assertRaises(ValueError, test_pressure_too_low)
- def test_reference_wrong_type():
- """checks a ValueError is raised when the reference is the
+ def test_comment_wrong_type():
+ """checks a ValueError is raised when the comment is the
not a string"""
- nmm.Material(
+ nmm.Material.from_library(
"Li4SiO4",
- reference=-1
+ comment=-1
)
- self.assertRaises(ValueError, test_reference_wrong_type)
+ self.assertRaises(ValueError, test_comment_wrong_type)
def test_material_id_wrong_type():
"""checks a ValueError is raised when the material_id is the
not an int"""
- nmm.Material(
+ nmm.Material.from_library(
"Li4SiO4",
material_id='one'
)
@@ -842,8 +842,8 @@ def test_material_id_wrong_type():
# def no_enrichment_target():
# """checks a ValueError is raised when the enrichment target is set to none"""
- # nmm.Material(
- # material_name="my_mat",
+ # nmm.Material.from_library(
+ # name="my_mat",
# chemical_equation="Li4SiO",
# enrichment=50.0,
# enrichment_target=None,
@@ -851,25 +851,25 @@ def test_material_id_wrong_type():
# )
# self.assertRaises(ValueError, no_enrichment_target)
- def incorrect_reference_type():
- """checks a ValueError is raised when the reference is an int"""
+ def incorrect_comment_type():
+ """checks a ValueError is raised when the comment is an int"""
- nmm.Material(
- material_name="Li4SiO4",
+ nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li6",
enrichment_type="ao",
- reference=1,
+ comment=1,
)
- self.assertRaises(ValueError, incorrect_reference_type)
+ self.assertRaises(ValueError, incorrect_comment_type)
def incorrect_setting_for_id():
"""checks a ValueError is raised when the id is not set
and an mcnp material card is need"""
- test_material = nmm.Material(
- material_name="Li4SiO4",
+ test_material = nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li6",
enrichment_type="ao",
@@ -884,8 +884,8 @@ def incorrect_setting_for_id2():
"""checks a ValueError is raised when the id is set as a str
and an mcnp material card is need"""
- test_material = nmm.Material(
- material_name="Li4SiO4",
+ test_material = nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li6",
enrichment_type="ao",
@@ -899,8 +899,8 @@ def incorrect_setting_for_id2():
def incorrect_setting_for_volume_in_cm3_1():
"""checks a ValueError is raised when the volume_in_cm3 is set to a string"""
- test_material = nmm.Material(
- material_name="Li4SiO4",
+ test_material = nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li6",
enrichment_type="ao",
@@ -915,8 +915,8 @@ def incorrect_setting_for_volume_in_cm3_2():
"""checks a ValueError is raised when the id is not set
and an mcnp material card is need"""
- test_material = nmm.Material(
- material_name="Li4SiO4",
+ test_material = nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li6",
enrichment_type="ao",
@@ -930,8 +930,8 @@ def incorrect_setting_for_volume_in_cm3_2():
def test_setting_for_volume_int(self):
"""checks the volume_in_cm3 is set to an int"""
- nmm.Material(
- material_name="Li4SiO4",
+ nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li6",
enrichment_type="ao",
@@ -941,8 +941,8 @@ def test_setting_for_volume_int(self):
def test_setting_for_volume_float(self):
"""checks the volume_in_cm3 is set to an float"""
- nmm.Material(
- material_name="Li4SiO4",
+ nmm.Material.from_library(
+ name="Li4SiO4",
enrichment=50.0,
enrichment_target="Li6",
enrichment_type="ao",
@@ -950,48 +950,61 @@ def test_setting_for_volume_float(self):
)
def test_json_dump_works(self):
- test_material = nmm.Material(
- "H2O", temperature=373, pressure=1e6)
+ test_material = nmm.Material.from_library(
+ name="H2O", temperature=373, pressure=1e6)
assert isinstance(json.dumps(test_material), str)
def test_json_dump_contains_correct_keys(self):
- test_material = nmm.Material(
- "H2O", temperature=373, pressure=1e6)
+ test_material = nmm.Material.from_library(
+ name="H2O", temperature=373, pressure=1e6, comment='test')
test_material_in_json_form = test_material.to_json()
- assert "atoms_per_unit_cell" in test_material_in_json_form.keys()
- assert "density" in test_material_in_json_form.keys()
- assert "density_equation" in test_material_in_json_form.keys()
- assert "density_unit" in test_material_in_json_form.keys()
- assert "chemical_equation" in test_material_in_json_form.keys()
- assert "enrichment" in test_material_in_json_form.keys()
- assert "enrichment_target" in test_material_in_json_form.keys()
- assert "enrichment_type" in test_material_in_json_form.keys()
- assert "isotopes" in test_material_in_json_form.keys()
- assert "material_name" in test_material_in_json_form.keys()
- assert "material_tag" in test_material_in_json_form.keys()
- assert "packing_fraction" in test_material_in_json_form.keys()
- assert "percent_type" in test_material_in_json_form.keys()
- assert "pressure" in test_material_in_json_form.keys()
- assert "reference" in test_material_in_json_form.keys()
- assert "temperature" in test_material_in_json_form.keys()
- assert "temperature" in test_material_in_json_form.keys()
- assert "volume_of_unit_cell_cm3" in test_material_in_json_form.keys()
+ assert "density" in test_material_in_json_form['H2O'].keys()
+ assert "density_unit" in test_material_in_json_form['H2O'].keys()
+ assert "chemical_equation" in test_material_in_json_form['H2O'].keys()
+ assert "packing_fraction" in test_material_in_json_form['H2O'].keys()
+ assert "percent_type" in test_material_in_json_form['H2O'].keys()
+ assert "pressure" in test_material_in_json_form['H2O'].keys()
+ assert "comment" in test_material_in_json_form['H2O'].keys()
+ assert "temperature" in test_material_in_json_form['H2O'].keys()
+
+ def test_json_dump_contains_correct_keys_2(self):
+ test_material = nmm.Material.from_library(
+ name="Li4SiO4", enrichment=90)
+ test_material_in_json_form = test_material.to_json()
+
+ assert "atoms_per_unit_cell" in test_material_in_json_form['Li4SiO4'].keys(
+ )
+ assert "density" in test_material_in_json_form['Li4SiO4'].keys()
+ assert "density_unit" in test_material_in_json_form['Li4SiO4'].keys()
+ assert "chemical_equation" in test_material_in_json_form['Li4SiO4'].keys(
+ )
+ assert "enrichment_type" in test_material_in_json_form['Li4SiO4'].keys(
+ )
+ assert "packing_fraction" in test_material_in_json_form['Li4SiO4'].keys(
+ )
+ assert "percent_type" in test_material_in_json_form['Li4SiO4'].keys()
+ assert "comment" in test_material_in_json_form['Li4SiO4'].keys()
+ assert "enrichment" in test_material_in_json_form['Li4SiO4'].keys()
+ assert "enrichment_target" in test_material_in_json_form['Li4SiO4'].keys(
+ )
+ assert "volume_of_unit_cell_cm3" in test_material_in_json_form['Li4SiO4'].keys(
+ )
def test_json_dump_contains_correct_values(self):
- test_material = nmm.Material(
+ test_material = nmm.Material.from_library(
"H2O", temperature=373, pressure=1e6)
test_material_in_json_form = test_material.to_json()
- assert test_material_in_json_form["pressure"] == 1e6
- assert test_material_in_json_form["temperature"] == 373
- assert test_material_in_json_form["material_name"] == "H2O"
+ assert test_material_in_json_form["H2O"]["pressure"] == 1e6
+ assert test_material_in_json_form["H2O"]["temperature"] == 373
+ assert list(test_material_in_json_form.keys())[0] == "H2O"
def test_temperature_from_C_in_materials(self):
"""checks that the temperature set in C ends up in the temperature
attribute of the openmc materials"""
- test_material = nmm.Material(
+ test_material = nmm.Material.from_library(
'H2O',
temperature=383,
pressure=15.5e6
@@ -1009,7 +1022,7 @@ def test_temperature_from_K_in_materials(self):
"""checks that the temperature set in K ends up in the temperature
attribute of the openmc materials"""
- test_material = nmm.Material(
+ test_material = nmm.Material.from_library(
'H2O',
temperature=300,
pressure=15.5e6
@@ -1027,7 +1040,7 @@ def test_temperature_not_in_materials(self):
"""checks that the temperature set in K ends up in the temperature
attribute of the openmc materials"""
- test_material = nmm.Material('WC')
+ test_material = nmm.Material.from_library('WC')
assert test_material.openmc_material.temperature is None
line_by_line_material = test_material.serpent_material.split("\n")
@@ -1039,11 +1052,11 @@ def test_temperature_not_in_materials(self):
def test_restricted_eval():
"""Test that arbitrary commands cannot be injected."""
with pytest.raises(NameError):
- nmm.Material(
- "BadMaterial",
+ nmm.Material.from_library(
+ name="Nb3Sn",
temperature=373,
pressure=1e6,
- density_equation="os.system('ls')"
+ density="os.system('ls')"
)
diff --git a/tests/test_Material_from_mixture.py b/tests/test_Material_from_mixture.py
new file mode 100644
index 0000000..97adbbc
--- /dev/null
+++ b/tests/test_Material_from_mixture.py
@@ -0,0 +1,598 @@
+#!/usr/bin/env python3
+
+__author__ = "neutronics material maker development team"
+
+import json
+import unittest
+import warnings
+
+import neutronics_material_maker as nmm
+import openmc
+import pytest
+
+
+class test_object_properties(unittest.TestCase):
+ def test_serpent_from_mixture_type(self):
+
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("Li4SiO4"),
+ nmm.Material.from_library("Be12Ti")],
+ fracs=[
+ 0.50,
+ 0.50],
+ percent_type="vo",
+ )
+
+ assert len(test_material.serpent_material) > 100
+ assert isinstance(test_material.serpent_material, str)
+
+ def test_mcnp_from_mixture_type(self):
+
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("Li4SiO4"),
+ nmm.Material.from_library("Be12Ti")],
+ fracs=[
+ 0.50,
+ 0.50],
+ percent_type="vo",
+ material_id=2,
+ )
+
+ assert len(test_material.mcnp_material) > 100
+ assert isinstance(test_material.mcnp_material, str)
+
+ def test_shift_from_mixture_type(self):
+
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("Li4SiO4"),
+ nmm.Material.from_library("Be12Ti")],
+ fracs=[
+ 0.50,
+ 0.50],
+ percent_type="vo",
+ temperature=300,
+ material_id=2,
+ )
+
+ assert len(test_material.shift_material) > 100
+ assert isinstance(test_material.shift_material, str)
+
+ def test_fispact_from_mixture_type(self):
+
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("Li4SiO4"),
+ nmm.Material.from_library("Be12Ti")],
+ fracs=[
+ 0.50,
+ 0.50],
+ percent_type="vo",
+ volume_in_cm3=20,
+ )
+
+ assert len(test_material.fispact_material) > 100
+ assert isinstance(test_material.fispact_material, str)
+
+ def test_make_from_mixture_from_material_objects(self):
+ # tests that a from_mixture can be created by passing Material objects
+ # into the from_mixture function
+
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("Li4SiO4"),
+ nmm.Material.from_library("Be12Ti")],
+ fracs=[
+ 0.50,
+ 0.50],
+ percent_type="vo",
+ )
+
+ assert isinstance(test_material, openmc.Material) is False
+ assert isinstance(test_material.openmc_material, openmc.Material)
+
+ def test_make_from_mixture_from_openmc_materials(self):
+ # tests that a from_mixture can be created by passing neutronics
+ # materials into the from_mixture function
+
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("Li4SiO4").openmc_material,
+ nmm.Material.from_library("Be12Ti").openmc_material,
+ ],
+ fracs=[0.50, 0.50],
+ percent_type="vo",
+ )
+
+ assert isinstance(test_material, openmc.Material) is False
+ assert isinstance(test_material.openmc_material, openmc.Material)
+
+ def test_mutliname_setting(self):
+
+ test_material = nmm.Material.from_mixture(
+ materials=[
+ nmm.Material.from_library('Pb842Li158', temperature=500),
+ nmm.Material.from_library('SiC')
+ ],
+ fracs=[0.5, 0.5])
+
+ assert test_material.name is None
+ test_material.name = 'tag_set_after_creation'
+ assert test_material.name == 'tag_set_after_creation'
+
+ test_material.openmc_material
+ assert test_material.openmc_material.name == 'tag_set_after_creation'
+
+ test_material = nmm.Material.from_mixture(
+ materials=[
+ nmm.Material.from_library('Pb842Li158', temperature=500),
+ nmm.Material.from_library('SiC')
+ ],
+ fracs=[0.5, 0.5],
+ name='tag_set_on_creation')
+
+ assert test_material.name == 'tag_set_on_creation'
+
+ test_material.openmc_material
+ assert test_material.openmc_material.name == 'tag_set_on_creation'
+
+ def test_from_mixture_attributes_from_material_objects_and_openmc_materials(
+ self):
+ # tests that from_mixtures made from material objects and neutronics
+ # materials have the same properties
+
+ test_material_1 = nmm.Material.from_mixture(
+ name="test_material_1",
+ materials=[
+ nmm.Material.from_library("Li4SiO4"),
+ nmm.Material.from_library("Be12Ti")],
+ fracs=[
+ 0.5,
+ 0.5],
+ percent_type="vo",
+ ).openmc_material
+
+ test_material_2 = nmm.Material.from_mixture(
+ name="test_material_2",
+ materials=[
+ nmm.Material.from_library("Li4SiO4").openmc_material,
+ nmm.Material.from_library("Be12Ti").openmc_material,
+ ],
+ fracs=[0.5, 0.5],
+ percent_type="vo",
+ ).openmc_material
+
+ assert test_material_1.density == test_material_2.density
+ assert test_material_1.nuclides == test_material_2.nuclides
+
+ def test_density_of_mixed_two_packed_crystals(self):
+
+ test_material_1 = nmm.Material.from_library(name="Li4SiO4")
+ test_material_packed_1 = nmm.Material.from_library(
+ name="Li4SiO4", packing_fraction=0.65
+ )
+ assert (
+ test_material_1.openmc_material.density * 0.65
+ == test_material_packed_1.openmc_material.density
+ )
+
+ test_material_2 = nmm.Material.from_library(name="Be12Ti")
+ test_material_packed_2 = nmm.Material.from_library(
+ name="Be12Ti", packing_fraction=0.35
+ )
+ assert (
+ test_material_2.openmc_material.density * 0.35
+ == test_material_packed_2.openmc_material.density
+ )
+
+ mixed_packed_crystals = nmm.Material.from_mixture(
+ name="mixed_packed_crystals",
+ materials=[test_material_packed_1, test_material_packed_2],
+ fracs=[0.75, 0.25],
+ percent_type="vo",
+ )
+
+ assert mixed_packed_crystals.openmc_material.density == pytest.approx(
+ (test_material_1.openmc_material.density * 0.65 * 0.75)
+ + (test_material_2.openmc_material.density * 0.35 * 0.25),
+ rel=0.01,
+ )
+
+ def test_density_of_mixed_two_packed_and_non_packed_crystals(self):
+
+ test_material_1 = nmm.Material.from_library(name="Li4SiO4")
+ test_material_1_packed = nmm.Material.from_library(
+ name="Li4SiO4", packing_fraction=0.65
+ )
+
+ mixed_material = nmm.Material.from_mixture(
+ name="mixed_material",
+ materials=[test_material_1, test_material_1_packed],
+ fracs=[0.2, 0.8],
+ percent_type="vo",
+ )
+
+ assert mixed_material.openmc_material.density == pytest.approx(
+ (test_material_1.openmc_material.density * 0.2)
+ + (test_material_1.openmc_material.density * 0.65 * 0.8)
+ )
+
+ def test_density_of_mixed_materials_from_density(self):
+
+ test_material = nmm.Material.from_library(
+ "H2O", temperature=300, pressure=100000)
+ test_mixed_material = nmm.Material.from_mixture(
+ name="test_mixed_material",
+ materials=[test_material],
+ fracs=[1])
+
+ assert test_material.openmc_material.density == pytest.approx(
+ test_mixed_material.openmc_material.density
+ )
+
+ def test_density_of_mixed_one_packed_crystal_and_one_non_crystal(self):
+
+ test_material_1 = nmm.Material.from_library(
+ name="H2O", temperature=300, pressure=100000
+ )
+
+ test_material_2 = nmm.Material.from_library(name="Li4SiO4")
+ test_material_2_packed = nmm.Material.from_library(
+ name="Li4SiO4", packing_fraction=0.65
+ )
+
+ mixed_packed_crystal_and_non_crystal = nmm.Material.from_mixture(
+ name="mixed_packed_crystal_and_non_crystal",
+ materials=[test_material_1, test_material_2_packed],
+ fracs=[0.5, 0.5],
+ percent_type="vo",
+ )
+
+ assert (
+ mixed_packed_crystal_and_non_crystal.openmc_material.density
+ == pytest.approx(
+ (test_material_1.openmc_material.density * 0.5)
+ + (test_material_2.openmc_material.density * 0.65 * 0.5)
+ )
+ )
+
+ def test_packing_fraction_for_single_materials(self):
+
+ test_material_1 = nmm.Material.from_library("Li4SiO4").openmc_material
+
+ test_material_2 = nmm.Material.from_library(
+ "Li4SiO4", packing_fraction=1).openmc_material
+
+ assert test_material_1.density == test_material_2.density
+
+ test_material_3 = nmm.Material.from_library(
+ "Li4SiO4", packing_fraction=0.5).openmc_material
+
+ assert test_material_3.density == pytest.approx(
+ test_material_1.density * 0.5)
+
+ test_material_4 = nmm.Material.from_library(
+ "Li4SiO4", packing_fraction=0.75).openmc_material
+
+ assert test_material_4.density == pytest.approx(
+ test_material_1.density * 0.75)
+
+ def test_packing_fraction_for_from_mixture_function(self):
+
+ test_material_5 = nmm.Material.from_mixture(
+ name="test_material_5",
+ materials=[
+ nmm.Material.from_library("tungsten"),
+ nmm.Material.from_library("eurofer")],
+ fracs=[
+ 0.5,
+ 0.5],
+ ).openmc_material
+
+ test_material_6 = nmm.Material.from_mixture(
+ name="test_material_6",
+ materials=[
+ nmm.Material.from_library("tungsten", packing_fraction=1),
+ nmm.Material.from_library("eurofer", packing_fraction=1),
+ ],
+ fracs=[0.5, 0.5],
+ ).openmc_material
+
+ assert test_material_5.density == test_material_6.density
+
+ test_material_7 = nmm.Material.from_mixture(
+ name="test_material_7",
+ materials=[
+ nmm.Material.from_library("tungsten", packing_fraction=0.5),
+ nmm.Material.from_library("eurofer", packing_fraction=0.5),
+ ],
+ fracs=[0.5, 0.5],
+ ).openmc_material
+
+ assert test_material_7.density == pytest.approx(
+ test_material_5.density * 0.5)
+
+ def test_packing_fraction_of_a_from_mixture(self):
+
+ test_material_6 = nmm.Material.from_mixture(
+ name="test_material_6",
+ materials=[
+ nmm.Material.from_library("tungsten", packing_fraction=0.34),
+ nmm.Material.from_library("eurofer", packing_fraction=0.60),
+ ],
+ fracs=[0.5, 0.5],
+ ).openmc_material
+
+ test_material_7 = nmm.Material.from_mixture(
+ name="test_material_7",
+ materials=[
+ nmm.Material.from_library("tungsten", packing_fraction=0.34),
+ nmm.Material.from_library("eurofer", packing_fraction=0.60),
+ ],
+ fracs=[0.5, 0.5],
+ packing_fraction=0.25,
+ ).openmc_material
+
+ assert test_material_6.get_mass_density() * 0.25 == pytest.approx(
+ test_material_7.get_mass_density()
+ )
+
+ def test_packing_fraction_for_mix_materials_function(self):
+
+ test_material_8 = openmc.Material.mix_materials(
+ name="test_material_8",
+ materials=[
+ nmm.Material.from_library("tungsten").openmc_material,
+ nmm.Material.from_library("eurofer").openmc_material,
+ ],
+ fracs=[0.5, 0.5],
+ percent_type="vo",
+ )
+
+ test_material_9 = openmc.Material.mix_materials(
+ name="test_material_9", materials=[
+ nmm.Material.from_library(
+ "tungsten", packing_fraction=1).openmc_material, nmm.Material.from_library(
+ "eurofer", packing_fraction=1).openmc_material, ], fracs=[
+ 0.5, 0.5], percent_type="vo", )
+
+ assert test_material_8.density == test_material_9.density
+
+ test_material_10 = openmc.Material.mix_materials(
+ name="test_material_10", materials=[
+ nmm.Material.from_library(
+ "tungsten", packing_fraction=0.5).openmc_material, nmm.Material.from_library(
+ "eurofer", packing_fraction=0.5).openmc_material, ], fracs=[
+ 0.5, 0.5], percent_type="vo", )
+
+ assert test_material_10.density == pytest.approx(
+ test_material_8.density * 0.5)
+
+ def test_from_mixture_vs_mix_materials(self):
+
+ test_material_11 = nmm.Material.from_mixture(
+ name="test_material_11",
+ materials=[
+ nmm.Material.from_library("tungsten"),
+ nmm.Material.from_library("eurofer")],
+ fracs=[
+ 0.5,
+ 0.5],
+ ).openmc_material
+
+ test_material_12 = openmc.Material.mix_materials(
+ name="test_material_12",
+ materials=[
+ nmm.Material.from_library("tungsten").openmc_material,
+ nmm.Material.from_library("eurofer").openmc_material,
+ ],
+ fracs=[0.5, 0.5],
+ percent_type="vo",
+ )
+
+ assert pytest.approx(
+ test_material_11.density) == test_material_12.density
+
+ test_material_13 = nmm.Material.from_mixture(
+ name="test_material_13",
+ materials=[
+ nmm.Material.from_library("tungsten", packing_fraction=0.6),
+ nmm.Material.from_library("eurofer", packing_fraction=0.8),
+ ],
+ fracs=[0.3, 0.7],
+ ).openmc_material
+
+ test_material_14 = openmc.Material.mix_materials(
+ name="test_material_14", materials=[
+ nmm.Material.from_library(
+ "tungsten", packing_fraction=0.6).openmc_material, nmm.Material.from_library(
+ "eurofer", packing_fraction=0.8).openmc_material, ], fracs=[
+ 0.3, 0.7], percent_type="vo", )
+
+ assert pytest.approx(
+ test_material_13.density) == test_material_14.density
+
+ def test_json_dump_works(self):
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("tungsten", packing_fraction=0.6),
+ nmm.Material.from_library("eurofer", packing_fraction=0.8),
+ ],
+ fracs=[0.3, 0.7],
+ )
+ assert isinstance(json.dumps(test_material), str)
+
+ def test_json_dump_contains_correct_keys(self):
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("tungsten", packing_fraction=0.6),
+ nmm.Material.from_library("eurofer", packing_fraction=0.8),
+ ],
+ fracs=[0.3, 0.7],
+ )
+ test_material_in_json_form = test_material.to_json()
+
+ assert "test_material" in list(test_material_in_json_form.keys())
+ assert "percent_type" in test_material_in_json_form["test_material"].keys(
+ )
+ assert "packing_fraction" in test_material_in_json_form["test_material"].keys(
+ )
+
+ def test_json_dump_contains_correct_values(self):
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("tungsten", packing_fraction=0.6),
+ nmm.Material.from_library("eurofer", packing_fraction=0.8),
+ ],
+ fracs=[0.3, 0.7],
+ )
+ test_material_in_json_form = test_material.to_json()
+
+ assert list(test_material_in_json_form.keys()) == ["test_material"]
+ assert test_material_in_json_form["test_material"]["percent_type"] == "ao"
+ assert test_material_in_json_form["test_material"]["packing_fraction"] == 1.0
+
+ def test_incorrect_settings(self):
+ def too_large_fracs():
+ """checks a ValueError is raised when the fracs are above 1"""
+
+ nmm.Material.from_mixture(
+ name="test_material", materials=[
+ nmm.Material.from_library(
+ "tungsten", packing_fraction=0.6), nmm.Material.from_library(
+ "eurofer", packing_fraction=0.8), ], fracs=[
+ 0.3, 0.75], )
+
+ with warnings.catch_warnings(record=True) as w:
+ # Cause all warnings to always be triggered.
+ warnings.simplefilter("always")
+ # Trigger a warning.
+ too_large_fracs()
+ # Verify some things
+ assert len(w) >= 1
+ assert issubclass(w[-1].category, UserWarning)
+ # the second entry is needed as OpenMC material mixer also raises
+ # and error
+ assert "warning sum of MutliMaterials.fracs do not sum to 1." in str(
+ w[-2].message)
+
+ def too_small_fracs():
+ """checks a ValueError is raised when the fracs are above 1"""
+
+ nmm.Material.from_mixture(
+ name="test_material", materials=[
+ nmm.Material.from_library(
+ "tungsten", packing_fraction=0.6), nmm.Material.from_library(
+ "eurofer", packing_fraction=0.8), ], fracs=[
+ 0.3, 0.65], )
+
+ with warnings.catch_warnings(record=True) as w:
+ # Cause all warnings to always be triggered.
+ warnings.simplefilter("always")
+ # Trigger a warning.
+ too_small_fracs()
+ # Verify some things
+ assert len(w) >= 1
+ assert issubclass(w[-1].category, UserWarning)
+ # the second entry is needed as OpenMC material mixer also raises
+ # and error
+ assert "warning sum of MutliMaterials.fracs do not sum to 1." in str(
+ w[-2].message)
+
+ def test_incorrect_packing_fraction():
+ """checks a ValueError is raised when the packing_fraction is the
+ wrong type"""
+
+ nmm.Material.from_mixture(
+ name="test_material", materials=[
+ nmm.Material.from_library(
+ "tungsten", packing_fraction=0.6), nmm.Material.from_library(
+ "eurofer", packing_fraction=0.8), ], fracs=[
+ 0.3, 0.7], packing_fraction="1")
+
+ self.assertRaises(ValueError, test_incorrect_packing_fraction)
+
+ def test_too_large_packing_fraction():
+ """checks a ValueError is raised when the packing_fraction is the
+ too large"""
+
+ nmm.Material.from_mixture(
+ name="test_material", materials=[
+ nmm.Material.from_library(
+ "tungsten", packing_fraction=0.6), nmm.Material.from_library(
+ "eurofer", packing_fraction=0.8), ], fracs=[
+ 0.3, 0.7], packing_fraction=1.1)
+
+ self.assertRaises(ValueError, test_too_large_packing_fraction)
+
+ def test_too_small_packing_fraction():
+ """checks a ValueError is raised when the packing_fraction is the
+ too large"""
+
+ nmm.Material.from_mixture(
+ name="test_material", materials=[
+ nmm.Material.from_library(
+ "tungsten", packing_fraction=0.6), nmm.Material.from_library(
+ "eurofer", packing_fraction=0.8), ], fracs=[
+ 0.3, 0.7], packing_fraction=-0.1)
+
+ self.assertRaises(ValueError, test_too_small_packing_fraction)
+
+ def test_temperature_from_C_in_from_mixtures(self):
+ """checks that the temperature set in C ends up in the temperature
+ attribute of the openmc from_mixtures"""
+
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("tungsten"),
+ nmm.Material.from_library("eurofer"),
+ ],
+ fracs=[0.3, 0.7],
+ temperature=283.15
+ )
+
+ assert test_material.temperature == 283.15
+ assert test_material.openmc_material.temperature == 283.15
+
+ line_by_line_material = test_material.serpent_material.split("\n")
+
+ assert line_by_line_material[0].split()[-1] == "283.15"
+ assert line_by_line_material[0].split()[-2] == "tmp"
+
+ def test_temperature_from_K_in_from_mixtures(self):
+ """checks that the temperature set in K ends up in the temperature
+ attribute of the openmc from_mixtures"""
+
+ test_material = nmm.Material.from_mixture(
+ name="test_material",
+ materials=[
+ nmm.Material.from_library("tungsten"),
+ nmm.Material.from_library("eurofer"),
+ ],
+ fracs=[0.3, 0.7],
+ temperature=300
+ )
+
+ assert test_material.temperature == 300
+ assert test_material.openmc_material.temperature == 300
+
+ line_by_line_material = test_material.serpent_material.split("\n")
+
+ assert line_by_line_material[0].split()[-1] == "300"
+ assert line_by_line_material[0].split()[-2] == "tmp"
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/tests/test_Multmaterial.py b/tests/test_Multmaterial.py
deleted file mode 100644
index 0d36a86..0000000
--- a/tests/test_Multmaterial.py
+++ /dev/null
@@ -1,588 +0,0 @@
-#!/usr/bin/env python3
-
-__author__ = "neutronics material maker development team"
-
-import json
-import unittest
-import warnings
-
-import neutronics_material_maker as nmm
-import openmc
-import pytest
-
-
-class test_object_properties(unittest.TestCase):
- def test_serpent_multimaterial_type(self):
-
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[nmm.Material("Li4SiO4"), nmm.Material("Be12Ti")],
- fracs=[0.50, 0.50],
- percent_type="vo",
- )
-
- assert len(test_material.serpent_material) > 100
- assert isinstance(test_material.serpent_material, str)
-
- def test_mcnp_multimaterial_type(self):
-
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[nmm.Material("Li4SiO4"), nmm.Material("Be12Ti")],
- fracs=[0.50, 0.50],
- percent_type="vo",
- material_id=2,
- )
-
- assert len(test_material.mcnp_material) > 100
- assert isinstance(test_material.mcnp_material, str)
-
- def test_shift_multimaterial_type(self):
-
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[nmm.Material("Li4SiO4"), nmm.Material("Be12Ti")],
- fracs=[0.50, 0.50],
- percent_type="vo",
- temperature=300,
- material_id=2,
- )
-
- assert len(test_material.shift_material) > 100
- assert isinstance(test_material.shift_material, str)
-
- def test_fispact_multimaterial_type(self):
-
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[nmm.Material("Li4SiO4"), nmm.Material("Be12Ti")],
- fracs=[0.50, 0.50],
- percent_type="vo",
- volume_in_cm3=20,
- )
-
- assert len(test_material.fispact_material) > 100
- assert isinstance(test_material.fispact_material, str)
-
- def test_make_multimaterial_from_material_objects(self):
- # tests that a multimaterial can be created by passing Material objects
- # into the MultiMaterial function
-
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[nmm.Material("Li4SiO4"), nmm.Material("Be12Ti")],
- fracs=[0.50, 0.50],
- percent_type="vo",
- )
-
- assert isinstance(test_material, openmc.Material) is False
- assert isinstance(test_material.openmc_material, openmc.Material)
-
- def test_make_multimaterial_from_openmc_materials(self):
- # tests that a multimaterial can be created by passing neutronics
- # materials into the MultiMaterial function
-
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("Li4SiO4").openmc_material,
- nmm.Material("Be12Ti").openmc_material,
- ],
- fracs=[0.50, 0.50],
- percent_type="vo",
- )
-
- assert isinstance(test_material, openmc.Material) is False
- assert isinstance(test_material.openmc_material, openmc.Material)
-
- def test_mutlimaterial_material_tag_setting(self):
-
- test_material = nmm.MultiMaterial(
- materials=[
- nmm.Material('Pb842Li158', temperature=500),
- nmm.Material('SiC')
- ],
- fracs=[0.5, 0.5])
-
- assert test_material.material_tag is None
- test_material.material_tag = 'tag_set_after_creation'
- assert test_material.material_tag == 'tag_set_after_creation'
-
- test_material.openmc_material
- assert test_material.openmc_material.name == 'tag_set_after_creation'
-
- test_material = nmm.MultiMaterial(
- materials=[
- nmm.Material('Pb842Li158', temperature=500),
- nmm.Material('SiC')
- ],
- fracs=[0.5, 0.5],
- material_tag='tag_set_on_creation')
-
- assert test_material.material_tag == 'tag_set_on_creation'
-
- test_material.openmc_material
- assert test_material.openmc_material.name == 'tag_set_on_creation'
-
- def test_multimaterial_attributes_from_material_objects_and_openmc_materials(
- self):
- # tests that multimaterials made from material objects and neutronics
- # materials have the same properties
-
- test_material_1 = nmm.MultiMaterial(
- "test_material_1",
- materials=[nmm.Material("Li4SiO4"), nmm.Material("Be12Ti")],
- fracs=[0.5, 0.5],
- percent_type="vo",
- ).openmc_material
-
- test_material_2 = nmm.MultiMaterial(
- "test_material_2",
- materials=[
- nmm.Material("Li4SiO4").openmc_material,
- nmm.Material("Be12Ti").openmc_material,
- ],
- fracs=[0.5, 0.5],
- percent_type="vo",
- ).openmc_material
-
- assert test_material_1.density == test_material_2.density
- assert test_material_1.nuclides == test_material_2.nuclides
-
- def test_density_of_mixed_two_packed_crystals(self):
-
- test_material_1 = nmm.Material(material_name="Li4SiO4")
- test_material_packed_1 = nmm.Material(
- material_name="Li4SiO4", packing_fraction=0.65
- )
- assert (
- test_material_1.openmc_material.density * 0.65
- == test_material_packed_1.openmc_material.density
- )
-
- test_material_2 = nmm.Material(material_name="Be12Ti")
- test_material_packed_2 = nmm.Material(
- material_name="Be12Ti", packing_fraction=0.35
- )
- assert (
- test_material_2.openmc_material.density * 0.35
- == test_material_packed_2.openmc_material.density
- )
-
- mixed_packed_crystals = nmm.MultiMaterial(
- material_tag="mixed_packed_crystals",
- materials=[test_material_packed_1, test_material_packed_2],
- fracs=[0.75, 0.25],
- percent_type="vo",
- )
-
- assert mixed_packed_crystals.openmc_material.density == pytest.approx(
- (test_material_1.openmc_material.density * 0.65 * 0.75)
- + (test_material_2.openmc_material.density * 0.35 * 0.25),
- rel=0.01,
- )
-
- def test_density_of_mixed_two_packed_and_non_packed_crystals(self):
-
- test_material_1 = nmm.Material(material_name="Li4SiO4")
- test_material_1_packed = nmm.Material(
- material_name="Li4SiO4", packing_fraction=0.65
- )
-
- mixed_material = nmm.MultiMaterial(
- material_tag="mixed_material",
- materials=[test_material_1, test_material_1_packed],
- fracs=[0.2, 0.8],
- percent_type="vo",
- )
-
- assert mixed_material.openmc_material.density == pytest.approx(
- (test_material_1.openmc_material.density * 0.2)
- + (test_material_1.openmc_material.density * 0.65 * 0.8)
- )
-
- def test_density_of_mixed_materials_from_density_equation(self):
-
- test_material = nmm.Material(
- "H2O", temperature=300, pressure=100000)
- test_mixed_material = nmm.MultiMaterial(
- material_tag="test_mixed_material",
- materials=[test_material],
- fracs=[1])
-
- assert test_material.openmc_material.density == pytest.approx(
- test_mixed_material.openmc_material.density
- )
-
- def test_density_of_mixed_one_packed_crystal_and_one_non_crystal(self):
-
- test_material_1 = nmm.Material(
- material_name="H2O", temperature=300, pressure=100000
- )
-
- test_material_2 = nmm.Material(material_name="Li4SiO4")
- test_material_2_packed = nmm.Material(
- material_name="Li4SiO4", packing_fraction=0.65
- )
-
- mixed_packed_crystal_and_non_crystal = nmm.MultiMaterial(
- material_tag="mixed_packed_crystal_and_non_crystal",
- materials=[test_material_1, test_material_2_packed],
- fracs=[0.5, 0.5],
- percent_type="vo",
- )
-
- assert (
- mixed_packed_crystal_and_non_crystal.openmc_material.density
- == pytest.approx(
- (test_material_1.openmc_material.density * 0.5)
- + (test_material_2.openmc_material.density * 0.65 * 0.5)
- )
- )
-
- def test_packing_fraction_for_single_materials(self):
-
- test_material_1 = nmm.Material("Li4SiO4").openmc_material
-
- test_material_2 = nmm.Material(
- "Li4SiO4", packing_fraction=1).openmc_material
-
- assert test_material_1.density == test_material_2.density
-
- test_material_3 = nmm.Material(
- "Li4SiO4", packing_fraction=0.5).openmc_material
-
- assert test_material_3.density == pytest.approx(
- test_material_1.density * 0.5)
-
- test_material_4 = nmm.Material(
- "Li4SiO4", packing_fraction=0.75).openmc_material
-
- assert test_material_4.density == pytest.approx(
- test_material_1.density * 0.75)
-
- def test_packing_fraction_for_multimaterial_function(self):
-
- test_material_5 = nmm.MultiMaterial(
- "test_material_5",
- materials=[nmm.Material("tungsten"), nmm.Material("eurofer")],
- fracs=[0.5, 0.5],
- ).openmc_material
-
- test_material_6 = nmm.MultiMaterial(
- "test_material_6",
- materials=[
- nmm.Material("tungsten", packing_fraction=1),
- nmm.Material("eurofer", packing_fraction=1),
- ],
- fracs=[0.5, 0.5],
- ).openmc_material
-
- assert test_material_5.density == test_material_6.density
-
- test_material_7 = nmm.MultiMaterial(
- "test_material_7",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.5),
- nmm.Material("eurofer", packing_fraction=0.5),
- ],
- fracs=[0.5, 0.5],
- ).openmc_material
-
- assert test_material_7.density == pytest.approx(
- test_material_5.density * 0.5)
-
- def test_packing_fraction_of_a_multimaterial(self):
-
- test_material_6 = nmm.MultiMaterial(
- "test_material_6",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.34),
- nmm.Material("eurofer", packing_fraction=0.60),
- ],
- fracs=[0.5, 0.5],
- ).openmc_material
-
- test_material_7 = nmm.MultiMaterial(
- "test_material_7",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.34),
- nmm.Material("eurofer", packing_fraction=0.60),
- ],
- fracs=[0.5, 0.5],
- packing_fraction=0.25,
- ).openmc_material
-
- assert test_material_6.get_mass_density() * 0.25 == pytest.approx(
- test_material_7.get_mass_density()
- )
-
- def test_packing_fraction_for_mix_materials_function(self):
-
- test_material_8 = openmc.Material.mix_materials(
- name="test_material_8",
- materials=[
- nmm.Material("tungsten").openmc_material,
- nmm.Material("eurofer").openmc_material,
- ],
- fracs=[0.5, 0.5],
- percent_type="vo",
- )
-
- test_material_9 = openmc.Material.mix_materials(
- name="test_material_9",
- materials=[
- nmm.Material("tungsten", packing_fraction=1).openmc_material,
- nmm.Material("eurofer", packing_fraction=1).openmc_material,
- ],
- fracs=[0.5, 0.5],
- percent_type="vo",
- )
-
- assert test_material_8.density == test_material_9.density
-
- test_material_10 = openmc.Material.mix_materials(
- name="test_material_10",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.5).openmc_material,
- nmm.Material("eurofer", packing_fraction=0.5).openmc_material,
- ],
- fracs=[0.5, 0.5],
- percent_type="vo",
- )
-
- assert test_material_10.density == pytest.approx(
- test_material_8.density * 0.5)
-
- def test_multimaterial_vs_mix_materials(self):
-
- test_material_11 = nmm.MultiMaterial(
- "test_material_11",
- materials=[nmm.Material("tungsten"), nmm.Material("eurofer")],
- fracs=[0.5, 0.5],
- ).openmc_material
-
- test_material_12 = openmc.Material.mix_materials(
- name="test_material_12",
- materials=[
- nmm.Material("tungsten").openmc_material,
- nmm.Material("eurofer").openmc_material,
- ],
- fracs=[0.5, 0.5],
- percent_type="vo",
- )
-
- assert test_material_11.density == test_material_12.density
-
- test_material_13 = nmm.MultiMaterial(
- "test_material_13",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.7],
- ).openmc_material
-
- test_material_14 = openmc.Material.mix_materials(
- name="test_material_14",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6).openmc_material,
- nmm.Material("eurofer", packing_fraction=0.8).openmc_material,
- ],
- fracs=[0.3, 0.7],
- percent_type="vo",
- )
-
- assert test_material_13.density == test_material_14.density
-
- def test_json_dump_works(self):
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.7],
- )
- assert isinstance(json.dumps(test_material), str)
-
- def test_json_dump_contains_correct_keys(self):
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.7],
- )
- test_material_in_json_form = test_material.to_json()
-
- assert "material_tag" in test_material_in_json_form.keys()
- assert "materials" in test_material_in_json_form.keys()
- assert "fracs" in test_material_in_json_form.keys()
- assert "percent_type" in test_material_in_json_form.keys()
- assert "packing_fraction" in test_material_in_json_form.keys()
-
- def test_json_dump_contains_correct_values(self):
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.7],
- )
- test_material_in_json_form = test_material.to_json()
-
- assert test_material_in_json_form["material_tag"] == "test_material"
- assert len(test_material_in_json_form["materials"]) == 2
- assert test_material_in_json_form["fracs"] == [0.3, 0.7]
- assert test_material_in_json_form["percent_type"] == "vo"
- assert test_material_in_json_form["packing_fraction"] == 1.0
-
- def test_incorrect_settings(self):
- def too_large_fracs():
- """checks a ValueError is raised when the fracs are above 1"""
-
- nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.75],
- )
-
- with warnings.catch_warnings(record=True) as w:
- # Cause all warnings to always be triggered.
- warnings.simplefilter("always")
- # Trigger a warning.
- too_large_fracs()
- # Verify some things
- assert len(w) >= 1
- assert issubclass(w[-1].category, UserWarning)
- # the second entry is needed as OpenMC material mixer also raises
- # and error
- assert "warning sum of MutliMaterials.fracs do not sum to 1." in str(
- w[-2].message)
-
- def too_small_fracs():
- """checks a ValueError is raised when the fracs are above 1"""
-
- nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.65],
- )
-
- with warnings.catch_warnings(record=True) as w:
- # Cause all warnings to always be triggered.
- warnings.simplefilter("always")
- # Trigger a warning.
- too_small_fracs()
- # Verify some things
- assert len(w) >= 1
- assert issubclass(w[-1].category, UserWarning)
- # the second entry is needed as OpenMC material mixer also raises
- # and error
- assert "warning sum of MutliMaterials.fracs do not sum to 1." in str(
- w[-2].message)
-
- def test_incorrect_packing_fraction():
- """checks a ValueError is raised when the packing_fraction is the
- wrong type"""
-
- nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.7],
- packing_fraction="1"
- )
-
- self.assertRaises(ValueError, test_incorrect_packing_fraction)
-
- def test_too_large_packing_fraction():
- """checks a ValueError is raised when the packing_fraction is the
- too large"""
-
- nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.7],
- packing_fraction=1.1
- )
-
- self.assertRaises(ValueError, test_too_large_packing_fraction)
-
- def test_too_small_packing_fraction():
- """checks a ValueError is raised when the packing_fraction is the
- too large"""
-
- nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten", packing_fraction=0.6),
- nmm.Material("eurofer", packing_fraction=0.8),
- ],
- fracs=[0.3, 0.7],
- packing_fraction=-0.1
- )
-
- self.assertRaises(ValueError, test_too_small_packing_fraction)
-
- def test_temperature_from_C_in_multimaterials(self):
- """checks that the temperature set in C ends up in the temperature
- attribute of the openmc multimaterials"""
-
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten"),
- nmm.Material("eurofer"),
- ],
- fracs=[0.3, 0.7],
- temperature=283.15
- )
-
- assert test_material.temperature == 283.15
- assert test_material.openmc_material.temperature == 283.15
-
- line_by_line_material = test_material.serpent_material.split("\n")
-
- assert line_by_line_material[0].split()[-1] == "283.15"
- assert line_by_line_material[0].split()[-2] == "tmp"
-
- def test_temperature_from_K_in_multimaterials(self):
- """checks that the temperature set in K ends up in the temperature
- attribute of the openmc multimaterials"""
-
- test_material = nmm.MultiMaterial(
- "test_material",
- materials=[
- nmm.Material("tungsten"),
- nmm.Material("eurofer"),
- ],
- fracs=[0.3, 0.7],
- temperature=300
- )
-
- assert test_material.temperature == 300
- assert test_material.openmc_material.temperature == 300
-
- line_by_line_material = test_material.serpent_material.split("\n")
-
- assert line_by_line_material[0].split()[-1] == "300"
- assert line_by_line_material[0].split()[-2] == "tmp"
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 4e8e745..d414edd 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -19,17 +19,17 @@ class test_object_properties(unittest.TestCase):
def test_additional_lines_multimaterial_mcnp(self):
- test_mat1 = nmm.Material(
+ test_mat1 = nmm.Material.from_library(
'Li4SiO4',
additional_end_lines={'mcnp': ['mat1_additional']}
)
- test_mat2 = nmm.Material(
+ test_mat2 = nmm.Material.from_library(
'Be12Ti',
additional_end_lines={'mcnp': ['mat2_additional']}
)
- test_mat3 = nmm.MultiMaterial(
- material_tag='mixed',
+ test_mat3 = nmm.Material.from_mixture(
+ name='mixed',
materials=[test_mat1, test_mat2],
temperature=500,
fracs=[0.5, 0.5],
@@ -52,7 +52,7 @@ def test_additional_lines_multimaterial_mcnp(self):
def test_additional_lines_mcnp(self):
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
'H2O',
pressure=1e6,
temperature=393,
@@ -62,7 +62,7 @@ def test_additional_lines_mcnp(self):
assert test_mat.mcnp_material.split('\n')[-1] == ' mt24 lwtr.01'
def test_additional_lines_shift(self):
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
'H2O',
pressure=1e6,
temperature=393,
@@ -72,7 +72,7 @@ def test_additional_lines_shift(self):
assert test_mat.shift_material.split('\n')[-1] == 'coucou'
def test_additional_lines_fispact(self):
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
'H2O',
pressure=1e6,
temperature=393,
@@ -83,7 +83,7 @@ def test_additional_lines_fispact(self):
assert test_mat.fispact_material.split('\n')[-1] == 'coucou'
def test_additional_lines_serpent(self):
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
'H2O',
pressure=1e6,
temperature=393,
@@ -112,7 +112,7 @@ def test_additional_lines_from_json(self):
nmm.AddMaterialFromFile("extra_material_1.json")
- test_mat = nmm.Material('mat_with_add_line')
+ test_mat = nmm.Material.from_library('mat_with_add_line')
assert test_mat.mcnp_material.split('\n')[-2] == 'coucou1'
assert test_mat.mcnp_material.split('\n')[-1] == 'coucou2'
@@ -122,7 +122,7 @@ def incorrect_additional_lines_code_name():
"""Set additional_end_lines to not the name of a neutronics code
which should raise an error"""
- nmm.Material(
+ nmm.Material.from_library(
'Li4SiO4',
additional_end_lines={'unknow code': ['coucou']}
)
@@ -138,7 +138,7 @@ def incorrect_additional_lines_code_value_type():
"""Set additional_end_lines value to a string
which should raise an error"""
- nmm.Material(
+ nmm.Material.from_library(
'Li4SiO4',
additional_end_lines={'unknow code': 'serpent'}
)
@@ -154,7 +154,7 @@ def incorrect_additional_lines_code_value_list_type():
"""Set additional_end_lines value to a list of ints
which should raise an error"""
- nmm.Material(
+ nmm.Material.from_library(
'Li4SiO4',
additional_end_lines={'unknow code': [1]}
)
@@ -256,7 +256,7 @@ def test_dictionary_of_materials_makes_openmc_materials(self):
for mat in nmm.AvailableMaterials().keys():
print(mat)
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
mat, temperature=300, pressure=5e6)
assert isinstance(test_mat.openmc_material, openmc.Material)
@@ -265,7 +265,7 @@ def test_dictionary_of_materials_makes_mcnp_materials(self):
for mat in nmm.AvailableMaterials().keys():
print(mat)
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
mat, temperature=300, pressure=5e6, material_id=1
)
@@ -275,7 +275,7 @@ def test_dictionary_of_materials_makes_shift_materials(self):
for mat in nmm.AvailableMaterials().keys():
print(mat)
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
mat, temperature=300, pressure=5e6, material_id=1
)
@@ -285,7 +285,7 @@ def test_dictionary_of_materials_makes_fispact_materials(self):
for mat in nmm.AvailableMaterials().keys():
print(mat)
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
mat,
temperature=300,
pressure=5e6,
@@ -297,7 +297,7 @@ def test_dictionary_of_materials_makes_serpent_materials(self):
for mat in nmm.AvailableMaterials().keys():
print(mat)
- test_mat = nmm.Material(
+ test_mat = nmm.Material.from_library(
mat, temperature=300, pressure=5e6)
assert isinstance(test_mat.serpent_material, str)