Problems in modelling 'Fiber Thermal' section for 3D analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
JAMINPARK
Posts: 11
Joined: Tue Sep 23, 2014 11:58 pm

Problems in modelling 'Fiber Thermal' section for 3D analysis

Post by JAMINPARK » Wed Jun 24, 2020 12:08 pm

Hi everyone,

I am now trying to model thermal expansion of a cantilever beam.
In my model, the cantilever beam is modeled using 'Fiber Thermal' section as shown below:
-------------------------------------------------------------------------------------------------------------------
import openseespy.opensees as ops

ops.wipe()
ops.model('Basic','-ndm',2,'-ndf',3)

ops.node(1,0,0)
ops.node(2,1,0)
ops.fix(1,1,1,1)

ops.uniaxialMaterial('Steel02Thermal',1,100,10000,0.05,10,0.925,0.15) # actuator
ops.section('Fiber Thermal',1)
b = 0.01
ops.fiber((-b/4.0),0,(b**2/4.0),1)
ops.fiber((+b/4.0),0,(b**2/4.0),1)

ops.geomTransf('Linear',1)
ops.beamIntegration('Lobatto',1,1,5)
ops.element('dispBeamColumnThermal',1,1,2,1,1)

ops.timeSeries('Linear', 1)
ops.pattern('Plain',2,1)
ops.eleLoad('-ele',1,'-type','-beamThermal',100,-1/2.0,100,1/2.0)
ops.constraints('Plain')
ops.numberer('Plain') # Important
ops.system('BandGeneral')
ops.test('NormDispIncr',1.0e-4,500)
ops.algorithm('Newton')
ops.integrator('LoadControl',0.1)
ops.analysis('Static')
ops.analyze(10)
-------------------------------------------------------------------------------------------------------------------
The above model code is for 2D analysis and it works fine. But if I change the model code for 3D analysis as below, it is not working.

-------------------------------------------------------------------------------------------------------------------
ops.wipe()
ops.model('Basic','-ndm',3,'-ndf',6)

ops.node(1,0,0,0)
ops.node(2,1,0,0)
ops.fix(1,1,1,1,1,1,1)

ops.uniaxialMaterial('Steel02Thermal',1,100,10000,0.05,10,0.925,0.15) # actuator
ops.section('Fiber Thermal',1,'-GJ',0.5)
b = 0.01
ops.fiber((-b/4.0),0,(b**2/4.0),1)
ops.fiber((+b/4.0),0,(b**2/4.0),1)

ops.geomTransf('Linear',1,0,0,1)
ops.beamIntegration('Lobatto',1,1,5)
ops.element('dispBeamColumnThermal',1,1,2,1,1)

ops.timeSeries('Linear', 1)
ops.pattern('Plain',2,1)
ops.eleLoad('-ele',1,'-type','-beamThermal',100,-1/2.0,100,1/2.0)
ops.constraints('Plain')
ops.numberer('Plain') # Important
ops.system('BandGeneral')
ops.test('NormDispIncr',1.0e-4,500)
ops.algorithm('Newton')
ops.integrator('LoadControl',0.1)
ops.analysis('Static')
ops.analyze(10)
-------------------------------------------------------------------------------------------------------------------
It appears that error occurs where the section is defined, i.e. at "ops.fiber((-b/4.0),0,(b**2/4.0),1)"
Is there any mistake in the above?

Thanks in advance for your kind reply.

Jamin

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Problems in modelling 'Fiber Thermal' section for 3D analysis

Post by mhscott » Sun Jun 28, 2020 5:15 am

Thanks for sharing your code. I also get a segmentation fault for the fiber command in the 3D model. It's probably an input parsing error. I will check it out.

Michael

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Problems in modelling 'Fiber Thermal' section for 3D analysis

Post by mhscott » Sun Jun 28, 2020 7:54 am

I found the issue and checked it into GitHub:

https://github.com/OpenSees/OpenSees/pull/371

Should be in the next pip upgrade, but I will also need to fix some of the -GJ code, so stay tuned.

JAMINPARK
Posts: 11
Joined: Tue Sep 23, 2014 11:58 pm

Re: Problems in modelling 'Fiber Thermal' section for 3D analysis

Post by JAMINPARK » Mon Jun 29, 2020 9:54 am

Dear Michael,

Unfortunately, I found that the element load 'beamThermal' is currently not available for 3D analysis.
Even though the issue at 'fiber' command is revolved, it would be not possible to run the code for 3D analysis.

Anyway, thanks you so much for your effort.

Jamin,

Post Reply