Skip to content

Commit

Permalink
Merge pull request #32 from NorbertHofbauer/main
Browse files Browse the repository at this point in the history
Update to 2024.12
  • Loading branch information
NorbertHofbauer authored Dec 22, 2024
2 parents ee67600 + a39554d commit fedcb68
Show file tree
Hide file tree
Showing 288 changed files with 47,079 additions and 7,407 deletions.
189 changes: 169 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[![GitHub](https://badgen.net/badge/icon/github?icon=github&label)](https://github.com/calculix/Cubit-CalculiX)
[![Github All Releases](https://img.shields.io/github/downloads/calculix/Cubit-CalculiX/total.svg)](https://github.com/calculix/Cubit-CalculiX/releases)
<br/>
# Cubit-CalculiX 2024.10
# 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.
Expand All @@ -13,21 +13,23 @@ The builds can be downloaded at our [website](https://www.maschinenbauer.at/open

Or just use the links.

[Windows Build](https://github.com/calculix/Cubit-CalculiX/releases/download/2024.10/build_windows_2024.10.zip)
[Linux Build](https://github.com/calculix/Cubit-CalculiX/releases/download/2024.10/build_linux_2024.10.zip)
[Windows Build](https://github.com/calculix/Cubit-CalculiX/releases/download/2024.12/build_windows_2024.12.zip)
[Linux Build](https://github.com/calculix/Cubit-CalculiX/releases/download/2024.12/build_linux_2024.12.zip)

This component was build with Cubit 2024.8!
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](https://www.youtube.com/@CubitCalculiX) . We will post videos from examples and updates in the near future.

---
[Downloads](https://github.com/calculix/Cubit-CalculiX/releases) |
[Key Features](#key-features) |
[How to](#how-to) |
[How to use](#how-to-use) |
[Examples](#examples) |
[Installation](#installation) |
[Postprocessing](#postprocessing) <!-- |
[Postprocessing](#postprocessing) |
[How to build on linux](#how-to-build-on-linux)
<!-- |
[Projection of Displacements](#projection-of-displacements) |
[known issues](#known-issues) |
[todo list](#todo-list) -->
Expand All @@ -37,31 +39,124 @@ Also take a look at our [Youtube Channel CubitCalculiX](https://www.youtube.com/
- Elements Sets
- Node Sets
- Side Sets
- Materials (Conductivity, Density, Elastic, Expansion, Plastic, Specific Heat)
- Sections (Solid, Shell, Membrane, Beam)
- Constraints (Tie, Rigid Body)
- 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
- Loads (CLOAD, DLOAD, DFLUX, GRAVITY, CENTRIF)
- 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, No Analysis)
- 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 and .dat: nodal, element and integration points results, auto calculating von Mises and Principal Stresses)
- 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
# How to use
To get an overview of all new commands type

ccx ?
Expand Down Expand Up @@ -100,11 +195,21 @@ in python mode (#!python)
width="400"
title="Contact press fitting">
](examples/contact_press_fitting/)
[<img
src="examples/metal_forming/example.gif"
width="400"
title="Metal forming">
](examples/metal_forming/)
[<img
src="examples/mesh_refinement/example.png"
width="400"
title="Mesh refinement">
](examples/mesh_refinement/)
[<img
src="examples/moving_heatsource/example.gif"
width="400"
title="Moving Heatsource">
](examples/moving_heatsource/)
[<img
src="examples/model_change/example.gif"
width="400"
Expand All @@ -120,11 +225,23 @@ in python mode (#!python)
width="400"
title="Simple convergence study">
](examples/simple_convergence_study/)
[<img
src="examples/tube_impact/example.gif"
width="400"
title="Tube Impact">
](examples/tube_impact/)
[<img
src="examples/Welding/shrinkage_model/example.gif"
width="400"
title="Shrinkage model">
](examples/Welding/shringage_model/)
<!--
[<img
src="examples/Welding/shrinkage_model_moving_heatsource/example.gif"
width="400"
title="Shrinkage model">
](examples/Welding/shringage_model_moving_heatsource/)
-->

# Installation

Expand Down Expand Up @@ -175,7 +292,7 @@ When there are displacements in the frd file for requested blocks in the .dat. T

current limitations of the converter:
- totals ignored
- buckling in .dat ignored
- buckling in .dat can be queried through the python api
- contact print card ignored
- only links for complete nodal and element data

Expand All @@ -189,10 +306,42 @@ When choosing the totalincrement the related displacements will be used.

![projection of displacements](/readme_docs/projection_01.png?raw=true "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](https://coreform.com/downloads/) 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
- See https://github.com/calculix/Cubit-CalculiX/issues for open issues. Not every issue is closed in the available binaries. Please look at the issue and release date.

- History Bug on Windows: Currently commands that will be send using the gui won't be recorded into the history tab. This has been fixed for Linux. In the current cubit windows release (2024.8) are some symbols missing. So we have to wait onto the next release to fix this for windows too.

# todo list
- documentation
45 changes: 44 additions & 1 deletion changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -77,5 +77,48 @@
2024-10-12 bug fix crash vtk writer in parallel
2024-10-12 working on reading/saving ccx core data into .cub
2024-10-19 adding progressbar for saving and reading cub5
2024-10-20 updating to paraview 5.13.1, due to github large file limit, we need to exclude paraview binaries from the repo, the need to be in a local directory for the build, look at cmake file
2024-10-20 updating to paraview 5.13.1, due to github large file limit, we need to exclude paraview binaries from the repo, they need to be in a local directory for the build, look at cmake file
2024-10-21 fixing bug in frd reader. in parallel some blocks without nodal results where skipped while reading the headers which resulted in a crash
######### ------ Release 2024.10

2024-11-08 fixing symbols in the material management on windows
2024-11-08 working on material library
2024-11-14 fixing plot labels, adding "" automatically to the plot command
2024-11-14 working on material library
2024-11-16 working on material library
2024-11-19 working on material library
2024-11-21 working on material library
2024-11-22 adding materials to the highlighting
2024-11-22 working on material library gui
2024-11-25 working on material library gui
2024-11-27 working on material library gui
2024-11-28 working on material library gui
2024-11-29 working on material library gui
2024-11-30 working on trajectory heatflux loads
2024-12-01 working on trajectory heatflux loads
2024-12-02 adding default material library
2024-12-03 working on trajectory
2024-12-04 working on trajectory
2024-12-05 working on trajectory and speeding up the gui update progress.
2024-12-06 working on trajectory and speeding up the gui update progress.
2024-12-07 updating highlight and draw for trajectory
2024-12-07 start implementing more material keywords
2024-12-08 working on new materials gui cards
2024-12-09 working on trajectory bugs, amplidudes core needs a search speed up
2024-12-09 working on trajectory bugs, amplidudes core speed up for trajectory preparation
2024-12-12 fixing history bug on windows need to wait for new dev release
2024-12-13 working on physical constants, damping, film, radiation
2024-12-14 writing check list. try to fix history bug on windows
2024-12-14 working on core and commands for steps dynamic, modal dynamic, steady state dynamics, complex frequency
2024-12-16 working on damping and physical constants gui
2024-12-17 working on damping and physical constants gui
2024-12-17 working on gui for steps dynamic, modal dynamic, steady state dynamics, complex frequency
2024-12-17 loads film and radiation gui
2024-12-18 adding load type and radius vs magnitude to trajectory
2024-12-19 working on trajectory, adding new python interface methods to query trajectory data
2024-12-19 finished heatflux trajectory
2024-12-19 test and creating examples
2024-12-19 tube impact example
2024-12-19 working on examples
2024-12-20 updating readme and examples
2024-12-20 implementing reading and linking of step and increment data from .dat
28 changes: 28 additions & 0 deletions checklist_keyword_implementation.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
this is an unfinished list as to where changes must happen when a new keyword gets included.

• core object
• new commands
• register in command plugin
• in calculixcore:
- implement object new coreobject
- init
- update
- reset
- print
- read and save cub5
- autocleanup
- highlight
- parser
- export data for inp
- export data for gui
• add to custom line -> core, command
• add to step if necessary -> core, command
• add to draw if necessary -> core, command
• include in export command
• create gui
- tree
- right click menu
- highlight
- navigation
- panel widgets

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit fedcb68

Please sign in to comment.