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

In summary, there are many simulation programs available, both free and commercially available, for a variety of topics such as spark discharge, electromagnetism, general chemistry, metal alloys, and diamagnetic levitation. Some popular software packages include MATLAB with Simulink, Octave, and Mathematica. There are also open-source options like VPython and Open Source Physics. It is recommended to have a basic understanding of programming and numerical methods in order to effectively use these simulation programs.
  • #1
xx0numb0xx
6
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
  • #3
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.
 
  • #4
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:
  • #5
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
  • #6
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.
 
  • #9
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:
  • #14

1. What is a physics simulation program?

A physics simulation program is a computer software that uses mathematical equations and algorithms to simulate the behavior and movement of objects in a virtual environment, based on the principles of physics.

2. What are the applications of physics simulation programs?

Physics simulation programs have a wide range of applications, including research and development, training and education, entertainment and gaming, and engineering and design.

3. How do physics simulation programs work?

Physics simulation programs work by using mathematical models and algorithms to simulate the physical properties and behaviors of objects in a virtual environment. These programs use numerical methods to solve complex equations and calculate the movement and interactions of objects based on physical laws and principles.

4. What are the benefits of using physics simulation programs?

Some of the benefits of using physics simulation programs include cost-effectiveness, as they can save time and resources compared to real-life experiments, accuracy in predicting outcomes and behaviors, and the ability to simulate scenarios that may be difficult or dangerous to replicate in the real world.

5. What are the limitations of physics simulation programs?

While physics simulation programs have many benefits, they also have some limitations. These include the need for accurate input data and assumptions, potential errors and inaccuracies due to simplifications and approximations, and the inability to account for all variables and conditions in complex systems.

Similar threads

  • Programming and Computer Science
Replies
4
Views
3K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
  • Programming and Computer Science
Replies
2
Views
3K
Replies
1
Views
2K
  • STEM Academic Advising
Replies
3
Views
429
  • STEM Career Guidance
Replies
4
Views
7K
  • STEM Academic Advising
Replies
5
Views
2K
  • STEM Academic Advising
Replies
3
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
8K
  • STEM Career Guidance
4
Replies
108
Views
15K
Back
Top