Programmes to learn for Nuclear Engineering Masters

Click For Summary
SUMMARY

The discussion focuses on essential programming languages and computational tools for students pursuing a Master's in Nuclear Engineering. Key recommendations include continuing with MatLab while also learning C++, Fortran, and Python, as these languages are crucial for computational physics and multiphysics simulations. The conversation highlights the importance of understanding reactor physics, thermal-hydraulics, and structural mechanics, as well as the trend towards integrating various simulation areas. Notable computational tools mentioned include Comsol, ANSYS, ABAQUS, and MOOSE, which is supported by the US DOE.

PREREQUISITES
  • MatLab programming proficiency
  • Basic understanding of computational physics
  • Familiarity with numerical methods
  • Knowledge of reactor physics and thermal-hydraulics
NEXT STEPS
  • Learn Python for computational physics applications
  • Explore C++ and Fortran for legacy code and scientific programming
  • Research numerical methods in the context of nuclear engineering
  • Investigate the use of Comsol, ANSYS, and ABAQUS for simulations
USEFUL FOR

This discussion is beneficial for students and professionals in nuclear engineering, computational physics, and anyone interested in enhancing their programming skills for modeling and simulation in scientific contexts.

Adam Woolsey
I am about to begin an MSc in Nuclear Engineering. I am competent in MatLab language but wish to practice/learn another in the time before my course starts. Would I be well served in continuing to practice MatLab or to learn another from scratch (C/Java/Labview)? Are there any particular areas within these programmes particularly relevant to nuclear physics that I should focus on?
 
Engineering news on Phys.org
It used to be that most scientist/engineers would learn Fortran, since much legacy code was written in Fortran. Now C/C++ has become a standard scientific language, and there is an emphasis on object-oriented language. It's probably helpful to have familiarity with both.

The broad area of application is now 'computational physics', or 'computational multiphysics', in which one attempts to simulate a broad range of physical phenomena over multiple time and length scales, from atoms to planet size, and larger, and picoseconds to billions of years, depending on the physical system being modeled.

The challenge is to understand the physical phenomena involved and the mathematical equations that describe the system in sufficient detail to allow a reliable or realistic prediction of the behavior.

See for example - http://farside.ph.utexas.edu/teaching/329/329.pdf

There is a broad array of computational tools from which to choose:
http://prancer.physics.louisville.edu/astrowiki/index.php/Programming_for_Physics_and_Astronomy

In engineering, one would be concerned with movement, heat transfer, fluid flow, electric/magnetic fields (and currents), forces/stress, . . . .

To this end, there are numerous computational systems, e.g., Comsol, ANSYS, ABAQUS, . . . . The US DOE is supporting a system called MOOSE (based on C++).

Perhaps one should explore Python as well as exposure to C++ and Fortran.
https://en.wikipedia.org/wiki/Python_(programming_language)
http://www-personal.umich.edu/~mejn/computational-physics/

https://en.wikipedia.org/wiki/C++
https://en.wikipedia.org/wiki/Fortran

So one should explore 'computational physics' and/or 'numerical methods' with language as a qualifier, and see what various universities are teaching.
e.g., https://courses.physics.ucsd.edu/2017/Spring/physics142/Labs/FinalProject/NumMethods.pdf
https://www.uio.no/studier/emner/ma...Lecture_notes_and_literature/lectures2012.pdf

There are still plenty of legacy codes written in Fortran.
 
Thank you for your help and will look into those links shortly. Having a familiarisation with Matlab already I am keen to grow my knowledge of that. Do you think this would be a waste of my time?
 
Apparently, programs at various universities teach MatLab, or use MatLab in course work. It's probably useful to learn, but one should branch out into other languages, especially if one is interested in modeling and simulation.

It's best to get into a language like Python and C++ or Fortran and solve systems of equations in order to understand the physics and the mathematics involved in describing the physics. One might find oneself having to work on a problem with something other than MatLab.

The key areas in nuclear power systems are reactor physics or neutronics, thermal-hydraulics and structural mechanics (including fuel performance). If one does fusion engineering, then plasma physics would be in the reactor physics. In the past, detailed simulations were done more or less separately, but the trend has been to couple these areas. There are other related areas like radiation effects on materials.
 

Similar threads

Replies
1
Views
2K
Replies
12
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 25 ·
Replies
25
Views
809
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K