Concrete Foundation Plate

About the development of the FEM module/workbench.

Moderator: bernd

User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Concrete Foundation Plate

Postby HarryvL » Fri Jan 11, 2019 6:25 pm

Another concrete example. This time a 10x10x2m foundation plate subjected to a 50MN load from a central 1x1m column.

FreeCAD mesh:


Foundation_Block.jpg
Foundation_Block.jpg (89.46 KiB) Viewed 532 times


Paraview representation of Calculix results after post-processing in FreeCAD:


Foundation_Block_1.png
Foundation_Block_1.png (292.51 KiB) Viewed 532 times


Red vectors: Tensile principal stresses
White vectors: Compressive principal stresses

Finally an animation to gain better insight in how stresses "flow":


out%02d_2.gif
out%02d_2.gif (564.71 KiB) Viewed 529 times
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Concrete Foundation Plate

Postby HarryvL » Fri Jan 11, 2019 7:20 pm

And below are the files for those who may want to test the concrete branch here: https://github.com/berndhahnebach/FreeC ... emconcrete

Foundation Block.FCStd
(20.58 KiB) Downloaded 7 times
Foundation_Block_vtk.txt
(574.49 KiB) Downloaded 10 times

Don't forget to rename the last file to Foundation_Block.vtk
User avatar
bernd
Posts: 8317
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Concrete Foundation Plate

Postby bernd » Sat Jan 12, 2019 8:31 am

wow cool, why does it have four legs? We should try to find how to support the base face with springs in Calculix and integrate this in FreeCAD.

_UR or fandaL might know how does it work in Calculix?
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Concrete Foundation Plate

Postby HarryvL » Sat Jan 12, 2019 9:28 am

Spreading the load over 4 piles through a foundation plate. Just to create some extreme shear and bending for presentation purposes.
User avatar
bernd
Posts: 8317
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Concrete Foundation Plate

Postby bernd » Sat Jan 12, 2019 10:02 am

ahh that surely makrs sense ...

but that foundation spring stuff is in my mind for years, I'm just not sure yet what is the best way to model this in Calculix.

btw have some small improvement to make your code more generalised :)
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Concrete Foundation Plate

Postby HarryvL » Sat Jan 12, 2019 12:20 pm

If elastic foundation is not an option then we can export nodal springs. I will work out and post the equivalent nodal values for a given distribution of elastic support (eg linear over elements face).
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Concrete Foundation Plate

Postby HarryvL » Sat Jan 12, 2019 3:49 pm

bernd wrote:
Sat Jan 12, 2019 10:02 am
btw have some small improvement to make your code more generalised :)
Interesting. In what way?
Jee-Bee
Posts: 1950
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Concrete Foundation Plate

Postby Jee-Bee » Sat Jan 12, 2019 6:33 pm

HarryvL wrote:
Sat Jan 12, 2019 12:20 pm
If elastic foundation is not an option then we can export nodal springs. I will work out and post the equivalent nodal values for a given distribution of elastic support (eg linear over elements face).
do you have these ones implemented http://www.feacluster.com/CalculiX/ccx_ ... de305.html
Or do you mean something else?
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Concrete Foundation Plate

Postby HarryvL » Sat Jan 12, 2019 7:53 pm

It is not clear from the description if they are referring to nodal springs or distributed springs on an element face. We need the latter and I plan to work out equivalent values for the former. Howeverif CCX already has distributed springs on faces then there is no need of course.
User avatar
HarryvL
Posts: 1043
Joined: Sat Jan 06, 2018 7:38 pm

Re: Concrete Foundation Plate

Postby HarryvL » Sun Jan 13, 2019 8:04 am

I checked and can find 3 types of spring in the manual, with the following funny naming convention. All three get defined on the *SPRING card.

SPRING1
One-noded spring.
Input:
- direction vector of spring n
- spring stiffness k
Behaviour:
F = k u,
where F = reaction force vector, k = spring stiffness, u is the nodal displacement in the direction of n

SPRING2
Two-noded spring.
Input:
- two direction vectors. One at first node and one at second. The only practical application I see is when the direction vectors at both ends are equal ... say n. In this case the direction vector is the direction vector of a spring tieing both nodes.
- spring stiffness k
Behaviour:
F = k (u2 - u1)
where F = reaction force vector on the first node and -F = reaction force vector on the second node, k = spring stiffness, u1 is the displacement of the first node in the direction of n and u2 is the displacement of the second node in the direction of n

SPRINGA
A simple spring element definition between two nodes.

Input:
- spring stiffness k

Behaviour:
F = k (L-L_0) n,
Where L_0 = original distance between first and second node, L = final distance, n = unit vector pointing from first to second node.

So as far as I can see there is no face spring in CCX and for the purpose of modelling an eleastic foundation we either use equivalent springs of type SPRING1 or define a new user element in Calculix. I will derive the elastic stiffness matrix for a 3 and 6 noded isoparametric face element that matches the 4 and 10 noded tetrahedral volume elements generated with GMSH. This can either be used to define SPRING1 elements (by lumping stiffness on the diagonal of the matrix) or in a fully consistent form (in a Calculix UEL.f subroutine).