SIM.JS is a general-purpose Discrete Event Simulation library fully capable of running in a Web browser. It provides constructs for creating Entities which are the active actors in a system, and encapsulates the state and logic of a system's components. Entities contend for resources, which can be Facilities (supports FIFO, LIFO with preemption and Processor Sharing service disciplines), Buffers, and Stores. Entities communicate by waiting on Events or by sending Messages. Statistics recording and analysis is provided by Data Series Statistics, Time Series Statistics, and Population Statistics. A random number library generates seeded random variates from various distributions, including uniform, exponential, normal, gamma, Pareto, and others.
Sea Ice is software for modeling the microwave emissivity of sea ice. It includes two plane-parallel radiative transfer models: a Monte Carlo ray tracing simulation that models ridged ice, and thermodynamic models that can be used to generate input to the emissivity models in the form of temperature and salinity profiles. It is written in C++ and Interactive Data Language (IDL). It has been used to generate results for several papers on sea ice emissivity.
StepSim is a lightweight step-based simulation module written in Python. It can do simple real-time simulations of discrete systems. StepSim supports step-by-step simulation or can run until a break condition occurs. Simulations are made up of containers and converters. A container stores a discrete amount of units of a certain type. A converter draws units from one or more containers and delivers the result to another container. StepSim does not even attempt to do any parallel processing. It processes converters round-robin in a fixed order.
PyParticles is a particle simulation toolbox entirely written in Python. It simulates a particle-by-particle model with the most popular integrations methods, including Euler, Runge Kutta, and Midpoint. It represents the results on an OpenGL or Matplotlib plot, and offers an easy-to-use API.
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.