Topic: Simulate wall (linear elastic)

hi Borek,

I'm afraid that I still have some troubles in simulating a reinforced concrete shear wall. I want to simulate that in linear elastic mode right now.
I think Isotropic Linear Elastic Material is suitable for the analysis, but I'm not sure which element to use. I have read this topic:
 
     http://www.oofem.org/forum/viewtopic.php?id=5

But I think element

2

Re: Simulate wall (linear elastic)

Hi,

if you are going to simulate a wall. then any plane-stress element would be fine (see http://www.oofem.org/resources/doc/elem … e11.html). The reinforcement could be simulated using 2D truss elements. Moreover, the mesh for "concrete" can be independent of reinforcement, which can be added into the model using hanging nodes.

Borek

Re: Simulate wall (linear elastic)

Hi Borek,

thanks for help. I haven't say clearly. I want to simulate a wall in a global coordinate, but I found elements in this group seems all 2D element. I want to place the element in a global coordinate by arbitrary, is there any way to  make it available?

thanks

zx

4

Re: Simulate wall (linear elastic)

Hi,

1) unfortunately, the plane stress elements can be used directly only in xy plane. The extension into the arbitrary plane is not difficult, bu requires some coding.
2) perhaps you can use the shell element (rershell) that could be placed anywhere in 3d and you can fix  DOFs related to bending, so that only membrane part will be considered. Rershell element is just superposition of constant strain plane stress triangle and constant curvature triangular plate element. But this is less elegant, but probably the only solution, if you want to avoid some coding.

I can provide some example of plane stress problem with reinforcement, if you want. The modification for rershell element should be simple. Let me know.

Borek

Re: Simulate wall (linear elastic)

Hi, Borek

That will be grateful if you can provide some example for me. It is very helpful for the beginner, such as me.

thanks,

zx

6

Re: Simulate wall (linear elastic)

Hi,

attached you will  find enclosed a simple example of 3D model of a simply supported beam with two reinforcing bars, illustrating the use of hanging nodes to introduce reinforcement.

Borek

Re: Simulate wall (linear elastic)

thank you very much!

Re: Simulate wall (linear elastic)

bp wrote:

Hi,

attached you will  find enclosed a simple example of 3D model of a simply supported beam with two reinforcing bars, illustrating the use of hanging nodes to introduce reinforcement.

Borek

I know its too late to ask considering the date on the post.

But where can I have that example, if it is available by any chance.

I am new to oofem and want to learn modelling RCC structures with non-linear behaviour.(Static and dynamic loading)

Re: Simulate wall (linear elastic)

Since that post, I believe the format for dealing with hanging nodes have changed.
Fortunately, its now very very simple to use them;

I made a small sample, a single bulk element (elastic) reinforced with a bar at some arbitrary coordinate. its a 2x2x2 hex, fixed at z = 0, and a prescribed deformation in z-direction at on edge. I put the reinforcement with an offset, so it skews the results slightly.

test.out
Test case
NonLinearStatic nsteps 1 rtolv 1e-6 rtold 1e10 MaxIter 30 manrmsteps 1 stiffMode 0 controllmode 1 lstype 3 smtype 7 nmodules 1
vtkxml tstep_all domain_all primvars 1 1 cellvars 1 1
domain 3d
OutputManager tstep_all dofman_all element_all
ndofman 10 nelem 2 ncrosssect 1 nmat 2 nbc 2 nic 0 nltf 1
node 1  coords 3 0 2 0 bc 3 1 1 1
node 2  coords 3 2 2 0 bc 3 1 1 1
node 3  coords 3 2 2 2 bc 3 0 0 2
node 4  coords 3 0 2 2 bc 3 0 0 0
node 5  coords 3 0 0 0 bc 3 1 1 1
node 6  coords 3 2 0 0 bc 3 1 1 1
node 7  coords 3 2 0 2 bc 3 0 0 2
node 8  coords 3 0 0 2 bc 3 0 0 0
hangingnode 9 coords 3 0.5 1.75 0.0 doftype 3 2 2 2 masterelement 1
hangingnode 10 coords 3 0.5 1.75 2.0 doftype 3 2 2 2 masterelement 1
LSpace 1 nodes 8 1 2 3 4 5 6 7 8 mat 1 crosssect 1
# Warning! There interpolation for the truss doesn't match the interpolation of the qspace element!
Truss3d 2 nodes 2 9 10 mat 2 crosssect 1
SimpleCS 1 area 0.1
IsoLE 1 d 1. E 10e3  n 0.3 tAlpha 0.0
IsoLE 2 d 1. E 210e3 n 0.3 tAlpha 0.0
BoundaryCondition 1 loadTimeFunction 1 prescribedvalue 0.0
BoundaryCondition 2 loadTimeFunction 1 prescribedvalue 0.1
ConstantFunction 1 f(t) 1.0

(the results aren't very exciting in this case, hard to even notice the effect from the truss, but its there)

Of course, the truss can be connected to any node, hanging or not. The hanging node can be connected to any point within any element (or even outside, although that doesn't make much sense).


If specifying the masterelement for each hangingnode is to much work in your case, I could write up something that looks up the closest element automatically, it shouldn't be hard.
(Just to be clear; if you need this feature, just ask and i'll implement it, otherwise i'll leave it for now).

Re: Simulate wall (linear elastic)

Thank you very much for your reply and your time for preparing this example.

My aim at present is to model RCC building and shear wall using oofem. However at present I am more interested in understanding the basics and would invest my time in learning it more than directly going to the final problem.

As obvious, for modelling a RCC building, the feature you suggested would be great to have otherwise it will be very difficult to find out master element for every hanging node. So if you find enough time for this then please do take up this matter.

Re: Simulate wall (linear elastic)

I have not really any idea of how RCC buildings are usually modeled. What I did was only to add a few hanging nodes which connects to a bar element.
Of course, the bar isn't really connected to the solid elements itself, just the nodes, so the reinforcements need to be subdivided, ideally at each element boundary, so in order to construct an input file, you will need to be able to look up the which elements you cut through anyway
(Alternatively, you can just discretize the reinforcements arbitrarily, and just take any element boundary mismatch as a discretization error)

I'll look into adding the code for automatic element lookup anyway. It's probably a useful feature to have.

Re: Simulate wall (linear elastic)

Ohh ... let me just clear my understanding here...

Does it mean that adding hanging nodes (and connecting elements with different material model) will have no effect in the calculation?
Or in other words, whats the purpose of hanging nodes then? I think I am seriously missing something here.

Re: Simulate wall (linear elastic)

They will definitely effect the results. Its just that for a series of blocks solid elements (concrete i assume?)
[ ][ ][ ][ ][ ][ ]
with an reinforcement
----------------------
it is not enough to put just one hanging node on each end
o-------------------o
since the only the endpoints would be connected, not the middle part, you'd have to place them at, probably at least each element boundary, so something like this
o-o-o-o-o-o-o-o

Re: Simulate wall (linear elastic)

I just commited code that automatically detects the containing element if you just supply the global coordintes for the hanging node.
See hangingnode03.in for an example. Its about as simple as it could get now

hangingnode03.out
Test of hanging node in with automatic element detection.
LinearStatic nsteps 1 nmodules 1
vtkxml tstep_all domain_all primvars 1 1 vars 2 1 4 stype 1
domain 2dPlaneStress
OutputManager tstep_all dofman_all element_all
ndofman 5 nelem 1 ncrosssect  1 nmat 1 nbc 2 nic 0 nltf 1
node 1 coords 3  0.0   0.0   0.0  bc 2 1 1
node 2 coords 3  0.0   4.0   0.0  bc 2 1 0
node 3 coords 3  8.0   4.0   0.0  bc 2 0 0
node 4 coords 3  8.0   0.0   0.0  bc 2 0 0
hangingnode 5 coords 3  6.0 1.8 0.0 dofType 2  2 2 load 1  2
PlaneStress2d 1 nodes 4 1 4 3 2  crossSect 1 mat 1
SimpleCS 1 thick 0.15
IsoLE 1 d 0. E 15.0 n 0.25 tAlpha 0.000012
BoundaryCondition  1 loadTimeFunction 1 prescribedvalue 0.0 
NodalLoad 2 loadTimeFunction 1 Components 2 2.5 0.0
ConstantFunction 1 f(t) 1.0

Although, at the time of writing this, i now realize it might not always be such a good idea for this application.
There will be two elements defined at that point there the hangingnode is attached. Both master and slave element, and OOFEM won't treat them any different, so it might attach to its own enrichment element.
Anyway, the code can still be usefull if you where to simple att a load at a certain point, or track the motion inside some element.  It would also be possible trivial to extend this to only check elements in a certain region, which might be what you want to do with the concrete+reinforcements anyway.

To have automatic element detection, simply don't supply a master element.

Re: Simulate wall (linear elastic)

I went ahead and added the "masterRegion" parameter as well. Its also documented in the input manual now.

Re: Simulate wall (linear elastic)

Hello,
I am not sure if this is the correct place to post my question. I want as well to analyse a concrete shear wall and I will apply the hanging node concept that you propose in the current post. I am working on a 2d domain. 
I am using t3d for the mesh generation and  as far as I understood I am going to mesh a patch or a region to create the 3d elements of the concrete wall and a curve to include the 2d trusses for the reinforcement. The latter group of elements will be the hanging nodes and as I understood OOFEM will trace their "master" elements.
However I would like to include in my model a bond-slip law  for the reinforcement.  A way to do it would be with interface elements. In order to combine the hanging node concept should I mesh 3 curves on t3d so that I have 2 curves for the surrounding concrete faces and 1 curve for the bar? Do you know if it is possible in t3d2oofem to produce interface elements?
Apart from this way to introduce the influence of the bond in the model is there another easier and maybe implicit method already implemented in OOFEM?

I would like to thank you in advance

Re: Simulate wall (linear elastic)

Hi demexen

Hangingnodes are just "slave" nodes, with their weights computed by the basis functions of the master element.
Thus, no new DOF is created in the hanging nodes, so the displacement (in the hanging nodes only) will unconditionally follow the master elements displacement interpolated displacement field.

This thread is about having the truss elements inside the solids, where the trusses are locked in place in their nodal points only. In can't see how one would possibly add  a bond-slip law with this approach.
You need to add multiple coinciding ordinary nodes (no hanging nodes) and connect concrete<->interface->truss

18

Re: Simulate wall (linear elastic)

Hi demexen,
you can add a bond slip model in the way you described using interface elements.
Basically you have to create hanging nodes at the position where reinforcing bar intersects your regular "concrete" elements. These will represent the displacement in concrete. Then you should create a new node (called R later) at the same location, that will represent the displacement in reinforcement. These two nodes have to be connected with an interface element with appropriate material model representing bond-slip behavior.  Note that the R node is not a hanging node, its independent node with its own DOF (most likely representing only one degree of freedom - displacement in tangential direction to reinforcement).
Unfortunately, T3D does not supports this at the moment and the input has to be prepared manually or by some convenient tool.
Usually, we create the regular concrete mesh by T3D, then write a simple tool, that reads reinforcement geometry (represented by a polygons), computes the intersections with element edges and introduces additional nodes, elements, etc.

hope that it will help,
Borek