Stress-strain curve for the direct shear test

Submitted by Thao on Tue, 03/29/2022 - 05:41

Hello everyone,

I am running the Direct Shear Test and attempting to calculate the effective stress from the contact forces, as given in Potyondy and Cundall 2004.
Is there anyone that has successfully computed effective stress from the contact forces and compared them with the externally-induced effective stress (normal force/loading area)? Can you recommend me where to start?

I also have a question regarding to outputting the average stress tensors in the assembly. I am using two different methods: 1) $ compute pressure for all atoms 2) $ compute stress/atom for every single atom, and then sum them up with $ compute reduce. But I am getting totally different results from these computes, are they supposedly to be the same? . Do you guys have any experience in outputting the average stress tensors?

Thanks so much, guys.
Thao

AttachmentSize
Plain text icon in.packing1.loading.12walls.txt5.81 KB
Plain text icon in.packing1.txt4.5 KB
Binary Data meshes.tar_.gz651 bytes

Thao | Mon, 04/04/2022 - 02:02

HI guys,

Is there anyone that has done the Direct Shear Test in LIGGGHTS? Any advice about the computation of the effective stress from the contact forces?

Any ideas would be highly appreciated. I am getting stuck here!!

Thanks so much.
Thao

estefan31 | Thu, 04/07/2022 - 02:41

Hi Thao,

I sort of did what you describe in my paper here: https://www.sciencedirect.com/science/article/abs/pii/S0266352X18302477. You can email me if you want a copy: fegarcia@umich.edu.

The only issue is I did my post-processing after the fact using Eqn. 2 in the paper, which is a classic stress homogenization equation that utilizes contact force vectors and branch vectors. I output the contacts data at sequential stages of the direct shear test and then processed it in Matlab. I did not actually do these calculations directly within LIGGGHTS. If you want to modify the LIGGGHTS source code, you could probably output the product of branch vector and contact force vector and then run a compute reduce in a specific region.

Sincerely,
Estefan Garcia

Thao | Thu, 04/07/2022 - 09:29

Hi Estefan,

It is such a nice coincidence as I am actually following your paper as a basis for my DST simulation as the paper is very well written!! I just wonder if I have some questions regarding your paper, is that possible for me to contact you via email?

Regarding the output of average stress tensors in LIGGGHTS, do you think that I can use the two methods 1) $ compute pressure, for all atoms, and 2) $ compute stress/atom and then sum it up by $ compute reduce, without modifying the source code? I am getting different results from these methods, are they supposedly the same?

Thanks so much, Estefan.
Looking forward to hearing from you again.
Thao

estefan31 | Thu, 04/07/2022 - 20:12

Hi Thao,

I'm honored you're using my paper :-). You can email me anytime.

As for your two methods, the first one will likely not work on its own. It is a variation of the same equation I used, but it uses the volume of the entire domain. Assuming your simulation contains direct shear test walls within the model domain, the volume of the particle assemblage is less than the volume used by the compute pressure command. So your stress calculation value will be less than the actual value. The numerator of the equation will actually be correct for the entire particle assemblage, so you can adjust your results by the total volume of the direct shear test box (including any displacements of the loading platen). However, you will still underestimate your stress as measured at the wall boundaries because those shear stresses are concentrated within the shear band along the mid-plane of the direct shear box.

The equation in the second approach does look very similar (although not exactly the same) to that for the first approach. They both utilize the products of branch vector and force vector. If you just sum up all of the per-atom stress tensors, it looks like you'll double count the forces between each grain, so you'll need to factor in a 1/2. It's also not dividing by the volume, so you'll need to do that too. I'm curious how your first approach will compare with your second approach if you divide your answer in the second approach by 2*(Domain Volume). Keep in mind, this will still be an underestimation of the shear stresses measured at the wall boundaries for the reasons mentioned earlier.

Thao | Mon, 04/25/2022 - 12:53

Hi Estefan,

I have followed the method in your paper closely and written the DST scripts, which have been attached herewith. I have two questions:

1) I used the servo wall for my top wall to compress the sample prior to shearing up to the target value. However, anytime if I change the parameter v_max or kp, the output result from the servo wall in the z-direction will be very different with the target value. Do you know what values of v_max and kp should be used?

2) I constructed the shear box, made up of 10 walls and 2 wings to prevent particle's loss. Then, I computed the shear forces by summing up all forces in x-direction as I sheared it along the x-direction. Somehow, the shear force seems negative and much higher than the normal load applied. I don't know where has been going wrong? Is that what you have done?

Any advice from you would help me a lot to move on with my study and finish my degree :).
Thao