llg3d.post.process

Post-processes a set of runs.

  1. Extracts result data,

  2. Plots the computed average magnetization against temperature,

  3. Interpolates the computed points using a PCHIP interpolator,

  4. Determines the Curie temperature as the value below which the magnetization drops under 0.1.

Classes

MagTempData(*files)

Handle magnetization data using the npz format.

class MagTempData(*files)[source]

Bases: object

Handle magnetization data using the npz format.

  • Extracts result data,

  • Interpolates the computed points using a PCHIP interpolator,

  • Determines the Curie temperature as the value below which the magnetization drops under 0.1.

Parameters:

*files (list[Path]) – Paths to the result .npz files

n_interp = 200

number of interpolation points

files: list[Path]

list of result files

params: dict

common parameters of the runs

temperature

temperatures from the runs

m1_mean

mean magnetization

interp

interpolated magnetization function

temperature_interp

finer temperature grid for interpolation

property T_Curie: float

Return the Curie temperature.

It is defined as the temperature at which the magnetization equals 0.1, found using a root-finding algorithm for precision.

Returns:

Curie temperature

Return type:

float

Raises:

ValueError – If the magnetization never crosses 0.1 in the dataset

_process_jobs()[source]

Iterates through calculation directories to assemble data.

Returns:

data a numpy array (T, <m>)

Raises:

ValueError – If any file does not end with .npz

Return type:

ndarray