aliveho / cae

CAE is a software package mainly consisting of CalculiX GraphiX, CrunchiX and keyword editor. The last one - is a very simple, free and open source GUI/pre-processor for CalculiX. Program is based on the keywords hierarchy, is designed to guide you through the keywords creation process and is aimed to help you reach the correct input file with no mistakes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

© Ihor Mirzov, July 2020
Distributed under GNU General Public License v3.0




Features | Screenshots | Downloads | How to use | Your help | For developers | What's new | TODO




CalculiX Adanced Environment (CAE)

CAE is a software package mainly consisting of CalculiX GraphiX, CrunchiX and keyword editor. The last one - is a very simple, free and open source GUI/pre-processor for CalculiX. Program is based on the keywords hierarchy, is designed to guide you through the keywords creation process and is aimed to help you reach the correct input file with no mistakes. Keyword editor is written in Python3 and utilizes PyQt5.

It is implied that you have already created geometry and generated mesh in some other software like FreeCAD or Salome-platform.



Features

  • CAE comes with the latest CGX and CCX compiled for both Linux and Windows.

  • 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 with CCX. Robust INP importer algorithm is tested on over 20 000 INP files, including Abaqus models (see log).

  • Official HTML documentation is natively integrated into the keyword edit dialogs (Help button).

  • Calculix keywords hierarchy with all attributes is maintaned in editable XML file.

  • Solid mesh parser supports includes in the input file. Tested on the all official CalculiX examples. See mesh.log.

  • Application's global settings could be set up in the File->Settings menu. Settings are maintained in editable Python file - it is automatically overwritten during the workflow.

  • Optimal job management:

    • if you use subroutines, CalculiX sources could be automatically recompiled from GUI;
    • run analysis directly from GUI;
    • open results in GraphiX or convert to VTU format and open them in Paraview.
  • CAE uses converters:

    • ccx2paraview - CalculiX to Paraview converter (frd to vtk/vtu)
    • unv2ccx - Salome universal to CalculiX converter (unv to inp)
  • Cute modern design with nice icons.



Screenshots

Keyword editor and CGX windows with imported mesh and painted surfaces: img1

"New keyword" dialog with corresponding chapter from HTML manual: img2

Keyword editor and CGX windows with calculated model: img3

New CGX colormaps - viridis, inferno, turbo: img4

Calculation result exported to Paraview: img5



How to use

Get Python3 (>3.6) and install it.

Download latest release (source code) and unpack it.

Open terminal in a directory where you've unpacked CAE.

Allow all files to be executed (Linux only):

sudo chmod -R 777 ./*

Install dependencies with command:

pip3 install -r requirements.txt

It's OK if Xlib installation will fail in Windows.

Run the software with command (or double click those files):

in Linux:       ./cae.sh
in Windows:     cae.bat

You can edit default startup model name in File->Settings or leave it empty or even pass it as an argument to open on startup:

in Linux:       ./cae.sh -inp yourmodel.inp
                ./cae.sh -inp yourmodel.unv
in Windows:     cae.bat -inp yourmodel.inp
                cae.bat -inp yourmodel.unv

Another way to run CAE - is directly from 'src' directory:

python3 ./src/cae.py
python3 ./src/cae.py -inp yourmodel.inp
python3 ./src/cae.py -inp yourmodel.unv

The intended workflow is:

  • create geometry and mesh in FreeCAD or Salome-platform,
  • save mesh as UNV or export it to INP with Salome to CalculiX mesh exporter,
  • import INP or UNV mesh into CAE and continue creating model,
  • if needed, edit Fortran subroutines and rebuild CCX (menu Job),
  • submit job from CAE,
  • view job result in GraphiX or export it to post-process in Paraview.

In Windows to work with subroutines and to recompile CalculiX sources from CAE you'll need cygwin. Install it to 'C:\cygwin64' with:

  • gcc-g++ 7.3.0-3
  • gcc-fortran 7.3.0-3
  • make 4.2.1-2
  • perl 5.26.3-2

Attention! Do not move CCX or CGX from 'bin' directory!



Your help

Please, you may:

  • Simply use this software and ask questions.
  • Share your models and screenshots.
  • Do something from the TODO-list.
  • Report problems by posting issues. Please, attach ./examples/default.log (or other logs) to the problem report.



For developers

You may also need libraries:

qttools5-dev-tools
pycallgraph



What's new in future v0.9.0

  • CalculiX 2.17.1. Linux version of CGX has 'cmap' command and custom colormaps: classic, viridis, inferno and turbo.
  • Significantly improved INP importer algorithm. Now parser supports keyword line continuation. Tested on over 20 000 INP files, including Abaqus models.
  • Add buttons to select paths in Settings dialog
  • Using external python packages ccx2paraview and unv2ccx.



TODO

Examples and training materials:

  • Prool's INP-templates and snippets.
  • Interface for Martin Kraska examples.
  • Menu Help: wiki, YouTube videos for beginners.

Python API:

  • Invent some kind of Python API. Possibly use pycalculix and pyccx.
  • Python code (*PYTHON keyword) in the INP_code for step repetition and other kind of model generation.
  • Martin Kraska: support the param.py parametrization mechanism.

FreeCAD:

  • Embeded CAE into FreeCAD.
  • Connector for FreeCAD: listen to port and obtain meshed geometry.

CGX:

  • Highlight loads and boundary conditions.
  • Thread for periodic checking of CGX WID. Connect/disconnect CGX automatically in the background.

Parsers:

  • Check if includes are opened correctly.
  • Reparse mesh/model after tree.actionDeleteImplementation.
  • Parsers for loads and boundary conditions.

Importer:

  • treeView: import certain keyword with descendants (tree branch) from INP-file.
  • Interface for materials import: right click on *Material -> Import.
  • Meshio converter.
  • Import mesh from FRD, VTK, VTU, Gmsh, Abaqus INP and ODB.
  • Open .fbd/.fbl and forward to CGX. Then import generated model.

Other:

About

CAE is a software package mainly consisting of CalculiX GraphiX, CrunchiX and keyword editor. The last one - is a very simple, free and open source GUI/pre-processor for CalculiX. Program is based on the keywords hierarchy, is designed to guide you through the keywords creation process and is aimed to help you reach the correct input file with no mistakes.

License:GNU General Public License v3.0


Languages

Language:Fortran 50.9%Language:C 37.5%Language:TeX 7.2%Language:C++ 2.0%Language:PostScript 1.0%Language:Shell 0.5%Language:Makefile 0.5%Language:Python 0.3%Language:HTML 0.0%Language:Perl 0.0%Language:Assembly 0.0%Language:Objective-C 0.0%Language:Batchfile 0.0%