• Stars
    star
    139
  • Rank 261,464 (Top 6 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.

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

Github All Releases




Downloads | Features | Screenshots | How to use | Your help | For developers | TODO




CalculiX Adanced Environment (CAE)

CAE is a software package 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.

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. Analysis runs on all cores automatically.

  • CAE is distributed with standalone Python. All requirements will be installed automatically on app start. To start using the software you have to simply download it, unpack and run.

  • 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 with all attributes are maintained in editable XML file. It allows for all CalculiX keywords to have their own GUI - keyword edit dialogs.

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

  • CGX window is connected to the keyword editor and accepts commands from it.

  • Cute modern design with nice icons.

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



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

CalculiX Advanced Environment - Download and run

Download latest release and unpack it.

Linux only: open terminal in unpacked CAE directory, allow all files to be executed:

sudo chmod -R 777 ./*

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.

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++ 11.3.0-1
  • gcc-fortran 11.3.0-1
  • make 4.3-1
  • perl 5.32.1-2
  • libglut3 3.2.1-1

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



Your help

Please, you may:

  • Star this project.
  • Simply use this software and ask questions.
  • Share your models and screenshots.
  • Report problems by posting issues. Please, attach ./cae.log (or other logs) to the problem report.
  • Do something from the TODO-list as a developer.
  • Maybe draw better icon set.
  • Or even become a sponsor to me.



For developers

Visual Studio Code

Keyword editor is written in Python3 and utilizes PyQt5.

As a developer you may also need libraries:

qttools5-dev-tools
pycallgraph



TODO

Examples and training materials:

  • Shortcut/symlink to folder in another repo: examples.
  • Prool's INP-templates and snippets.
  • Interface for Martin Kraska examples.
  • Menu Help: wiki, YouTube videos for beginners.

Python API:

FreeCAD:

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

CGX:

Parsers:

  • Reparse mesh/model after tree.actionDeleteImplementation.
  • Reparse mesh/model after new item creation. New elsets/nodesets are not highlighted in CGX.
  • 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.
  • Open .fbd/.fbl and forward to CGX. Then import generated model.

KeywordDialog:

  • Insert Combo widget into Table cell.
  • Table widget: redundant comma in the end of line.
  • Draw a separator (black line) in GUI for group with newline=1.
  • Argument form='Combo' with sub-arguments: regenerate GUI on Combo index change. Current form='VOr' is not user friendly.
  • Unittests for KeywordDialog: compare generated INP code with the one which should be.

Other:

  • Main Window: filter tree items - search item.
  • Main Window: treeView - highlight background of the collections.
  • Open collective / Patreon.
  • Video: Download CAE, unpack and run. Capture video with OBS Studio, edit with DaVinci Resolve.
  • Test presense of gfortran and gcc compilers for subroutines.

More Repositories

1

CalculiX-Examples

CalculiX examples by Prof. Martin Kraska from Brandenburg University of Applied Sciences. Excellent starting point to master parametric modelling with CGX and CCX.
Python
303
star
2

beso

Python code for topology optimization using CalculiX FEM solver.
Python
296
star
3

ccx2paraview

CalculiX to Paraview converter (frd to vtk/vtu). Makes possible to view and postprocess CalculiX analysis results in Paraview. Generates Mises and Principal components for stress and strain tensors.
Python
88
star
4

ccx

Originals sources for Calculix CrunchiX (ccx)
Fortran
25
star
5

gmsh2ccx

Gmsh to CalculiX converter (.inp to .inp)
Python
22
star
6

examples

Official and user examples for CCX and CGX. All in one place. Do not hesitate to add yours.
C++
22
star
7

pygccx

A python framework to build, solve and postprocess finite element models made out of 3D solid elements using Gmsh and CalculiX.
Python
20
star
8

unv2ccx

Salome universal to CalculiX converter. Converts UNV mesh to the CalculiX INP format.
Python
19
star
9

Cubit-CalculiX

Pre- and Postprocessing for CalculiX can be done with this component in coreform cubit. The results will be converted to Paraview (.frd and .dat: nodal, element and integration points results).
C++
15
star
10

konvertor

Convert GMSH ABACUS .INP file to .INP file for CalculiX CGX
C++
7
star
11

ccx_prool

Prool's modifications of CalculiX CrunchiX (ccx)
Fortran
7
star
12

new_keywords

A tool to track new keywords in CalculiX and Abaqus releases.
Python
6
star
13

ccx_fff

Fortran code converter for CalculiX CrunchiX: converts old Fortran 77 code to the one with free form. Shifts comments and continuation marks for the best code folding.
Fortran
6
star
14

unical1

Convert finite elemet meshes given in the SDRL universal file format into ABAQUS / Calculix compatible input decks
C
5
star
15

cgx

Community version of CalculiX GraphiX. New colormaps added.
C
5
star
16

calculix.github.io

HTML
4
star
17

cgx_prool

Prool's modifications of CalculiX GraphiX (cgx)
C
2
star
18

inp2unv

CalculiX to Salome universal converter. Converts CalculiX INP mesh to the UNV format.
Python
2
star
19

dxf2fbd

2D AutoCAD DXF to CalculiX GraphiX FBD converters
C++
2
star
20

calculix-mesh2inp

Convert 2D netgen meshes to calculix format.
Python
1
star
21

ccx-containerd

Calculix CrunchiX Container for portable usage.
Shell
1
star