If you use the Modelica Language for simulation it's basically a rite of passage to at least try out OpenModelica, although your mileage on various operating systems and versions thereof can vary wildly (you can always ask for the money back that you didn't pay).
From the Modelica Association home page:
The Modelica Language is a non-proprietary, object-oriented, equation based language to conveniently model complex physical systems containing, e.g., mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented subcomponents.
Modelica uses a text based modeling language behind the scenes that is primarily intended for use with "patch-based" graphical wiring up of components.
Dedicated to chromæsthesia, the PLAY logo created with PureData/GEM sound and visuals synthesis can be both seen and heard simultaneously.
Pure Data (or just Pd) is an open source visual programming language for multimedia.