llg3d.post.process

Post-processes a set of runs grouped into a run.json file or into a set of SLURM job arrays:

  1. Extracts result data,

  2. Plots the computed average magnetization against temperature,

  3. Interpolates the computed points using cubic splines,

  4. Determines the Curie temperature as the value corresponding to the minimal (negative) slope of the interpolated curve.

Classes

MagData([job_dir, run_file])

Class to handle magnetization data and interpolation according to temperature

class MagData(job_dir: Path | None = None, run_file: Path = PosixPath('run.json'))[source]

Bases: object

Class to handle magnetization data and interpolation according to temperature

__init__(job_dir: Path | None = None, run_file: Path = PosixPath('run.json')) None[source]
process_json() tuple[array, dict][source]

Reads the run.json file and extracts result data.

Parameters:

json_filepath – path to the run.json file

Returns:

(data, run) where data is a numpy array (T, <m>) and run is a descriptive dictionary of the run

Return type:

tuple

process_slurm_jobs() tuple[array, dict][source]

Iterates through calculation directories to assemble data.

Parameters:

parentdir (str) – path to the directory containing the runs

Returns:

(data, run) where data is a numpy array (T, <m>) and run is a descriptive dictionary of the run

Return type:

tuple

property T_Curie: float

Return the Curie temperature defined as the temperature at which the magnetization is below 0.1