API¶
Note that not all of the classes and method displayed here are available to the user from Python. Also note that getters and setters are ignored here.
-
class
CellAtom¶
-
class
Dipole¶ Public Functions
-
std::vector<double>
calculateField(double targetX, double targetY, double targetZ)¶ Calculate the field due to a single dipole at an arbitrary point.
- Return
- The dipole magnetic field as a vector.
- Parameters
x: The x-position of the point at which we wish to evaluate the dipole field.y: The y-position of the point at which we wish to evaluate the dipole field.z: The z-position of the point at which we wish to evaluate the dipole field.
-
std::vector<double>
-
class
LorentzSphere¶ Public Functions
-
std::vector<double>
calculateDipoleField()¶ Evaluate the dipole field by summing up the contributions from the individual dipoles within the Lorentz sphere.
- Return
- The dipole field as a vector.
-
std::vector<double>
calculateLorentzField()¶ Evaluate the Lorentz field for the Lorentz sphere.
- Return
- The Lorentz field as a vector.
-
std::vector<double>
-
class
MomentField¶ Public Functions
-
std::vector<double>
getMoment(double x, double y, double z)¶ Get the magnetic moment for an atom placed at an arbitrary point.
- Parameters
x: The x-position of the point to obtain the momenty: The y-position of the point to obtain the momentz: The z-position of the point to obtain the moment
-
std::vector<double>
-
class
Sample¶ Subclassed by Cu2OSeO3
Public Functions
-
py::array_t<double>
getDipoleField(double x, double y, double z, double radius)¶ Get the field as a result of dipoles wihtin a Lorentz sphere at an arbitrary point.
- Return
- The dipolar field as a vector.
- Parameters
x: The x-position of the point at which the dipole field is to be evaluated.y: The y-position of the point at which the dipole field is to be evaluated.z: The z-position of the point at which the dipole field is to be evaluated.radius: The radius of the Lorentz sphere.
-
py::array_t<double>
getLorentzField(double x, double y, double z, double radius)¶ Get the Lorentz field for a Lorentz sphere of a given radius at an arbitrary point.
- Return
- The Lorentz field as a vector.
- Parameters
x: The x-position of the point at which the dipole field is to be evaluated.y: The y-position of the point at which the dipole field is to be evaluated.z: The z-position of the point at which the dipole field is to be evaluated.radius: The radius of the Lorentz sphere.
-
py::array_t<double>
getTotalField(double x, double y, double z, double radius)¶ Get the total field (dipolar + Lorentz) at a given point.
- Return
- The total field as a vector.
- Parameters
x: The x-position of the point at which the dipole field is to be evaluated.y: The y-position of the point at which the dipole field is to be evaluated.z: The z-position of the point at which the dipole field is to be evaluated.radius: The radius of teh Lorentz sphere.
-
py::array_t<double>
-
class
SpectrumCreator¶ Public Functions
-
py::array_t<double>
outputSpectrum()¶ Obtain a 1d array of magnetic field components sampled throughout the crystal, which can be used to generate a spectrum.
- Return
- 1d array of magnetic field components sampled through the crystal.
-
py::array_t<double>
-
class
VectorFieldCreator¶ Public Functions
-
py::array_t<double>
outputBField()¶ Outputs the information required to plot a 2D slice of the magnetic field within the sample.
- Return
- A 2d array of the form [[x1, x2, …], [y1, y1, …], [B_x1, B_x2, …], [B_y1, B_y2, …]] where xi and yi are the x and y positions respectively, and Bxi and Byi are the x- and y-components of the magnetic fields at these points.
-
py::array_t<double>
outputMField()¶ Outputs the information required to plot the magnetic moment projected onto a 2D plane.
- Return
- A 2d array of the form [[x1, x2, …], [y1, y1, …], [M_x1, M_x2, …], [M_y1, M_y2, …]] where xi and yi are the x and y positions respectively, and Bxi and Byi are the x- and y-components of the magnetic fields at these points.
-
py::array_t<double>