Skip to content
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

SubDyn documentation: Member Cosine Matrices #2374

Merged
merged 1 commit into from
Aug 16, 2024
Merged

Conversation

RBergua
Copy link
Contributor

@RBergua RBergua commented Aug 16, 2024

I believe this pull request is ready to be merged.

Feature or improvement description
The current documentation is quite confusing about how the user should define the member cosine matrices in SubDyn.

The documentation shows the calculation of direction cosine matrix as: (https://openfast.readthedocs.io/en/dev/source/user/subdyn/theory.html#local-to-global-transformation):
image

In this case, the vectors x, y, and z correspond to the columns of the direction cosine matrix.

However, when the user provides the direction cosine matrix as input (https://openfast.readthedocs.io/en/dev/source/user/subdyn/input_files.html#member-cosine-matrices-cosm-i-j) for example to define the directions for a spring element (https://openfast.readthedocs.io/en/dev/source/user/subdyn/theory.html#spring-elements), it has to provide the vectors x, y, and z as the rows of the direction cosine matrix (not the columns as shown in the above [Dc]).

Internally, SubDyn computes the transpose of the matrix provided by the user. Making the direction cosine matrix consistent with the definition of [Dc]. This may be very confusing for a user if it doesn't look in detail in the source code.

The same issue would be faced in the future when defining rectangular members in SubDyn.

I illustrate this with an example taking advantage of the USFLOWT project. The image below shows the top view of the substructure.
image

The member cosine matrix for the vectors that I show in the above picture, would correspond to:

---------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------
             1   NCOSMs      - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0   or 9999 in any element below
COSMID    COSM11    COSM12    COSM13    COSM21    COSM22    COSM23    COSM31    COSM32    COSM33
 (-)       (-)       (-)       (-)       (-)       (-)       (-)       (-)       (-)       (-)
 1       -0.5      0.866       0      -0.866     -0.5        0         0         0         1

where the direction 1 (x_e) is defined by (COSM11, COSM12, COSM12); the direction 2 (y_e) is defined by (COSM21, COSM22, COSM23); and the direction 3 (z_e) is defined by (COSM31, COSM32, COSM33).

Impacted areas of the software
Only documentation.

@luwang00
Copy link
Contributor

@RBergua Thanks for documenting this!

@andrew-platt andrew-platt merged commit 3876ca0 into OpenFAST:dev Aug 16, 2024
21 checks passed
@andrew-platt andrew-platt mentioned this pull request Dec 24, 2024
38 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants