Contact US

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Modular finite element analysis software

Modular finite element analysis software

Modular finite element analysis software

Hi everyone,

I posted on the structural engineering general discussion forum and was pointed here with my question. Here it goes:

I am doing research on iterative solvers and would like to ask if there are any modular FEA packages out there. Let me explain. What I am after is something along the lines of Geometry modeller (optional) -> Boundary condition/Load processor -> Meshing routine (different elements ideally) -> Solver -> Post-processor. At every step "->" information from the modules should be exportable in some format (doesn't matter what, this can be taken care of with a custom piece of code) and importable to the next. In my particular case, I want to run the above pipeline up to and including the Meshing step, export assembled global matrices and load vectors and use them to get displacements from the custom solver I work on. These displacements, formatted appropriately should then go the Post-processor module to get stresses, strains, etc.

This might be a tall order, but I had to ask. Alternatively, a software which can work with externally generated displacement data would also do in a pinch.

Any suggestions are more than welcome!

RE: Modular finite element analysis software

Hi PHristov,

Let me preface this message with a disclaimer - I work for Coreform where we develop and sell the Coreform Cubit mesh generation software. Prior to joining Coreform I worked for ~8 years as an FEA analyst, as a contractor to the US DOE and did a lot of experimenting with various codes and utilities. I will layout multiple options that you might have, but invariably I will be mentioning Coreform Cubit in many of the options. However I will also provide several other options based on open-source or other commercial codes.

I think the central key is finding an FEA code that either outputs your necessary linear system information, or at least exposes it in code so that you might be able to export (but potentially requiring code development). After selecting your code I would look at your tool for mesh-generation.
a. Abaqus - there is an option for generating and outputting the linear system information to files. Here's the documentation for this functionality, note that this isn't available from with the GUI application, you have to add it manually into the input file: https://abaqus-docs.mit.edu/2017/English/SIMACAEAN.... A nice thing about Abaqus is that you could use its GUI (Abaqus CAE) to do your geometry modeling and mesh generation, the Abaqus solver to create the matrix files, and its post-processor for analyzing the results. Also you can automate this process via its Python API.
b. MOOSE - www.mooseframework.com -- Open-source Multi-physics FEM from Idaho National Labs. I don't know if they have a built-in functionality for outputting the linear systems, but they use PETSc for their solvers and there is a PETSc method for writing matrices to disk: https://www.mcs.anl.gov/petsc/petsc-current/docs/m... -- You might need to write some code to enable this from a MOOSE run. For a recent MOOSE workshop I made a YouTube video (and an accompanying Zenodo repository with files) demonstrating how to install / run MOOSE on a Windows machine. MOOSE has some basic capabilities for building "primitive" meshes within the solver step, but they recommend using an external meshing software such as Cubit, GMSH, or others. Note that the preferred input mesh file format is Exodus - which is native to Cubit and many DOE-related codes. MOOSE natively exports Exodus files, which can be natively visualized in ParaView - or using the open-source SEACAS applications like "exo2mat" or "exodus.py" to do your own quantitative post-processing.
c. MFEM - www.mfem.org - another DOE-based, open-source FEM code. This is a little less polished than MOOSE (MFEM is primarily a research code) but it supports high-order elements and other exotic element types. They support a variety of mesh formats (as well as their own "hand-generated" specification) such as Cubit, GMSH, NETGEN, and VTK. Alternatively, you might just use some of their really cool examples from that last link. I think they also use PETSc - again I don't know if they support direct export from within MFEM, but you might give it a look.
d. FEniCS - https://fenicsproject.org/ - an open-source Python based solver. I have little experience with this tool, but this presentation makes it look like you can use the Exodus format from Cubit or a GMSH format for input. Again, you'll probably need to write a function to export the linear systems to a file, but this might be easier to do in FEniCS than MOOSE or MFEM.

Regarding tools for mesh-generation. In my personal opinion, many of the open-source mesh-generation tools are fantastic at generating quality tetrahedral meshes, but few (if any) succeed at generating quality hex-meshes.
a. Abaqus - see discussion above.
b. You might be interested in Coreform Cubit Learn - which is free for non-commercial use (export limited to 50k elements, but this is flexible if you talk to us). Like Abaqus it has a built-in geometry modeler (though admittedly not as powerful as Abaqus from a usability standpoint due to lack of constraint-based sketching) and you can automate Cubit via its Python API. Cubit can generate 1D, 2D (quad/tri), and 3D (hex/tet) meshes.
c. GMSH - https://gmsh.info/ - fantastic for building tetrahedral meshes, not so good for hex meshes (currently does subdivision of tets, which leads to bad element quality). This might change once they finish integrating HEXTREME into GMSH (I'm excited anyways!)
d. SALOME - https://www.salome-platform.org/ - This is another free (open-source?) mesh generation tool that I'm aware of, but I honestly don't have any experience with it. But it's worth looking into as I've heard good things about it and I'm pretty sure you can create hex-meshes.

Hope that's helpful. Feel free to ask for any clarifications or to continue brainstorming.

RE: Modular finite element analysis software

An excellent star-worthy post above.

I would add the following options -

Open source solvers: FEAP, deal.II, and CalculiX.
Commercial codes: LS-DYNA and ADINA seem to give plenty of low level access to developers. LS-DYNA has an old open source version (DYNA2D and DYNA3D) out there somewhere.
Commercial meshing tools: TrueGrid is a very inexpensive tool but it is NOT user-friendly. HyperMesh and ANSA two leading pre-processors.

Are you new to this forum? If so, please read these FAQs:


Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close