Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updateMaterialStage for gravity analysis in DruckerPrager material model #163

Open
geosharma opened this issue Apr 3, 2020 · 0 comments

Comments

@geosharma
Copy link

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:

ops.updateMaterialStage("-material", "material_tag", "-stage", 0)
ops.analyze(1)
ops.updateMaterialStage("-material", "material_tag", "-stage", 1)
ops.analyze(1)

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant