After carefully reading the matlab drivers of hypoplastic models, I was wondering why there is not mix control undrained TX compression. I want to achieve the same result as Niemunis and Herle(1997) did. How can I make the value of q fluctuates within a certain range .When I make dsigma11-dsigma33=DX , and DX=[30,-60,60,-60,60,-60,60,-60,60,-60,60,-60] , the result is clearly not right. Any suggestions or comments will be appreciated. Thank you!
Hi C, the mixed control is not there predefined, but you can still add it easily into constraints.m file. Please study Janda, T. and Mašín, D. (2017). General method for simulating laboratory tests with constitutive models for geomechanics. International Journal for Numerical and Analytical Methods in Geomechanics 41, No. 2, 304-312 which is available in SoilModels publication database. You need to control axial stress
and radial strains so that zero volume strain is achieved
Hi, Prof.David. Thank you for your reply! As you mentioned, I change the constraint. However, there is still something wrong with it. I check the EE after I did what you mentioned, I found that the volume strain isn’t zero in the whole process. I was a little confused about these problems. I want to achieve the same result as Niemunis and Herle(1997) did. They controlled q fluctuates within a certain range. Is it possible for us achieve this through our matlab driver? Looking forward to your response!
Hmm, not sure why, this sets ep22=-ep33/2 and ep11=-ep33/2.
You may also try
E11=E12=E13=1, which sets ep11+ep22+ep33=0.
E21=1, E22=-1, which sets ep11=ep22
E34=E45=E56=1, which sets shear strain components to 0
S63=1, which sets axial (axis direction 3) stress control
This will, however, still not stop the test at predefined q, as radial stress will change during during loading through pore pressure generation. To achieve constant max and min q cyclic loading, you will have to manually set nstep for each load cycle, or add your own stop condition into the code, or better use some of more advanced element test software (such as triax or idriver).
Prof.David. in the f_hyp.m, after I make Laux = Lep and sigpresc = Laux*depsMNR-Nep*sqrt(depsMNR’*M2*depsMNR), the volume strain is zero, even though other results are not totally right in my views. While your file README.pdf clearly says that sigpresc = Laux*depsMNR rather than sigpresc = Laux*depsMNR-Nep*sqrt(depsMNR’*M2*depsMNR). I’d appreciate it if you could explain why sigpresc = Laux*depsMNR. Looking forward to your reply!
I see, I think the problem is how residual is calculated in Newton-Raphson iterations in Matlab driver. It is only calculated from residual stresses, which is insufficient for more complex mixed-controlled tests such as those we discuss here. Correct procedure is defined in Janda & Mašín (2017), where the residual is calculated from S*dsig+E*depsilon-dy, see Eq. (12).
For you, that would mean either updating Matlab driver formulation or using more advanced element test driver, such as triax