1 (edited by bernd 07-08-2021 16:51:32)

Topic: oofem returns a error and no results just because of a finer mesh

Hi there,

Attached two oofem input files. One gives reasonable results (a bit to stiff but this might because it is first order tet element). The other has a slightly finer mesh and this does return a error:





$
$ oofem -f  Mesh_not_ok.in 
____________________________________________________
           OOFEM - Finite Element Solver
        Copyright (C) 1994-2017 Borek Patzak
____________________________________________________


Solving ...

_______________________________________________________
Error: (/home/bp/devel/oofem.git/src/oofemlib/floatmatrix.C:1259)
In solveForRhs:
pivot too small, cannot solve 4 by 4 matrix
_______________________________________________________
stack trace:
  /lib/liboofem.so : oofem::SPRNodalRecoveryModel::computePatch(oofem::FloatMatrix&, oofem::IntArray&, int&, oofem::SPRPatchType, oofem::InternalStateType, oofem::TimeStep*)+0x49b
  /lib/liboofem.so : oofem::SPRNodalRecoveryModel::recoverValues(oofem::Set, oofem::InternalStateType, oofem::TimeStep*)+0x41a
  /lib/liboofem.so : oofem::VTKXMLExportModule::getNodalVariableFromIS(oofem::FloatArray&, oofem::Node*, oofem::TimeStep*, oofem::InternalStateType, int)+0x8d
  /lib/liboofem.so : oofem::VTKXMLExportModule::exportIntVars(oofem::VTKPiece&, oofem::IntArray&, oofem::IntArray&, int, oofem::TimeStep*)+0x199
  /lib/liboofem.so : oofem::VTKXMLExportModule::setupVTKPiece(oofem::VTKPiece&, oofem::TimeStep*, int)+0x1e7
  /lib/liboofem.so : oofem::VTKXMLExportModule::doOutput(oofem::TimeStep*, bool)+0xecd
  /lib/liboofem.so : oofem::ExportModuleManager::doOutput(oofem::TimeStep*, bool)+0x62
  /lib/liboofem.so : oofem::EngngModel::terminate(oofem::TimeStep*)+0x7c
  /lib/liboofem.so : oofem::EngngModel::solveYourself()+0x9c9
Total 1 error(s) and 0 warning(s) reported
oofem exit code 1
$
Post's attachments

Mesh_not_ok.in 42.71 kb, 1 downloads since 2021-08-07 

You don't have the permssions to download the attachments of this post.

2 (edited by bernd 07-08-2021 20:55:08)

Re: oofem returns a error and no results just because of a finer mesh

attached the file which gives reasonable results  OOFEM gives as well as CalculiX, Mystran and Z88 the exact same result for this tet4 mesh. They all give 53.87 mm.

A tet10 mesh with similar size gives 87.4 mm in all programme which is perfectly fine.

cheers bernd

Re: oofem returns a error and no results just because of a finer mesh

ahh forgot the file, here it is ...

Post's attachments

Mesh_ok.in 23.44 kb, 1 downloads since 2021-08-07 

You don't have the permssions to download the attachments of this post.

Re: oofem returns a error and no results just because of a finer mesh

BTW: For the mesh OOFEM fails to analyse (first post) CalculiX, Z88 and Mystran do analyse the same maximum deflection of 61.21 mm

Re: oofem returns a error and no results just because of a finer mesh

oofem debian package from oofem download is used ...

$ oofem -v

OOFEM version 2.5 (x86_64-Linux, fm;tm;sm;dss;IML++)
of Dec 30 2017 on jaja

Copyright (C) 1994-2017 Borek Patzak
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$

Re: oofem returns a error and no results just because of a finer mesh

Has this problem been fixed in recent versions of oofem? Is there a newer version for debian available or is self compiling advised?

cheers bernd from FreeCAD FEM project.

7

Re: oofem returns a error and no results just because of a finer mesh

Hi Bernd,
I had a look at the problem in debugger. The solution itself went ok for both cases (in my development version of oofem, but most likely this will be the same for 2.5 version), what fails is the stress smoothing (to get nodal values from integration points). I will have a deeper look, in the meantime, you can fix this by using Zienkiewic-Zhu smoother instead. In vtkxml export module record simply use "stype 1"

Borek

Re: oofem returns a error and no results just because of a finer mesh

I can confirm with "stype 1" it works with 2.5 too.

great !