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

Possible Mistake using PDMY when defining User Desire Shear Modulus Reduction Curve #306

Open
ingdmonagas opened this issue Jun 27, 2024 · 2 comments

Comments

@ingdmonagas
Copy link

Hello Zhu,

I was trying to define a typical set of parameters for an Ndmaterial PDMY specifying a Desired Shear Modulus Reduction curve. However, just running the code with that line made my kernel crash. I tried using PDMY02, and the issue was resolved. Maybe the problem is in the PDMY definition itself. Thanks!

@mhscott
Copy link
Collaborator

mhscott commented Jun 27, 2024

Please post a minimal example (the model and command) that caused the error. Also, please provide the link for the documentation you based your input on.

@ingdmonagas
Copy link
Author

Sure!

The post that used to follow:
https://openseespydoc.readthedocs.io/en/latest/src/PressureDependMultiYield.html

Here is the example:
import openseespy.opensees as op
op.model('Basic','-ndm',3,'-ndf',3)
matTag=1
nd=3
rho=1.7 #Ton/m3
refShearModul=14899.55357 #kPa
nu=0.3 #Poisson Ratio for Drained Conditions
refBulkModul=(2/3)refShearModul((1+nu)/(1-2*nu)) #kPa
frictionAng=29 #°
peakShearStra=0.1 #
refPress=100 #kPa Confinfining pressure used for refShearModul and refBulkModul
pressDependCoe=0.5
PTAng=29 #°
contrac=0.21
dilat=[0.,0.]
liquefac=[0,0.02,1]
yieldSurf=[0.02899434, 14899.55357, 0.061906835, 13275.66964, 0.103439269, 11065.84821, 0.129299086, 9977.678571, 0.203744014, 8270.089285999999, 0.259381802, 7282.366071, 0.318937745, 6277.901786, 0.39024815, 5558.035714, 0.453722246, 5072.544642999999, 0.529734436, 4587.053571, 0.626904658, 4235.491071, 0.746016543, 3733.2589289999996, 0.875315629, 3465.4017860000004, 0.957596865, 3130.580357, 1.155071833, 2896.205357, 1.293774488, 2695.3125, 1.478711363, 2594.8660710000004, 1.622115803, 2477.6785710000004]
noYieldSurf=len(yieldSurf)/2
e=0.6
params=[0.9, 0.02, 0.7, 101.0]
c=0.3
#Guide for Pressure DepenMultiyield
#nDMaterial('PressureDependMultiYield', matTag, nd, rho, refShearModul, refBulkModul, frictionAng, peakShearStra, refPress, pressDependCoe, PTAng, contrac, *dilat, *liquefac, noYieldSurf=20.0, *yieldSurf=[], e=0.6, *params=[0.9, 0.02, 0.7, 101.0], c=0.3)
op.nDMaterial('PressureDependMultiYield', matTag, nd, rho, refShearModul, refBulkModul, frictionAng, peakShearStra, refPress, pressDependCoe, PTAng, contrac, *dilat, *liquefac, (-1)*noYieldSurf, *yieldSurf, e, *params, c)
_

Automatically you create the nDmaterial and run the code, the kernel fail.
image

If you desactive the option of user defined option as:
op.nDMaterial('PressureDependMultiYield', matTag, nd, rho, refShearModul, refBulkModul, frictionAng, peakShearStra, refPress, pressDependCoe, PTAng, contrac, *dilat, *liquefac, noYieldSurf, e, *params, c)
The model run and you can test the material.
image

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

2 participants