magnet_rs

License: MPL 2.0 License: CC BY-SA 4.0

This test library and binary implements routines for calculating magnetic fields, written in Rust. A more complete Python version can be found on Github, or PyPi.

Download from crates.io.

Features

This code uses analytical expressions to calculate the magnetic field due to simple magnets. These include:

This binary reads a toml file containing the magnets and list of points to run the calculation over. This is then saved to a JSON file with the following keys:

Example

Save the following into input.toml

```toml [[magnet]] kind = "rectangle" size = [1.0, 1.0] center = [-1.0, -0.5] magnetisation = [1.0, 90.0] magAngle = "degrees" alpha = 0.0 alphaAngle = "degrees"

[[magnet]] kind = "rectangle" size = [1.0, 1.0] center = [1.0, -2.0] magnetisation = [-1.0, 0.5] magAngle = "degrees" alpha = 0.0 alphaAngle = "degrees"

Then define the type of grid for calculating over

[grid] kind = "grid" start = [-2.0, -2.0] stop = [2.0, 2.0] numPoints = 101 units = 1e-3 # mm ```

then run the following to save the data in a JSON file:

bash magnet_rs input.toml -o out.json

Licensing

Source code licensed under the Mozilla Public License Version 2.0

Documentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

This is a human-readable summary of (and not a substitute for) the license, adapted from CS50x. Official translations of this license are available in other languages.

You are free to:

Under the following terms:

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.