I am new to FAST and I am trying to figure out whether to use FAST v7 or FAST v8 for my dynamic analysis.
I need to be able to control and vary the stiffness and damping of the soil/foundation in my analyses. As far as I have learned this can be done in FAST v7 by creating a subroutine, UserPtfmLd(). Is this correct? And is it possible to do the same in FAST v8, and if so, could I please get some hints on how to do it?
I encourage you (and everyone) to upgrade to FAST v8 whenever possible.
You can model soil stiffness/damping in FAST v7 for land-based or offshore turbines through the user-written UserPtfmLd() routine. However, if you are modeling an offshore wind turbine, the offshore capabilities in FAST v8 are vastly superior to those of FAST v7.
The UserPtfmLd() routine is not yet available in FAST v8 (although you could customize the code yourself), but you could quite easily set a linear platform stiffness and damping matrix within HydroDyn for a land-based turbine foundation (disabling the hydrodynamic options). For a fixed-bottom offshore turbine, presumably you’d be using SubDyn in FAST v8. The SubDyn model is currently limited to rigid connections between the bottom of the substructure and the seabed; however, a common way to mimic a flexible foundation, which is possible in SubDyn, is to use the “apparent fixity” approach and define beam elements at the base of the substructure to mimic the flexibility that the real foundation would experience.
In FAST v8 currently, it is not possible–without customizing the source code–to include a distributed-springs model or a linear stiffness and damping matrix to mimic a flexible foundation for a fixed-bottom offshore wind turbine. This is because, as I said in my previous post, the SubDyn module is currently limited to rigid connections between the bottom of the substructure and the seabed.
I need to model soil pile interaction (by any means) for offshore wind turbinbes in FAST v8. I read this forum and as you said I need to recompile of FAST with UserPtfmLd. Could you please explain it more?
Where can i find it? and how? do i need to create superlement stiffness matrix and include in the source code?
Any word about that would be highly appreciated.
As I’ve said, the UserPtfmLd() routine is not yet available in FAST v8, but the bigger problem is that SubDyn is currently limited to a rigid connection between the bottom of the substructure and the seabed. You’d have to change this boundary condition in SubDyn before adding a pile stiffness and damping matrix. However, I’m not able to provide detailed guidance for making this customization at this time. I suggest you start by reviewing the SubDyn theory basis from section 6 of the draft SubDyn User’s Guide and Theory Manual: wind.nrel.gov/nwtc/docs/SubDyn_Manual.pdf.
Based on the above discussion, how are treating the soil currently in FAST v8? Have you customized the source code to add this yourself? Or are you using the apparent fixity approach within SubDyn?
If you’ve already customized the code to add a stiffness matrix or distributed springs to represent the soil conditions, you could also and damping in the same place. If you are not customizing the source code, and you are using SubDyn, the only real damping option available in SubDyn is through structural damping of the Craig-Bampton modes (through input JDampings). The platform additional damping feature available in HydroDyn (through inputs AddBLin and AddBQuad) is another option, but this damping is applied at the intersection of the tower centerline and the mean sea level.
I´m trying to study soil-structure interactions of land-based wind turbine with FAST v8. Following the advice of Mr. Jonkman given in this topic I use as a starting point the files in Test18 (land-based Wind Turbine) and I am trying to implement linear Stiffness and Damping matrices of several real soil types (silt till rock) in HydroDyn in the Platform Additional Stiffness and Damping section (with disabled hydrodynamic options), but FAST aborts the calculations. I am not using SubDyn in this calculation.
How would I have to change Geometry Data in the HydroDyn Input file so only my given matrices K and C interact with the whole system? Am I overseeing something?
Could anybody please help me and give me a rough list of steps to run such a simulation? This would be very pleasant and I thank in advance!
at first I thank you for your prompt reply!
Yes, I still disabled all hydrodynamics but I was not sure if I have as well to disable the members because in tzhe end in both ways (disabling members YES or NO) FAST aborted. After your confirmation of members’ deletion, at first I concentrated to try neglecting the members incl. the relating joints in a way that only the section “PLATFORM ADDITIONAL STIFFNESS AND DAMPING” and acc. to the HydroDyn manual the six true flags in the section above (“FLOATING PLATFORM FORCE FLAGS”) remain with the aim of no failur. It no matters what initial HydroDyn file I use (e.g. ITI Barge, OC3 Tripod, …) because the same error message orccurs always which is written as
“FAST_InitializeAll:HydroDyn_Init: Both meshes must be committed before they can be mapped.
HydroDyn_Init: Both meshes must be committed before they can be mapped.”
Are there two the same failures? Could you please give me a hint what the reason is or could be?
I was able to reproduce your error when I set up a similar model myself. It appears that there is a bug in HydroDyn preventing it from functioning properly when a model has no strip-theory nodes (NJoints = NMembers = 0). We’ll fix this in a future release of HydroDyn. In the meantime, I suggest that you set up your HydroDyn module with two joints and one member, but with all member properties and coefficients set to zero.
I apologize for my late reply!
After applying your tip FAST runs. I thank you for your hints!
With foresight I`ll check the results of several simulations about their plausibility in matters of the SSI.
now I check several soil types regarding the linear stiffnes and linear damping matrices in HydroDyn, taken from Test19.
I apply Test18 as basic and in HydroDyn I changed the member and joints incl. their properties and coefficents, like you recommanded before, and FAST runs. This happens with a middle strong soil type like sand, but now when I change the matrices I get several failure messages. One failing soil type is between the running ones and the other failing types are with very high K and C values. The several messages are basically the same (only different in the values) and sound like this:
FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:BEMT_UpdateStates(node 5, blade 2):BEMT_UnCoupledSolve:DeterminePhiBounds:There is no valid value of phi for these operating condition! Vx = 6.8481, Vy = -30.858, rlocal = 11.77, theta = 0.23225
The problem is that I cannot understand why this happens. Do you have an idea what could be the reason?
I’m not sure I understand everything in your post, but in the error message you are reporting, a value of Vy = -30.858 m/s sounds unrealistic. Perhaps the model is going numerically unstable in some way? It could be that the introduction of the foundation stiffness and damping necessitates a smaller FAST time step. I suggest dropping the time step (DT) to see if the solution is sensitive to the value.
I tested the before not working soil modeks and I observed that the speed values are very sensitive to DT. Alright, now FAST runs with DT = 0.0001s, but unfortunately, it requieres a lot of real time, around 37 seconds of reality to 1s of simulation. I know that all models work, but nevertheless I’ll have to check the results. That’s because I’ll adapt the DT in TurbSim as well to follow a recommended relation btw. DT of FAST to DT of TurbSim to get sufficient results.
I use FAST within my post-graduate thesis, which deals with the influence of the soil-structure interaction in the stresses and the design of fixed-bottom turbines.
In order to skip the SubDyn model’s limitation to rigid base connections, I am testing an apparent fixity approach outside FAST’s code. More specifically, I analyze a wind turbine using FAST and then I model the foundation of the structure in an another finite element software entering the internal base forces produced by FAST as external loading. This model computes certain values of displacements and rotations applied to the bottom of the substructure. Taking into account the principle of virtual work, an equivalent additional cantilevered pylon’s length is estimated, in order to achieve the above mentioned values of displacements and rotations. Eventually, I add this pylon part in the FAST model and I compare the results between the two analyses. This procedure can be observed in the attached figure.
My question concerns the difference I detect at the wind velocity between the results of the two models. Should not this parameter remain the same regardless the length of the pylon?
For your information, I was initially testing this method in FAST’s Test18 and the only changes I have made in the second analysis were:
In TurbSim file I have changed the HubHt parameter from L to Ltot (I kept RefHt unchanged as the real structure’s wind should be estimated with its true geometric characteristics).
In ElastoDyn file I have changed the TowerHt from L to Ltot.
In AeroDyn15 file I have changed the TwrElev height from their original value (O.V) to (O.V) + Leq (TwrPotent = 1, TwrShadow = False, TwrAero = True).
The discussed difference between the wind velocity’s time series of the two analyses can also be observed in an attached figure.
Do you think the dubious results are reasonable or not? Do you detect any erroneous change of data or any omission?
The reason your wind speed data is changing between your simulations with and without L_eq is because you’ve changed input HubHt in TurbSim, which is moving the wind data grid relative to the turbine.
As far as I understand your approach, your L_eq is meant to represent the effect of the foundation, but the distance between the real ground level and the hub should be unaffected by L_eq. Thus, I would think that you’d want to leave your TurbSim wind files (e.g. HubHt and RefHt), TowerHt in ElastoDyn, and TwrElev in AeroDyn unchanged between your simulations with and without L_eq. For the simulations with L_eq, you’d wan’t to set TowerBsHt in ElastoDyn to be negative valued and change the distributed tower mass and stiffness data appropriately (assuming you are not using SubDyn).
I’m trying to run a simulation in the potential flow only mode, but I keep getting the error: Both meshes must be committed before they can be mapped
There is not much explanation on how to do this in HydroDyn manual. I read your suggestion to Patrick and I did the same and the simulation is running now. So I wanted to know if you have already fixed the error and if yes, how could I get rid of it in my case? I’m using the latest version of HydoDyn and for a potential flow theory I set all the joint and axial coefficients to zero.
This bug has not yet been fixed, but the workaround is simple as described. You can track the progress on the bug fix in the open issue on github: github.com/OpenFAST/openfast/issues/79 (at present, the issue has only been opened).
I’m confused by your statement though. It sounds like you applied the workaround and have the simulation running, but then you ask how to get rid of the error. So are you able to run a potential-flow only solution (with the strip theory hydrodynamic coefficients set to zero) without error?