How can a student with zero computing or programming language knowledge, few engineering mathematics knowledge, understand computational science especially Finite Element Modelling (FEM) from engineering analysis point of view. I found out that there are so many branches or approaches to FEM (computational science) such as linear FEM, advanced FEM, Non-linear FEM, codes and algorithm etc. that are brought together under most good books and therefore render such books 'useless' or incomprehensible to a child. Some even approach problems from mathematical perspective. In fact you are happy as you begin reading the beginning chapters of some books but such happiness is often short-lived and begin to wonder when will the circle end in a good understanding and grasp of FEM. My question is who can really 'explain to me like I am five' the step by step action(s) I need to take to master FEM from A to Z (assuming one has a project in mind that is related to the modelling and simulation of thermo-mechanical stresses in an Internal Combustion Engine (I.C.E.) piston using a particulate material).

  • 1
    $\begingroup$ It takes time to master FEM. If you really want to understand everything, you need experience. You can't really rush that. What do you want to do within the project? Writing a code for your purpose or using a commercial code? $\endgroup$
    – P. G.
    Nov 19, 2016 at 13:27
  • $\begingroup$ Thanks @P.G.; I aim at analyzing the thermo-mechanical stresses in-order to design a lighter, functional and durable I.C.E. piston. $\endgroup$ Nov 19, 2016 at 14:27
  • $\begingroup$ @P.G. I think it will be useful to know how to write a personal code so that if I want to use a commercial code, it will be like work-over. But as an expert what do you suggest? $\endgroup$ Nov 19, 2016 at 15:06
  • 1
    $\begingroup$ Writing a personal code for your task is very time consuming. And without deep knowledge of the FEM I wouldn't suggest that. But writing your own FE code for some small problems will only enhance the knowledge about FEM. For your task you would need to know at least the basics of FEM (for mechanical and thermal problems) and then the basics of modelling with a commercial software (boundary conditions, loads, materials). $\endgroup$
    – P. G.
    Nov 19, 2016 at 15:23
  • 2
    $\begingroup$ As Wolfgang said, there's no king's road to understanding (which is implied by "expert") advanced computational science. If you want to put in the effort, you can find some recommendations in the answers to these questions: scicomp.stackexchange.com/questions/1445/…, scicomp.stackexchange.com/questions/13085/…. (In fact, I'd consider (the answerable part of) this question as a duplicate.) $\endgroup$ Nov 20, 2016 at 10:32

1 Answer 1


There is no shortcut. Just like there is no shortcut to becoming an "engineering expert in a short time".

The thing is that to be an expert in civil engineering, you need to understand load analysis, use cases of buildings and bridges, materials, designs, and regulatory issues. For computational science, you need to understand the mathematical background, programming, some computer software and hardware design, nonlinear and linear solvers, and a few other things. If it was easy, everyone would be an expert. But it isn't. You can't teach finite element methods to students "as if they were five". The closest you can come is if you used commercial codes that hide a lot of the material from you, but even then you will be more productive and accurate if you understand what you are doing.

  • $\begingroup$ Thanks @WolgangBangerth, agreed that writing personal code(s) is not the the way to go (even using commercial codes is just a small part of the the whole game, you need to instruct the commercial codes what task you want it to get accomplished; even understanding of what you want will dictate what type of commercial code to incorporate), some authors said FEM was developed by engineers to solve structural problems later it was embraced by mathematicians and other fields due to its ... $\endgroup$ Nov 19, 2016 at 16:18
  • $\begingroup$ versatility and usefulness, what are the systematic or orderly topics one need to master in-order to have a grasp of FEM to solve any thermo-mechanical or other problems. I think saying computational science may be too broad or mis-leading. $\endgroup$ Nov 19, 2016 at 16:18
  • $\begingroup$ I gave a list: "mathematical background, programming, some computer software and hardware design, nonlinear and linear solvers". $\endgroup$ Nov 21, 2016 at 1:48
  • $\begingroup$ You mean "where can I learn about these topics"? $\endgroup$ Nov 22, 2016 at 0:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.