Fixed some bugs on Timoshenko Element
Moderators: silvia, selimgunay, Moderators

 Posts: 8
 Joined: Tue Oct 18, 2016 9:06 am
 Location: National Technical University of Athens
Fixed some bugs on Timoshenko Element
Hello Osees community,
I detected some bugs in the Timoshenko 2d and 3d. Should i post the fix here or contact with someone?
Tsarpalis Dimitrios
I detected some bugs in the Timoshenko 2d and 3d. Should i post the fix here or contact with someone?
Tsarpalis Dimitrios

 Posts: 12
 Joined: Thu Jul 20, 2017 2:53 am
Re: Fixed some bugs on Timoshenko Element
Hi dear TsarpalisD I have found a bug too and I need to fix it. The Bug I found is when a "geometry transformation" object is defined with "joint offset" for considering rigid zone in this element, the stiffness matrix doesn't change. Since this element is the most similar element to SAP2000 elements, it is crucial to fix it's bugs. I found Linkkdin acount of Mr Andreas Schellenberg who has written Timoshenko Element codes. I will send him a message about these problems. if you have found out other problems please get in touch with me. my mail: icn2083@gmail.com

 Posts: 8
 Joined: Tue Oct 18, 2016 9:06 am
 Location: National Technical University of Athens
Re: Fixed some bugs on Timoshenko Element
Hello SadeghSalimian,
I found a different bug in the code. I guess it is proper to post it here:
The geometric nonlinear stiffness matrix (for pdelta) is calculated wrong at so the results are not valid (I compared with SAP2000 and they are completely different). So, i recommend NOT to use timoshenko beam with pdelta transformation until a new release. The bugs are the following:
1) In file "ElasticTimoshenkoBeam2d.cpp" in method ElasticTimoshenkoBeam2d::setUp. Where geometric stiffness matrix is calculated:
WAS: klgeo(1,2) = klgeo(2,1) = klgeo(1,5) = klgeo(5,1) = 3.0*L;
SHOULD BE: klgeo(1,2) = klgeo(2,1) = klgeo(1,5) = klgeo(5,1) = 3.0*L*b1z;
2) In file "ElasticTimoshenkoBeam2d.cpp" in method ElasticTimoshenkoBeam2d::getTangentStiff(). The pdelta effect is added in the local resisting forces by:
klTot.addMatrix(1.0, klgeo, ql(0)) , where ql(0) is the axial RESISTING force at the one end
The problem here concerns the sign of the force ql(0), which is positive for compression and negative for tension. By the definition of timoshenko pdelta matrix the signs are opposite, negative for compression
and positive for tension. To fix problem i recommend the following change in method ElasticTimoshenkoBeam2d::setUp:
> After the calculation of klgeo add a new line "klgeo *= 1;". This fixes the problem but demands more calculations
OR
> Change ALL the signs of klgeo matrix components.
Of course the same must be done for Timoshenko3d. I can post the whole source files with the recommended changes if you want.
Tsarpalis Dimitrios,
I found a different bug in the code. I guess it is proper to post it here:
The geometric nonlinear stiffness matrix (for pdelta) is calculated wrong at so the results are not valid (I compared with SAP2000 and they are completely different). So, i recommend NOT to use timoshenko beam with pdelta transformation until a new release. The bugs are the following:
1) In file "ElasticTimoshenkoBeam2d.cpp" in method ElasticTimoshenkoBeam2d::setUp. Where geometric stiffness matrix is calculated:
WAS: klgeo(1,2) = klgeo(2,1) = klgeo(1,5) = klgeo(5,1) = 3.0*L;
SHOULD BE: klgeo(1,2) = klgeo(2,1) = klgeo(1,5) = klgeo(5,1) = 3.0*L*b1z;
2) In file "ElasticTimoshenkoBeam2d.cpp" in method ElasticTimoshenkoBeam2d::getTangentStiff(). The pdelta effect is added in the local resisting forces by:
klTot.addMatrix(1.0, klgeo, ql(0)) , where ql(0) is the axial RESISTING force at the one end
The problem here concerns the sign of the force ql(0), which is positive for compression and negative for tension. By the definition of timoshenko pdelta matrix the signs are opposite, negative for compression
and positive for tension. To fix problem i recommend the following change in method ElasticTimoshenkoBeam2d::setUp:
> After the calculation of klgeo add a new line "klgeo *= 1;". This fixes the problem but demands more calculations
OR
> Change ALL the signs of klgeo matrix components.
Of course the same must be done for Timoshenko3d. I can post the whole source files with the recommended changes if you want.
Tsarpalis Dimitrios,

 Posts: 12
 Joined: Thu Jul 20, 2017 2:53 am
Re: Fixed some bugs on Timoshenko Element
TsarpalisD wrote:
> Hello SadeghSalimian,
> I found a different bug in the code. I guess it is proper to post it here:
> The geometric nonlinear stiffness matrix (for pdelta) is calculated wrong at so the
> results are not valid (I compared with SAP2000 and they are completely different).
> So, i recommend NOT to use timoshenko beam with pdelta transformation until a new
> release. The bugs are the following:
>
> 1) In file "ElasticTimoshenkoBeam2d.cpp" in method
> ElasticTimoshenkoBeam2d::setUp. Where geometric stiffness matrix is calculated:
>
> WAS: klgeo(1,2) = klgeo(2,1) = klgeo(1,5) = klgeo(5,1) = 3.0*L;
>
> SHOULD BE: klgeo(1,2) = klgeo(2,1) = klgeo(1,5) = klgeo(5,1) =
> 3.0*L*b1z;
>
> 2) In file "ElasticTimoshenkoBeam2d.cpp" in method
> ElasticTimoshenkoBeam2d::getTangentStiff(). The pdelta effect is added in the local
> resisting forces by:
>
> klTot.addMatrix(1.0, klgeo, ql(0)) , where ql(0) is the axial RESISTING
> force at the one end
> The problem here concerns the sign of the force ql(0), which is positive for
> compression and negative for tension. By the definition of timoshenko pdelta matrix
> the signs are opposite, negative for compression
> and positive for tension. To fix problem i recommend the following change in
> method ElasticTimoshenkoBeam2d::setUp:
> > After the calculation
> of klgeo add a new line "klgeo *= 1;". This fixes the problem but demands
> more calculations
>
> OR
> > Change ALL the signs
> of klgeo matrix components.
>
>
> Of course the same must be done for Timoshenko3d. I can post the whole source files
> with the recommended changes if you want.
>
> Tsarpalis Dimitrios,
Thanks Indeed. some modification really is essential. Once I modeled pdelta effect on this element and the results were significantly different. I found I imagined probably my model is wrong, but I couldn't find its problem. Now you are confirming there is a problem in element. .I was wondering if i have your mail address for the other modification that is required and some question to fix this problem. my Email address is ICN2083@gmail.com
> Hello SadeghSalimian,
> I found a different bug in the code. I guess it is proper to post it here:
> The geometric nonlinear stiffness matrix (for pdelta) is calculated wrong at so the
> results are not valid (I compared with SAP2000 and they are completely different).
> So, i recommend NOT to use timoshenko beam with pdelta transformation until a new
> release. The bugs are the following:
>
> 1) In file "ElasticTimoshenkoBeam2d.cpp" in method
> ElasticTimoshenkoBeam2d::setUp. Where geometric stiffness matrix is calculated:
>
> WAS: klgeo(1,2) = klgeo(2,1) = klgeo(1,5) = klgeo(5,1) = 3.0*L;
>
> SHOULD BE: klgeo(1,2) = klgeo(2,1) = klgeo(1,5) = klgeo(5,1) =
> 3.0*L*b1z;
>
> 2) In file "ElasticTimoshenkoBeam2d.cpp" in method
> ElasticTimoshenkoBeam2d::getTangentStiff(). The pdelta effect is added in the local
> resisting forces by:
>
> klTot.addMatrix(1.0, klgeo, ql(0)) , where ql(0) is the axial RESISTING
> force at the one end
> The problem here concerns the sign of the force ql(0), which is positive for
> compression and negative for tension. By the definition of timoshenko pdelta matrix
> the signs are opposite, negative for compression
> and positive for tension. To fix problem i recommend the following change in
> method ElasticTimoshenkoBeam2d::setUp:
> > After the calculation
> of klgeo add a new line "klgeo *= 1;". This fixes the problem but demands
> more calculations
>
> OR
> > Change ALL the signs
> of klgeo matrix components.
>
>
> Of course the same must be done for Timoshenko3d. I can post the whole source files
> with the recommended changes if you want.
>
> Tsarpalis Dimitrios,
Thanks Indeed. some modification really is essential. Once I modeled pdelta effect on this element and the results were significantly different. I found I imagined probably my model is wrong, but I couldn't find its problem. Now you are confirming there is a problem in element. .I was wondering if i have your mail address for the other modification that is required and some question to fix this problem. my Email address is ICN2083@gmail.com

 Posts: 28
 Joined: Fri Aug 22, 2008 2:30 pm
 Location: UC Berkeley
 Contact:
Re: Fixed some bugs on Timoshenko Element
Thanks a lot for finding these bugs.
I will have a look at this next weekend and will fix the source code.
Best,
Andreas
I will have a look at this next weekend and will fix the source code.
Best,
Andreas

 Posts: 28
 Joined: Fri Aug 22, 2008 2:30 pm
 Location: UC Berkeley
 Contact:
Re: Fixed some bugs on Timoshenko Element
Thanks again for pointing out the bugs.
The bug related to the geometric stiffness calculation has been fixed.
The joint offsets are still not being considered yet. I will fix this at a later time.
Please update your source code using SVN until Frank posts a new release.
The bug related to the geometric stiffness calculation has been fixed.
The joint offsets are still not being considered yet. I will fix this at a later time.
Please update your source code using SVN until Frank posts a new release.

 Posts: 8
 Joined: Tue Oct 18, 2016 9:06 am
 Location: National Technical University of Athens
Re: Fixed some bugs on Timoshenko Element
And thank you in return for writing all of these. I really appreciate your work