Doc:Calculix

From CAELinuxWiki
Revision as of 14:26, 30 January 2013 by SebastianRod (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Description

CalculiX static anisotropic material analisys on CAElinux

CalculiX is a package designed to solve field problems. The method used is the finite element method.

With CalculiX Finite Element Models can be build, calculated and post-processed. The pre- and post-processor is an interactive 3D-tool using the openGL API. The solver is able to do linear and non-linear calculations. Static, dynamic and thermal solutions are available. Both programs can be used independently. Because the solver makes use of the ABAQUS input format it is possible to use commercial pre-processors as well. In turn the pre-processor is able to write mesh related data for nastran, abaqus, ansys, code-aster and for the free-cfd codes duns, ISAAC and OpenFOAM. A vda CAD interface is available. The program is designed to run on Unix platforms like Linux and Irix computers but also on MS-Windows.

Calculix is a very powerful tool of analysis, highly configurable allowing the user to have COMPLETE CONTROL over the analysis, with more than 18 types of analysis covering most fields of study finite element Calculix's user can modify any variable on the analysis at discretion, the huge amount of information and documentation on the web make CalculiX a great alternative for the development of research projects where computer tools must accommodate the needs of the study.

Analisis Types:

   * Static analysis
   * Frequency analysis
   * Buckling analysis
   * Modal dynamic analysis
   * Steady state dynamics
   * Direct integration dynamic analysis
   * Heat transfer
   * Acoustics
   * Shallow water motion
   * Hydrodynamic lubrication
   * Irrotational incompressible inviscid flow
   * Electrostatics
   * Stationary groundwater flow
   * Diffusion mass transfer in a stationary medium
   * Aerodynamic Networks
   * Hydraulic Networks
   * Turbulent Flow in Open Channels
   * Three-dimensional Navier-Stokes Calculations 

For a quick overview of the capabilities of CalculiX the results of an investigation of a small jet engine are presented. The jet engine was build around a turbo-charger rotor in the early 90's by Andreas Funke and Klaus Wittig. The FE-model was build from scratch with CalculiX and the compressor- and turbine models together with solver input files can be found in the distribution. The calculations were done to determine the burst-speed and the highest allowable rotational speed concerning low cycle fatigue and creep. In addition the eigenfrequencies were calculated to determine possible resonances with the vanes. The models are meshed with 20 noded brick elements with reduced integration. The right and left side of the disks are connected by cyclic symmetry equations which allow to calculate eigenvalues and mode-shapes for certain nodal diameters of a rotational symmetric volume based only on a segment of the structure. The compressor is made of casted aluminum alloy (AlSi - C355) and the turbine of a high temperature alloy (Inco 713C) and both are loaded by pure centrifugal force.


CalculiX GraphiX: CGX

CGX description (building )

CGX Interface

This program uses the openGL library for visualization and the glut library for window management and event handling. This results in very high speed if a hardware-accelerated openGL-library is available and still high speed for software-rendering (MesaGL).

CalculiX user interface is cgx program, which allows to create the geometric model, making the mesh, generate the loads and constraints and post-processing of information. Although it contains a graphical display area and certain model selection activities are made possible through the computer mouse, most of the work is done by typing text on a command line. Therefore it must know the name and syntax of each command, or at least constant consultation of the user manual. Despite this the quality of documentation and logic handled at the command causes the program is easily manageable, where skilled users might include their own functions. For example someone may need his own functions to manipulate the result-data or he may need an interface to read or write his own results format.

After the analysis is completed(on CCX), the results can be visualized by calling the CGX program again in an independent session. The program is primary controlled by the keyboard with individual commands for each function. Only a subset of commands which are most important for post-processing is also available through a pop-up menu. Shaded animations of static and dynamic results, the common color plots and time history plots can be created. Also, a cut through the model can be done which creates a section and it is possible to zoom through the model.


File Formats

The following file-formats are available to store or read geometric entities:

  *fbd-format, this format consists of a collection of commands explained in the section Commands and it is mainly used to
  store geometrical information like points, lines, surfaces and bodies. 
  *step-format, reverse engineered based on some 2D-NX5 files. Only points and certain types of lines are supported currently. 
  *stl-format, this format describes a shape using only triangles (see the read command to handle edges generated by NETGEN).

CalculiX CrunchiX: CCX

CCX description (building )

Golden Rules

Applying the finite element method to real-life problems is not always a piece of cake. Especially achieving convergence for nonlinear applications (large deformation, nonlinear material behavior, contact) can be quite tricky. However, adhering to a couple of simple rules can make life a lot easier. According to my experience, the following guidelines are quite helpful:


1. Check the quality of your mesh in CalculiX GraphiX or by using any other good preprocessor.

2. If you are dealing with a nonlinear problem, RUN A LINEARIZED VERSION FIRST: eliminate large deformations (drop NLGEOM), use a linear elastic material and drop all other nonlinearities such as contact. If the linear version doesn't run, the nonlinear problem won't run either. The linear version allows you to check easily whether the boundary conditions are correct (no unrestrained rigid body modes), the loading is the one you meant to apply etc. Furthermore, you get a feeling what the solution should look like.

3. USE QUADRATIC ELEMENTS (C3D10, C3D15, C3D20(R), S8, CPE8, CPS8, CAX8, B32). The standard shape functions for quadratic elements are very good. Most finite element programs use these standard functions. For linear elements this is not the case: linear elements exhibit all kind of weird behavior such as shear locking and volumetric locking. Therefore, most finite element programs modify the standard shape functions for linear elements to alleviate these problems. However, there is no standard way of doing this, so each vendor has created his own modifications without necessarily publishing them. This leads to a larger variation in the results if you use linear elements. Since CalculiX uses the standard shape functions for linear elements too, the results must be considered with care.

4. If you are using shell elements, beam elements or plane stress elements, use the option OUTPUT=3D on the *NODE FILE card in CalculiX. That way you get the expanded form of these elements in the .frd file. You can easily verify whether the thicknesses you specified are correct. Furthermore, you get the 3D stress distribution. It is the basis for the 1D/2D stress distribution and the internal beam forces. If the former is incorrect, so will the latter be.

5. If you include contact in your calculations and you are using quadratic elements, first avoid to include middle nodes in the slave surface. In CalculiX, slave middle nodes in contact formulations are internally connected to their neighboring vertex nodes by means of multiple point constraints. This makes the contact area stiffer. It may lead to undesirable results if a lot of bending is involved.

6. if you do not have enough space to run a problem, check the numbering. The memory needed to run a problem depends on the largest node and element numbers (the computational time, though, does not). So if you notice large gaps in the numbering, get rid of them and you will need less memory. In some problems you can save memory by choosing an iterative solution method. The iterative scaling method (cf. *STATIC) needs less memory than the iterative Cholesky method, the latter needs less memory than SPOOLES or PARDISO.

Documentation

Official Calculix Documentation

The original online documentation of Calculix can be found here:

Link: Calculix Official Website

Tutorials

section to complete...

Getting Started with CalculiX

By Jeff Baylor – Convergent Mechanical Solutions LLC

CGX Tutorial based on a tutorial by Guido Dhondt

Additional contributions by Chris Fisichella

Covers:

  • list of points

Link: http://bconverged.com/content/calculix/doc/GettingStarted.pdf

Tutorial Intermedio CalculiX, CAE­LINUX

By M.Sc. IM. Manel Felipe Mejía de Alba Est. IM. Jhoan Sebastián Rodríguez Rodríguez Est. IM.Catherine Sánchez Martínez Universidad De America

This tutorial is intended as a reference or starting point for those who choose to use more high-performance software and control. This is due to the characteristics associated with engineering free-software currently available. Then presented as an alternative to the basic tutorial "Getting Started with Calculix" by Jeff Baylo, the reader new on the subject better start with the basic steps explained in detail in that document.

  • Covers:

Introduction

Software tools

Contact Exercise

Introduction
Problem
Preprocessing
Processing, archiving. INP
Postprocessing

Heat Exercise.

Introduction
Problem
Preprocessing
Processing, archiving. INP
Postprocessing

Results. More information.


Link: http://ufpr.dl.sourceforge.net/project/investigaciondi/articulo%2Binvestigacion.pdf (Spanish)


Advanced CalculiX Tutorial

By Sebastian Rodriguez – [Libre Mechanics][1]

  • Covers:

Chapter One:

Case definition
Preparations
Sizing and Geometry
Units
Properties

Chapter Two:

Pre-processing
Meshing on NetGEN
Set construction
Exporting and importing
Re assembling

Chapter Three:

Processing

Chapter Four:

Post processing
Structuring
Plotting results

Chapter Five:

More information.

Link: http://sourceforge.net/projects/libremechanics/files/Analysis%20and%20Simulations/Advance%20CalculiX%20Tutorial/Advanced%20CalculiX%20Tutorial.pdf

TUTORIAL: How to compile CALCULIX in Ubuntu, in multi-thread or multi-core

NO oficial

By M.Sc. IM. Manel Felipe Mejía de Alba Est. IM. Jhoan Sebastián Rodríguez Rodríguez Est. IM.Catherine Sánchez Martínez Universidad De America

"Well ther is no sense on use a multi-core computer for FEA, if you can just use one core"

Link: http://sebastiangnu.blogspot.com/2011/07/como-instalar-calculix-23-en-ubuntu.html "You may want to change the language (spanish) in the Goolge Translate widget on the right"


Related Projects

FEA data exchange between Salomé and Calculix/Abaqus: MedAba project

by Otto Ernst Bernhardi

This project aims at developing a file conversion tool to facilitate the exchange of FEA meshes between Salome MED format and Calculix (link) / Abaqus INP format.

This software is developed by Otto Ernst Bernhardi and is provided "as is" without warranty.

Link: Proj:MedAba 2