Which Physics Simulation Programs Can I Use to Visualize Complex Phenomena?

AI Thread Summary
The discussion focuses on finding suitable physics simulation programs for visualizing complex phenomena, particularly in areas like electromagnetism and chemistry. Users express a need for more advanced simulations than those offered by basic platforms like PhET, seeking software that allows for detailed parameter adjustments. MATLAB with Simulink is highlighted as a leading but expensive option, while Octave is suggested as a free alternative that mimics MATLAB's capabilities. Other platforms mentioned include FEMLAB, which has evolved into Comsol, and Mathematica, which offers trial versions for exploration. Overall, participants emphasize the importance of programming knowledge for effective simulation and problem-solving in physics.
xx0numb0xx
Messages
6
Reaction score
0
What are some free or commercially available simulation programs? The simulations I'd like to run would be related to spark discharge, electromagnetism, general chemistry, metal alloys, diamagnetic levitation, and such. It's nice knowing the formulas and theories behind stuff, but it'd be much nicer being able to see it happen without needing the equipment to do it live. I'm not looking for simple programs like those available by PhET Interactive Simulations. For example, PhET has several electromagnetism simulation programs, but those don't allow you to change the amount of current going through the wire, change the core material, height, diameter, or shape, go beyond four windings, etc.. I'm not expecting programs like those used to accurately simulate the big bang on supercomputers, either. I'm also open to some kind of sandbox simulator where I put in the formulas for gravity, magnetic flux density, ionization energy, or whatever else is necessary. Lists of programs or ideas for searching for them are both welcome.
 
Physics news on Phys.org
FactChecker said:
Mathlab with Simulink is a leading software package. It is expensive and I think Simulink costs an additional amount. See http://http://en.wikipedia.org/wiki/Comparison_of_numerical_analysis_software for comparisons with Matlab. For a list of other simulation languages, see http://en.wikipedia.org/wiki/List_of_computer_simulation_software

Thank you. I'll definitely look into MatLab and some other programs on that list. The price for MatLab is pretty hefty even with a student license. If I find that it's worth it, I'll try to get a student license for it.
 
One could look into FEMLAB.
http://www.math.chalmers.se/Math/Research/Femlab/general.html

Physics simulation is afterall about solving a system of differential equations that describe a physical process or phenomenon. Obviously a time dependent system is more interesting than a static problem. Time scales, e.g., nanosecond, microsecond, millisecond vs years, decades, millenia, mega-anni. Mixed time scales are even more fun.
 
Last edited by a moderator:
Octave is a free open-source alternative to MATLAB that does virtually everything MATLAB does, except possibly for some packages such as Simulink and some optimization tools, but they are always implementing more functions. The programming language is the same, too.

However, if you are new to basic numerical methods (integration, differentiation, solving diff equations, solving non-linear equations, Newton's method, playing with matrices and linear systems), I would recommend implementing your problem in a basic programming language you are familiar with, such as Python, C/C++, Java, etc, so you build the intuition behind what's being done behind the scenes in those softwares (MATLAB, Octave, ANSYS, and so on) so that you can better understand how your problem is being solved and figure out what's going wrong easier if you do not get a satisfactory/non-physical result.
 
Last edited:
  • Like
Likes 1 person
Hobold said:
Octave is a free open-source alternative to MATLAB that does virtually everything MATLAB does,


I will have to look into Octave. The lack of a Simulink equivalent may be bad for some uses, but Matlab is still a good simulation tool. I think the problems mentioned in the original post can be done in a Matlab equivalent easier than in a Simulink diagram tool. So if Octave can do that, it would be excellent to have.

Hobold said:
However, if you are new to basic numerical methods (integration, differentiation, solving diff equations, solving non-linear equations, Newton's method, playing with matrices and linear systems), I would recommend implementing your problem in a basic programming language you are familiar with.

I'm afraid I have to disagree with you there. Every student should know basic programming concepts (functions, etc.), but it is not necessary to know details of numerical methods so well that you can implement working programs for all those algorithms.
 
Thank you all for the replies. I found a friend who has MatLab, and I've tried playing around with it. I'm not familiar with programming or writing scripts, so it was quite new to me. All I've been able to do so far is write simple scripts for unit conversions, calculating magnetic flux and magnetic flux density for an electromagnet with a uniform cross-sectional area, asking the question "why" a million times with different answers each time (that took quite a long time to finish), and calculating the pressure required to lift an object on Earth with a given mass and flat surface area. I'm not sure how I could go about doing 3D simulations with MatLab. The one thing I'm sure about is that it would take me a very long time to learn how to aptly use it.
 
  • #10
And it looks like VPython is just a simple 3D modeling program where you write a script instead of actively building the model. I use Autodesk Inventor, Blender, or SolidWorks for macro-scale physical modeling.
 
  • #11
xx0numb0xx said:
I'm not familiar with programming or writing scripts, so it was quite new to me. All I've been able to do so far is write simple scripts for unit conversions, calculating magnetic flux and magnetic flux density for an electromagnet with a uniform cross-sectional area,

That is impressive. I would say that is a lot to learn in a short time. Programming scripts in a 4'th generation language is a lot to learn and is very beneficial in the long run. And what you accomplished would have probably taken much longer before such languages were developed.
 
  • #12
Astronuc said:
One could look into FEMLAB.
http://www.math.chalmers.se/Math/Research/Femlab/general.html

I would avoid Femlab. I used it as an undergraduate, but that was nearly 20 years ago and the program has not been updated since.

I believe the Chalmers Femlab software eventually evolved into Comsol (www.comsol.com), the latter is very often used in research and industry ( I use it a lot), but it is also very expensive.
 
Last edited by a moderator:
  • #13
There's open source physics at:

www.compadre.org/osp

where you'll find many simulations that use the OSP framework which allows you to write your own.
 
Back
Top