What computer skills are required for physicists working in the field?

In summary, the conversation primarily revolves around the computer skills used by physicists in their work. Some commonly used technologies include MATLAB, C, Fortran, Maple, Mathematica, and various scripting languages/interfaces. These skills are used for tasks such as data analysis, solving differential equations, plotting results, and creating simulations. While C and Fortran are generally preferred for numerical work, other languages like Java are also used. There are also resources available, such as the book "Java Number Cruncher," for those interested in learning more about using Java for physics applications. Additionally, the conversation discusses an interactive animation developed by a user to demonstrate orbits around black holes, which uses various computer techniques like solving differential equations and plotting results.
  • #1
snackanddrink
11
0
I thought this might be a well-used thread if I asked the following:

What computer skills do physicists use in their work? Please tell me what technology you have learned for whatever job you do. This questions mostly geared toward those of you guys out in the field, not fellow undergrads like myself. (:
 
Physics news on Phys.org
  • #2
I'm a graduate student doing work in the stochastic solution of chemical rate equations.

This is a purely computational exercise. The original code was in MATLAB, but I translated it to C this summer and obtained speed improvements of about 200x. Currently, we're working on applying evolutionary algorithms to pick rate parameters that give us the best fit to "experiment".
 
  • #3
matlab, c and fortran are widely used. how much and what exactly you need to know depends a lot on how computationally oriented whatever you do is. I mainly use MATLAB for data-analysis but all of the heavier computational work the theorists do at our lab is done in fortran or c.
 
  • #4
As others have said, C and Fortran for numerical work like solving differential equations, computing definite integrals, finding roots, etc.

Maple and Mathematica are used to do the above things symbolically, if possible. Sometimes an attack that uses a combination of symbolic and numerical computer methods is needed.
 
  • #5
Matlab - great for visualising results, fast.
 
  • #6
As a grad student, I work with fortran and mathematica on a daily basis. Fortran, because that is what most of the codes I work on were written in before my time. Mathematica because my advisor uses it for a lot of things so it makes it easy for me to send him files regularily. He does use it for things that would be better done with MATLAB but that just isn't the way he does things.
 
  • #7
I'm also a grad student, and I will be working in C/C++/F for my simulations dealing with HPC "realtime" rendering and Nbody. I also use Matlab for classes(booo).
 
  • #8
I'm dabbling with C# in my spare time. The C family are extraordinarily powerful, but can be very difficult to use and perhaps are superfluous for physics applications in some cases. They teach FORTRAN here in second and third year, and the staff are apparently quite keen on MATLAB for certain things, but I never got on with it.
 
  • #9
I do mostly condensed matter & material science stuff ... Cs, F for HPC, Python, some Perl, Java, visual basic etc. ... quite a bit of the software development is done "directly" using MATLAB & mathematica (scripting, simple GUI builders, their 'compilers') and various other scripting languages/interfaces.
 
  • #10
I'm an undergrad student, first year in Theoretical Physics / Applied Maths, I have taken 2 years of java in Highschool, I would really like to pursue advanced programming with java and physics together. If anyone has any resources I'd gladly appreciate them. I know that most of you said you work in a C language or Fortran, but I would like to try my luck at writing programs for physics with java
 
  • #11
mgiddy911 said:
I'm an undergrad student, first year in Theoretical Physics / Applied Maths, I have taken 2 years of java in Highschool, I would really like to pursue advanced programming with java and physics together. If anyone has any resources I'd gladly appreciate them. I know that most of you said you work in a C language or Fortran, but I would like to try my luck at writing programs for physics with java

You might want to look at these books, which complement each other nicely.

Java Number Cruncher: The Java Programmer's Guide to Numerical Computing

https://www.amazon.com/gp/product/0521821134/?tag=pfamazon01-20

In order to teach myself some Java, I have developed an interactive animation that shows orbits (timelike geodesics parametrized by proper time) about Schwarzschild black holes. The program numerically solves differential equations, computesdefinite integrals, finding roots, and plots the results graphically.

The animation takes as input from the user the initial r coordinate, and the initial speed and angle with respect to an orthonormal frame of a platform hovering (and experiencing an incredibly large "g-force") at that r value.

The animation sits in a frame in a bunch of hyperlinked html files. These files contain a number of short explanations and write-ups for some suggested virtual experiments that can be performed with the package.

Experiment 1: Falling Into a Black Hole
Experiment 2: Escape Velocity
Experiment 3: Investigation of Stable Circular Orbits
Experiment 4: Investigation of Unstable Circular Orbits
Experiment 5: Investigation of Spiral Orbits
Experiment 6: Gravity Bends Light Rays!
Experiment 7: Boundaries Between Orbits of Various Kinds
Experiment 8: Orbital Precession and Closed Orbits

I've had a lot of fun (and some frustrations) developing and playing with the package. I have attached a zipped file that contains all the necessary files. To use the animation, unzip the zipped file, making sure that all files are extracted into the same folder. (A new folder should probably created before doing this.) Click on the file blackHoleOrbits.html to view and interact with the animation.

The animation is certainly not at a professional level, and it has glitches and warts.

I posted this a couple of years ago, but I think I have fixed one of the minor glitches.
 

Attachments

  • Black_Hole.zip
    24.7 KB · Views: 314
Last edited by a moderator:

FAQ: What computer skills are required for physicists working in the field?

What is "Computation for physicists"?

"Computation for physicists" is a field that combines principles of physics and computer science to solve complex problems in physics using computational methods and tools.

Why is computation important for physicists?

Computation allows physicists to model and simulate complex physical systems that cannot be solved analytically. This allows for a deeper understanding of the underlying principles and can also help make predictions and guide experimental design.

What programming languages are commonly used in "Computation for physicists"?

The most commonly used programming languages in "Computation for physicists" are Python, C++, and Fortran. These languages have libraries and frameworks specifically designed for scientific computing and offer a good balance between performance and ease of use.

Can "Computation for physicists" be used in other scientific fields?

Yes, the principles and tools used in "Computation for physicists" can be applied to other scientific fields such as chemistry, biology, and engineering. Many computational methods and techniques have broad applications and can be adapted to different disciplines.

Are there any ethical considerations in "Computation for physicists"?

Yes, as with any scientific research, ethical considerations must be taken into account in "Computation for physicists". This includes issues such as data privacy, potential misuse of computational models, and responsible use of artificial intelligence and machine learning algorithms.

Similar threads

Replies
1
Views
817
Replies
9
Views
2K
Replies
6
Views
2K
Replies
14
Views
2K
Replies
19
Views
2K
Replies
33
Views
6K
Replies
2
Views
924
Back
Top