Plotting of Concrete Reinforcement Ratio

About the development of the FEM module/workbench.

Moderator: bernd

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

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » Thu May 24, 2018 5:03 am

Note 2: The design is for hinged end supports, but the FreeCAD model is more representative of "clamped" end supports. That's why the model has a high demand for vertical reinforcement in the end support area.

Note3: The lateral constraint at the middle support causes the need for lateral reinforcement, but not more than what is provided naturally by the practical stirrups.
User avatar
bernd
Posts: 8468
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » Thu May 24, 2018 6:22 am

HarryvL wrote:
Thu May 24, 2018 3:36 am
.. . just think of it as a 5-Dimensional Матрёшка :D :shock:
:mrgreen: It was definitely no fun to attend Russian lessons at school. Strange letters and grammar, grammar, grammar, :twisted: Happily this is 30 years ago ... Ahh how about this ...


5dim.jpg
5dim.jpg (21.05 KiB) Viewed 304 times

HarryvL wrote:
Thu May 24, 2018 3:36 am
PS: the CCX INP writer must do something similar to create element sets for material properties?
here starts the magical part. https://github.com/FreeCAD/FreeCAD/blob ... se.py#L264 At the end you will get to the def I did posted the link already ... This one. https://github.com/FreeCAD/FreeCAD/blob ... py#L76-L91

HarryvL wrote:
Thu May 24, 2018 3:36 am
Is that information available during post processing? I guess I could approach from the element/mesh side?
As I wrote before, this would be the smart way, but inp file and post processing use different mesh different. The meshes could be different. As written before we had a few rare cases when ccx returned less nodes in frd than there was in inp. Not used nodes where deleted. Thus it is difficault to use the data from inp file writing. But since result mesh is any time included in input mesh it may be possible any way since the missing nodes from input mehs could just be ignored on post processing.

I have been thinking of all this process, before. I have some smart ideas but this involves some amount of development and there are a few other TODOS on the list before ...

Ahh this example is cool. Have you ever been thinking how to connect to solid bodies in 3D-FEM and make a hinged (weake) connection of both. Some weak material between them would be needed, or is there some different approach around in FEM science?

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

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » Thu May 24, 2018 7:12 am

bernd wrote:
Thu May 24, 2018 6:22 am
Have you ever been thinking how to connect to solid bodies in 3D-FEM and make a hinged (weake) connection of both. Some weak material between them would be needed, or is there some different approach around in FEM science?
Bernd, it is better to double the nodes and then create a constraint relationship between them:

See CCX 2.13 maunual, page 92:

Code: Select all

For an internal hinge between 1D or 2D elements the nodes must be doubled and connected with MPC’s. The connection between 3D elements and all other
elements (1D or 2D) is always hinged.
Creating materials with extremely different stiffness properties usually gets you into trouble (ill-conditioning of stiffness matrix)
User avatar
bernd
Posts: 8468
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » Thu May 24, 2018 8:59 am

even for a hinge between 3D elements?
User avatar
HarryvL
Posts: 1052
Joined: Sat Jan 06, 2018 7:38 pm

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » 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.
User avatar
HarryvL
Posts: 1052
Joined: Sat Jan 06, 2018 7:38 pm

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » Thu May 24, 2018 3:28 pm

bernd wrote:
Wed May 23, 2018 11:42 pm
Ahh may be it is much more easy as I wrote. Just have a look here ... https://github.com/FreeCAD/FreeCAD/blob ... py#L76-L91
So Bernd, I just do the following?

Code: Select all

import meshtools

result_mesh = FreeCAD.ActiveDocument.Result_mesh

for obj in FreeCAD.ActiveDocument.Objects 
	if obj.Name[:13] == "SolidMaterial"
		if obj.Material.get('Name') == "Concrete"
			for ref in obj.References:
				concrete_nodes = get_femnodes_by_refshape(result_mesh, ref)
				# calculate rhox, rhoy, rhoz, mc
		else:
				# rhox=rhoy=rhoz=mc=0.
Thanks for your patience and help !!
User avatar
bernd
Posts: 8468
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » 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 ...

EDIT:
it should be ... you can use

Code: Select all

if obj.isDerivedFrom('App::MaterialObjectPython')
User avatar
bernd
Posts: 8468
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: Plotting of Concrete Reinforcement Ratio

Postby bernd » 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
User avatar
HarryvL
Posts: 1052
Joined: Sat Jan 06, 2018 7:38 pm

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » Thu May 24, 2018 4:28 pm

bernd wrote:
Thu May 24, 2018 4:04 pm
basically yes, but you did not try the code
Correct. I don't have my computer at hand. :oops: Thanks.
User avatar
HarryvL
Posts: 1052
Joined: Sat Jan 06, 2018 7:38 pm

Re: Plotting of Concrete Reinforcement Ratio

Postby HarryvL » 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.