zhuminjie / OpenSeesPyDoc

OpenSeesPy Documentation
http://openseespydoc.readthedocs.io
Other
141 stars 105 forks source link

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

Open ingdmonagas opened 2 months ago

ingdmonagas commented 2 months ago

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 commented 2 months ago

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 commented 2 months ago

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