yacts, yet another continuous time simulator, uses J+ to interpret scripts, defining systems of ordinary differential equations, which it solves. J+ is a functional non-imperative simulation language with lazy evaluation, based on the J programming language, a dialect of APL. A program in J+ is a collection of (possibly functional) J assignment statements, just like a set of formulae on a sheet of paper. The interpreter, implemented as a software library, knows the interdependencies between these formulae and is able to compute any of the defined quantities with minimal effort, keeping track of the values which were already computed. The driver program (such as yacts) may ask the interpreter to compute certain quantities and set the values for others (propagating the changes to dependents).
Finesse is a numeric simulation for laser interferometers using the frequency domain and Hermite-Gauss modes. It is easy to use for students. For basic use, including graphical output, no commercial software is required. The implemented physics are well documented in a 180-page manual. Simple examples are provided. Finesse can be used to compute a great variety of interferometer signals for control systems, including longitudinal control, alignment control, and thermal compensation.
openEMS is an electromagnetic field solver using the FDTD method. It employs a fully 3D Cartesian and cylindrical coordinate graded mesh. Matlab (or Octave) is used as an easy and flexible scripting interface. Advanced Features include: multi-threading, SIMD (SSE), and MPI support for high speed FDTD.
JABM is a Java API for developing agent-based simulation models using a discrete-event simulation framework. It has a simple architecture in which agents are represented using plain-old Java objects (POJOs). Simulations are configured via dependency injection using the industry-standard Spring framework, thus allowing attributes of any object in the simulation to be specified as random variables to be drawn from a specified distribution without having to write any Java code. Attributes of any object can be specified as independent variables or treatments with a given range of values, and experiments with different treatments can be easily parallelized using, for example, SGE.
DAE Tools is cross-platform equation-oriented process modelling, simulation, and optimization software. Various types of processes (lumped or distributed, steady-state or dynamic) can be modelled and optimized. They may range from very simple to those which require complex operating procedures. Equations can be ordinary or discontinuous, where discontinuities are automatically handled by the framework. Model reports containing all information about a model can be exported in XML MathML format, automatically creating high-quality documentation. The simulation results can be visualized, plotted, and/or exported into various formats.
Airrace is an air race game where the player is required to pilot a plane through sets of pylons in a prescribed order. The flight model is pretty realistic in that it features most of the effects that make flying an aircraft challenging but without having to worry about what several dozens of buttons on the dashboard do. Right now, seven training tracks and five race tracks are available. Airrace has been written on top of Aviation and Techne.
Beneath A Binary Sky is an engine that simulates a world in which robots controlled by programs can live, work, fight, and even bear new children. The long-term goal of the project is to create a fully configurable engine that can simulates any kind of world, from simple to complex ones with many rules and events.