Repository navigation
CONM2: correct mass matrix with offsets and products of inertia; accept CID = -1 - #314
Open
Valladarex wants to merge 2 commits into
Open
Valladarex wants to merge 2 commits into
Valladarex wants to merge 2 commits into
Conversation
RCONM2 holds I21, I31, I32 as on the CONM2 entry: products of inertia, whose negatives are the inertia tensor terms, as the mass assembly uses them. Three places treated them as tensor terms instead: - CONM2_PROC_2 moved them from the c.g. to the grid with -m*dx*dy (the tensor rule). An offset with two nonzero components then gave a mass matrix with the wrong sign on that product. It is indefinite: offset (-3, 0, -2) on mass 10 gives eigenvalue -29.2. - CONM2_PROC_1 (CID to basic) and CONM2_PROC_2 (basic to the grid's CD) rotated the matrix of products. Only the tensor rotates that way: it is now converted before and after each rotation (POI_TO_TENSOR). - The grid point weight generator added the products with the tensor sign. Tests (MYSTRAN_Validation): conm2_offset_eigen.bdf and conm2_cid_products_eigen.bdf hold the CONM2 on six springs; their six eigenvalues are checked against the exact ones from the rigid-mass matrix. Before the fix both stop with ERROR 989 (MLL not positive definite).
CONM2_PROC_1 looked CID = -1 up as a coordinate system and stopped with ERROR 1822. With CID = -1, X1-X3 are the c.g. location in basic and the inertias are in basic, so the offset is the c.g. minus the grid position and the inertias are used as given. Test (MYSTRAN_Validation): conm2_cidm1_eigen.bdf, the mass of conm2_cid_products_eigen.bdf entered with CID = -1; its eigenvalues must be the same. Before the fix it stops with ERROR 1822.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #ISSUE (fill in the issue number after you open the issue).
Two commits, one per problem. Only
Source/LK1/L1C/CONM2_PROCESSING.f03andSource/LK1/L1C/GRID_POINT_WEIGHT.f03change.Tests: MYSTRAN_Validation MystranSolver/MYSTRAN_Validation#33, three decks in
cases_new.txt:conm2_offset_eigen.bdf: offset (-3, 0, -2), inertias 1, 1, 1.conm2_cid_products_eigen.bdf: offset and products of inertia in a rotated CID, on a grid with rotated CP and CD.conm2_cidm1_eigen.bdf: the same mass entered with CID = -1.How the tests check it:
dev, the first two stop with ERROR 989 (MLL not positive definite), and the third with ERROR 1822.Validation suite, with both PRs: 1 failure of 3,273 checks, the same one current
devhas without them ("mitc4 thermal strain free rectangle cylinder": stresses near zero in a strain-free thermal case, about 5e-3 against a 1e-2 tolerance on 4 of 18,336 values). The 18 new checks pass.