llg3d.post.process¶
Post-processes a set of runs grouped into a run.json file or into a set of SLURM job arrays:
Extracts result data,
Plots the computed average magnetization against temperature,
Interpolates the computed points using cubic splines,
Determines the Curie temperature as the value corresponding to the minimal (negative) slope of the interpolated curve.
Classes
|
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
- 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