Extending the dimensions of matrices related to equation of motion

Dear Jason,

I am getting this error after making the changes. Do you have any idea what should I refine?

Best Regards,
Nikos

Dear @Nikos.Mantadakis

My guess is that there is something ill-conditioned in the input-output matrix (Jacobian) that is used to couple ElastoDyn and HydroDyn. You can look at the Jacobian directly by recompiling OpenFAST with compiler directive OUTPUT_JACOBIAN defined and then rerunning the simulation. I suggest starting there to debug.

Best regards,

Dear Jason,

Thank you very much for your support! I will start from there.

Best Regards,
Nikos

Dear Jason,

After several changes that I have made in the code since our last conversation, I retried to run the simulation and now seems that there are some problems regarding the aero files. However, I have never dealt with them at all, so I believe that these problems are due to some initial conditions that I gave by introducing an extra - flexible DOF for the platform. Can you please give me some hinges in which ways can I surmound the problems, because I am totally unfamiliar to the aero-part? For your convenience, I am attaching you the relative screenshot.

Thank you once again in advance!

Best Regards,
Nikos

Dear @Nikos.Mantadakis,

It looks like your model has gone unstable, resulting in large deflection (hence the “small angle assumption violation” warnings and very large position in the “FF wind array exhausted” error causing the simulation to abort.

Best regards,

Dear Jason,

Hope you are doing well!

Another problem came up with my code extension. This time, the following message pops up:
“forrt1: error(72): floating overflow”
For your conveniece, I am also attaching the relevant screenshot

Do you have any idea where the problem derives from?

Thank you very much in advance.

Best Regards,
Nikos

Dear @Nikos.Mantadakis.

A “floating overflow” error would occur when the value being assigned to a float variable is larger than the maximum possible value for that variable. Likely the problem is related to something you changed in the source code.

Best regards,

Dear Jason,

Following a previous conversation that we had, back then I have found several other errors in my code, so there was no need to deal with compiler directive OUTPUT_JACOBIAN. As for now, that kind of message started again popping up. My major problem is that once I put the new flag that I created (concerning the relative motion between the WEC and the turbine’s platform), the index of the U matrix where the problem derives from, changes depending on the DOFs activated. For example, having all the turbine’s DOFs off and only the (new) relative motion DOF switched on, the problem is in U(1,1), while by extra switching on the DOF of the platform’s heave, the problem moves to U(4,4,) instead of U(2,2,) which would be the rational one.

Can you please give me some help? When you talk about compiler directive OUTPUT_JACOBIAN, what does this mean? I can not find it…

Looking forward for you reply.

Best,
Nikos

Dear @Nikos.Mantadakis,

I’m not sure what is wrong with your updated source code, but to output the Jacobian through the compiler directive OUTPUT_JACOBIAN, you should go into the Configuration Properties of your FASTlib in Visual Studio, find the line called “Preprocessor Definitions” in Configuration Properties/Fortran/Preprocessor and add:

;OUTPUT_JACOBIAN

at the end of the line. Then recompile OpenFAST, rerun the simulation, and the Jocobian should be written to a file.

Best regards,

Dear Jason,

Thank you for your help! I will start working on the direction you proposed me and if I have more problems, I will let you know!

Best Regards,
Nikos Mantadakis

Dear Jason,

One more minor question I forgot: Is there something similar for printing somewhere the Augmented Matrix of the total structure?

Thank you once again in advance!

Best,
Nikos

Dear @Nikos.Mantadakis,

I’m not sure I understand everything you’ve changed in the source code to know if an augmented mass matrix for the total structure even exists? Have you changed ElastoDyn, SubDyn, and HydroDyn?

Best regards,

Dear Jason,

I have changed HydroDyn and ElastoDyn, not SubDyn. Should I also deal with the latter?

As for the Augmented Matrix, as I can see it is created inside ElastoDyn, so I made some changes also in this part of the code.

Best Regards,
Nikos

Dear @Nikos.Mantadakis,

I’m not saying that you should change SubDyn; I was just trying to understand more of what you changed.

I’m not aware of any built-in capability within ElastoDyn to output the augmented matrix, but you should be able to add PRINT statements within ElastoDyn to do that yourself.

Best regards,

Dear Jason,

Hope you are doing well.

Finally I managed to change and build completely what I wanted to! Now, I am in the process of obtaining results in order to start defending my PhD thesis. I have run the simulation for specific cases and something seems to be wrong with the Turbsim and Aero files I created. Specifically, the Turbsim grid seems to be small for my model (for your convenience, find attached the relevant screenshots, the 1st concerning a 31x31 grid concerning 145x145 m dimensions, the 2nd a 31x31 grid for 175x175 dimensions - I can not enlarge further the grid, since the hub height is 90m and the double of this height comprises a dimension limit for Turbsim).

I plotted the graphs until this moment and seems that the code becomes suddenly unstable. See the attached graphs of Platform’s heave and Platform-WEC differential movement in heave direction for the case of 175x175 m grid.

My suspicion is that probably I am doing something wrong with the Turbsim, Inflow and Aero input files, however I am not aware of this stuff. For this purpose, I am attaching the relevant input files that I used in the simulation.

Can you please have a look to my issue and let me know if you have any proposals?

Thank you very much in advance!

Looking forward for your reply.

Best Regards,
Nikos

Dear @Nikos.Mantadakis,

My guess is the problem is not in your TurbSim and AeroDyn settings, which look OK to me. The problem is likely that your model is unstable, as implied by the large blade deflection. It looks like the heave motion suddenly grows at about 100-s into the simulation. How about other motions such as blade deflection, tower deflection, blade pitch, and rotor speed? Is the model numerically stable without aerodynamic loads applied? Is the solution numerically converged; i.e., does dropping the time step or increasing the number of correction steps change the solution?

Best regards,

Dear Jason,

Hope you are doing well!

I have another question regarding the input in HydroDyn.dat file. Inside this file, there is a section called “PLATFORM ADDITIONAL STIFFNESS AND DAMPING”, where -when I downloaded the initial file- several values were set at specific positions (for your convenience, see the relevant screenshot).

When I am trying to change some of these values, instabilities at the solution come up and the code terminates. Thereofore my questions are:

  1. Which is the reason of these terms’ existence?
  2. How can I calculate these extra values for every case that I want to run? Is there any relevant documentation of OpenFAST that I miss or these values are fixed as in the initial file that I downloaded?

Thank you very much in advance!

Nikos Mantadakis

Dear @Nikos.Mantadakis,

Often these platform additional stiffness and damping matrices are zero.

The reason why there are a few nonzero values for the OpenFAST model of the NREL 5-MW baseline wind turbine atop the OC3-Hywind spar are documented in its specifications report: https://www.nrel.gov/docs/fy10osti/47535.pdf.

Best regards,

Dear Jason,

Thank you very much for the clarification! I will have a thorough look in that!

Best Regards,
Nikos

Dear Jason,

Another question came up: I am not sure where the mass matrix of the total structure is built. I am trying to follow where the variables of the platform’s mass inside the Elastodyn.dat file are used to fill the mass matrix, but I can not find the proper lines.

Can you please give me some help on this (trivial I suppose) issue?

Thank you very much in advance!

Best Regards,
Nikos Mantadakis