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.

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?

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?

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.

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?

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.

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!

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.

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.

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.