Reinforced Concrete Beam

Asked by Arthur Mercier

Hi,

I would like to model a realistic reinforced concrete beam. Which is a rectangular box of concrete with rebars of steel along (inside) of the beam.

I think that I am using the CpmMat plus the properties defined in the uniax.py example for the concrete.

But what about the steel ? Is it realistic to define only "idSteel=O.materials.append(FrictMat(young=210e9,poisson=.25,frictionAngle=.8,label="steel"))" ?
There is a lot of different kinds of materials (CohFrictMat / CpmMat / ElastMat / FrictMat / MomentMat / NormalInelasticMat / RpmMat / ViscElMat / WireMat), which one is the best?

Thanks!

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Klaus Thoeni (klaus.thoeni) said :
#1

Hi Arthur,

my WireMat material model is designed for steel wires. I am actually using it
for the simulation of rockfall nettings which are made from steel. If you look
at the material definition you see that there is a possibility to define a
piece-wise linear stress-strain curve and a diameter. There are some
additional parameters I use for the netting which you shouldn't worry about.

I use remote interactions, this means that particles can interact even if they
aren't in contact, but it should work as well if particles are in contact. It
is essential to create the link between the steel particles at the beginning
of the simulations. However, at the current stage WireMat just considers
tensile forces (but an extension for compression can be implemented).

Have a look and tell me what you think. You can find my examples in
examples/WireMatPM and some simple two-particle tests in
scripts/test/WireMatPM.

Cheers

Klaus

On Thu, 2 Jun 2011 02:31:00 am Arthur Mercier wrote:
> New question #159902 on Yade:
> https://answers.launchpad.net/yade/+question/159902
>
> Hi,
>
> I would like to model a realistic reinforced concrete beam. Which is a
> rectangular box of concrete with rebars of steel along (inside) of the
> beam.
>
> I think that I am using the CpmMat plus the properties defined in the
> uniax.py example for the concrete.
>
> But what about the steel ? Is it realistic to define only
> "idSteel=O.materials.append(FrictMat(young=210e9,poisson=.25,frictionAngle
> =.8,label="steel"))" ? There is a lot of different kinds of materials
> (CohFrictMat / CpmMat / ElastMat / FrictMat / MomentMat /
> NormalInelasticMat / RpmMat / ViscElMat / WireMat), which one is the best?
>
> Thanks!

--
Dr. Klaus Thoeni - Centre for Geotechnical and Materials Modelling
Civil, Surveying and Environmental Engineering - Engineering Building EA
The University of Newcastle, Callaghan, NSW 2308, Australia
web: http://www.newcastle.edu.au/research-centre/cgmm
phone: +61 (0)2 4921 5118

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#2

Only you can tell which constitutive law should be used Arthur. The
first question is what kind of behaviour you want to simulate. Then find
a law that does that.
The biggest problem for steel bars is not the constitutive model in
facts, it is the geometrical model. Cylinders were introduced for this
kind of problems:
http://www.youtube.com/watch?v=iGHBb3nzOx0&feature=player_embedded

 Bruno

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#3

Thanks for your quick answers,

Actually, I'm lost with all these constitutive laws. I'd like to simulate a flexural test on a reinforced concrete beam, like here http://www.substech.com/dokuwiki/lib/exe/fetch.php?w=&h=&cache=cache&media=3-point_flexure.png.

So basically, it's a rectangular box of concrete with 1 (or 2) reinforcement bar in the lower part.
I'd like to have different points of view for the best way to do it.

1) What is the best way to model the concrete? I mean, I think to fill a rectangular box with 3 different sizes of particles, like radius1=3.5e-3, radius2=0.8*radius1, radius3=0.6*radius1; in order to get a better model of the real concrete (different sizes of grains: sand, gravel...).
Maybe it could be done in the "last step", cause it will increase (a lot) the number of particles, so at the beginning I can start with only one particle size.

2) So I think that I'll model the reinforcement bars with cylinders. But is it a good way for the cohesion between bars and concrete? There is a publication about reinforced concrete and DEM (Discrete element modeling of reinforced concrete with a particular steel-concrete interface J. Rousseau, Ph. Marin & L. Daudeville), where the reinforcement bar is modeled by vertical spheres only, http://www.2shared.com/photo/WG92-AAV/reinforced_concrete.html? the concrete is gray, steel bar in red and the support in blue. Is this way a better one?

3) How can I simulate a flexural test? like that http://www.substech.com/dokuwiki/lib/exe/fetch.php?w=&h=&cache=cache&media=3-point_flexure.png Once again, what is the best way to do it? Is there a function similar to the unixialstrainer to do it? 'Cause a solution is to do it with forceEngine applied directly on spheres, but it's not convenient at all. Another solution would be to create a rectangular geometry and to apply a stress on it.

4) So if I want to model a flexural test, I also need supports. Spheres of boxes? Like here https://yade-dem.org/wiki/Scr:DEM_with_local_moment_law

5) Which IPhysDispatcher Ip2 I'll need? Does it seem realistic for you Ip2_CpmMat_CpmMat_CpmPhys for the concrete and Ip2_WireMat_WireMat_WirePhys for the steel?

6) Which constitutive law Law2 I'll need?

7) Finally, what about the geometry and degrees of freedom? Most of time there are only 3 degrees of freedom, am I right? why not 6?

Thanks for your patience !

Revision history for this message
Jan Stránský (honzik) said :
#4

>3) How can I simulate a flexural test? like that
>http://www.substech.com/dokuwiki/lib/exe/fetch.php?w=&h=&cache=cache&media=3-point_flexure.png
>Once again, what is the best way to do it? Is there a function similar
>to the unixialstrainer to do it? 'Cause a solution is to do it with
>forceEngine applied directly on spheres, but it's not convenient at all.
>Another solution would be to create a rectangular geometry and to apply
>a stress on it.
You can simulate it in the same way as experiments, i.e. prescribe vertical displacement in the point where the force is applied and evaluate the reaction. It is a standard way to obtain stress-strain (or displacement-force) diagram in displacement-controlled tests.
The supports can be simulated in many ways, I would do something like (for simply supported beam) fixing vertical and horizontal displacement of particles in left lower corner and fixing vertical displacement of particles in right lower corner.
Another way is, as you wrote, to define rigid cubes and model supports by them.

>5) Which IPhysDispatcher Ip2 I'll need? Does it seem realistic for you
>Ip2_CpmMat_CpmMat_CpmPhys for the concrete and
>Ip2_WireMat_WireMat_WirePhys for the steel?
I don't know if some dispatcher to handle CpmMat and WireMat interaction would be needed..

>7) Finally, what about the geometry and degrees of freedom? Most of time
>there are only 3 degrees of freedom, am I right? why not 6?
The Dem3DofGeom means that the bond between two particles has 3 degrees of freedom components (normal and two shear components), i.e. there is no bending or twisting. In Yade there are definitely some models using 6dofs.

What kind of steel behavior do yo want to simulate? only simple yielding in normal direction and pullout of steel bar from concrete? for this purpose even special definition of CpmMat could be sufficient :-D

Jan

Revision history for this message
Klaus Thoeni (klaus.thoeni) said :
#5

On Sat, 4 Jun 2011 06:50:57 pm honzik wrote:
> Question #159902 on Yade changed:
> https://answers.launchpad.net/yade/+question/159902
>
> Status: Open => Answered
>
> honzik proposed the following answer:
> >3) How can I simulate a flexural test? like that
> >http://www.substech.com/dokuwiki/lib/exe/fetch.php?w=&h=&cache=cache&media
> >=3-point_flexure.png Once again, what is the best way to do it? Is there a
> >function similar to the unixialstrainer to do it? 'Cause a solution is to
> >do it with forceEngine applied directly on spheres, but it's not
> >convenient at all. Another solution would be to create a rectangular
> >geometry and to apply a stress on it.
>
> You can simulate it in the same way as experiments, i.e. prescribe vertical
> displacement in the point where the force is applied and evaluate the
> reaction. It is a standard way to obtain stress-strain (or
> displacement-force) diagram in displacement-controlled tests. The supports
> can be simulated in many ways, I would do something like (for simply
> supported beam) fixing vertical and horizontal displacement of particles
> in left lower corner and fixing vertical displacement of particles in
> right lower corner. Another way is, as you wrote, to define rigid cubes
> and model supports by them.
>
> >5) Which IPhysDispatcher Ip2 I'll need? Does it seem realistic for you
> >Ip2_CpmMat_CpmMat_CpmPhys for the concrete and
> >Ip2_WireMat_WireMat_WirePhys for the steel?
>
> I don't know if some dispatcher to handle CpmMat and WireMat interaction
> would be needed..

Indeed, you would need a new dispatcher in order to use CpmMat together with
WireMat.

> >7) Finally, what about the geometry and degrees of freedom? Most of time
> >there are only 3 degrees of freedom, am I right? why not 6?
>
> The Dem3DofGeom means that the bond between two particles has 3 degrees of
> freedom components (normal and two shear components), i.e. there is no
> bending or twisting. In Yade there are definitely some models using 6dofs.

Just remember, my current implementation of the WireMat considers just one DoF
(normal displacement->tensile normal force) for the steel. So it should work
fine for the pull-out test. I'm not sure about the bending test.

> What kind of steel behavior do yo want to simulate? only simple yielding
> in normal direction and pullout of steel bar from concrete? for this
> purpose even special definition of CpmMat could be sufficient :-D

It might be a good point to start with. It's always easier to deal with one
material and just adapting the material properties.

Klaus

--
Dr. Klaus Thoeni - Centre for Geotechnical and Materials Modelling
Civil, Surveying and Environmental Engineering - Engineering Building EA
The University of Newcastle, Callaghan, NSW 2308, Australia
web: http://www.newcastle.edu.au/research-centre/cgmm
phone: +61 (0)2 4921 5118

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#6

"only simple yielding in normal direction and pullout of steel bar from concrete? for this purpose even special definition of CpmMat could be sufficient :-D"

Yes, for now, just a pull-out test of the steel bar. So for now I just use CpmMat for both of concrete and steel.

So here is my script. http://www.2shared.com/file/sfyk5npE/pullout.html?
It's a very simple script, I didn't specify the steel properties nor the good coordinates of the bar. But I have this error message:
"FATAL /build/buildd/yade-daily-1/core/ThreadRunner.cpp:31 run: Exception occured:
Body #2003: Body::material type CpmMat doesn't correspond to Body::state type ChainedState (should be CpmState instead)."

I think that I lack something in my interaction loop:
"InteractionLoop(
  [Ig2_Sphere_Sphere_Dem3DofGeom(),Ig2_Sphere_ChainedCylinder_CylScGeom()],
  [Ip2_CpmMat_CpmMat_CpmPhys()],
  [Law2_Dem3DofGeom_CpmPhys_Cpm()],
 ),"
I just don't understand what do I need to do. I need to create another Law2 for CylScGeom, right? But when I check to the different interactions law there is only one "Law2_CylScGeom_FrictPhys _CundallStrack" which is not for me. I would need a "Law2_CylScGeom_CpmPhys_Cpm". Does it mean that if I want to create a cylinder, the only choice is a FrictMat?

Do you know what is the difference between a ChainedCylinder and a Cylinder, I mean do I really need a chained one?

Thanks

Revision history for this message
Jérôme Duriez (jduriez) said :
#7

Hello Arthur,

Few possible sources of problems I can see (I can not answer to all your questions) :

- all your bodies (including a chainedCylinder) seem to be of CpmMat. And, hence, seem to require being "CpmState". But the chainedCylinder is (probably) of Chainedstate... Then it can not work :
"Body::material type CpmMat doesn't correspond to Body::state type ChainedState (should be CpmState instead)."

- in your interaction loop, you understood one problem. A Law2 able to dealing with "CylScGeom" (which you obtain due to your interaction between Sphere and ChainedCylinder :Ig2_Sphere_ChainedCylinder_CylScGeom) is missing.

To conclude, your problem is that you want probably to mix different types of bodies (with their mat.) and contact laws that were never mixed together yet. If it is really what you need, you will surely need to write new classes. Good luck !

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#8

Hi Arthur

Out of the box, Yade is not capable of handling all possible
combinations of shapes and physics present in the code.
I think it will never happen, it would require that somebody
implementing a new shape - say ellipsoid - is supposed to implement
their interaction with all pre-existing shapes. It would lead to
exponential growth of code that no-one can sustain.
So, if you want to simulate something new, you have to implement some
missing functors sometimes. You give examples here.

> I just don't understand what do I need to do. I need to create another Law2 for CylScGeom, right? But when I check to the different interactions law there is only one "Law2_CylScGeom_FrictPhys _CundallStrack" which is not for me. I would need a "Law2_CylScGeom_CpmPhys_Cpm". Does it mean that if I want to create a cylinder, the only choice is a FrictMat?
Yes and no. Chained cylinders should be CohFrictMat if you want them to
simulate beam-like behaviour (see e.g.
scripts/test/chained-cylinder-spring.py).
But cylinder-sphere contacts will be only frictional (see
chained-cylinder-roots.py).
François Kneib is already working on cohesive sphere-cylinder at the
moment. I hope he can release something functional soon. If he doesn't,
then you will have to implement something on your side.
> Do you know what is the difference between a ChainedCylinder and a
> Cylinder, I mean do I really need a chained one?
>
You really need chained cylinders, else it is not a beam, it's a
granular material where grains are cylinder-shaped.
And in facts, there are no functors at all for Cylinders a.t.m. It is
just a class between Sphere and chCylinder in the inheritance, it can't
be used in simulations (until somebody implement functors for standalone
cylinders).

Bruno

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#9

Thanks for your answers,
" If it is really what you need, you will surely need to write new classes. Good luck !"
"So, if you want to simulate something new, you have to implement some missing functors sometimes."

Ok, but I don't have a lot of time and I even if, I don't have the knowledge for that (for now).

So my plan is to change the cylinder by one arm of spheres. Now when I include this arm, how can I do that, I mean how to include one arm in the concrete sample whitout any overlaps? Just "(pack.inCylinder()-pack.inCylinder)"?

"spheres=pack.randomDensePack(pack.inCylinder((0,0,0),(0,0,.1),radius=.04)-pack.inCylinder((0,0,0),(0,0,.1),5.5e-3),spheresInCell=1000,radius=3.5e-3,memoizeDb='/tmp/triaxPackCache.sqlite')
O.bodies.append(spheres)

O.bodies.append([utils.sphere((0,.1,z),radius=6e-3,wire=True) for z in numpy.arange(0,.1,1.9999*6e-3)])"

Yes I can do that, but how can I fill these voids after that ?
http://www.hostingpics.net/viewer.php?id=453884interface.jpg (sorry for this so ugly picture!), how can I have a cohesion between steel/concrete is these voids are not filled?

What about the steel bar, how can I stick the particles together? Do I need to create a clump?

Thanks !

Revision history for this message
Jan Stránský (honzik) said :
#10

>Yes I can do that, but how can I fill these voids after that ?
>http://www.hostingpics.net/viewer.php?id=453884interface.jpg (sorry for this so ugly picture!), how can I have a cohesion between steel/concrete is these voids are not filled?
intRatio=1.5 # try what value will be suitable for your simulation
O.engines=[
...
      Bo1_Sphere_Aabb(aabbEnlargeFactor=intRatio,label='bo1s'),
...
   InteractionLoop(
     [
         Ig2_Sphere_Sphere_Dem3DofGeom(distFactor=intRatio,label='ig2ss'),
...
]
O.step()
bo1s.aabbEnlargeFactor=-1
ig2ss.distFactor=-1

see https://www.yade-dem.org/sphinx/user.html for more details.

>What about the steel bar, how can I stick the particles together? Do I
>need to create a clump?
If you want to simulate a steel bar as rigid non-deformable and non-yielding body, you can use clump. Another way is to use utils.createInteraction function

To make the gaps between steel and concrete particles smaller, you can model the steel bar with "hexagonal" crossection such that the particles makes regular hexagonal prism. Just an idea.

Jan

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#11

"To make the gaps between steel and concrete particles smaller, you can model the steel bar with "hexagonal" crossection such that the particles makes regular hexagonal prism. Just an idea."

What do you mean? I want to fill these voids with concrete to get a good cohesion, because now there is nothing stick to the steel bar.

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#12

Or the question could be
"Is there a sphere packings algorithm which forbids that new particles created overlap existing ones?"

Revision history for this message
Anton Gladky (gladky-anton) said :
#13

I used for those purposes LSMGenGeo library.
https://yade-dem.org/doc/yade.ymport.html?highlight=lsmgengeo

Anton

On Wed, Jun 8, 2011 at 10:41 PM, Arthur Mercier
<email address hidden> wrote:
> Question #159902 on Yade changed:
> https://answers.launchpad.net/yade/+question/159902
>
> Arthur Mercier gave more information on the question:
> Or the question could be
> "Is there a sphere packings algorithm which forbids that new particles created overlap existing ones?"
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#14

Thanks for the link,

So I installed Gmsh and I created a geometry that I saved as mygeometry.geo.
I installed LSMgengeo library as well.
So now, I don't understand how to convert mygeometry.geo (created with Gmsh) to a valid mygeometry-LSMGenGeo.geo in order to import it in Yade.

Revision history for this message
Anton Gladky (gladky-anton) said :
#15

With gmsh you can only create __meshes__. You need to export your
geometry into the mesh-format (there is a special function in gmsh)
and then use ymport.gmsh.

lsmgengeo creates only packing of spheres. Those .geo-files you can
directly import into your simulation. There is an example in
examples/packs/packs.py
http://bazaar.launchpad.net/~yade-dev/yade/trunk/view/head:/examples/packs/packs.py#L71

.geo-file from gmsh and .geo-file from lsmgengeo are completely
different formats. Only extension is the same.

Anton

On Thu, Jun 9, 2011 at 4:46 PM, Arthur Mercier
<email address hidden> wrote:
> Question #159902 on Yade changed:
> https://answers.launchpad.net/yade/+question/159902
>
>    Status: Answered => Open
>
> Arthur Mercier is still having a problem:
> Thanks for the link,
>
> So I installed Gmsh and I created a geometry that I saved as mygeometry.geo.
> I installed LSMgengeo library as well.
> So now, I don't understand how to convert mygeometry.geo (created with Gmsh) to a valid mygeometry-LSMGenGeo.geo in order to import it in Yade.
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#16

I installed lsmgengeo (at least, I think so...).
How can I run it ? Is there a graphical interface? I have no idea how to use it, I followed the installation procedures and I have a lsmgengeo directory now.

I'd like to create a pretty complex geometry... do I have to handle it by myself as in the example genCylLSM.py ?

Can I use a mesh geometry to fill in spheres?

Is there a sphere packings algorithm which forbids that new particles created overlap existing ones?

Thanks

Revision history for this message
Jérôme Duriez (jduriez) said :
#17

Le 09/06/2011 21:01, Arthur Mercier a écrit :
>
> Is there a sphere packings algorithm which forbids that new particles
> created overlap existing ones?

See https://www.yade-dem.org/doc/yade.pack.html#yade._packSpheres.SpherePack.makeCloud. (corresponding code in dem/SpherePack.cpp). It is used in TriaxialTest preprocessor for example.

Revision history for this message
Anton Gladky (gladky-anton) said :
#18

> I installed lsmgengeo (at least, I think so...).
> How can I run it ?
http://bazaar.launchpad.net/~esys-p-dev/esys-particle/gengeo/files/head:/examples/

There are a lot of examples in the source.

> Is there a graphical interface?
No, but you can export a result as vtk-file and open it with paraview.
Or you can import generated geo-file into the yade and see it.

> I'd like to create a pretty complex geometry... do I have to handle it
> by myself as in the example genCylLSM.py ?
>
> Can I use a mesh geometry to fill in spheres?

You can try gts-module:
https://yade-dem.org/doc/external.html?highlight=gts#module-gts

and example:
http://bazaar.launchpad.net/~yade-dev/yade/trunk/files/head:/examples/gts-horse/

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#19

"> Is there a sphere packings algorithm which forbids that new particles
> created overlap existing ones?

See https://www.yade-dem.org/doc/yade.pack.html#yade._packSpheres.SpherePack.makeCloud. (corresponding code in dem/SpherePack.cpp). It is used in TriaxialTest preprocessor for example."

It doesn't work, if I've already created some spheres and that I "makeCloud", particules overlap. (not the cloud ones but between the cloud ones and already created).
Or maybe is there another way to "makeCloud" without overlapping.

I thought that I've installed lsmgengeo... but when I try to compile the examples, I get the error message "ImportError: No module named GenGeo" even if I followed the installation steps. Need to check.

Revision history for this message
Jérôme Duriez (jduriez) said :
#20

Ah yes, I did not understand cleary your question, sorry. But maybe you could adapt it to your case ??

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#21

>But maybe you could adapt it to your case ??

Do you know how I can do that?

Revision history for this message
Mark S. Bentley (msbentley) said :
#22

> I thought that I've installed lsmgengeo... but when I try to compile the examples,
> I get the error message "ImportError: No module named GenGeo" even if I followed
> the installation steps. Need to check.

You probably need to make sure your PYTHONPATH is set correctly - I am evaluating ESyS and YADE at the moment, and hence have ESyS installed along with LSMGenGeo and that caught me for a while. For me, I have

/usr/local/lib/python2.6/dist-packages/gengeo

in my Python path (your python version could be different; my newer machines have 2.7, for example)

Try setting the path, and then simply importing the module in python

Good luck!

Mark

Revision history for this message
Arthur Mercier (mercier-arthur) said :
#23

in my
/usr/local/lib/ There are /python2.6, /python2.7, and /python3.1.
 /python2.7, and /python3.1 have both /dist-packages and /site-packages but are empty.

and in /usr/local/lib/python2.6/dist-packages/gengeo, there are 7 files,
GenGeo.la, GenGeo.so, GenGeo.so.0, GenGeo.so.0.0.0, __init__.py, __init__.pyc, __init__.pyo.

But in __init__.py, there is only one code line "from GenGeo import *" and after it is empty...

Revision history for this message
Jérôme Duriez (jduriez) said :
#24

>Do you know how I can do that?

Looking at the code of the algorithm, for each new sphere that is getting inserted there should be a test checking if this sphere does not overlap others which have already been inserted. Maybe it could be possible to take into account all spheres.
    But I do not know if it is the most efficient way ?

Revision history for this message
Mark S. Bentley (msbentley) said :
#25

> and in /usr/local/lib/python2.6/dist-packages/gengeo, there are 7 files,
> GenGeo.la, GenGeo.so, GenGeo.so.0, GenGeo.so.0.0.0, __init__.py, __init__.pyc, __init__.pyo.
> But in __init__.py, there is only one code line "from GenGeo import *" and after it is empty...

This all sounds fine. just make sure that your PYTHONPATH includes /usr/local/lib/python2.6/dist-packages/gengeo

e.g. export PYTHONPATH=/usr/local/lib/python2.6/dist-packages/gengeo/:$PYTHONPATH

and then run python and check that

>>> import gengeo

gives no errors.

Cheers, Mark

Revision history for this message
Yade Guide (yade-guide) said :
#26

Hello there! As an automated bot, I've gone through your question and found relevant threads which I've summarized below. Feel free to delve deeper into these topics by clicking on the links attached.

Title: "modeling of reinforced concrete"
Rabea is using Yade to model a reinforced concrete sample and seeks a built-in geometric algorithm for generating packing in a simulated reinforced concrete structure. They can refer to [1](http://www.sciencedirect.com/science/article/pii/S0045782510000253) for further information. Bruno suggests using a dynamic growth method or reimplementing the algorithm.
https://answers.launchpad.net/yade/+question/264319

Title: "Bending beams mass computation"
The simulation uses Yade with CohFrictMat material subject to gravity (-10 N) and damping (0.5). There's a mass computation discrepancy due to overlapping volumes between GridConnections and GridNodes, which can be resolved by lumping the mass of cylinders into their nodes. The 'cylinderConnection()' function is confusing as it produces node-to-node distances less than L/N and includes spherical caps in L. Bruno suggests pre-processing the mass assignment per node and modifying the 'cylinderConnection()' function to resolve these issues. In response to a question about imagining bending behavior as a rotational spring, Bruno clarifies that it should be considered together with the normal spring between two nodes, not separately like in figure 3 of [3]. Paul thanks for the input and is starting to understand.
https://answers.launchpad.net/yade/+question/695058

Revision history for this message
Yade Guide (yade-guide) said :
#27
Revision history for this message
Yade Guide (yade-guide) said :
#28

Can you help with this problem?

Provide an answer of your own, or ask Arthur Mercier for more information if necessary.

To post a message you must log in.