-
Notifications
You must be signed in to change notification settings - Fork 110
Add plot_warping_function()
, enforce Lagrangian Multiplier constraint
#343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add plot_warping_function()
, enforce Lagrangian Multiplier constraint
#343
Conversation
You may also want to update the relevant part in the JOSS paper before submission. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @TLCFEM, thanks for implementing this. This is a stricter enforcement of the Lagrangian Multiplier method that I describe.
Interestingly these changes do not change any results obtained by sectionproperties
. I remembered reading about this briefly in Pilkey (not sure if you have access). On page 176:
It can be shown that the warping function ω(y, z) can be determined only up to a constant. This is proven by uniqueness studies in such books as Little (1973). However, the shear stresses of Eq. (5.20) are found to be unique since they involve derivatives of ω. This non-uniqueness property of ω(y, z) must be taken into account if ω(y, z) is to be employed in a study.
So it seems the non-uniqueness does not affect the results in sectionproperties
, however may affect your use in suanPan
? Either way, this is a good and necessary addition.
I also like the addition of the plot_warping_function()
method - thanks! Only suggestion is to document the three arguments, level
, cmap
and with_lines
.
I will make the changes in the JOSS paper - thanks for the heads up!
plot_warping_function()
, enforce Lagrangian Multiplier constraint
The shape of the warping function is uniquely determined by the PDE, but it's location is not, as the matrix is singular, it can be shifted up/down (like rigid body motion) while still satisfying the PDE. A unique location can be determined by applying a constraint, such as the net warping shall be zero over the section. This does not affect torsional constant, as This shift does not affect the partial derivatives as well (imaging rigid body motion does not affect strain). However, the warping function value will be used to compute bimoment, a shifted value affects bimoment, which further affect the interaction with other sectional forces via higher-order interactions. |
Also, the section is always shifted to the barycentre to perform the warping analysis, which physically means that the barycentre is the axis of twist (no warping, as In a general setup, sometimes the section is deliberately defined and placed with an offset, shifting to the barycentre ignores this consideration. What implications it may bring is not clear to me ATM. Any thoughts? |
It's not super clear to me either. I did a quick test of your above example with the rectangle shifted away from the origin and the shifting in Unfortunately I don't recall where I got the idea that I had to shift the problem to the barycentre - I can't seem to find it in Pilkey. It is interesting however, that the values of the warping function do not change after the shift (with your new code in this PR). I obviously haven't tested extensively as I've only looked at this case, but it may be something worth investigating. |
This is expected.
Yes. The warping function is not affected. But when computing shear stress, the shear force applied through origin now creates not only transverse shear but also torsion on the section --- if the section is not shifted to the barycentre. The quite important fact is that, shifting the section to its barycentre invalidates different layouts that may be intentional. Clearly, a transverse shear force applied through barycentre or with a leverage would leads to different shear stresses on the section. |
If this is only related to stress calculation surely this could be accounted for by varying the shear force and torsion moment accordingly. At the moment it's not clearly documented that the shear forces and torsion moment are acting at and about the shear centre, this could be improved. |
Shear centre is another point, not the barycentre, right? And shear centre is not unique. |
My understanding is that a shear force acting at the shear centre will not generate a twisting moment on the section. In fact this defines the shear centre. I'm not sure I follow "and shear centre is not unique". The current implementation is such that when you give Also I'm a little bit confused with this (apologies it's been a very long time since originally working on this and my brain is in another field now!):
If we are not expecting a change in the values for the warping function ("This is expected"), what values are you expecting would change if we do not first shift the section to the centroid? |
Because there are many definitions of shear centre.
I guess we are on different things. With the proper constraint (say, for example, whichever), shifting the section around (via The book does assume the transverse forces are applied via shear centre (section 6.1.2, last paragraph). |
In both issues I used |
Thanks for the clarification.
|
|
Theory
Using$\sum\omega_i=0$ over all nodes leads to $c=[1,1,1,\cdots,1]$ for the boarding matrix. This is only an approximation of the exact constraint $\int\omega~dA=0$ , and the error is acceptable if the mesh density is uniform and it is only used to compute torsional constant. But if this warping function is further used in other analysis, this error is not acceptable.
The exact constraint$\int\omega~dA=0$ should be enforced, and this gives $c^T\omega_i=0$ , where $c$ is the assembly of $\int{}N_{el}~dA$ .
Test Code
See the difference of the solution of the following section. The symmetric section needs to have extrema of approx. identical maginitudes.