Salome vs FreeCAD vs PythonOCC (geometry scripts)
- Tyler Durden
- Topic Author
- Offline
- New Member
Less
More
- Posts: 3
- Thank you received: 0
8 years 11 months ago #8493
by Tyler Durden
Salome vs FreeCAD vs PythonOCC (geometry scripts) was created by Tyler Durden
Hello All,
I’m in the process of selecting a set of open source tools for doing applied research with focus on techniques for rigorous design optimization. The ability to create fully automated and parameterized CAE processes is therefore critical.
I’ve spent quite some time reading about the many options available for each steps and I’m now narrowing down the list, starting with geometry creation. The options I have retained so far are: Salome, FreeCAD and PythonOCC.
All three options seem viable but I would like to hear the opinion of the community.
* Some requirements/contextual info to guide your answers:
1. Although a decent GUI is appreciated to e.g. record macros vs. write all code from scratch (especially during the learning phase), the idea is to develop robust scripts that will eventually run in batch mode almost exclusively. So the user-friendliness of the GUI is not an important factor.
2. Linked to the previous point: I do not intend to use the open source setup for assignments where time is of essence.
3. I do not intend either to do typical industrial CAD work (building of complex assy’s, publishing of drawings, handling of dirty CAD received from others, PLM-related stuff, etc.)
4. The geometries I will create will be relatively simple, but their level of parameterization, high.
5. Meshing: I don’t mind using a different set of programs for meshing, but my understanding is that a lot can (and maybe should) be done with one of the programs mentioned above. In any case, I want as much control as possible over the meshing process so I can rigorously study the effects of meshing on the simulation results (mesh type, size, quality vs. solver settings, etc.) I should mention that I will be doing “classic” types of structural and CFD analyses, and maybe more. I have not selected solvers yet, but I will probably want on the long run to have more than one solver to play with for each type of optimization problem (e.g. Code_Saturne and OpenFOAM for CFD).
6. Even if the mesh is to be generated in another program, anything that will help the automation of this task is a big plus; for example, the ability to tag the volumes and surfaces during geometry creation.
* Some specific questions:
1. Is there a case for PythonOCC vs. Salome for my work? Apparently PythonOCC not only uses the OpenCascade kernel but also some libraries from Salome (geometry and meshing), which itself uses OpenCascade, and can dump python “journal” files of a session which can be used as a base for scripting and automation. Besides, I couldn’t find much published work at all where PythonOCC has been used to generate parametric geometry for automated CAE processes.
2. How about FreeCAD vs. Salome? I’ve found publications where both tools were used for automated CAE loops, but I really can’t tell what the pros and cons are, if one puts aside the possible higher user friendliness of FreeCAD for the initial creation of geometry in the GUI. Salome seems like a healthier choice for connecting to EDF solvers like Aster or Saturne.
3. I really like the OpenSCAD concept but I’m concerned about the effort that may be required to produce STL files of high enough and consistent quality, suitable for rigorous mesh refinement studies. I must admit that I have near zero experience working with STL files, and that I’d rather stay away from them if I can. Any thoughts on this?
I’m looking forward to hearing the opinion of the community!
Cheers
/T.
I’m in the process of selecting a set of open source tools for doing applied research with focus on techniques for rigorous design optimization. The ability to create fully automated and parameterized CAE processes is therefore critical.
I’ve spent quite some time reading about the many options available for each steps and I’m now narrowing down the list, starting with geometry creation. The options I have retained so far are: Salome, FreeCAD and PythonOCC.
All three options seem viable but I would like to hear the opinion of the community.
* Some requirements/contextual info to guide your answers:
1. Although a decent GUI is appreciated to e.g. record macros vs. write all code from scratch (especially during the learning phase), the idea is to develop robust scripts that will eventually run in batch mode almost exclusively. So the user-friendliness of the GUI is not an important factor.
2. Linked to the previous point: I do not intend to use the open source setup for assignments where time is of essence.
3. I do not intend either to do typical industrial CAD work (building of complex assy’s, publishing of drawings, handling of dirty CAD received from others, PLM-related stuff, etc.)
4. The geometries I will create will be relatively simple, but their level of parameterization, high.
5. Meshing: I don’t mind using a different set of programs for meshing, but my understanding is that a lot can (and maybe should) be done with one of the programs mentioned above. In any case, I want as much control as possible over the meshing process so I can rigorously study the effects of meshing on the simulation results (mesh type, size, quality vs. solver settings, etc.) I should mention that I will be doing “classic” types of structural and CFD analyses, and maybe more. I have not selected solvers yet, but I will probably want on the long run to have more than one solver to play with for each type of optimization problem (e.g. Code_Saturne and OpenFOAM for CFD).
6. Even if the mesh is to be generated in another program, anything that will help the automation of this task is a big plus; for example, the ability to tag the volumes and surfaces during geometry creation.
* Some specific questions:
1. Is there a case for PythonOCC vs. Salome for my work? Apparently PythonOCC not only uses the OpenCascade kernel but also some libraries from Salome (geometry and meshing), which itself uses OpenCascade, and can dump python “journal” files of a session which can be used as a base for scripting and automation. Besides, I couldn’t find much published work at all where PythonOCC has been used to generate parametric geometry for automated CAE processes.
2. How about FreeCAD vs. Salome? I’ve found publications where both tools were used for automated CAE loops, but I really can’t tell what the pros and cons are, if one puts aside the possible higher user friendliness of FreeCAD for the initial creation of geometry in the GUI. Salome seems like a healthier choice for connecting to EDF solvers like Aster or Saturne.
3. I really like the OpenSCAD concept but I’m concerned about the effort that may be required to produce STL files of high enough and consistent quality, suitable for rigorous mesh refinement studies. I must admit that I have near zero experience working with STL files, and that I’d rather stay away from them if I can. Any thoughts on this?
I’m looking forward to hearing the opinion of the community!
Cheers
/T.
- Leo
- Offline
- Senior Member
Less
More
- Posts: 53
- Thank you received: 4
8 years 11 months ago #8494
by Leo
Replied by Leo on topic Re: Salome vs FreeCAD vs PythonOCC (geometry scripts)
Salome has even special tools for optimization. For everything else, you need to come up with crutches
Moderators: catux
Time to create page: 0.126 seconds