IntroductionΒΆ

Welcome to XMDS2 (codenamed xpdeint), which is an all-new version of XMDS. Prepare for fast, easily-extended simulations with minimal code error.

The purpose of XMDS2 is to simplify the process of creating simulations that solve systems of initial-value partial and ordinary differential equations. Instead of going through the error-prone process of writing by hand thousands of lines of code, XMDS2 enables many problems to be described in a simple XML format. From this XML description XMDS2 writes a C++ simulation that solves the problem using fast algorithms. Anecdotally, the code generated by XMDS2 is as fast as, or faster than, code hand-written by an expert, but by using XMDS2 the time taken to produce the simulation is significantly reduced.

XMDS2 can be used to simulate almost any set of (coupled) (partial) (stochastic) differential equations in any number of dimensions. It can input and output data in a range of data formats, produce programs that can take command-line arguments, and produce parallelised code suitable for either modern computer architectures or distributed clusters.

If this is your first time with XMDS, then an ideal place to start is the Quickstart Tutorial, where we will show you how to write a basic simulation. Installation instructions should get you up and running and able to start playing with the large library of examples provided. The impatient will probably have good luck browsing the examples library included with the source, and the Worked Examples in this documentation for something that looks like their intended simulation.

If you are upgrading from XMDS version 1.x, then after following the installation instructions (Installation), you might want to have a quick read of the note for upgraders (Upgrading From XMDS 1.X). The syntax of the XML scripts has changed, but hopefully you will find the new scripts very intuitive.

Detailed advice on input/output issues, and ways to code more complicated simulations can be found in Advanced Topics. We will also write a reference at some point.

Previous topic

Welcome to the documentation for XMDS2!

Next topic

Installation

This Page