↑ Return to About

Submit an Add-on

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

Examples of current addons:

• 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:



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!


Return to add-ons main page