Hoek & Brown model using strain softening

Hi everyone. How can use the model Hoek & Brown in version 7 to simulate strain softening in the rock mass (using tables to mb,s,a)? I try to simlate the example in paper “Guidelines for numerical modelling of rock support for mines” of Lorig and Varona (2013), where I must calculate critical strain. I understand that IMASS is better, but I dont have CPPUDM option for the moment. Thanks in advance.

One option could be to linearise your H-B input properties to equivalent M-C properties at a suitable sigma_3 for your problem, and implement with a strain-softening/hardening M-C constitutive model?

As you’ve suggested, you’d need to calculate the critical plastic strains as per Lorig & Varona (2013) (or I believe Oliveira & Diederichs (2017) present similar critical strain equations but based on crack initiation and deformation modulus) and then implement your c, phi, (tensile and dilation) values as tables relating to those relevant critical strains.

1 Like

With the Hoek-Brown (HB) constitutive model you can specify the HB softening parameters directly via property commands and tables (x-y pairs of plastic strain and property value). For example, below is the start of a simple model illustrating how you specify these.


; Example of strain-softening HB model property specification
model new
model large-strain off
zone create brick size 1 1 1
zone cmodel assign hoek-brown
zone property dens 2500 bulk=1.19e10 shear=1.1e10
zone property constant-sci=110e6 constant-mb=11.46 ...
              constant-s=0.062 constant-a=0.501 ...
              table-sci 1 table-mb 2 table-s 3 table-a 4
table '1' add 0 110e6 1e-3 50e6 1e-2 50e6
table '2' add 0 11.46 1e-3 0.481 1e-2 0.481
table '3' add 0 0.062 1e-3 0.0002 1e-2 0.0002
table '4' add 0 0.501 1e-3 0.530 1e-2 0.530
; End of model example

Note that the const-* properties aren’t technically necessary, but the current version of FLAC3D (7.00.147) has a bug that makes this necessary (for const-sci). This will be fixed in the next sub-version release.

It’s important to appreciate that the softening (or hardening) properties kick-in with (i.e., are defined relative to) the onset of plastic strain and then change linearly between the plastic strain values specified in the tables. In the above example, the HB “a” value is initially 0.0501 at peak strength and then changes to a residual value of 0.530 by a plastic strain of 1e-3, remaining constant up to a plastic strain of 1e-2. You can have many x-y pairs to define the stress-strain path characteristic of your material. You can see the concept in the following diagram.

Also, if localization (e.g., shear bands) is evident in the model, then the critical strain needs to be scaled to account for the zone size (e.g., based on the cube root of zone volume) as discussed in the paper you referenced (Lorig and Varona, 2013). The HB constitutive model property, length-calibration, can be used to account for zone size automatically. The default value is 0.0, whereby the model does not perform length calibration to account for zone size. If the length-calibration property is 1.0, then a zone size scaling factor of 1/(zone volume)^(1/3) is applied; but it can be any other non-zero float value (e.g., 0.1, 2) to apply different factors to the length-calibration zone scaling.

Learn more about the Hoek-Brown constitutive model and the available softening properties (table-*).

7 Likes

Thank you so much David. I had doubts in this case about the length calibration parameter that have this constitutive model, but you clarify me with your answer. Cheers

1 Like

Hi Guys!

Thank you for bringing this topic up. I’m implementing this for a back analysis that I’m doing as a part of my MSC thesis. I’ve got Lorig & Varona (2013) paper, and I’m using the one suggested equation for getting and supporting my e_crit choice. The paper says this latter is taken from Professor Brown’s caving study, which I have too. Unfortunately, I haven’t been able to see the mentioned expression in the quoted study explicitly. So, Does anyone know from where this expression originally comes up? Or have you seen similar equations that can refer them to me?.

Thank you in advance!.

Hi David!

Thank you for such a clear explanation of the code’s application. It has helped me a lot!. Are the plots from a specific publication? Might you share the reference?

Cheers,

Hi Andres,

The plots are based on an unpublished Itasca report titled “GUIDELINES FOR MINE TUNNEL SUPPORT DESIGN (REVISION 1)”, January 2011, ICG09-2456-9-25R1, 284 pages. The report authors were Andrew Corkum[3], Loren Lorig[1], David O. DeGagné[1] and Jarek Jakubec[2].

[1] Itasca Consulting Group, Inc.
[2] SRK Consulting Ltd.
[3] BGC Engineering Inc.

We also use these figure in our Software Introductory Training courses for the Introduction to Constitutive Models section.

1 Like

Hi David,
Is it possible for me to get access to this publication I am very much interested.

Thank you.

Hi @ddegagne ,
I have a question about the Hoek-Brown model with hardening / softening.
I often use tables to vary linearly the HB parameters in a range of possible plastic strains using one of the two history parameters provide by FLAC for such model. The problem is the calibration of the hardening / softening behavior. In general, the hardening/ softening parameter refers to the rock mass already scaled with the GSI but for calibration I have generally only tx tests done on intact rock. Intact rock is equivalent to GSI=100 (neglecting the effect of the Disturbance Factor) so, the calibration could be performed setting GSI=100 and setting the variation of the HB parameters to obtain a good fit with sperimentale results. The question is: passing from the intact rock to the actual rock (with a specific GSI), are the ranges of variation of the hardening / softening parameter (e.g. shear plastic strain) still valid or they should be scaled? In my opinion they should be scaled, but how? In fact, the GSI is a parameter to scale the yielding surface considering the blockiness but there is no a general scaling correlation for the plastic strain.
In the IMASS model this aspect is solved introducing the critical plastic strain which is dependent on GSI. However, as the blockiness of the rock increases with the deviatoric stress, should the critical strain be updated during the analysis or not?
Moreover, setting GSI=100 in the IMASS critical plastic strain equation leads to eps_c_p = 0 while from the tx tests on intact rock, the plastic strain to drop to zero cohesion is greater than zero.
Thank you in advance.

Regards,

Francesco

Hi David,

Thank you for your answer back to this; I appreciate it. Hopefully, you can publish it one day, as I think it would be very insightful for many of us.

I am looking into seeing of this document can be made public.

Hello, @ddegagne

Could you possibly elaborate on the modulus (K, G, E) softening as well?
I don’t see a defined ‘table’ to input the modulus variations with plastic strain changes in the HB model code.

Thank you,
Morteza

Currently, HB does not provide table-like input for modulus softening. We can write a small FISH function to do this.

1 Like

Hi,
I’m trying to simulate softening in the HB model using tables and with compressive stress the model works fine. However, with tensile stress it seems that the table is not working (in fact I obtain a perfectly plastic behaviour) and I’m not able to plot in the results the tensile plastic strain as softening parameter. Here below the code:

;Post-Peak strains
eps_pk = 5.E-5
eps_rsc = 5.E-3
eps_pkt = 1.E-5
eps_rst = 1.5E-5
eps_max = 1.0

zone cmodel assign hoek-brown
zone prop density [d_r] bulk [bulk_r] shear [shear_r] constant-mb [mb_i] constant-s [s_i] constant-a [a_i] constant-sci [sc_i] tension [st_i] constant-dilation [d_r_0] …
flag-brittle false flag-dilation 0 flag-evolution 1 flag-fos 0 table-mb 1 table-s 2 table-a 3 table-sci 4 table-tension 5
;
table 1 add 0.0 [mb_i] [eps_pk] [mb_i] [eps_rsc] [mb_f] [eps_max] [mb_f]
table 2 add 0.0 [s_i] [eps_pk] [s_i] [eps_rsc] [s_ff] [eps_max] [s_ff]
table 3 add 0.0 [a_i] [eps_pk] [a_i] [eps_rsc] [a_f] [eps_max] [a_f]
table 4 add 0.0 [sc_i] [eps_pk] [sc_i] [eps_rsc] [sc_f] [eps_max] [sc_f]
table 5 add 0.0 [st_i] [eps_pkt] [st_i] [eps_rst] [st_f] [eps_max] [st_f]

All values in the table are positive.

Based on the provided code snippet and the information from the software documentation, it seems that you are trying to simulate softening in the Hoek-Brown model using tables. However, without further information or context, it is difficult to determine the exact issue you are facing. Please provide more details or clarify your question. For example, provide complete datafile so that we could duplicate the issue.

Please note that the tension table is based on the accumulated tensile plastic strain, if this value is zero or small the tension can be a constant - if the table has a fat segment at the start.

Hi Cheng,
thank you for your reply.
Please, find attached the .dat files and the .prj file.
I’m not able to check directly if a tensile plastic strain is developer because in the properties of the HB model it’s not in the possible choices. However, from the stress-strain curve it can be seen that the plastic strain in the tensile direction is about 3.5x10-5 while, as per input, the residual tensile stress should be achieved at 1.5x10-5.

Hoek.zip (2.0 MB)

The problem is that you set flag-evolution=1 which means the table-x would be based on accumulated plastic shear (rather than tensile) strain. Setting flag-evolution=0 might be the solution.

The result is then:

Hi Cheng,
thank you, it works fine.
I thought it was possible to use plastic tensile strain as softening parameter for tensile strength when flag-ev = 1 .
Do you now why I’m not able to see the tensile plastic strain in the plot menu? I 'm only able to select plastic shear strain. Moreover, it seems that zone.prop(pnt,‘strain-shear-plastic’) and zone.prop(pnt,‘strain-tension-plastic’) are not included in the HB model. Is it correct?

image

The property is “strain-plastic”. However, its meanings depends on flag-evolution. See the doc:

flag-evolution i(a)

= 0 (default flag) for evolution parameter set to plastic strain in direction of least compressive principal stress.

= 1 for evolution parameter set to plastic shear strain, only accumulated when shear yielding occurs.