© Ihor Mirzov, September 2019
Distributed under GNU General Public License v3.0
GUI/pre-processor for CalculiX CrunchiX. Very simple, free and open source. Program is based on CalculiX keywords hierarchy. Written in Python3, utilizes PyQt5 and VTK.
It is implied that you have already created geometry and generated mesh in some other software like Salome-platform. CacluliX CAE is designed to guide you through the keywords creation sequence and is aimed to help you reach correct input file with no mistakes.
-
Calculix keywords hierarchy with all attributes is maintaned in editable XML file.
-
"New keyword" dialog shows apropriate chapter of the official HTML documentation.
-
INP format for all needs: program parses .inp-file and generates model on the fly, so separate format for the model is not needed. Final model is saved also with .inp format ready to be calculated by CalculiX.
-
Solid mesh parser supports includes in the input file. Tested on the all official CacluliX examples. See tests.log.
-
Surfaces and sets of the imported mesh could be highlighted in the VTK module.
-
Application's global settings could be set up in the File->Settings menu. Settings are maintained in editable env-file with Python syntax. The file is automatically overwrited during the workflow.
-
- if you use subroutines, CalculiX sources could be automatically recompiled from GUI;
- run analysis directly from GUI - you'll be notified on job completion;
- open results in GraphiX or convert to VTU format and open them in Paraview.
-
Supports UNV mesh import.
-
Cute modern design with nice icons.
Main window with imported mesh and highlighted node set after job calculation:
"New keyword" dialog with corresponding chapter from HTML manual:
Main window and "new keyword" dialog in a simple view mode with hidden VTK widget and HTML help:
Calculation result exported to Paraview:
Both sources and binaries could be found on the releases page.
CacluliX CAE is portable software and doesn't need to be installed. Just extract archive, make binary executable and run it with double click. To view results in GraphiX and Paraview configure pathes in File->Settings.
The intended workflow is:
- create geometry and mesh in Salome-platform,
- save mesh as UNV or export it to INP with salome2ccx GUI tool,
- import INP or UNV mesh to CAE and continue creating model,
- if needed, edit Fortran subroutines and rebuild ccx (Job->Rebuild CalculiX),
- submit job from CAE,
- export job result to the Paraview post-processor or view it in GraphiX.
Edit default startup model name in in File->Settings or you can pass it as an argument to open at start:
in Linux: ./cae.sh -inp model.inp
./cae.sh -inp model.unv
in Windows: cae.bat -inp model.inp
cae.bat -inp model.unv
To compile CalculiX sources from CAE in Windows you'll need cygwin with gcc, gfortran and make. Install it to 'C:\cygwin64'.
Attention! In Windows CCX may not work if placed outside 'bin' directory. It needs Cygwin DLLs! So, if you change path to CCX, place there Cygwin DLLs from 'bin' directory.
Please, you may:
- Simply use this software and ask questions.
- Share your models and screenshots.
- Report problems by posting issues.
- Do something from the TODO-list.
- Follow discussion in the Yahoo CalculiX Group
Suppose you already have Python 3. Open terminal in CalculiX CAE directory and install dependancies with command:
pip3 install -r requirements.txt
From 'src' directory run source code with one of the commands:
python3 cae.py
python3 cae.py -inp model.inp
python3 cae.py -inp model.unv
Use make_release.py to create releases:
python3 make_release.py
CalculiX CAE uses external converters:
- ccx2paraview - CalculiX to Paraview converter (frd to vtk/vtu)
- unv2ccx - Salome universal to CalculiX converter (unv to inp)
The source code for the CalculiX solver is taken from the free_form_fortran project - this version has much better code folding and readability.
-
New clear source code structure/order.
-
New path module to build absolute pathes - reduces amount of mistakes.
-
Refactored Settings. Fixed path processing. Added option to edit path to CCX binary. Now rebuild process will account for this path. Attention! In Windows CCX may not work if placed outside 'bin' directory. It needs Cygwin DLLs! So, if you change path to CCX, place there Cygwin DLLs from 'bin' directory.
-
Better ViewSurfaceWithEdges - implement it manually without EdgeVisibilityOn().
-
Better surface highlight: remove original face for pure color.
-
During keyword's edit parse arguments and pass them to Dialog. Reparse mesh objects after edit.
-
It would be nice if different ELSETS were assigned different colors for visualization.
-
treeView: show implementations only.
-
Visualize BC's, constraints and loads in VTK.
-
Python code (*PYTHON keyword) in INP_code for step repetition and other kind of model generation.
-
Import certain keyword with descendants (tree branch) from INP-file.
-
Interface for materials import. Enrich Materials library.
-
Prool's INP-templates and snippets.
-
Include Martin Kraska examples.
-
Menu Help:
- PDF manual / YouTube videos for beginners.
- VTK Keyboard Shortcuts and Controls.