-
Notifications
You must be signed in to change notification settings - Fork 75
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
Adding element offsets to shell and beam elements #250
Conversation
timryanb
commented
Sep 18, 2023
- Also separating TACSBeamTransform from TACSBeamElement file
@timryanb Is this going to require changes to all of the beam and shell constitutive models to account for the thickness offset? |
@A-CGray, no, only for models where the bending axis/plane doesn't align with the nodes. Any constitutive class that doesn't use offsets should continue to work the same |
Hey @gjkennedy, I went through some of the beam code and was trying to understand what the correct ordering for the mass moments array returned by evalMassMoments in the TACSBeamConstitutive class. Based on the snippet of code in the element class here and here, I believe the correct ordering should be:
But, the snippet of code in the constitutive class here
I'm thinking that my first interpretation is correct and constitutive class has a typo in it, but want to run it by you. |
Right, I get that. What I meant is, isn't the math for computing the change in stiffness/inertia due to the offset general enough that it could be implemented in the parent beam and shell classes rather than in every child constitutive model that we want to support a thickness offset? |
You could move the logic for offsetting completely to the elements. However often times these offsets are tied to design variables (the offset scales with thickness for a shell for instance). Moving these procedures into the element class would require adding more steps to the jacobian and its dv sens that would probably be more work than is worth |
@timryanb I think your interpretation is right - it's a typo in the comment. |
Great, I'll make an update to fix the inconsistency |