Programming in mechanical engineering

Click For Summary

Discussion Overview

The discussion revolves around the role of programming skills in the field of mechanical engineering, particularly for students and professionals with a background in computer science. Participants explore the applicability of programming in various mechanical engineering domains, including machine design, robotics, and computational fluid dynamics (CFD).

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant inquires whether programming knowledge is a valuable asset in mechanical engineering, particularly for developing algorithms to solve complex problems.
  • Another participant mentions that machine design and robotics programming require basic logic skills, especially for programming PLCs, with complexity increasing with the machinery involved.
  • A different participant notes that commercial structural analysis software has become a mature industry, suggesting that working for established companies may be necessary for those looking to improve mainstream software.
  • There is a historical perspective shared about the past practice of writing custom analysis software, which is now largely replaced by commercial solutions, although niche problems still exist that may require smaller scale software development.
  • CFD is highlighted as an area of interest, with a suggestion that it is catching up to mechanical analysis in terms of software maturity.
  • One participant reflects on the continued use of legacy software from the 1960s, emphasizing the value of engineers who can work with such older codes, which may still be relevant today.

Areas of Agreement / Disagreement

Participants express a range of views on the necessity and application of programming in mechanical engineering, indicating that while some see it as essential, others suggest its relevance may vary by specific engineering fields and roles. No consensus is reached on the overall importance of programming skills.

Contextual Notes

Participants discuss the evolution of software in mechanical engineering, noting that while custom software development was once common, it has largely shifted to commercial solutions. There is also mention of the ongoing relevance of older programming languages and software in current engineering practices.

etotheix
Messages
21
Reaction score
0
Hi,

I have a general question related to the mechanical engineering profession.

I am a second year mechanical engineering student and I also have a college degree in computer science, my skills are mainly C/C++ programming and networking/Linux environment (system administration).

I love both fields, basically what I want to know is : are there in mechanical engineering fields that require good programming knowledge? In other words, is it a good asset to have? Or is it more used in research projects?

I am not talking about using basic MATLAB functions, but maybe something along the lines of developing fast and effective algorithms to solve complex engineering problems.

Thanks in advance.
 
Engineering news on Phys.org
Machine design and robotics programming. You would need basic logic skills to program things like Allen Bradley Mircologix PLCs (example). The more complex the machinery that needs to be automated, the more complex the PLC program.
 
Commercial structural analysis software is now a mature industry in itself. If you want to work "full time" on improving software to solve "mainstream" problems yuo probably need to be working for a company like MSC (Nastran), HKS (Abaqus), etc.

20 or 30 years ago that was not necessarily the case, and high tech companies sometimes wrote their own analysis software "from scratch" to do things that were beyond the state of the art of the commercial programs (been there, done that!) but that is pretty much dead now.

On the other hand there are always "niche market" problems that need to be solved that invove smaller scale software development, and (as the other answer said) there is embedded software. Even if you are mainly using Matlab, using it efficiently can make a huge difference to what you can achieve.

You might be better thinking about CFD rather than solid mechanics. CFD software is catching up with mechanical in terms of maturity and "idiot proof" handling of complex problems, but it's still 10 or 20 years behind mechanical analysis IMO.

Another option would be to go right to the leading/bleeding edge of so-called multiphysics problems, in a research environment rather than a "traditional" engineering company.
 
Thanks a lot for the answers! CFD looks very interesting I will defenitely try to learn more about it.
 
AlephZero said:
...20 or 30 years ago that was not necessarily the case, and high tech companies sometimes wrote their own analysis software "from scratch" to do things that were beyond the state of the art of the commercial programs (been there, done that!) but that is pretty much dead now...

We are still working with computer programs originally written (in Fortran) in the 1960s, though they have been modified from time to time since then. Engineers who can work with these old codes are worth their weight in gold.

Some of these have had user interfaces (in C++) grafted onto them.
 

Similar threads

Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
13
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
17
Views
2K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
12
Views
3K