OpenFAST source code (StrucCtrl module)

Dear @Jason.Jonkman

I start to try to modify OpenFAST source code mainly the Structural Control module in order to see the effect of some energy dissipation device on the motion.

I want to ask you about the following variables:

m%rdisp_P(:,i_pt) = matmul(u%Mesh(i_pt)%Orientation(:,:,1),u%Mesh(i_pt)%TranslationDisp(:,1))
m%rdot_P(:,i_pt) = matmul(u%Mesh(i_pt)%Orientation(:,:,1),u%Mesh(i_pt)%TranslationVel(:,1))
m%rddot_P(:,i_pt) = matmul(u%Mesh(i_pt)%Orientation(:,:,1),u%Mesh(i_pt)%TranslationAcc(:,1))
m%omega_P(:,i_pt) = matmul(u%Mesh(i_pt)%Orientation(:,:,1),u%Mesh(i_pt)%RotationVel(:,1))
m%alpha_P(:,i_pt) = matmul(u%Mesh(i_pt)%Orientation(:,:,1),u%Mesh(i_pt)%RotationAcc(:,1))

If i understand well the source code, the variables i am asking for are the position vector, the linear velocity vector, the acceleration vector, the angular velocity vector and the angular acceleration vector respectively for point P. In addition, all variables are computed with respect to the reference inertial frame but expressed in the basis where the point P is located. Right ?

I apologize whether this forum is only dedicated for OpenFAST users and not for developers.

Thank you in advance,

Best Regards,

Riad

Dear @Riad.Elhamoud,

I agree, except I would clarify that the position vectors are defined with respect to the undisplaced location of point P rather than with respect to the origin of the inertial frame.

We typically recommend that this forum be used for user-related Q&A of OpenFAST and that compiling and source code-related questions be posted on the Issues or Discussion pages of the OpenFAST GitHub repository.

Best regards,

1 Like

Dear @Jason.Jonkman

I just want make sure that i understand you response.

You mean by position vectors m%rdisp_P(:,i_pt) only ?

Or you mean m%rdisp_P(:,i_pt) ; m%rdot_P(:,i_pt) ; m%rddot_P(:,i_pt)

Thank you in advance.

Best Regards,

Riad

I was referring to m%rdisp_P(:,i_pt).

1 Like