Different FEA beam forces/moments between 6.0.0 - 7.0.0

46 views
Skip to first unread message

David Marten

unread,
Dec 1, 2021, 6:02:45 AM12/1/21
to ProjectChrono
Dear all,

I was quite excited to learn about the 7.0.0 release with the added features for FEA beams, such as Timoshenko and FPM Timoshenko. These will be really usefull and make Chrono even better and more versatile than it already is!

In my simulation tool I ust integrated the newest 7.0.0 release of Chrono. In the code that I develop I have automatic checks than compare simulations to "old" reference results in detail.

I have observed some dramatic changes between the previous 6.0.0 and the 7.0.0 release.

More specifically the (internal) beam forces and torques obtained via:

void ChElementBeamEuler::EvaluateSectionForceTorque(const double eta, ChVector<>& Fforce, ChVector<>& Mtorque) 

The resulting forces and moments are completely different between 6.0.0 and 7.0.0.
Strangely enough the overall simulation results, such as deflections, velocities etc., and also all constraint forces and moments still match perfectly. 

I saw that quite a lot in the EvaluateSectionForceTorque function has been changed between 6.0.0 and 7.0.0 and I'm wondering why this affects the results so much - e.g. was there a problem with the previous evaluation?

So which results can I "trust" more?

Best regards,

David

Alessandro Tasora

unread,
Dec 3, 2021, 4:12:27 AM12/3/21
to David Marten, ProjectChrono

Dear David,

On 01/12/2021 12:02, 'David Marten' via ProjectChrono wrote:
Dear all,

I was quite excited to learn about the 7.0.0 release with the added features for FEA beams, such as Timoshenko and FPM Timoshenko. These will be really usefull and make Chrono even better and more versatile than it already is!

In my simulation tool I ust integrated the newest 7.0.0 release of Chrono. In the code that I develop I have automatic checks than compare simulations to "old" reference results in detail.

I have observed some dramatic changes between the previous 6.0.0 and the 7.0.0 release.

More specifically the (internal) beam forces and torques obtained via:

void ChElementBeamEuler::EvaluateSectionForceTorque(const double eta, ChVector<>& Fforce, ChVector<>& Mtorque)

The resulting forces and moments are completely different between 6.0.0 and 7.0.0.

Yes, this function has been changed, and the main change is in the commit on 10/6/2020 to ChElementGeamEuler.cpp. In particular:

  1. one of our collaborators noticed that the sign of the y component of the curvature vector was flipped, note the change of sign at row 825:
       sect_ek(1) *= -1.0;
    Note also that the curvature and moment sign can be decided arbitrarily, provided that they are consistent.

  2. previously, the strain and curvature were computed in the centerline reference, then the diagonal constitutive elasticity matrix Klaw transformed into Klaw_r to assume displaced elastic center and  displaced shear center, then wrench was obtrained multiplying the Klaw_r by strain&curvature, all in centerline reference. Now the process is performed in a different way.

Can you tell me if your differences are caused by 1. or 2. ? Because in the first case it is just a matter of references, in the second case there is something to investigate.

Strangely enough the overall simulation results, such as deflections, velocities etc., and also all constraint forces and moments still match perfectly.
Yes, this is not surprising, because EvaluateSectionForceTorque() is used only for extracting post-processing data.

I saw that quite a lot in the EvaluateSectionForceTorque function has been changed between 6.0.0 and 7.0.0 and I'm wondering why this affects the results so much - e.g. was there a problem with the previous evaluation?

So which results can I "trust" more?

Sorry I do not have time to make a validation now, what I know is that for symmetric sections there should not be any differences, but for generic sections like yours it is a different story.

More later,

Alessandro


Best regards,

David
--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/add8f852-7140-43e5-9472-f68042b6f17an%40googlegroups.com.

David Marten

unread,
Dec 10, 2021, 12:21:11 PM12/10/21
to ProjectChrono
Hi Alessandro,

I found the time to check the two points that you mentioned. 
For symmetric sections (between the 6.0 and 7.0 version) all differences are only due to the sign change you mentioned in point 1.), point 2.) has no effect here.
For asymetric, more complex cross sections, with offset axes, the changes in the results are more complex and probably also related to point 2.) you mentioned.

Thanks for the insight!

Best,

David

Reply all
Reply to author
Forward
0 new messages