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.
papercut is command line based rock, paper, scissors game for Unix based operating systems like GNU/Linux, BSD, etc. A user can play the game by entering their choice of rock (R or r), paper (P or p), or scissors (S or s). papercut also stores user statistics, i.e. number of wins, losses, and draws.
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.
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).
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.
Billiards is a cue sports simulator. It aims for physical accuracy and simplicity. It should be useful for practicing billiards on your own and against your friends when a real pool table is not available. Both a pool table and a billiards table (that is, with and without pockets) are implemented, allowing you to play eightball, nineball, and carom billiards games.