FEMaster as a FEM solver

Hello Matej, Sergio and others,

i am the author of FEMaster and would absolutely love to assist you in anyhting you could need for this if you decide to do it. Regarding a few comments on this channel and maybe some background. I was working in Munich during my bachelors degree at MTU (thats where Guido Dhondt, author of calculix worked as well). I had some insights into calculix and read the book from Guido Dhondt. I thought that I could do those things myself in a modern c++ object oriented framework.

The fact that I used *SUPPORT instead of *BOUNDARY is probably a blunder and i could just add the compatibility for that. The fact that I didnt use *STEPbut *LOADCASE is also a blunder probably. If it simplifies things for you, I am happy to use other keywords.

But i decided actively to move away from certain keywords that abaqus and calculix use, for example the *CLOAD, OP=... bothered me greatly.. I dislike carrying loads from one step to another. Instead I went with the Hypermesh option of load-collectors and support-collectors which contain loads and supports and can be referenced from the steps.

Also one major flaw inside CalculiX/Abaqus is that *TRANSFORM is applied onto nodes which means that you cannot apply a load and a support in different coordinate systems onto the same load. In FEMaster i didnt do that but instead apply it onto loads and supports directly.

Another thing is constraint handling in femaster. Ill be honest: The nonlinear solving is a little bit weird at the moment and all the constraints are built to work in a linear analysis. Nonlinear tie does probably work but nonlinear connectors will probably be messy when the rotations get large (ill work on this asap). But I dropped the assumption that calculix and abaqus made which is that a slave-surface can only be used once as a slave. I have different way to handle constraints. ELIMINATION is what abaqus and calculix use. its very fast but has this limitation. Alternatively one can use NULLSPACE which is numerically a little bit worse but can deal with cyclic constraints. Also there is LAGRANGE which is viable in some cases…

Best,
Finn

12 Likes