CLOAD use mesh face area for nodeloads

About the development of the FEM module/workbench.

Moderator: bernd

User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by bernd »

ulrich1a wrote:... From my limited knowledge about the finite elmement method, I think the forces are only defined in the nodes. So ccx has to do a similar calculation for the DLOAD in order to get the node forces. The source code of ccx may give a guide, how the do this right....
Yes the forces are defined in the nodes. In any case they will be defined in the nodes even in in DLOAD CalculiX calculates forces in the nodes. CalculiX uses for DLOAD to calculate the node lodes the shape functions of the element. What means for D3C4 linear functions and for D3C10 a quadrillic function which has much higher weight at the middle nodes. All this including how to calculate is written in nearly any book about FEM. But I'm engineer not mathematician. But I will come up with an workaround and we may find someone who could help us in this regard.
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by PrzemoF »

bernd, could you check if you're OK with some cleaning of your code and pull/merge the changes into your branch?
It's a simple 0 N force filtering + white space fixes.

https://github.com/PrzemoF/FreeCAD_sf_m ... b_femdev07
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by PrzemoF »

Please correct me if I'm wrong:
1. We have perfectly working solution for C3D4 elements where a face is defined by 3 nodes.
2. C3D10 element face is defined by 6 nodes. 3 corners and 3 middle points.
3. Those 6 nodes also define 4 faces. 3 faces defined by a corner and adjacent 2 middle points and one face defined by 3 middle points.
Can the current C3D4 method be applied to those faces? I mean we should "translate" each 6 point face into 4 3 point faces and use the same match as currently for C3D4 I'd try to code it, but I want to finish Pressure constraint and workbench list customisation first.
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by bernd »

PrzemoF wrote:Please correct me if I'm wrong:
1. We have perfectly working solution for C3D4 elements where a face is defined by 3 nodes.
Yes because the area calculation equals the shape functions of the C3D4 elements.
PrzemoF wrote: 2. C3D10 element face is defined by 6 nodes. 3 corners and 3 middle points.
Yes
PrzemoF wrote: 3. Those 6 nodes also define 4 faces. 3 faces defined by a corner and adjacent 2 middle points and one face defined by 3 middle points.
Can the current C3D4 method be applied to those faces? I mean we should "translate" each 6 point face into 4 3 point faces and use the same match as currently for C3D4 I'd try to code it, but I want to finish Pressure constraint and workbench list customisation first.
Curently not. But I would like to code this. Will be the next to do for me.

OK, made a cheaper area calculation.

For test purposes a workaraound for C3D10 elements. Nearly all displacement is done by the middle nodes, it is crazy. It seams the corner nodes are just to keep the deformed model in the right direction. It is really only a workaround but much better than the current soulution.

attached two test files.

@przemo: sure I will adopt your commit.
Attachments
tensionbox-2_C3D10.fcstd
(186.35 KiB) Downloaded 60 times
tensionbox_C3D10.fcstd
(11.31 KiB) Downloaded 62 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by bernd »

find CLOAD implementation for flat faces to test on

https://github.com/berndhahnebach/FreeC ... femcload01
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: CLOAD use mesh face area for nodeloads

Post by sgrogan »

DLOAD on the left CLOAD on the right
Displacement agreement is good 11%
Von Mises there still seems to by sqrt(2) Both versions seem to be using the same calculation fron ccxFrdReader.py
disp.PNG
disp.PNG (475.73 KiB) Viewed 2022 times
[attachment=0]stress.PNG
Attachments
stress.PNG
stress.PNG (441.18 KiB) Viewed 2022 times
"fight the good fight"
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by bernd »

@sgrogan
could you provide the FreeCAD files?
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by PrzemoF »

I did a test as well. The results are so good (identical!) that I'm not sure if I did not mix something.. :shock:
Attachments
1MPa_on_100mm2_with_pressure.png
1MPa_on_100mm2_with_pressure.png (193.49 KiB) Viewed 2009 times
100N_over_100mm2_with_force.png
100N_over_100mm2_with_force.png (217.31 KiB) Viewed 2009 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by bernd »

PrzemoF wrote:I did a test as well. The results are so good (identical!) that I'm not sure if I did not mix something.. :shock:
What elemts? For C3D4 we should get exact the same !!!
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: CLOAD use mesh face area for nodeloads

Post by PrzemoF »

bernd wrote:
PrzemoF wrote:I did a test as well. The results are so good (identical!) that I'm not sure if I did not mix something.. :shock:
What elemts? For C3D4 we should get exact the same !!!
Yes, it's C3D4 - the perfect results explained :D I'll test again with C3D10
Post Reply