You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am learning OpenSees and was trying to replicate some of the slope stability problems in "Slope stability analysis by finite elements" by Griffiths and Lane (1999). By the way the paper can be freely downloaded. They use Mohr-Coulomb (MC) so I am using DruckerPrager (DP) using equivalent relationships between c, phi (MC) and rho, sigma_y (DP) and setting rest of the parameters to 0 (zero). Generally, in the OpenSees examples the gravity loading is done via two stages, elastic loading and then plastic loading set via updateMaterialStage. I tried that and it gives a warning: WARNING: MaterialStageParameter::setDomain() - no effect with material tag 1.
The OpenSees doc says updateMaterialStage is to be used with PressureDependentMultiYield class of materials (paraphrasing here) while the OpenSeesPy doc says "to maintain elastic nDMaterial response during the application of gravity loads." My first question is materialStageUpdate meant to be used with DruckerPrager?
In the slope stability analysis, I am not applying any load (except gravity) but reduce the strength parameters (c/FS, phi/FS, where FS is the factor of safety as in the paper). The slope is considered to fail when it fails to converge. So when I perform two stage analysis the FS is 1.23, whereas when I only perform elastic gravity loading by setting materialStageUpdate = 0 or by not setting materialStageUpdate at all then the FS = 1.32. The FS increments are 0.001. Analysis with every FS starts fresh by wiping the previous analysis (ops.wipe()) and creating the nodes and elements.
The two stage gravity was applied as follows:
I am learning OpenSees and was trying to replicate some of the slope stability problems in "Slope stability analysis by finite elements" by Griffiths and Lane (1999). By the way the paper can be freely downloaded. They use Mohr-Coulomb (MC) so I am using DruckerPrager (DP) using equivalent relationships between c, phi (MC) and rho, sigma_y (DP) and setting rest of the parameters to 0 (zero). Generally, in the OpenSees examples the gravity loading is done via two stages, elastic loading and then plastic loading set via updateMaterialStage. I tried that and it gives a warning:
WARNING: MaterialStageParameter::setDomain() - no effect with material tag 1
.The OpenSees doc says updateMaterialStage is to be used with PressureDependentMultiYield class of materials (paraphrasing here) while the OpenSeesPy doc says "to maintain elastic nDMaterial response during the application of gravity loads." My first question is materialStageUpdate meant to be used with DruckerPrager?
In the slope stability analysis, I am not applying any load (except gravity) but reduce the strength parameters (c/FS, phi/FS, where FS is the factor of safety as in the paper). The slope is considered to fail when it fails to converge. So when I perform two stage analysis the FS is 1.23, whereas when I only perform elastic gravity loading by setting materialStageUpdate = 0 or by not setting materialStageUpdate at all then the FS = 1.32. The FS increments are 0.001. Analysis with every FS starts fresh by wiping the previous analysis (ops.wipe()) and creating the nodes and elements.
The two stage gravity was applied as follows:
My second question is, can slope stability analysis be done in this way in OpenSees?
I used Gmsh to create the mesh, meshio to read the nodes, coordinates and element connectivities from Gmsh mesh file and Paraview to visualize displacements.
I have uploaded the files to my https://gitlab.com/geosharma/opensees-examples/-/tree/master/geotech/2d_slope_stability_griffiths/ex1 in case someone who is interested in geotech wants to look at it.
Once again, I would like to thank everyone involved in this wonderful project.
The text was updated successfully, but these errors were encountered: