Programmes to learn for Nuclear Engineering Masters

Click For Summary

Discussion Overview

The discussion revolves around programming languages and tools relevant for students entering a Master's program in Nuclear Engineering. Participants explore the merits of continuing with MatLab versus learning new languages such as C, C++, Java, or Python, particularly in the context of computational physics and engineering applications.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant is considering whether to continue practicing MatLab or to learn a new programming language before starting their MSc in Nuclear Engineering.
  • Another participant notes the historical significance of Fortran and the current preference for C/C++ in scientific programming, emphasizing the importance of object-oriented programming.
  • There is a suggestion that familiarity with multiple programming languages is beneficial, particularly in the context of computational physics and multiphysics simulations.
  • Participants mention the need to understand physical phenomena and mathematical equations to make reliable predictions in modeling.
  • Various computational tools and systems are highlighted, including Comsol, ANSYS, ABAQUS, and MOOSE, which is supported by the US DOE.
  • Python is proposed as a valuable language to explore alongside C++ and Fortran, particularly for numerical methods and computational physics.
  • One participant expresses a desire to deepen their knowledge of MatLab but questions whether it would be a waste of time.
  • Another participant suggests that while MatLab is useful, branching out into other languages is important for modeling and simulation tasks.
  • Key areas in nuclear power systems are identified, including reactor physics, thermal-hydraulics, structural mechanics, and plasma physics for fusion engineering.

Areas of Agreement / Disagreement

Participants generally agree on the importance of learning multiple programming languages and tools for nuclear engineering applications, but there is no consensus on the prioritization of MatLab versus other languages. The discussion remains unresolved regarding the best approach to programming language acquisition.

Contextual Notes

Participants mention various programming languages and tools without resolving the specific advantages or disadvantages of each. The discussion reflects a range of opinions on the relevance of MatLab in comparison to other languages in the context of nuclear engineering.

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
4K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 25 ·
Replies
25
Views
1K
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K