Skip to content

Materials Description Files

Valentin Niess edited this page Feb 5, 2021 · 4 revisions

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.