Static FEA of a Flanged Pressure Vessel
Moderator: bernd
Forum rules
and Helpful information for the FEM forum
and Helpful information for the FEM forum
Re: Error Displaying CalculiX Results in v0.17
Just a question in the regard of precision to CalculiX cracks around ...
We implemented double precision in inp exporter (git commit e58b747) but the ccx results are double precision only. Means we do not have any benefit do we ?!?
Is it possible to change precision of result to double too? As example see a frd of the unit test: https://github.com/FreeCAD/FreeCAD/blob ... static.frd
We implemented double precision in inp exporter (git commit e58b747) but the ccx results are double precision only. Means we do not have any benefit do we ?!?
Is it possible to change precision of result to double too? As example see a frd of the unit test: https://github.com/FreeCAD/FreeCAD/blob ... static.frd
Re: Error Displaying CalculiX Results in v0.17
I could not find an answer to this in the ccx-manual.bernd wrote:Is it possible to change precision of result to double too?
The frd-result-format is a format specification from an former FEM-code which did exist before calculix. The available format options are shown here: http://www.feacluster.com/CalculiX/cgx_ ... de188.html
A binary format with double precision does exist. Calculix is able to write the binary format, if the *NODE OUTPUT is used: https://www.feacluster.com/CalculiX/ccx ... de266.html
But I could not find a hint in the manual, if it writes single or double precision. One has to analyze the resulting frd-file in order to find out. The next step is to find out, if FreeCAD is able to import binary result files.
Anyway, the subtraction operation amplifies rounding errors, so I expect the enhancement of the input-file precision is not useless.
Ulrich
Edit: For a mixed ascii/binary format file, both *NODE OUTPUT and *ELEMENT OUTPUT must be used. The node coordinates are written with double, the results are written as binary float.
Re: Error Displaying CalculiX Results in v0.17
I have been trying different GMSH settings to see if I can eliminate these 'lonely' nodes. I tried turning on the higher order mesh optimization, but it had no effect. I looked at the source code, and I believe I can see why it didn't work. The following code is from FemGmshTools.py starting at line 367:
I believe the code should be:
With this modification, I found the mesh optimization worked.
Cheers,
Doug
Code: Select all
# hight order mesh optimizing
if hasattr(self.mesh_obj, 'OptimizeNetgen') and self.mesh_obj.OptimizeNetgen is True:
geo.write("Mesh.HighOrderOptimize = 1; //probably needs more lines off adjustment in geo file\n")
else:
geo.write("Mesh.HighOrderOptimize = 0; //probably needs more lines off adjustment in geo file\n")
I believe the code should be:
Code: Select all
# higher order mesh optimizing
if hasattr(self.mesh_obj, 'HighOrderOptimize') and self.mesh_obj.HighOrderOptimize is True:
geo.write("Mesh.HighOrderOptimize = 1; //probably needs more lines of adjustment in geo file\n")
else:
geo.write("Mesh.HighOrderOptimize = 0; //probably needs more lines of adjustment in geo file\n")
Cheers,
Doug
Re: Error Displaying CalculiX Results in v0.17
Thanks Doug for triggering this out ... https://github.com/FreeCAD/FreeCAD/pull/826
Re: Error Displaying CalculiX Results in v0.17
Hello,
tested with:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11432 (Git)
Build type: Release
Branch: master
Hash: 0768ae99cfd6036601f66658f6e0f923de9af6f2
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
gmsh_3.0.3.exe
ccx_2.12_MTNO.exe
ccx gives this message even with: Mesh.HighOrderOptimize = 1;
But there is a feature inside gmsh to get rid of these nodes.
gmsh's input file "shape2mesh.geo" needs 2 additional lines in meshing section.
After that, gmsh merges all nodes with a distance less than given tolerance.
(red lines are added manually)
.
.
// meshing
Geometry.Tolerance = 1e-3; // set tolerance for merging nodes
Mesh 2;
Coherence Mesh; // Remove duplicate entities
.
.
Here is an example file with 2 meshes inside, one generated the old way, and one with activated coherence.
Please dragndrop one of them into analysis, and see the difference.
Perhaps one can add a coherence ON/OFF-flag and a coherence tolerance to "FEM GMSH Mesh Params"
This might be true, but these lonely nodes are not gone.
tested with:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11432 (Git)
Build type: Release
Branch: master
Hash: 0768ae99cfd6036601f66658f6e0f923de9af6f2
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
gmsh_3.0.3.exe
ccx_2.12_MTNO.exe
ccx gives this message even with: Mesh.HighOrderOptimize = 1;
Code: Select all
*ERROR: in gen3dboun: node 3 does not
belong to a beam nor shell
element and consequently has no
rotational degrees of freedom.
This may be caused by applying
a local coordinate system to a
node in which a rotational boundary
conditions is defined. In CalculiX
this is not allowed.
gmsh's input file "shape2mesh.geo" needs 2 additional lines in meshing section.
After that, gmsh merges all nodes with a distance less than given tolerance.
(red lines are added manually)
.
.
// meshing
Geometry.Tolerance = 1e-3; // set tolerance for merging nodes
Mesh 2;
Coherence Mesh; // Remove duplicate entities
.
.
Here is an example file with 2 meshes inside, one generated the old way, and one with activated coherence.
Please dragndrop one of them into analysis, and see the difference.
Perhaps one can add a coherence ON/OFF-flag and a coherence tolerance to "FEM GMSH Mesh Params"
Re: Error Displaying CalculiX Results in v0.17
I'l add them ...
Re: Error Displaying CalculiX Results in v0.17
Thanks very much, UR_! I've been stumped on these lonely nodes for some time now.UR_ wrote: ↑Sat Jun 24, 2017 11:20 pm
But there is a feature inside gmsh to get rid of these nodes.
gmsh's input file "shape2mesh.geo" needs 2 additional lines in meshing section.
After that, gmsh merges all nodes with a distance less than given tolerance.
(red lines are added manually)
.
.
// meshing
Geometry.Tolerance = 1e-3; // set tolerance for merging nodes
Mesh 2;
Coherence Mesh; // Remove duplicate entities
.
.
By the way, when I said that mesh optimization now worked, I didn't mean that it fixed the lonely node problem, just that the .geo file was now triggering mesh optimization as intended.
Cheers,
Doug
Re: Error Displaying CalculiX Results in v0.17
as a hint, be careful in setting the tolerance to hight, you might get non-positive jacobians than. Thus default in FreeCAD is quite small with 1e-6
Re: Error Displaying CalculiX Results in v0.17
Thanks, Bernd Indeed, I found 1E-3 was too large and resulted in many missing mesh elements. For my model, 1E-5 worked nicely.
Cheers,
Doug