Welcome to ask.woodem.org. You may post when you login through your GitHub account.

Shear loading on Concrete particles

0 votes
50 views
asked Aug 21 by trucgiao91 (370 points)

Hi Vaclav,

In order to understand shear stiffness K_t, I tried to model 2 particles analysis under shear loading on concrete particles. One particle is fixed while the other moving in the direction perpendicular to the line connecting 2 spheres' center.  Which later on I change to rotation and then combine two types of shear motion. However the simulations yield unstable results (as showned) 

 shear loading

I have tried to use different material parameters combinations, and numerical parameters, the results are still absurd. 

Is there any approach to simulation shear loading of two concrete sphere that you could suggest me? I would be so grateful if you could help.

 

Thanks in advance,

Giao

commented Aug 21 by eudoxos (47,770 points)

Can you put a bit of your script how you prescribe the motion? The response looks pretty harmonic so there might be some forgotten DoF which is responding elastically.

commented Aug 21 by eudoxos (47,770 points)

There is also examples/law-test-concrete.py - it loads in compression, then moves perpendicularly, which slides and eventually causes the contact to damage.

commented Aug 21 by trucgiao91 (370 points)
edited Aug 21 by eudoxos

here is the script

S=woo.master.scene=woo.core.Scene(fields=[DemField(gravity=(0,0,0))],dtSafety=.5);
S.trackEngergy =  True

s1=woo.utils.sphere(center = (0,0,0),radius=0.01,mat=ConMat,fixed=True)
s2=woo.utils.sphere(center = (0.0,0.0,0.02),radius=0.01,mat=ConMat)

S.dem.par.add([s1,s2])
S.engines= [
        #ForceResetter(),
        Leapfrog(damping=.2,reset=True,kinSplit=True),
        InsertionSortCollider([Bo1_Sphere_Aabb(distFactor=DISFACT_),Bo1_Wall_Aabb(),Bo1_Facet_Aabb(), Bo1_Wall_Aabb()]),
        ContactLoop([Cg2_Sphere_Sphere_L6Geom(distFactor=DISFACT_),Cg2_InfCylinder_Sphere_L6Geom()],
                     [Cp2_ConcreteMat_ConcretePhys(),Cp2_FrictMat_FrictPhys()                  
                ],                                        
                [Law2_L6Geom_ConcretePhys(yieldSurfType='lin',omegaThreshold = 0.95,epsSoft=-0.001,relKnSoft=0.3

                                          ),Law2_L6Geom_FrictPhys_IdealElPl(label='law')]              
            ),

    DynDt(stepPeriod=100),
    ]
    s2.impose=VelocityAndReadForce(dir = (1,0,0),vel=-1e-2,invF=True)
commented Aug 26 by eudoxos (47,770 points)

PS I finally figured out the installation under Windows 10in Wideo Subsystem for Linux -- maybe you could use it for your work, as you will get the latest: https://woodem.org/user/installation.html#windows-subsystem-for-linux :)

1 Answer

+1 vote
answered Aug 21 by eudoxos (47,770 points)
selected Aug 30 by trucgiao91
 
Best answer

My guess based on the script is that the second sphere (s2) is rotating - velocity is prescribed but angular velocity is left unconstrained. The easiest to do would be to create also s2 with fixed=True so that forces on the particle are ignored; that will still make the imposition work as you expect.

commented Aug 27 by trucgiao91 (370 points)

Hi Vaclav,

Sorry for late reply, I just ran the script with the setting fixed = true for s2 and got the error below message:
RuntimeError: DemField.par[1].shape.nodes[0]: velocity, angular velocity or imposition is set, but has no effect as the node is not in DemField.nodes.

I think one can not impose force or velocity onto fixed particle. I wonder if there is a way to fixed only the rotation for example?

many greetings,
Giao

commented Aug 27 by eudoxos (47,770 points)

Heh, true, if all DoFs are blocked, the particle will not be added to integrated nodes automatically. So you can either do with fixed=True, but say S.dem.nodesAppend(s2.shape.nodes[0]) before you run. Or you can do without fixed=True and only before you run, block the DoFs by saying s2.blocked='xyzXYZ'. The effect will be the same.

commented Aug 27 by trucgiao91 (370 points)

Hi Vaclav :)
It works now thank God. The obtain plots are as shown, here I also plot the Normal and Shear stresses in x direction. Thanks so much for your help.!
enter image description here

This makes me gain further interest in different combinations of Normal and Shear loading between particles as you have mentioned about the lawTester (woo.dem.LawTester()). However I could not find the scripts under folder examples. It would be great if you could provide me the script.

best
Giao

commented Aug 28 by eudoxos (47,770 points)

I commited it today, it was strangely forgotten: https://github.com/woodem/woo/blob/master/examples/law-test-concrete.py

...