CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   solidEquilibriumDisplacementFoam fails with nu>0 (

duerrer January 5, 2010 07:10

solidEquilibriumDisplacementFoam fails with nu>0
Dear all,

solidEquilibriumDisplacementFoam failed with the error given at the bottom of the message. The case is based on the beamEndLoad tutorial case provided with the OpenFOAM distribution for solidEquilibriumDisplacementFoam. I changed the case from a 2D to a 3D case by setting planeStress=no in mechanicalProperties and adding boundary conditions for the two additional surfaces. I also increased the mesh resolution to 60x10x10.

With nu=0 (as in the tutorial case), I get a maximum displacement of 0,0053 that is reasonably close to the value of 0,0054 that I get from an analytical solution. However, by just setting nu=0.3 the solver fails with an exception. During the run, the kinetic power and energy that are output every 5th iteration, grow excessively. I assume that the failure is related to this behaviour: For a test, I also set nu=1e-03. In this case, the solver does not fail, but kinetic power and energy still grow unreasonably high (kineticPower > 1e+20 after the last iteration).

Are there any other parameters that have to be adapted for nu>0?

Is there a working example with nu>0 for a 3D-case with solidEquilibriumDisplacementFoam?

Kind regards,


GAMG: Solving for Dcorrx, Initial residual = 0.995075, Final residual = 0.174715, No Iterations 1
#0 Foam::error::PrintStack(Foam::Ostream&) in "/usr/local/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/"
#1 Foam::sigFpe::sigFpeHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/"
#2 Uninterpreted:
#3 Foam::GAMGSolver::scalingFactor(Foam::Field<double >&, Foam::Field<double> const&, Foam::Field<double> const&, Foam::Field<double> const&) const in "/usr/local/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/"
#4 Foam::GAMGSolver::scalingFactor(Foam::Field<double >&, Foam::lduMatrix const&, Foam::Field<double>&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const in "/usr/local/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/"
#5 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMa trix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/usr/local/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/"
#6 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/usr/local/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/"
in "/usr/local/OpenFOAM/OpenFOAM-1.6/applications/bin/linuxGccDPOpt/solidEquilibriumDisplacementFoam"
in "/usr/local/OpenFOAM/OpenFOAM-1.6/applications/bin/linuxGccDPOpt/solidEquilibriumDisplacementFoam"
in "/usr/local/OpenFOAM/OpenFOAM-1.6/applications/bin/linuxGccDPOpt/solidEquilibriumDisplacementFoam"
#10 __libc_start_main in "/lib/"
in "/usr/local/OpenFOAM/OpenFOAM-1.6/applications/bin/linuxGccDPOpt/solidEquilibriumDisplacementFoam"

xck1986 February 4, 2011 08:54

Hi Bernd,
I face the same problem as you described.
Have you solved this problem?
Thanks a lot in advance!

duerrer February 7, 2011 09:56


I did not find any solution for this problem. The method implemented in solidEquilibriumDisplacementFoam is described in Jasak, Weller "Application of the finite volume method and unstructured meshes to linear elasticity" (Int. J. Numer. Meth. Engng. 2000; 48:267-287). As can be seen on p. 267, the parameter lambda is proportional to nu. If nu is zero, one term in the governing equation is always zero. I think this is the deeper reason why OpenFOAM always fails for nu>0. My conclusion was that solidEquilibriumDisplacementFoam is therefore unfit for real world problems of structural analysis and I have stopped evaluating or using OpenFOAM.

Kind regards,


All times are GMT -4. The time now is 13:13.