-
Notifications
You must be signed in to change notification settings - Fork 7
Materials Description Files
In PUMAS, material properties are encoded in XML within a Materials Description File (MDF). A compilation of materials data can be found in a separate repository: pumas-materials.
The <pumas>
tag is the root tag of the MDF. Any tag occurring outsides is
ignored by PUMAS.
The <element>
tag specifies a new atomic element. It has the following
attributes:
Attribute | Description | Type | Unit |
---|---|---|---|
name | String | ||
Z | Atomic number | Float | |
A | Atomic mass | Float | g/mol |
I | Mean excitation energy | Float | eV |
Note that the Mean Excitation Energy (MEE) must be provided at the atom level. It is used by PUMAS for simulating Discrete Energy Losses (DEL) for the ionisation process.
The <material>
tag allows to build a new material as a collection of atomic
<element>
's. It has the following attributes:
Attribute | Description | Type | Unit |
---|---|---|---|
name | String | ||
file | Energy loss file | String | |
density | Default density | String | g/cm3 |
The energy loss file must conform to the PDG text format.
The search path is relative to the energy loss path provided to the
pumas_physics_create
function.
Constituent atomic elements are defined as children of a <material>
tag using
<component>
tags, one tag per atomic element. A material component tag has
the following attributes:
Attribute | Description | Type |
---|---|---|
name | <element> name |
String |
fraction | Mass fraction | Float |
In PUMAS, a <composite>
is a weighted average of several <material>
's,
e.g. a rock containing various minerals at the microscopic scale. A
<composite>
has the following attribute:
Attribute | Type |
---|---|
name | String |
Constituent materials are defined as children of a <composite>
tag using
<component>
tags, one tag per material. A composite component tag has
the following attributes:
Attribute | Description | Type |
---|---|---|
name | <material> name |
String |
fraction | Mass fraction | Float |
Note that the <component>
mass fraction can be changed at runtime
using the pumas_composite_update
function. For example, setting a
mass fraction to 0 or less disables the corresponding material from the
composite. However, on the contrary it is not possible to add a component
material to a composite at runtime if not already defined in the MDF.