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.
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.
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.
Speed Dreams is a fork of the open racing car simulator Torcs. It aims at implementing exciting new features, cars, tracks, and AI opponents to make a more enjoyable game for the player, and at constantly improving visual and physics realism. Featuring 44 cars, 44 tracks, and three first-class AI opponents, Speed Dreams is suitable for use as a racing game, as a serious race simulator, and for scientific research.
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).
ARS (Autonomous Robot Simulator) is a physically-accurate simulation suite for research and development of mobile manipulators and, in general, any multi-body system. It is modular, easy to learn and use, and can be a valuable tool in the process of robot design, in the development of control and reasoning algorithms, and in teaching and educational activities. It will encompass a wide range of tools spanning from kinematics and dynamics simulation to robot interfacing and control.