Coder Social home page Coder Social logo

giantroot / cae Goto Github PK

View Code? Open in Web Editor NEW

This project forked from calculix/cae

0.0 0.0 0.0 220.2 MB

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: GNU General Public License v3.0

Shell 0.45% Python 99.46% Batchfile 0.09%

cae's Introduction

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

  • 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

Get Python3 (>3.8) and install it. On your OS a command 'python' has to be available and it should be Python 3.

Download latest release and unpack it.

Linux only: open terminal in a directory where you've unpacked CAE, allow all files to be executed:

sudo chmod -R 777 ./*

Ubuntu only: PyQt5 also could be installed in this way:

sudo apt install python3-pyqt5 python3-pyqt5.qtwebengine

Ubuntu only: additional fonts for CGX:

sudo apt get install fonts-terminus-otb xfonts-terminus xfonts-terminus-oblique

Other Python dependencies will be installed automatically on app start.

That's all! 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++ 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:

  • Zip ccx sources. Extract on first start from checks.py module.
  • Main Window: filter tree items - search item.
  • Main Window: treeView - highlight background of the collections.
  • Open collective / Patreon.

cae's People

Contributors

imirzov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.