# Data set for "Explaining Browns paradox in NdFeB magnets from micromagnetic simulations"

This repository is the data described in the article "Explaining Browns paradox in NdFeB magnets from micromagnetic simulations" [Bjørk, R., & Insinga, A. R. (2023). Explaining Browns paradox in NdFeB magnets from micromagnetic simulations. Journal of Magnetism and Magnetic Materials, 170510.] [https://doi.org/10.1016/j.jmmm.2023.170510]

The repository contains the results, as well as input parameters for all simulations described in the article. The MagTense framework [www.magtense.org] can be used to run new simulations of the data presented, and is also needed if the input parameters used to generate the data is to be seen. However, the results can be read and visualized without the MagTense framework.

The repository is structured in four directories that are also reflected in the article, namely the parameter variation of the easy axis orientation, the variation of the exchange constant, the variation of the grain boundary material parameters and the variation of the grain boundary width.

For each subdirectory, the data is stored as described below.

In general each individual item of data is presented graphically in a PDF file (with a filename that ends in "Result.pdf") and with the actual data in an accompanying Matlab file (with a filename that ends in "data.mat").

A PDF result file show the results visually in the form of a hysteresis curve and the key parameters derived from the curve, the maximum energy product and the coercivity, as well as the input parameters for the model, containing both the material parameters and the mesh information. The mesh is also visualized.

A data file contains both the grid of the problem in the GridInfo struct, the mesh information in the mesh_cart (the actual mesh) and mesh_params (the parameters used to make the mesh) structs, the problem file in the problem DefaultMicroMagProblem variable, the solution in the solution struct and the key result parameters in the form of the applied magnetic field, H, the computed sample magnetization, M, and the coercivity, Hc, as direct variables. The problem variable is of a special type that requires that the MagTense "matlab/util" directory is in the Matlab path to be read properly. If this is not the case, the variable will be read as a uint32 and Matlab will give a warning.

Each of the structs contain additional variables that are explained in the files used to run the models. To run a simulation, the problem statement can simply be passed to MagTense as:

solution = struct();

prob_struct = struct(problem);

solution = MagTenseLandauLifshitzSolver_mex( prob_struct, solution );

The root of this data repository contains a simulation script for the Matlab version of MagTense, "Simulation_script_example.m", that takes any of the data files as input and runs the simulation. In this example script one can see in the script what each parameter in the respective structs in the data file is used for.

The solution struct contains the magnetization as a 4D array with the three components of the magnetization at all spatial points in the simulation at the start and end of the 40 ns time simulation done for each applied field. The pts array contain the spatial location of each tile, i.e. each point where the magnetization is known. The applied fields are saved in problem.Hext.