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
Problems in modelling 'Fiber Thermal' section for 3D analysis
Moderators: silvia, selimgunay, Moderators
Re: Problems in modelling 'Fiber Thermal' section for 3D analysis
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
Michael
Re: Problems in modelling 'Fiber Thermal' section for 3D analysis
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.
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.
Re: Problems in modelling 'Fiber Thermal' section for 3D analysis
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,
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,