fiber section stress-strain recorder output

Forum for asking and answering questions related to use of the OpenSeesPy module

Moderators: silvia, selimgunay, Moderators

KevinNTU
Posts: 4
Joined: Wed Oct 28, 2020 2:19 pm

fiber section stress-strain recorder output

Hello,

I have faced the same problem in the link below with my openseespy and basically followed all of the commands in the comments but still couldn't solve the issue.
viewtopic.php?f=12&t=66954&p=118699&hil ... in#p118699
So my task is very simple, just doing a moment-curvature analysis from this example (https://openseespydoc.readthedocs.io/en ... ature.html) of a zeroLengthSection element.
====================================
The structure goes as follow: (a zeroLengthSection element between two nodes, with a secTag that is pre-defined circular section)

# Define two nodes at (0,0)
ops.node(1, 0.0, 0.0)
ops.node(2, 0.0, 0.0)

# Fix all degrees of freedom except axial and bending
ops.fix(1, 1, 1, 1)
ops.fix(2, 0, 1, 0)

# Define element
ops.element('zeroLengthSection', 1, 1, 2, secTag)
====================================
And the recorder I tried:

ops.recorder('Element', '-file', fileName, '-time', '-ele', 1, 'section', str(secTag), 'fiber', str(fibre_coord_y), str(fibre_coord_z), 'stressStrain')
====================================
Some issues I encountered,
1) If I put in two str(number) after 'fiber', the output file would only print the moment column and nothing else. So the above command would be this case.
2) if I put in only one str(number) after 'fiber', the output file would generate moment, stress, strain, but I don't know which location it is recording. And the output values don't change with different number in str().
3) I also tried to use pure numbers rather than str(), but still didn't work.
====================================
4) Other than using recorder, I also tried the eleResponse command as follow in analysis loop, but it prints blank lists
i = 0
while(i <= numIncr):
ops.analyze(1)
section_strain = ops.eleResponse(1, "-section", str(1), str(fibre_coord_y), str(fibre_coord_z), "material tag", "stressStrain")
print(section_strain)
i = i + 1
And for this command, it is quite different than the one I found in this thread, https://github.com/zhuminjie/OpenSeesPyDoc/issues/102
where the command is formatted as:
section_strain = op.eleResponse(eleTag, 'section', secTag, str(fibre_coord_y), str(fibre_coord_z), str(matTag), "stressStrain")

Any help would be much appreciated. Thank you!

orucm
Posts: 1
Joined: Sat May 01, 2021 7:31 am

Re: fiber section stress-strain recorder output

ops.recorder('Element', '-file', fileName, '-time', '-ele', 1, 'section', str(secTag), 'fiber', str(fibre_coord_y), str(fibre_coord_z), 'stressStrain')

Could you remove the part that secTag, I think no need section tag for zerolength element. I mean;

ops.recorder('Element', '-file', fileName, '-time', '-ele', 1, 'section', 'fiber', str(fibre_coord_y), str(fibre_coord_z), 'stressStrain')