Skip to content

NorbertHofbauer/Cubit-CalculiX

 
 

Repository files navigation

GitHub Github All Releases

Cubit-CalculiX 2024.12

Hey ho that´s the CalculiX Component for coreform cubit!

Full Model definitions for CalculiX can be done with Cubit as Preprocessor. After the run with CalculiX the results will be automatically converted for Paraview.

Here you can find the source code.

The builds can be downloaded at our website.

Or just use the links.

Windows Build Linux Build

This component was build with Cubit 2024.8! Tested with Cubit 2024.8 on Windows 10 and Ubuntu 22.04

Also take a look at our Youtube Channel CubitCalculiX . We will post videos from examples and updates in the near future.


Downloads | Key Features | How to use | Examples | Installation | Postprocessing | How to build on linux


Key Features

  • Elements Sets
  • Node Sets
  • Side Sets
  • Materials
    • Compression Only
    • Conductivity
      • Isotropic
      • Orthotropic
      • Anisotropic
    • Creep
    • Cyclic Hardening
    • Damping
    • Deformation Plasticity
    • Density
    • Elastic
      • Isotropic
      • Orthotropic
      • Anisotropic
      • Engineering Constants
    • Expansion
      • Isotropic
      • Orthotropic
      • Anisotropic
    • Hyperelastic
      • Arruda-Boyce
      • Mooney-Rivlin
      • Neo Hooke
      • Ogden N=1,2,3
      • Polynomial N=1,2,3
      • reduced Polynomial N=1,2,3
      • Yeoh
    • Hyperfoam N=1,2,3
    • Mohr Coulomb
    • Mohr Coulomb Hardening
    • Plastic
      • Isotropic
      • Kinematic
      • Combined
      • Johnson Cook
    • Rate Dependent
    • Specific Heat
    • Tension Only
  • Materiallibrary
    • easy to use library: materials can be created, modified and deleted, imported from cubit and exported into cubit
    • already contains some default materials
  • Sections
    • Solid
    • Shell
    • Membrane
    • Beam
  • Constraints
    • Tie
    • Rigid Body
  • Surface Interactions
    • Exponential
    • Linear
    • Tabular
    • Tied
    • Hard
  • Contact Pairs
    • Node to Surface
    • Surface to Surface
    • Mortar
    • LinMortar
    • PgLinMortar
  • Amplitudes
  • Orientations
  • Damping
  • Physical Constants
  • Loads
    • Forces (CLOAD)
    • Pressures (DLOAD)
    • Heatfluxes (DFLUX)
    • Gravities (GRAVITY)
    • Centrifugal (CENTRIF)
    • Film
    • Radiation
    • Trajectories
      • Heatflux (can be used as moving heatsource)
  • Boundary Conditions
    • Displacements
    • Temperatures
  • Initial Conditions
    • Displacements
    • Temperatures
  • History Outputs
    • NODE PRINT
    • EL PRINT
    • CONTACT PRINT
  • Field Outputs
    • NODE FILE
    • EL FILE
    • CONTACT FILE
  • STEPS
    • Static
    • Frequency
    • Buckle
    • Heat Transfer
    • Coupled Temperature Displacement
    • Uncoupled Temperature Displacement
    • Dynamic
    • Modal Dynamic
    • Steady State Dynamics
    • Complex Frequency
    • No Analysis
  • Adding Customlines before/after Keywords
  • Export of Calculix Model
  • Creation and Running of Jobs
  • Conversion of Results to Paraview
    • .frd nodal results, auto calculating von Mises and Principal Stresses
    • .dat: nodal, element and integration points results, auto calculating von Mises and Principal Stresses
    • visualization of single parts with multiblock inspector
    • visualization of integration point results
  • Projection of Displacements from .frd to mesh
  • Opening of Results with CGX or Paraview
  • Results can be viewed, plotted and exported to .csv
  • Displaying of loads and boundary conditions
  • Python Interface to query the result files. This can be used to run convergence studies or do mesh refinement based on the results.
  • The calculix model data and the loaded frd and dat results will be saved and loaded automatically with the standard cubit fileformat .cub5

How to use

To get an overview of all new commands type

ccx ?

in cubit mode (#!cubit)

For the functions of the python interface type

ccx.help()

in python mode (#!python)

Examples

Installation

Download the build directory and point within Cubit to the Directory.

  • Tools->Plugins->Add

Restart Cubit.

Add Component

The Cubit Window should now show "Coreform Cubit 202x.x -- with Cubit-CalculiX 202x.x" in the Title.

Now just enable the Model Tree

  • View->CalculiX Model Tree

Show Model Tree

Try to open and run the journal file "first_run.jou"

If everything works. It should compute a beam and automatically open the results with cgx and paraview.

After First Run

Postprocessing

After the run with CalculiX the results should be loaded and converted automatically. If a Job exited with errors you can try to convert it over the Button in the Job Monitor.

The mises stresses and strains will be precalculated for the S and E keys. If the preprocessing was done in cubit and the results can be linked. Then the data from the .frd and .dat can be viewed with paraview. When the linking fails, the .frd will be converted to vtu. In paraview you can see the linked and computed results with the multiblock inspector.

multiblock inspector

If integration point data was requested in the .dat, the converter computes the location of the integration points and links the results. The integration point number and the element id can be queried with paraview. The element id can be found in the cell data. The ip number in the point data.

integration points

elements id

ip number

When there are displacements in the frd file for requested blocks in the .dat. The displacements of the integration points will also be computed.

integration points displacements

current limitations of the converter:

  • totals ignored
  • buckling in .dat can be queried through the python api
  • contact print card ignored
  • only links for complete nodal and element data

Projection of Displacements

with the command "ccx result project job 'job_id' {step 'step' | totalincrement 'totalincrement'} [scale 'scale']"

The displacements from an .frd can be scaled and projected to the nodes in cubit. It has to be .frd where the mesh is ident with the one in cubit. Otherwise linking fails and no projection will be done. If a step is choosen, it will project the last available increment with displacement data. When choosing the totalincrement the related displacements will be used.

projection of displacements

How to build on linux

Build Process for Ubuntu 22.04 and 24.04

  1. After a clean installation Update and upgrade the system, then install tools required for building:
    sudo apt update && sudo apt upgrade -y
    sudo apt-get install cmake cmake-gui
    sudo apt-get install build-essential
    sudo apt-get install qtbase5-dev libqt5charts5-dev libqt5widgets5
    sudo apt install libglu1-mesa
    
  2. Install Coreform Cubit Either download from the Coreform Website or via terminal
    wget https://f002.backblazeb2.com/file/cubit-downloads/Coreform-Cubit/Releases/Linux/Coreform-Cubit-2024.8%2B52155-Lin64.deb
    sudo apt-get install ./Coreform-Cubit-2024.8+52155-Lin64.deb
    
  3. Install Cubit-Calculix Clone the Cubit-Calculix repository
    git clone https://github.com/calculix/Cubit-CalculiX.git
    
  4. Build Steps
    Clean and recreate the build directory, then run CMake and build:
    rm -rf ~/Cubit-CalculiX/build
    mkdir -p ~/Cubit-CalculiX/build
    cmake -S ~/Cubit-CalculiX/src -B ~/Cubit-CalculiX/build
    cmake --build ~/Cubit-CalculiX/build
    cd ~/Cubit-CalculiX/build
    make -j4
    

known issues

todo list

  • documentation

About

development repo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 46.3%
  • HTML 31.1%
  • C 16.9%
  • CMake 2.7%
  • Fortran 1.5%
  • Java 0.4%
  • Other 1.1%