Fixed some bugs on Timoshenko Element

For developers writing C++, Fortran, Java, code who have questions or comments to make.

Moderators: silvia, selimgunay, Moderators

Post Reply
TsarpalisD
Posts: 8
Joined: Tue Oct 18, 2016 9:06 am
Location: National Technical University of Athens

Fixed some bugs on Timoshenko Element

Post by TsarpalisD »

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
SadeghSalimian
Posts: 12
Joined: Thu Jul 20, 2017 2:53 am

Re: Fixed some bugs on Timoshenko Element

Post by SadeghSalimian »

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
TsarpalisD
Posts: 8
Joined: Tue Oct 18, 2016 9:06 am
Location: National Technical University of Athens

Re: Fixed some bugs on Timoshenko Element

Post by TsarpalisD »

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 p-delta) 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 p-delta 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 p-delta 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 p-delta 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,
SadeghSalimian
Posts: 12
Joined: Thu Jul 20, 2017 2:53 am

Re: Fixed some bugs on Timoshenko Element

Post by SadeghSalimian »

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 p-delta) 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 p-delta 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 p-delta 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 p-delta 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 p-delta 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
aschellenberg
Posts: 28
Joined: Fri Aug 22, 2008 2:30 pm
Location: UC Berkeley
Contact:

Re: Fixed some bugs on Timoshenko Element

Post by aschellenberg »

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

Re: Fixed some bugs on Timoshenko Element

Post by aschellenberg »

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.
TsarpalisD
Posts: 8
Joined: Tue Oct 18, 2016 9:06 am
Location: National Technical University of Athens

Re: Fixed some bugs on Timoshenko Element

Post by TsarpalisD »

And thank you in return for writing all of these. I really appreciate your work :)
Post Reply