Best workflow for beginners

The best way, in my opinion, is buying commercial software so as ABAQUS, COMSOL, etc., except Mecaway. Otherwise you will have pretty weird experience with questionable results. Until you write such software yourself.

If you are planning to go deep in FEA (Not FEM) the best workflow is to get some background on Engineering or Physics. There are better , easier , faster and more reliable tools to achieve what you need, but don’t get a wrong idea with FEA. FEA is not programming. That is software development.

In my opinion.


The OP studies aerospace engineering. Surprisingly, with no option to take a CFD course.

1 Like

it is true: ) my university here in the states used to offer it but not enough students want to take it so they dont offer it anymore. It was only an elective as well. DUe to the housing crash currently going on in my state, it has effected student and professor retention.

I have had a calss on FEA, but the first half was an introduction on the theory of FEA. IE, we had to hand calculate meshes which took forever. The last half of the course was an intro to ANSYS. We did about 3 or 4 parts in ansys, none of which were ones we modeled in another cad program then imported into ansys.

when contacting the department of education to see why so much of the class was theory andd not application, i got the answer “Because that is what the federal and state government want”

This frustrated me so i am trying to take matters into my own hands and learn the application of it. Jobs i have been looking at want experience in calculix/abaqus and NOT ansys.

I have been using google bard and chat gpt to kind of help muddle through it, but so far the youtube videos help alot. Its now just finding the correct youtube videos haha.

I got paraview to work this morning, it had so many errors when trying to open. I had to go find MSMPI, and about 3 other DLL’s that were not packaged with the downloader, even though i got the MSMPI version.

So now that i have my results mesh imported, im starting to look around the GUI and see what it can do.

You’re forgetting one: all in calculix.

The best way is to try all of them and see which one suits the problems you’re working on.

For example, for fast iteration nothing beats a parametric model built in cgx followed by analysis in ccx, with everything tied together with make. A one-line edit and you can have a new variant analysis. But for complicated shapes this it tricky. Nevertheless, this is the workflow I most often use when dealing with anisotropic materials (fiber reinforced composites). In that case, I also use some self-written Python scripts to e.g. help with orienting material properties. One benefit of this approach is that you can get nice and regular meshes. Over time, i’ve assembled template files and snippets that help a lot when setting up a new analysis. On my website I have some articles describing this workflow. Maybe you’ll find them useful.

The FEM workbench in FreeCAD is nice and offers some things (like surface traction) that are not built-in to CalculiX. Last time I looked, it did not seem to expose all that CalculiX has to offer. And AFAIK, this calls gmsh under the hood. And personally I like the command language of calculix better. Especially if you want to e.g. see the difference between two analyses; then I can just use diff instead of having to dig through dialog boxes.

I also use the FreeCAD/gmsh/calculix workflow for modelling/meshing/calculation. Especially for more complicated parts made from isotropic materials.

I prefer to use gmsh in batch mode using a geo file like shown below.
(This is one of my standard templates).

Basically I run gmsh interactively at least once to see which (physical) surfaces I need to designate for loads and constraints.
Generally I only have to repeat that is the amount of surfaces changes.
After that I use the script.

The parameters that determine mesh size have to be tuned to every problem, of course.

// Use “gmsh <filename> -” to run non-interactively.

// Convert coordinates to meters
Geometry.OCCTargetUnit = "M";
Merge "import.stp";

// Describe all physical groups to be saved.
// These numbers generally change when extra features are added to the step file.
Physical Surface("Nload") = {7};
Physical Surface("Nfix") = {9};
Physical Volume("ignore",1) = {1};

Mesh.Algorithm = 2; // Automatic
Mesh.ElementOrder = 2; // Create second order elements.
Mesh.SecondOrderIncomplete = 1; // Use 10-node tet elements.

Mesh.MeshSizeFromCurvature = 40;
Mesh.MeshSizeMax = 0.01;
Mesh.Smoothing = 10;

Mesh.FirstNodeTag = 2; // Keep node 1 free for ref node.
Mesh.Format = 39; // Save mesh as INP format.
Mesh.SaveGroupsOfNodes = 1;
Mesh.SaveGroupsOfElements = -1000; // Only save volume elements.
Mesh.Optimize = 1;

Mesh 3;
OptimizeMesh "Gmsh";
Coherence Mesh;

Save "gmsh-output.inp";
// Remove the “*Heading” before inclusion in a CalculiX INP file.
// Also remove the sets named “ignore.”
// I use a custom Python script for this.

With regard to postprocessing; If a client wants extra shiny pictures, I’ll use paraview for post-processing. But for me, cgx usually tells me what I want to know. This is my standard template file for viewing stresses with cgx:

# Define the view.
rot y
rot r 135
rot u 30

# Read result data
read job.frd
# Read input data (sets) if needed
# read job.inp

# For symmetric models where only one half
# is calculated...
#copy all new mir y
#comp all do

capt Caption
ulin Worst principal stress

# Stress
mm 100e6 el
cmap coolwarm
ds 4 e 23
view disp
view sh off
view elem
scal d 10
1 Like

i have tried to use just the gmsh gui and i can never get it to load a model or mesh a model haha. So i just use gmsh inside of freecad. I want to learn the gui of gmsh, but for now, i want to learn calculix and im not sure where to even start with that.

What is cgx? a way of displaying results graphically?

i have a 25x25x25 mm cube all modeled and ready to test with calculix. I have prepomax installed as well.

I think i will start a new thread not about work flow but actually about calculix now and move forward

i am currently looking at your site. thank you for the link.

Thanks for all the help so far. I think its time for me to use calculix now haha. first i need to install it haha. Is there a way to get to it if i have freecad already installed?

also, i create simple converter from SketchUp 3D model to CGX readable file, description is in other threads. It still has limitation in curve object, but can manually be fixed and adjust in text editor.

In case of standard Step file format supported and modeling like SketchUp workflow, there’s another commercial 3D CAD similarity available such as Design Spark Mechanical, Form Z or Plasticity.

1 Like

Don´t use Paraview if you are a beginer! Focus on Prepomax, it has all the tools that you need for preprocess, apply boundary conditions, solve and postprocess, all without changing the program in front of you, even for complex projects.


Agree with Sergio.

Less is more. Simplify or this can be overwhelming.


Any of these two options is excellent.

Mecway is probably more consolidated, but Prepomax is under strong development and free.
Any of their Forum is an unvaluable help.


Ccx manual .

To start, just look at the final inp that your Prepomax or Mecway generate. You will get a flavor of how the inp is build and the syntax. When progressing you will need the manual for more advanced settings.

Tutorials with the Step file. Excellent starting point.

Step files Collection for practice. FeAnalyst also provide the step files of its examples.
You can also try some of the McMaster huge step collection.

Start modeling solids. Even many books and examples are with shells, they require more advanced setups.No need at this moment of Netgen, Gmesh, FreeCad, Salome,….
No more no less. Just with these few tools you can start modeling in one hour.
Forget about compiling the software, meshing techniques, 3D modeling, different solvers, file converters…
All that will come out progressively. Take my advice. It’s a big mistake to try to tackle it all at once and you will only get demotivated. Simplify to the very basics so you can focus on the engineering problem and reading the results.

If you can’t solve one tutorial with those simple tools, search for another tutorial where the step is provided.



You could also try my calculix component for coreform cubit.
You can create the geometry and do the whole preprocessing with cubit. For the postprocessing you can either use cgx or paraview.
There is a .frd and .dat to paraview converter built in. Viewing single parts from the assembly or integration point results is also possible.
There is no windows build yet but it`s on my todo list.

1 Like

Beginner…freecad and prepomax…life is too short.

1 Like

Another important thing about Prepomax… it include engineering units for pre and postprocessing, most of the FEA errors came from using bad units, or mixing it inside the input file. CCX/CGX/Paraview all work without units and can be a nightmare.


To open a 3D model in the gmsh UI, use File->Merge (preferably use a STEP file to merge).
If you have merged a 3D model, click “mesh” in the tree view on the left of the screen, then click “3D”. That will mesh the surface and volume with the default parameters.

Yes, CalculiX GraphiX to use the proper name is a programmable pre- and post-processor.

1 Like

i currently use, a meshless fea that works with stl files. Its kind of interesting. Dont know how accurate meshless is but still a cool process

model in freecad, mesh and analysis in prepormax?

thank you for this reply. It helps me understnad a excellent approach to my goals.

I will eventually learn more and more, but i should and need to start basic.

So for right now, it looks as if my work flow will be freecad for modeling, then using prepomax for meshing and analyzing.

interesting, i will have to try that with gmsh. I was watching a video, however it was all in german so i had no idea what they were saying, but they were using notepad++ to right some basic code to import the file. Was not confusing, just seemed like extra work.

in case of Stl file based format seems TetWild more robust than Netgen, Tetgen or Gmsh. I have testing personally for large variance of models.

1 Like

Well, if you do it like that, it is immediately clear from the text file what options you’re using. That’s a lot faster than digging through menus and options in the GUI.

There should be a way to have the choices you make in the menus and options recorded in a .geo file, but I can’t recall how at the moment. Check the gmsh manual.

can prepomax do cycles to failure?