zhuminjie / OpenSeesPyDoc

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

priniting the effective stress while using "PressureIndependMultiYield" material. #261

Closed kamyarsa closed 2 years ago

kamyarsa commented 2 years ago

I am modeling the soil with PressureIndependMultiYield material and the "9_4_QuadUP" element. I want to print the amount of effective stress in Openseespy. Is there any way other than the recorder command? I want to keep the data in python only.

mhscott commented 2 years ago

You can use the eleResponse command inside an analysis loop. It takes the same arguments as element recorders and returns the result to Python. There are some example usages here: https://portwooddigital.com/2021/04/04/did-you-pass-your-patch-test/

kamyarsa commented 2 years ago

Thank you for the response. However, the problem is that "9_4_QuadUP" does not have the stress argument. The stress should be reported from the material. Is there any command like eleRespose for materials to exploit stress data? it is indeed possible to record stress data with the "PressureIndependMultiYield" martial using the recorder command.

mhscott commented 2 years ago

Pass to eleResponse the same arguments you would to the recorder, like the sections in the beam example in the link I posted.

kamyarsa commented 2 years ago

Thank you so much. That helped me a lot.

kamyarsa commented 1 year ago

Dear Professor Scott, I know you have a really busy schedule, and I am sorry for contacting you again. I have a question regarding analyzing the model in Openseespy.

The Analyze should be performed in 800 steps. I need to plot the data during different steps of the analysis in python. I use a For loop for my analysis and use WipeAnalysis() command to restart from step 0 in each loop. However, the analysis does not come back to the first step. Is there any way I can fix this problem ? My code is written below.

Thank you for your help in advance. Sincerely, Kamyar (Hamzeh) Sadeghi

for i in range (1,201, 20): ops.setTime(0.0) ops.wipeAnalysis() ops.constraints('Penalty', 1.0e16 , 1.0e16) ops.test('NormDispIncr', 2e-3, 30, 0) ops.algorithm('Newton') ops.numberer('RCM') ops.system('ProfileSPD') ops.integrator('Newmark', gamma, beta) ops.rayleigh(0.5, 0.2, 0.0, 0.0) ops.analysis('Transient')

ops.analyze(i , 0.25)
l=[] # pore pressure
s=[] # settlements
for k in range (61,0,-6):
    a=ops.nodeVel(k,3)
    l.append(a)
    s.append(ops.nodeDisp(62, 2))

 d=np.linspace(10,0, 11)

ax.plot(l, d, label="step {}".format(i), linestyle="--", linewidth=3)

ops.setTime(0.0)
ops.wipeAnalysis()

On Wed, Apr 6, 2022 at 6:38 PM Michael H. Scott @.***> wrote:

Pass to eleResponse the same arguments you would to the recorder, like the sections in the beam example in the link I posted.

— Reply to this email directly, view it on GitHub https://github.com/zhuminjie/OpenSeesPyDoc/issues/261#issuecomment-1090316541, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYSYLIML6EBQPABT2YFE6ITVDWLFNANCNFSM5SWARLYA . You are receiving this because you authored the thread.Message ID: @.***>

mhscott commented 1 year ago

Please post this modeling question on the OpenSees message board or Facebook group. This repo is for documentation of OpenSeesPy.