# Extending the dimensions of matrices related to equation of motion

The platform mass in ElastoDyn (`PtfmMass`) is used in expressions for the partial forces and moments at the platform reference point (`RtHSdat%PFrcZAll`, `RtHSdat%PMomXAll`) in `SUBROUTINE CalculateForcesMoments()` within ElastoDyn.f90, which are then used within the equations of motion in `SUBROUTINE FillAugMat()` within ElastoDyn.f90.

Best regards,

Dear Jason,

Indeed, I have already observed these uses of the PtfmMass. My question is if there is somewhere inside the code a clear reference to the structure’s mass matrix or just within expressions referring to partial loads?

Thank you very much in advance!

Best Regards,
Nikos

Array `AugMat` contains the ElastoDyn mass matrix as I describe in my post dated Aug 9, 2016 in the following forum topic: Questions about the source code of FAST 7.

Best regards,

Dear Jason,

Thank you for the information! I will have a look at this and I’ll be back if necessary!

Best Regards,

Dear Jason,

I am not sure what PLinVelEZ, as well as PFrcZAll and FrcZAllt matrices used in the AugMat inside ElastoDyn stand for. Can you please provide me some guidance, since they are internally multiplied for the Augmented Matrix?

Thank you very much in advance.

Best Regards,

Dear Nikos,

Point “Z” in ElastoDyn is the platform reference point. “E” refers to the earth or inertial reference point.

`PLinVelEZ` represents the partial linear (translational) velocities of point Z with respect to E used in Kane’s method. (Partial velocities represent the direction by which the time-derivative of a given degree of freedom contributes to the total velocity.)

ElastoDyn uses the concept of “partial loads”, which are similar to the partial velocities, but represent the direction by which the second time-derivative of a given degree of freedom (acceleration) contributes to the total load (used to form the mass matrix). `PFrcZAll` represents this partial load for point Z, which relates to the mass matrix on the left-hand side of the equations of motion associated with translational motion of Z. `PFrcZAllt` represents the remainder of the load that is not proportional to acceleration, which relates to the right-hand side of the equations of motion. See the following ElastoDyn theory document for more information: https://openfast.readthedocs.io/en/main/_downloads/374f227e46a9292169bcef67acabe974/FASTLoads.doc.

Best regards,

Dear Jason,

Thank you very much for your prompt reply! I will look at the documentation you recommeded and I’ ll be back in case of something still confusing me.

Best Regards,
Nikos

Dear Jason,

Hope you are doing well!

Another porblem came up. Suddenly, I can not build my solution with no obvious reason (I mean, I tried to codes that I could build them until yesterday). The message that pops up is the following one:

“FASTlib: error PRJ0019:A tool returned an error code.”

Do you have any ideas where does the problem come from?

Thank you very much in advance!

Best Regards,
Nikos

For your convenience, I am also attaching you the relevant screenshot.

Thank you once more.

All the best,
Nikos

What is written to the “Output Window” in Visual Studio? This is generally much more informative than the “Error List”.

Best regards,

Dear Jason,

I am not sure what I should do to see the Output Window. Isn’ t this that I sent you at the screenshot? If not, what output do you need to see?

Best,
Nikos

The second tab on the bottom left of Visual Studio is the “Output Window”. Can you show the full text from there?

See similar questions asked and discussed on the OpenFAST GitHub repository:

Best regards,

Dear Jason,

Thank you for your prompt response! I will see the topics that you suggested me. I am also attaching you the ouput text from the relevant window:

If you have any ideas what is going wrong, please let me know.

Best Regards,

Nikos

Hi Nikos,

I think one of the pre-build scripts for the FASTlib project is not liking your path name. I think the comma character in your path is causing one of the batch files to improperly parse a command.

Can you try to rename your directory?

1 Like

Dear Bonnie,

Indeed, this was the problem! I renamed several files, but I didn’t keep in my mind that this could cause problems. Fortunately now everything seems to be ok!

All the best,

Nikos

Dear Jason,

As for the Augmented Matrix, after studying the equations, I have the following question:

Following the concept of the source code, I can see that partial forces are also present for the rotative DOFs of the turbine (i.e., roll, pitch, yaw), because of cross products between the angular partial velocities and the platform’s position vector. Therefore, when the Augmented Matrix is filled, for example at its fourth line, the 4(line),1(column) term contains a force, while the 4(line),4(column) term contains a moment. As a result, at the last column (NAug) shouldn’t exist both moment and force (I mean MomXAllt and FrcZAllt)? I am asking because inside the code I can see only MomXAllt or FrcZAllt at each line depending on the translative or rotative type of the DOF corresponding to the matrix line.

What is the concept behind this calculation inside the code or what am I missing? If something remains blur to you, please let me know in order to clarify further my concern.

Thank you very much in advance.

Best Regards,

The short answer is that MomXAllt is a moment that includes contributions both from moments and forces cross with their moment arms.

The 4th row in the AugMat matrix is associated with the platform roll DOF and last column of this matrix is the total roll moment. The 1st and 4th columns of AugMat are related to the surge and roll elements of the mass matrix.

Best regards,

Dear Jason,

First of all thank you very much for your prompt response. However, if I want to dig a little deeper inside the equations, is there any documentation of FAST that you could recommend me? (apart from the following link that you have already shared with me): https://openfast.readthedocs.io/en/main/_downloads/374f227e46a9292169bcef67acabe974/FASTLoads.doc

Thank you once more in advance.

Best Regards,

Nikos

That is the document that explains how `AugMat` (including the mass matrix and force vector of m*a = F) gets formed from the partial loads. If you you are having trouble understanding this document, I would suggest reviewing documents earlier in the series: 4.2.7. ElastoDyn Users Guide and Theory Manual — OpenFAST v3.5.3 documentation. This is the only theory documentation of ElastoDyn that we have at the moment.