About ChBeamSectionTaperedTimoshenko

72 views
Skip to first unread message

David Marten

unread,
Sep 29, 2023, 2:36:34 PM9/29/23
to ProjectChrono
Dear all,

I have been using Timoshenko beams recently to model wind turbine blades in the QBlade code. 

Overall the beams are performing great (both "standard" and FPM) and the prediction of internal blade shear forces is improved greatly. The anisotropic damping feature is also of great use and I could validate its correct functionality based on a very large blade design (22MW).

I have a question regarding the functionality of ChBeamSectionTaperedTimoshenkoAdvancedGeneric, which does not seem to work as intended in my tests. The only way I can get the simulation to run is by using the same ChBeamSectionTimoshenkoAdvancedGeneric for both sections (sectionA and sectionB) of the tapered section.

I tried to look into the issue that I am having, and it seems like during the evaluation of ChBeamSectionTaperedTimoshenkoAdvancedGeneric::ComputeAverageSectionParameters() material values can turn out to be negative. I found at least the value EImyy to appear as a negative values my tests. I think that this happens during the "rotation" of EIyy onto the mass axis, as nothing "prevents" the values from turning negative (for certain angles of mass_phi), see below:

double cosphi1 = cos(mass_phi1);
double sinphi1 = sin(mass_phi1);
double EImyy1 = EIyy1 * cosphi1 + EIzz1 * sinphi1;
double EImzz1 = -EIyy1 * sinphi1 + EIzz1 * cosphi1;
double GAmyy1 = GAyy1 * cosphi1 + GAzz1 * sinphi1;
double GAmzz1 = -GAyy1 * sinphi1 + GAzz1 * cosphi1;

I am not sure if this really is the problem, but wanted to ask if someone has experience using the tapered section and has some suggestions or tips on how to get it to work correctly.

Thanks and best regards,

David

chao peng

unread,
Sep 29, 2023, 9:19:35 PM9/29/23
to ProjectChrono
Hi David,

Thank you for your test and feedback.

It seems the evaluation for the average  EImyy and  EImzz is a bug since they are definitely positive in the sense of the physics, you can try to fix it as:
double EImyy1 = abs(EIyy1 * cosphi1 + EIzz1 * sinphi1);
double EImzz1 = abs(-EIyy1 * sinphi1 + EIzz1 * cosphi1);
double GAmyy1 = abs(GAyy1 * cosphi1 + GAzz1 * sinphi1);
double GAmzz1 = abs(-GAyy1 * sinphi1 + GAzz1 * cosphi1);

But the stiffness parameters (EImyy1,EImzz1,GAmyy1,GAmzz1) described at the mass center and mass axis are not used in the evaluation of the stiffness matrix (Km) of the element, your problem encountered in your test might come from other aspects.

ChBeamSectionTaperedTimoshenkoAdvancedGeneric should be able to support two different ChBeamSectionTimoshenkoAdvancedGeneric for sectionA and sectionB since I have used in this way for several years. I would suggest you check whether the section parameters along blade spanwise change in a continuous function first, especially for the blade root sections. If they look like a zigzag shape along spanwise, the accuracy of the tapered Timoshenko beam element will decrease.

Let me know if you have further questions.

Best regards,
Chao Peng.

David Marten

unread,
Sep 30, 2023, 7:46:52 AM9/30/23
to ProjectChrono
Hi Chao Peng,

thanks for the quick response!

The problem is that using different sections for A and B the system doesnt solve at all.

I could narrow it down to the section rotation angle, if the rotation varies over sectionA and sectionB the system doesnt solve.

See the image below for such an exemplary distribution that doesnt solve.

distribution.png

What I dont understand is that if I use the same distribution for the section rotation and average only the section rotation manually (and then assigning it to both A and B sections) , while all other sectional parameters are averaged by GetAverageSectionParameters(), everything works, so the problem seems to occur only when there is a different rotation for sectionA and sectionB.

Best regards,

David
Reply all
Reply to author
Forward
0 new messages