Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ cae Public

CalculiX Advanced Environment is designed to guide you through the CalculiX keywords creation process and is aimed to help you reach the correct input file with no mistakes.

License

Notifications You must be signed in to change notification settings

calculix/cae

Repository files navigation

© Ihor Mirzov, September 2019
Distributed under GNU General Public License v3.0





CalculiX CAE

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.



Features

  • 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.

  • Optimal job management:

    • 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.



Screenshots

Main window with imported mesh and highlighted node set after job calculation: Main window

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

Main window and "new keyword" dialog in a simple view mode with hidden VTK widget and HTML help: Simple view mode

Calculation result exported to Paraview: Results in Paraview



Downloads

Both sources and binaries could be found on the releases page.



How to use

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.



Your help

Please, you may:



For developers

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.



What's new

  • 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.



TODO

Improvements and bugfixes

  • 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.

New features

  • 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.

  • Import mesh from FRD, VTK, VTU, Gmsh, Abaqus INP and ODB.

  • Prool's INP-templates and snippets.

  • Include Martin Kraska examples.

  • Menu Help:

    • PDF manual / YouTube videos for beginners.
    • VTK Keyboard Shortcuts and Controls.

About

CalculiX Advanced Environment is designed to guide you through the CalculiX keywords creation process and is aimed to help you reach the correct input file with no mistakes.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Languages