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)
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,
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.
There is also examples/law-test-concrete.py - it loads in compression, then moves perpendicularly, which slides and eventually causes the contact to damage.
here is the script
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)
[Law2_L6Geom_ConcretePhys(yieldSurfType='lin',omegaThreshold = 0.95,epsSoft=-0.001,relKnSoft=0.3
s2.impose=VelocityAndReadForce(dir = (1,0,0),vel=-1e-2,invF=True)
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 :)
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.
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.shape.nodes: 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?
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) 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.
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.!
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.
I commited it today, it was strangely forgotten: https://github.com/woodem/woo/blob/master/examples/law-test-concrete.py