ccxInputWriter vs. Faces

About the development of the FEM module/workbench.

Moderator: bernd

UR_
Posts: 1345
Joined: Tue Jan 03, 2017 8:42 pm

ccxInputWriter vs. Faces

Postby UR_ » Sun Apr 16, 2017 3:40 pm

Hello,
ccxInputWriter seems a little bit confused about faces and their normals.

This is a solid cube under pressure from outside. Deflection as expected.
box from solid.png
box from solid.png (167.88 KiB) Viewed 1882 times
Same box meshed from shells with unexpected result.
box from shell.png
box from shell.png (252.2 KiB) Viewed 1882 times
Of course with files:
BoxSolid.FCStd
(278.37 KiB) Downloaded 27 times
BoxShell.FCStd
(145.6 KiB) Downloaded 25 times
Perhaps its gone after ulrich1a has blown up the whole thing https://forum.freecadweb.org/viewtopic. ... 20#p169893 :D

done with:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10802 (Git)
Build type: Release
Branch: master
Hash: 10ce910c03347a90712327a7cc7be2bcdee13afc
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.0.0
ulrich1a
Posts: 1958
Joined: Sun Jul 07, 2013 12:08 pm

Re: ccxInputWriter vs. Faces

Postby ulrich1a » Sun Apr 16, 2017 4:33 pm

UR_ wrote:Same box meshed from shells with unexpected result.
Yes this is clearly a bug in ccxInputWriter. The input file has the following lines for the pressure load:

Code: Select all

***********************************************************
** Element + CalculiX face + load in [MPa]
** written by write_constraints_pressure function
** FemConstraintPressure
*DLOAD
** FemConstraintPressure: face load
489,P1,100.0
489,P5,100.0
489,P4,100.0
489,P3,100.0
489,P2,100.0
490,P1,100.0
...
The first number is the element number, P1 to P5 are the faces where the load should be applied. The last number in the row is the pressure load.
But as we can read here about facial distributed loading on shells: https://www.feacluster.com/CalculiX/ccx ... de174.html
For shell elements no face number is needed since there is only one kind of loading: pressure in the direction of the normal on the shell.
This means: the numbers P1 to P5 are wrong but not used. So there is no error from calculix. Calculix uses instead the normal of that face, which seems to have in this case the other direction.

A bug report is needed.

Ulrich
User avatar
bernd
Posts: 11931
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: ccxInputWriter vs. Faces

Postby bernd » Sun Apr 16, 2017 6:45 pm

thanks for reporting! I'm not surprised this does not work. I have never explicit tested this kind of load during shell implementations. But for sure this should work. If you make a bug report you could assign it to me!
User avatar
bernd
Posts: 11931
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: ccxInputWriter vs. Faces

Postby bernd » Sun Apr 16, 2017 6:46 pm

thanks for reporting! I'm not surprised this does not work. I have never explicit tested this kind of load during shell implementations. But for sure this should work. If you make a bug report you could assign it to me!
User avatar
bernd
Posts: 11931
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: ccxInputWriter vs. Faces

Postby bernd » Sun Apr 16, 2017 8:41 pm

ulrich this is similar to the problem you described with shell and fixed constraints. The constraints are defined on a face but the input file depends on the kind of elements used. The lines are different for shell and solid meshes. Solve this on either shell or solid mesh is possible, but on mixed meshes we really are in trouble ...

I'm starting to understand your concerns ...
ulrich1a
Posts: 1958
Joined: Sun Jul 07, 2013 12:08 pm

Re: ccxInputWriter vs. Faces

Postby ulrich1a » Mon Apr 17, 2017 1:34 pm

bernd wrote:I'm starting to understand your concerns ...
I answered here: https://forum.freecadweb.org/viewtopic. ... 24#p170124

Ulrich
User avatar
bernd
Posts: 11931
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: ccxInputWriter vs. Faces

Postby bernd » Tue Apr 18, 2017 12:14 pm

bernd wrote:thanks for reporting! I'm not surprised this does not work. I have never explicit tested this kind of load during shell implementations. But for sure this should work. If you make a bug report you could assign it to me!
Just had a look at this. The pressure constraint has never been working on shell meshes. I'm surprised ccx gives some results ?!?

For reference ...
- https://github.com/FreeCAD/FreeCAD/blob ... #L885-L900
- https://github.com/FreeCAD/FreeCAD/blob ... #L156-L178
- https://github.com/FreeCAD/FreeCAD/blob ... #L539-L546
User avatar
bernd
Posts: 11931
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: ccxInputWriter vs. Faces

Postby bernd » Tue Apr 18, 2017 12:14 pm

ulrich1a wrote:But as we can read here about facial distributed loading on shells: https://www.feacluster.com/CalculiX/ccx ... de174.html
The link does not work for me ...
UR_
Posts: 1345
Joined: Tue Jan 03, 2017 8:42 pm

Re: ccxInputWriter vs. Faces

Postby UR_ » Tue Apr 18, 2017 3:00 pm

See http://www.dhondt.de/ccx_2.12.pdf
Page 282
cit:
For shell elements no face number is needed since there is only one kind of
loading: pressure in the direction of the normal on the shell.
Applying a pressure to a face for which a pressure was specified in a previous
step replaces this pressure.
Page 348
cit:
For shell elements no face number is needed since there is only one kind of
loading: pressure in the direction of the normal on the shell.
The surface loading is entered as a uniform pressure with distributed load
type label Px where x is the number of the face. Thus, for pressure loading the
magnitude of the load is positive, for tension loading it is negative. For nonuniform pressure the label takes the form PxNUy, and the user subroutine dload.f
must be provided.
ulrich1a
Posts: 1958
Joined: Sun Jul 07, 2013 12:08 pm

Re: ccxInputWriter vs. Faces

Postby ulrich1a » Tue Apr 18, 2017 3:17 pm

UR_ has answered already. The link worked last week for me. Here is an alternative: http://web.mit.edu/calculix_v2.7/Calcul ... de147.html
bernd wrote:Just had a look at this. The pressure constraint has never been working on shell meshes. I'm surprised ccx gives some results ?!?
At least FreeCAD writes something into the Pressure constraint. And Calculix does not use the wrong references to the face numbers of the shell elements in case of shells, so it has no reason to complain.

Ulrich