Our aim is to have SpinDynamica community members share Mathematica code as “add–ons“, in order to enhance functionality not yet incorporated into the main SpinDynamica release.

Examples of current add–ons:

• Graphical representation of pulse sequences

• Tools to visualise matrices in 3D

• Data import and processing routines for common spectrometer platforms

## Submitting an add-on

Whenever you would like to contribute an add-on, you must submit your code as detailed below. *Note: this convention will be applied rigorously*.

You need to create the following files:

**1. [“nameofmyaddon.nb”] **This is your Mathematica code written to notebook (.nb) file, saving all code as initialization cells. Please idiot-proof the code as far as possible. Also include help and error-identification messages where possible.

You can find information about writing Mathematica package files here:

http://reference.wolfram.com/mathematica/tutorial/SettingUpMathematicaPackages.html

http://reference.wolfram.com/mathematica/tutorial/MathematicaPackages.html

We will be strict on the following, in particular:

• Always begin packages with BeginPackage[<new package context>,{“Global`”, <contexts of required packages..>], and end with EndPackage[]

• Always ensure all prerequired SpinDynamica packages are loaded in the BeginPackage declaration

• Always use Begin[“Private`”] and End[] before and after declaring the exported symbols. This should avoid any possible interference with declarations within SpinDynamica

In the above links you will also find guidance on where to store a downloaded package, and how to put it on the path.

**2. [“myaddon.m”] **This is a Mathematica package file that will be autogenerated when you save [“nameofmyaddon.nb”]

**3. [“myaddon_examples.nb”] **A Mathematica notebook containing basic usage examples for the add-on functions (“.nb” extension)

**4. [“myaddon_examples.pdf”] **Item 3 saved as a PDF (i.e. so there is a PDF example file as well)

**5. [“myaddon<ext>” where <ext> can be .png, .gif, or .jpg] **For illustration purposes, a graphical abstract that will “tease” the reader’s interest (strict width 800px, height 270px, nontransparent background, make sure resolution is decent)

**6. [“myaddon.txt”] **Notes on your package: plain text file is fine, can contain links but no other HTML, etc. please. Details should include:

• Package name and version (same name as file), plus revision date

• Brief description of package contents: i.e. what does the add-on facilitate?

• SpinDynamica version compatibility

• Names of SpinDynamica packages to be preloaded

• Persons who should be acknowledged for the add-on

• Any other notes

Simply ZIP or TAR files 1-5 and send to the administrator . The rest will be taken care of (magically).

Thanks for reading!