Plotting of Concrete Reinforcement Ratio

About the development of the FEM module/workbench.

Moderator: bernd

Post Reply
User avatar
HarryvL
Veteran
Posts: 1337
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Plotting of Concrete Reinforcement Ratio

Post by HarryvL »

HarryvL wrote: Thu May 24, 2018 5:38 pm
bernd wrote: Thu May 24, 2018 4:07 pm
HarryvL wrote: Thu May 24, 2018 10:11 am I have not tried Bernd, but yes that's what is done internally in CCX. 1D and 2D elements get expanded into 3D first and then a beam or shell hinge is implemented through a knot. Not sure if/how this can be specified or controlled by the CCX user.

Alternatively you could try to connect two solids at a common edge? As solid element nodes have no rotational stiffness, this would effectively create a hinge.


We may missunderstood. About 1D and 2D analysis this is known ...

No I mean assumed you have a slab and a wall in 3D solid elements, but for some reason there should be a weak connection because there is only really rare reinforcement. Thus one needs to modell a hinge connection between them. But a hinge in 3D analysis is not possible. Thus my idea was to add a material between them with some weak youngs modulus. Or is it better to split the objects and connect the mesh faces by a special element? Or only connect the at an edge and not with a face.

bernd
I would try the last option first.

like this:

hinge.png
hinge.png (248.07 KiB) Viewed 1544 times
Test103.fcstd
(99.15 KiB) Downloaded 54 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Plotting of Concrete Reinforcement Ratio

Post by bernd »

Since the geometry has to be changed it will be difficault to do this on a building by just ckicking the two objects and say hinged ... Mhh, good so far ... sorry for entering the topic with this hinged stuff.
User avatar
HarryvL
Veteran
Posts: 1337
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Plotting of Concrete Reinforcement Ratio

Post by HarryvL »

Massive 4x4x2m foundation block (C30/37) loaded by 10MN load. This time not so easy to work out reinforcement with traditional techniques ?!
Foundation_Block_Mesh.png
Foundation_Block_Mesh.png (207.22 KiB) Viewed 1531 times
Foundation_Block_ReRa_x.png
Foundation_Block_ReRa_x.png (122.01 KiB) Viewed 1531 times
Foundation_Block_ReRa_y.png
Foundation_Block_ReRa_y.png (127.13 KiB) Viewed 1531 times
Foundation_Block_ReRa_z.png
Foundation_Block_ReRa_z.png (138.36 KiB) Viewed 1531 times
Foundation_Block_MC.png
Foundation_Block_MC.png (33.94 KiB) Viewed 1531 times

ReRa_x and ReRa_y should be symmetric, which they are. MC=0, so no shear or crushing failure.
User avatar
HarryvL
Veteran
Posts: 1337
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Plotting of Concrete Reinforcement Ratio

Post by HarryvL »

Foundation_Block_ReRa_x_2.png
Foundation_Block_ReRa_x_2.png (73.08 KiB) Viewed 1529 times
User avatar
HarryvL
Veteran
Posts: 1337
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Plotting of Concrete Reinforcement Ratio

Post by HarryvL »

And a 4.0x4.0x0.15m simply supported floor with a 1.0x2.0m hole for a staircase, loaded by self weight and 4kN/m2 live load.

Floor_Weight_and_4KPa.png
Floor_Weight_and_4KPa.png (351.67 KiB) Viewed 1526 times
Floor_ReRa_x_top.png
Floor_ReRa_x_top.png (82.86 KiB) Viewed 1526 times
Floor_ReRa_y_top.png
Floor_ReRa_y_top.png (81.76 KiB) Viewed 1526 times
Floor_ReRa_x_bot.png
Floor_ReRa_x_bot.png (84.99 KiB) Viewed 1526 times
Floor_ReRa_y_bot.png
Floor_ReRa_y_bot.png (87.64 KiB) Viewed 1526 times
User avatar
HarryvL
Veteran
Posts: 1337
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Plotting of Concrete Reinforcement Ratio

Post by HarryvL »

bernd wrote: Thu May 24, 2018 4:04 pm basically yes, but you did not try the code, did you ;)

Code: Select all

if obj.Name[:13] == "SolidMaterial":
you can use

Code: Select all

if isDerivedFrom(obj, 'Fem::Material'):
we may sould make all this on an explizit example, this would be much more simple to understand ...
so this is how far I got with importToolsFem.py:

Code: Select all

import femmesh.meshtools
...
result_mesh = FreeCAD.ActiveDocument.Result_mesh
...
            for obj in FreeCAD.ActiveDocument.Objects:
                if obj.Name[:13] == "SolidMaterial":
#              if isDerivedFrom(obj, 'Fem::Material'):
                    if obj.Material.get('Name') != "Concrete":
                        print("NOT CONCRETE")
                        for ref in obj.References:
                            non_concrete_nodes = femmesh.meshtools.get_femnodes_by_refshape(result_mesh, ref)
                            for ncn in non_concrete_nodes:
                                results.ReinforcementRatio_x[ncn]  = 0.
                                results.ReinforcementRatio_y[ncn]  = 0.
                                results.ReinforcementRatio_z[ncn]  = 0.
                                results.MohrCoulomb[ncn] = 0.
                    else:
                        print("CONCRETE")
however, this gives the following error on loading the FRD:

Code: Select all

File "/home/harry/FC_MM/Mod/Fem/femmesh/meshtools.py", line 88, in get_femnodes_by_refshape
    nodes += femmesh.getNodesBySolid(r)
AttributeError: 'FeaturePython' object has no attribute 'getNodesBySolid'
I get the same result when I pass the FEMMeshGmsh.
User avatar
HarryvL
Veteran
Posts: 1337
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Plotting of Concrete Reinforcement Ratio

Post by HarryvL »

@Bernd, I use your mixed mesh branch for this development. Could it have to do with that?
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Plotting of Concrete Reinforcement Ratio

Post by bernd »

HarryvL wrote: Fri May 25, 2018 6:45 am @Bernd, I use your mixed mesh branch for this development. Could it have to do with that?
to be sure it is not this one I rebased it on FreeCAD master just ATM.
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Plotting of Concrete Reinforcement Ratio

Post by bernd »

try this ...

Code: Select all

import femmesh.meshtools
result_mesh = FreeCAD.ActiveDocument.Result_mesh.FemMesh
non_concrete_nodes = []

for obj in FreeCAD.ActiveDocument.Objects:
    if obj.isDerivedFrom('App::MaterialObjectPython'):
        if obj.Material.get('Name') != "CONCRETE":  
            print("NOT CONCRETE")
            for ref in obj.References:
                non_concrete_nodes = femmesh.meshtools.get_femnodes_by_refshape(result_mesh, ref)
        else:
            print("CONCRETE")
#

print(non_concrete_nodes)

Code: Select all

result_mesh = FreeCAD.ActiveDocument.Result_mesh
is the document object but you need to pass the FemMesh and not the document object. Thus:

Code: Select all

result_mesh = FreeCAD.ActiveDocument.Result_mesh.FemMesh
User avatar
HarryvL
Veteran
Posts: 1337
Joined: Sat Jan 06, 2018 7:38 pm
Location: Netherlands

Re: Plotting of Concrete Reinforcement Ratio

Post by HarryvL »

Thanks Bernd. It works. Let the testing continue :D
Post Reply