Limit State in CalculiX (LRFD calculation)


This is quick example for limit state, calculated with plastic card
This problem has simple analytical solution for limit moment

Mpl = Yield Stress *  Plastic section modulus 

Using CalculiX you can obtain numerical solution (the limit state when deflection is growing without load increment)

Get files and spreadsheet (LibreOffice with macros) at here

At some cases composite shell with many integration points should be used for limit state calculation.

See the example at here.

How To Analyse Stress State In Practical Applications

This article is explanation of videos, stored at here.
When students start to learn strength of materials he is getting
information like :

Max. equivalent stress <= [Limit stress]

This is very simplified approach, and maybe enough to know for the overall development, but not enough to solve practical problems.

Basically there are many different types of limit states and the above formula is not a criteria of failure, it is just general formula for start of yielding (when stress at some point comes to yield surface.

For example, stress can be lower than yield strength to get fatigue failure after many cycles and it can be easily much more than yield strength to resist sufficient  amount of cycles for your problem.

In practical applications people use code requirements. The history of technical codes has more than 100 years with huge experience of service under the different loads and conditions.

Let's take ASME BTH-1–2005 "Design of Below-the-hook lifting devices"
It uses allowable stress method, but it says:

The allowable stresses and stress
ranges defined in paras. <...>, and <...> are to be com-
pared to average or nominal calculated stresses due to
the loads defined in para. <...>. It is not intended that
highly localized peak stresses that may be determined
by computer-aided methods of analysis, and which may
be blunted by confined yielding, must be less than the
specified allowable stresses.

Actually this code (as many other national codes) uses common formulas  of beam theory, like P/A+M/Sx
what means that it operates with averaged fiber stress, not with peak values.

Let's solve simple example to show the difference between fiber stress and peak stress ( )

I-beam (b=h=6'', tw=tf=0.5''), fixed at one end and loaded with concentrated moment M=250000 lb*inch at other end.

Moment of inertia: Ix=2*6*0.5^3/12+2*6*0.5*2.75^2+0.5*5^3/12=50.7 inch^4
Section modulus: Sx=50.7/(6/2)=16.9 inch^3
Fiber bending stress  =M/Sx=250000/16.9=14800 psi

Fig.1 - I-beam with hole

Fig.2  - Section properties

Fig 3 - Distribution of fiber stress (von Mises)

Fig 4- Peak stress at stress concentration point

Let's explain all values:
1) Fiber stress is subject of technical codes, based on allowable stress design
It should be less than yield strength in most of application (the exception is LRFD - load resistance factor design, where M/Sx>yield stress
LRFD  is not applicable to structures with cyclic load
Allowable stress can be less, than yield stress (for example for elevators it is equal to 14 ksi for normal load and 27 ksi for emergency stop) 
In CalculiX you can investigate fiber stress using 'max' card in CGX

2) Peak stress at stress concentration point can be much more than yield stress in many applications. It is subject for fatigue analysis, based on total deformations (elastic+plastic)

3) Situation when peak stress = yield stress don't make sense practically. It doesn't provide protection against fatigue because yield stress > fatigue threshold. Peak stress can't be used for allowable stress design, because usually it gives huge unnecessarily  safety margin for most of practical applications and it doesn't provide complete safety in general. It is mostly some limit that make sense in theory (start of yielding at some point)
Peak stress is infinite in many FEA models due to singularity (solution with plastic card is not helpful in this case, because stress and strain stay infinite).
It is subject of Fracture mechanics and it uses other values, not stress or strains but sort of averaged stress)  
In this case  hydraulic  analogy can be useful for understanding. it doesn't matter what is peak maximum of velocity, but flow rate is result of integration over the stream).

It is what ASME BTH-1–2005 "Design of Below-the-hook lifting devices" says about that

"While the use of such methods is not prohibited, modeling of the device and interpretation of the results demands suitable expertise to assure the
requirements of this standard are met without creating unnecessarily conservative limits for static strength and fatigue life."

Many commercial programs, like ANSYS, Solidworks Simulation,  and etc, use this approach when calculate "Safety Factor" but it is not perfect and doesn't provide accuracy (as people think when they buy expensive software)
The great benefit of using FEA, is getting accurate numerical solution of stress distribution. Elasticity Theory proves the theorem of Existence and Uniqueness of Solution, that means all (properly tested) FEA programs should give the same results (which depend on boundary conditions, applied by user, under the user's responsibility). But knowing correct stress distribution don't give answer for things like safety and strength.
Technical codes is right source for these issues.


CalculixLauncher License

CalculX Launcher is free collection of software (pre-post processors, mesh converters and other tools) distributed for free, for private and commercial use, WITHOUT ANY WARRANTY.

CalculX Launcher binary files is Free Software (Common Creative -ShareAlike 2.5 Generic CC BY-SA 2.5)
Source code is stored at /scr/Lazarus_Launcher...
It is based on modified version of CalculiX CGX (come additional cards added by Sergey Pustovoitoff)   Source code is stored at /scr/CalculiX...

CalculiX is free software; you can redistribute it and/or modify 
it under the terms of the GNU General Public License as published by 
the Free Software Foundation; either version 2 of the License, 
or (at your option) any later version.

This program is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; 
if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 

Gmsh is “free software”; this means that everyone is free to use it and to redistribute it on a free basis. It is provided under the terms of the GNU General Public License (GPL), Version 2 or later, with the some exceptions
(Read GMSH help file for more details)

Converters come with source code, stored in the ../scr/Converters folder

UNV to INP converters

UNICAL - CalculiX interface program,  Bernhardi, Aug 2011, with some changes. 

UNV2X base code, J.Cugnoni,,9.2006 with some modifications


is under GPL Version 2 license 
comes as free collection of python scripts with py files.

The objective of distributing this collection of free open-source software is to help professional engineers, students and hobbyists with studying main principles of FEA and  CAD. Since open-source programs are developed by independent teams, there are many problems with compatibilities of file formats and open libraries. Distribution of statically linked binaries is helpful for beginners to start working without investigation of why it doesn't work and  why old published samples can not be reproduced on new versions

Caelinux+CalculiX Launcher Under VirtualBox

CalculiX is native linux software. It means that it is writing and testing primarily for linux. Since GCC compiler is cross-platform, CalculiX is ported to Windows, but it is not free from mistakes and problems.
For example CCX (solver) don't pass all verification tests.
CGX (Pre, Post-processor) has many small mistakes (all known builds).
It doesn't matter for small models in 90% of cases, and it is hard to catch and fix them all, because compilers have many small differences.
Also Windows XP, Windows7 and etc, may work differently, even with some new updates. Sometimes it works at Windows7 at home but don't work in other place. It is not so easy to catch all these problems for all windows users in limited time (also, remember that it is free, and  I don't care of all people too much).

It is why CalculiX Launcher for Windows is limited. Also, for same reason, I provide two versions of CGX for Windows:  2.5 and 2.10 (old one is more stable, new one has more functions).

Trying to avoid all these problems and minimize my work, I am suggesting you to use CalculiX under Linux. If you're experienced linux user, you probably have both systems (in dual boot).  Linux can be installed on removable usb drive. Also many people use linux only (engineers with Siemens NX and etc). The other benefit that Salome-Platform is also native linux software, and Salome_MECA (with Code_Aster) don't even have port to Windows.

If you don't know what is linux, you can install it under VirtualBox. In this case you have minimal risk to damage something when installation and finally your linux will be running as regular Windows program.

It is good solution if you have enough memory to run both OS at the same time.
Let's assume that practical minimal portion of RAM, set up for linux in virtualbox,  is about 2.5-3 GB (you also should leave enough amount of RAM for Windows and other windows software). it is not a problem if you have 6-8 GB total amount RAM on your PC.
Disk space should be about 50 GB (to work with comfort, install software, create large models and don't think about free space).
You should setup these limits at the beginning of creation of linux image.

ISO files for linux can be downloaded anywhere. Remember that there is difference between amd64 (x86-64) and i386 (32 bit) architecture. Get right ISO file, that matches your virtualbox setup.
64 bit is recommended for calculation deals because it gives you ability to run large models.

I would recommend you caelinux distribution (64bit) that comes with many engineering programs. Alternative link for ISO files ( is here.
Also you will need to update Salome-MECA to newer version (2015-2016) which is more efficient than 2013 (in caelinux2013 collection).
For 32-bit system you may obtain only Salome-MECA2013 (they stopped providing 32bit for old computers now). 

Please, see the movie , how to do it.

Note: don't update Caelinux to Ubuntu14! It will require some specific work to fix some issues after updates. Linux is not windows, so don't worry for viruses too much.
Just keep your Internet browser and adobe-flash updated (because it is main source of possible threats).

Wizard for CalculiX - Screenshots

Manager of Groups

Manager of graphs (*AMPLITUDE, nonlinear springs and etc)

Applying linear contact

Getting Started With CalculiX Launcher For Windows

As it was mentioned, CalculiX Launcher works with Salome-Platform.
Salome-Platform is 'papa' of FreeCAD and many others free CAD programs. It has the same functions and STEP/IGES support.

First, go the the official web-site and download Windows version (registration is required)

You will obtain self-extracting archive for Windows (about 1gb of size)

Unzip it onto C:\ drive

This procedure may take some time, but the benefit of huge size is portability.
Salome-Platform will provide you software with all libraries. Normally it should work 'out of box' but in some cases you may read installation instruction
Go to the folder with Salome and run 'bat' file as it is shown below.

At Windows7 you may need 'allow access', just do it.

OK, done! You can see Salome-Platform with list of modules. Start with selection of GEOM module.

Video lessons below show you main steps of how to work in CalculiX.

To learn Salome from scratch see this playlist.

Video-Lesson1 - Creating and meshing model in Salome-Platform.

Video-Lesson2 - Converting mesh into CalculiX format and running CGX in Pre-Processor mode.


Video-Lesson 3 - Creating INP file with commands for CalculiX CCX (solver)

Video-Lesson 4 - Running CalculiX CGX in Post-Processor mode


CalculiX and Salome-Platform are native linux programs. They mainly developed and tested for linux. All windows clones are not free from mistakes.
In this case you may use CalculiX Launcher with windows version, provided by Jeff Baylor.
It is most stable version of CalculiX for Windows, and sometimes it can be helpful.
The other (best) way is to install linux under Windows with Virtualbox
Google how to do it, also you may use this version, with old Salome-MECA pre- installed.

Fatigue With CalculiX

CalculiX allows you to calculate structures and machined parts with plastic deformation.
You may use Ramberg–Osgood law with *DEFORMATION PLASTICITY 
card. In this case you don't need to define elastic properties separately.

The Ramberg–Osgood is typical equation to describe the non linear relationship between stress and strain—that is, the stress–strain curve—in materials near their yield points. It is especially useful for metals that harden with plastic deformation.

You can use it to calculate total (elastic+plastic) strain for fatigue with Strain-Life Analysis.
In this case you can avoid of using Neuber's correction (approximate and conservative dependency for getting plastic results based on elastic solution)
In this case (with using CalculiX) you don't need to take into account Stress Concentration Factor, only Surface Finish make sense for calculation, based on total strain.

For more information, read

Also you may use Libre-Office spreadsheet here (macros should be allowed for getting number of cycles. To make it work, go to Tools>Options>LibreOffice>Security>MacroSecurity and setup "Medium Level" and then re-run Libre-Office again)

CalculiX Launcher v2 (outdated, storage for links)

All programs comes with their own licenses WITHOUT ANY WARRANTY
read more it at official websites: ,

This is outdated version, please don't use it!

Stable (old) version of CalculiX Launcher for Ubuntu (CalculiX CCX 2.8p2+2.9 MT, with Mohr Coulomb user model for testing). You may obtain it here:

Launcher-02 for Linux (Ubuntu tested) 64 bit
@Google Drive:

@Yandex Drive:

Launcher-02 for Linux (Ubuntu tested) 32 bit
@Google Drive:
@Yandex Drive:



Patches (linux only) for Launcher v2 to get some new functions of Launcher v3 beta (current full version of Launcher 3 is here) 

Changes: CCX2.10+CCX2.8p2, CCX Wizard


 Launcher-02 for Windows 32-64 bit.
@Google Drive:

@Yandex Drive:



Salome-MECA 64-bit for Linux can be downloaded here:
md5sum A78EAE0B1937F06CED8E7F570B05F94B
tgz with Linux run file (just ./run it to install)

Salome-MECA 2013-1 32 bit for Linux
md5sum c64a303e33607cb376dd21e95ed8057c
Salome for Windows (64 bit)
md5sum 5A1B19A27905AE540DD4731500A31FE3
Windows exe archive (just unzip it to C:\ and run salome_run.bat file)

Read more about Salome at here.

CalculiX CGX as Postprocessor

Main CGX cards (Post-processing)
(type commands when CalculiX GraphiX window is active

Use min/max cards to investigate stress distribution
For example max 250000000 will show areas with red color
where stress is > 250000000

Picture above shows Von-Mises stress in the beam, where max. stress value is 83700 psi (US inits) is very localized
Let's type max 50000
Now you can see red areas with stress>50,000 psi (from stress concentration and at the tip of beam where concentrated load is applied)

'scal' ['s'|'v'|'d'] [<value>]

This keyword is used to scale the graphic presentation of values but no values of entities.

scal d 10.
will scale the deformed shape by a factor of 10.

To see this picture, you should select GGX menu:
 Viewing>>Toggle Add-Displacement
Read CGX documentation for more information!