Overview of Material Database Package

In ESCAPE there is a scattering.material module which contains factory functions for creating different types of material objects. Currently, amorphous, crystal and generic material types are supported. The generic material is used when other material types do not meet the requirements. If more specific materials are required, they will be added in future versions of ESCAPE.

The Factory functions of the material types listed above are not very convenient because they require user to define scattering length dnsity parameters with initial values. Calculation of these values from compound and mass density is straightforward but tedious. In order to simplify the input of materials and their parameters the utils.mdb package was created. In this notebook we give some examples how to use it.

The mdb is based on the periodictable package which is an optional package along with ESCAPE. You can also install it with the command

pip install periodictable

Amorphous materials

There are several possible scenarious:

  1. user would like to implement model using mass density as independent parameter, i.e. the parameter which will be obtained from the model fit.
  2. user would like to implement model using SLD real sld0_re and SLD imaginary sld0_im independent parameters.

Let's consider the first scenario. As a material we choose deuterated polystyrene (compound: C8D8) with mass density $1.05\;g/cm^3$

There is also a shorter way to achieve the same result.

In the first case density can be dependent parameter or shared with another material. In the last case the density parameter is independent and created together with material.

For the second scenario when material is defined using SLDs parameters, the following code is used:

By default SLDs parameters have scale=1e-6 and units=1/A^-2. You can set both arguments using sldscale and sldunits arguments as following.

Amorphous magnetic material

For the case of polarized neutrons and magnetic sample, the magnetic scattering length density has to be included in the model. User can provide it as a constant value or a parameter.