Prepomax developement propossal and ideas

Hi everyone,

I write about something that I am thinking about from some weeks ago.

I think Prepomax is a very great software, but what I like more is the potential. Today, is an open project, and the problem is that a lot of institutions/companies don’t see as a professional alternative. At least, it is my case.

I can see the huge effort and work developed by @Matej Also is very appreciated on this forum from people such as @FEAnalyst or @SergioP1975 . Impressive.

But I think it is not enough. I think the project should move forward with a more professional vision. And there is where we can support to Matej. I have a couple of propossals:

1- Develop calibration models to show validation of software. From simple models (simple beam supported, etc) to benchmarks, such as the NAFEMS’s

2- I understand that some of these tasks could be more or less easy to do. But some developments and implementations (for example what I was talking about the stress linearization, of others such as I have in mind that could be a bidirectional path with applications such as CalcPad or an interface for structural analysis with beam and shells) would require full time personal. One way to obtain founds could be through European Union founds, or through platforms such as Kickstarter, for example. We can help also for the proposals, ideas, search companies interested, etc. Imagine a general platform where you can move from one interface to another with one click, and have the possibility to run complex calculations with OpenRadioss, Calculix of FEAMaster, import wind Loads from OpenFoam but also to do Eurocode checks for some items.

Please @Matej keep in mind me (and for sure a lot of more people) are opened to support you.

3 Likes

This was proposed some time ago. But, to be honest, it’s mostly needed for the solver (CalculiX). Of course, apart from a few PrePoMax-specific features like wear analyses.

Yeah, it was discussed a few times in the past. IMO let’s leave it for Matej. But we should also keep in mind that AI completely changed software development (as we can see even by looking at the new CalculiX postprocessor) and even potentially large features like stress linearization can be developed with a very low effort nowadays. PrePoMax already has a link with Claude for automation.

While unifying interfaces is a good idea (e.g. Dassault does that with the 3DEXPERIENCE platform), sometimes supporting too many solvers and features is not so good. PrePoMax excels at structural mechanics with CalculiX and while OpenRadioss support would be great and load import from OpenFoam is already available, supporting code-based calculations could clutter PrePoMax too much.

Are you familiar with FreeCAD ? It has the concept of add-on workbenches (and macros). You can find some also for very specific tasks (such as ship design and calculations or even amateur rockets). Perhaps this platform, also offering CAD, CAM, FEM and other tools, would be better for such a general toolset. And there were some attempts to support OpenRadioss as well.

1 Like

Hi @FEAnalyst thank you very much for your reply. As you say, IA is a game changing technology. For that reason, I think that today structural engineers (real users) we are benefit in the way that we are not going to depend on implementations as before. For that reason, industry connected specialists we know the usually requirements. For that reason I think that would be a nice idea to expand this wonderfoul project.

I use FreeCad for small things (personal and professional). But I think CAD orientation is different from CAE. I have more than 20 years experience, and always I have heard about CAD/CAE integration, etc. and I think is very difficult (if not impossible, but now with AI who knows…). Design requires different considerations than simulation. Now you say, an additional implementation that could be done in Prepomax is model preparation (midsurfacing, edges extensions, etc). I used for years SpaceClaim, and is a very helpful tool.

Of course it depends on the application, but some cases can benefit a lot from MODSIM (Modeling and Simulation) approach. Especially if there’s a large number of design iterations and revisions. Nowadays, having to work with STEP files and limited CAD capabilities of FEA software can be quite problematic. As you say, implementing at least some basic geometry preparation features in FEA preprocessors is a good idea. PrePoMax is already getting some (the new version will have improved defeaturing and partitioning).

FreeCAD also offers some powerful tools for geometry preparation, but most workflows there (especially midsurface creation) are very manual and thus tedious. However, everything there can be scripted and that’s where AI comes to help again. PrePoMax also got Python scripting now so with the help of AI, a lot more should be possible without even having to implement dedicated features for some specific workflows.

1 Like

I agree with all of your points, more integration with other solvers (guess that the more inmediat would be OpenRadioss), stress linearization, operations for create and work with orphan meshes, fatigue treatment, validation cases… But who will do the work? Who will maintain and give support such features?

Matej (if he sees the need for a particular feature and decides to implement it - so far he’s incredibly efficient), volunteers (hopefully there will be more for coding like with FreeCAD’s increasing base of contributors) and AI (as discussed above). So the same way as for other open-source software. Of course, it will take time to get all these features, but we don’t need all of them now. We have other tools:

  • some preprocessors for OpenRadioss
  • stress linearization in other postprocessors
  • standalone meshers (Gmsh, Netgen)
  • FreeCAD
  • Fatlab for fatigue

and many more. IMO it’s best to focus on features for which there are no good alternatives. We can wait even years for the rest - that’s normal not only for FOSS. Let’s keep in mind that PrePoMax already covers most of what we need for standard structural FEA and what we can get from CalculiX plus much more.

I also want to add some thoughts regarding a full preprocessor with “small” CAD features. I was working with Abaqus CAE, which should be quite a reference point for PrePoMax. I do not see any big differences to FreeCAD except for the defeaturing, partitioning, and hex-meshing abilities. The raw CAD abilities are quite similar. Thanks to the possibility of creating Python scripts and macros in FreeCAD, you are free to create parametric geometries. And this works really well.

That is probably the way PrePoMax should be built and will be built. With the ability to interact with the software via Python, you can change the software to whatever you like, with the smallest interference with the actual software code. Every feature takes time to be validated, etc. If you can do it yourself, you will be quite happy as a user. Thanks to AI, you might also be able to create these macros even if you are a novice in programming.

BUT: I truly understand why PrePoMax is currently developed solely by @Matej. It is still in its growing stage, and he wants to have full responsibility over the direction of the software. I would say it is similar to Linux and Linus Torvalds. Every line of code and every function committed to Linux had to be scrutinized very thoroughly by Linus — not only to keep Linux heading in the right direction, but especially to make it less vulnerable to any sort of attacks. I see huge benefits in AI for the user. But on the other hand, AI is a security problem for software like PrePoMax, especially once collaboration from any individual becomes possible. Huge code commits that have to be read, understood, and scrutinized by Matej might put a huge workload on him. I’ll just say: AI slop. Everybody has a special feature they want implemented. You probably see where this is going.

I hope there will be a great Python API in the future, not only for post-processing. After that, everybody can use AI and write their own macros/functions and share them without incorporating them fully into PrePoMax.

Best,
Stoli

As I’ve mentioned above, the new Python API, once extended, can avoid the need to implement some too specific features (and it could already do that for postprocessing). For example, instead of asking for a way to highlight regions or extract data based on some criteria or generate reports, one could do it with scripts like in Abaqus/CAE where Python makes it possible to e.g., define many connections without having to click hundreds of times. One can also develop custom plug-ins for Abaqus/CAE and it would be a way to extend PrePoMax too.

Let’s just keep in mind that Abaqus/CAE, even though still loved by us veterans, is considered outdated by many users and Dassault mostly focuses on 3DEXPERIENCE development now.

Regarding AI, a good example is again FreeCAD. Initially, there was a large resistance against AI and even ideas to ban its use for PRs. But eventually, a new set of rules was published, allowing for a rather reasonable use of AI (where the PR author is still expected to review and understand the code, as well as declare whether AI was used, write descriptions themselves abd participate in the discussions without making AI write the comments).

As a result, even though some old devs even left, FreeCAD’s development finally accelerated. Of course, there are regressions and new bugs, but so far everything is under control. PRs are carefully reviewed and tested (many tests are also added to the code to avoid future regressions) before merging.

And now we have lots of great new features in FreeCAD thanks to that such as parametric defeaturing, robust more robust sketch workflow, profile offsets, improved manipulator to move the models and many more.

First of all, thank you all for the ideas and especially for the willingness to support the project.

I agree with many of the points raised here, but there is one important aspect that is sometimes less visible from the user side. Implementing a feature is only part of the work. Once it becomes part of PrePoMax, it also has to be tested, maintained, kept compatible with future changes, documented and supported. Since most of PrePoMax is still developed and maintained by me, this has a major influence on which features I decide to include.

For this reason, I don’t think the goal should be to turn PrePoMax into a platform that does everything. I would rather keep it focused on structural FEA and make the workflows in this area as efficient and complete as possible. Geometry preparation, meshing, model setup, solver interaction and post-processing are therefore very high on my list.

At the same time, I completely agree that there are areas where the community can help a lot. Validation examples are a very good example. Creating and documenting benchmark cases does not necessarily require changes to the PrePoMax source code, and a good collection of verified examples would certainly increase confidence in using PrePoMax in professional environments.

AI is also changing the situation significantly. It already allows me to develop some features much faster than before, but it does not completely remove the development and maintenance effort. AI-generated code still has to fit into the existing architecture, be tested and remain maintainable several years from now.

This is also one of the reasons why I have been working on Python scripting and the MCP interface. My hope is that in the future some specialized workflows will not have to become permanent features of the PrePoMax GUI. They could instead be implemented as scripts, external tools or AI-driven workflows using PrePoMax as the simulation platform. This would allow much more functionality without making the core application excessively complex.

Regarding additional solvers such as OpenRadioss, fatigue tools, code checks, etc., I am definitely open to such ideas. But each integration has to be considered individually. Supporting another solver properly is much more than writing an input file converter.

Funding could of course change what is possible. I have already been looking into different funding opportunities for PrePoMax, and I am very open to cooperation with universities, companies or users if there is a realistic opportunity. Having people who are willing to help prepare proposals, define use cases or find interested industrial partners can be very valuable.

So I think the best direction is somewhere between the views expressed above: keep improving the core capabilities of PrePoMax, make it increasingly extensible, use AI where it makes sense, and involve the community for well-defined tasks where people have the expertise and motivation to contribute.

And please keep posting ideas. Even when I cannot implement something immediately, these discussions are very useful for deciding where PrePoMax should go next.

2 Likes

Right, let’s not dilute it too much. It’s primarily the best open-source Abaqus/CAE-like pre- and postprocessor for structural analyses and adding e.g. OpenFOAM supports seems to be going too far from that.

Yeah, but don’t you agree that they could be done mainly for the solver’s side ? Especially since PrePoMax now also supports Abaqus and FEMaster and their results can be completely different. Plus, in the end the input deck is the same regardless of the preprocessor, so one could prepare the same benchmarks in other ways too (even manually in Notepad).

Of course, there are some PrePoMax-specific features extending CalculiX’s capabilities and those could be the focus of validation cases.

Since there is talk about AI and Python support for scripting. I was able to add support to all PrePoMax internal features using Python (AI helped a lot). On top of that, an MPC server was added, enabling online or local agents to work with the app. This is a really big change, which is one of the reasons I decided to release the upcoming version with a new major number.

Additionally, I am in the final stages of integrating support for multi-block sweepable meshes, as in Abaqus CAE, with geometry splitting/fusing, automatic detection of sweepable geometry, mixed meshing (hexa/tet), and integration of QuadWild mesher for sweep meshing.

And currently, I became more a tester than I developer.

5 Likes

I do agree. But if the examples are not there for Calcilix, we have two options. We can wait on someone to create them or create them for “PrePoMax” directly.

1 Like

That’s really awesome. So it will be in PrePoMax 3.0 ? I wonder how easily those connected agents could also help us add new stuff (even just rather small features).

Abaqus-like dynamic coloring indicating hex meshability would be the cherry on top. But this already sounds like a revolution in open-source hex meshing.

I mean that we could create them together with the CalculiX community. It would be a shame to not involve them in such an activity. Since there’s a new dev team, we can ask them for help and they could hopefully make these validation cases official.

Btw. the upcoming CalculiX User Meeting can be a good opportunity to discuss it with them. I plan to join with a presentation and I could mention this too. Will you also be there ?

Something like this?


4 Likes

3 Likes

I would like to, but haven’t decided yet.

Yes, exactly. Abaqus uses the following colors:

  • green for structured meshes (transfinite in our case)
  • yellow for sweep meshes
  • orange for regions that can’t be hex meshed
  • pink for free meshing (once you switch to tetras or mesh surfaces)
1 Like

Sure, there’s still time to register (until October 9). I only did that yesterday. I want to present how to make the most of CalculiX in various industrial projects with the help of PrePoMax and some interesting workarounds. I also want to point out some of the most significant practical limitations of CalculiX and possibly trigger a discussion about them. Finally, I’ll mention further plans for educational content, and I can include the idea for the validation cases we discussed here.

2 Likes