Dear @Peng.Guo,
Good to hear that worked for you!  Those changes were added to the SoilDyn branch about 10 months ago – we made some architectural changes to how SubDyn meshes worked with flexible floating platforms then.  Not having the y3Mesh change would definitely cause issues with the model stability.
Did you run into any conflicts when merging the latest main into the SoilDyn branch?
Regards,
Andy
             
            
              
              
              
            
            
           
          
            
            
              Dear @Andy.Platt
I could run the exe file smoothly.
However,  I still have some questions to ask you.
I have added codes for subroutine SlD_CalcOutput to calculate damping force in SubDyn.f90. and I also improved SoilDyn_Registry.txt and SoilDyn_IO.f90.
I’m not sure if those codes are problematic. I’d appreciate it if you could check it out for me.
             
            
              
              
              
            
            
           
          
            
            
              Dear @Jason.Jonkman and @Andy.Platt ,
I am using the SoilDyn source code to model the pile-soil interaction. What I want to know is whether to treat the extension section of the tower towards the mudline as a single pile when using distributed spring model (DS model)? Thanks in advance.
Best regards,
Kevin
             
            
              
              
              
            
            
           
          
            
            
              Dear @Kevin.Chang,
I’m not sure I understand your question.  A monopile would have a single pile whereas a jacket foundation would have multiple piles.
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Jason.Jonkman ,
I’m sorry for not stating it clearly. For a monopile-supported offshore wind turbine, how to model a monopile in OpenFAST (including the SoilDyn source code)? Whether the monpile is modelled by using the method of extending the tower downwards from the mudline?
Best regards,
Kevin
             
            
              
              
              
            
            
           
          
            
            
              Dear @Kevin.Chang.
My understanding is that the SoilDyn module has a placeholder for a distributed springs (e.g., P-Y curve) model, but that this feature has not been fully developed.  If you were to use a distributed springs model (not available without a source code change), you would have to model the pile in SubDyn as a structural member to its free end below the seabed.  However, SoilDyn only currently supports a coupled springs representation of the foundation, including through simple linear matrices or through coupling to the REDWIN superelement. To model a coupled springs foundation, you should only model hte pile in SubDyn as a structural member down to the seabed.
Best regards,
             
            
              
              
              
            
                
            
           
          
            
            
              Although not ideal, I understand that one option to include linear distributed springs (i.e., different linear p-y relationships along the pile) would be working with SubDyn. In this case, you should include in SubDyn the monopile (including the part below the seabed) and reaction joints with associated stiffness matrices.
Kind regards.
             
            
              
              
              
            
                
            
           
          
            
            
              Hello everyone,
I know that this question has been asked a lot. But I want to make sure I understand correct.
I want to simulate the soil structure interaction of monopile offshore wind turbine, I want to include NONLINEAR stiffness matrix at the seabed
I know that OpenFAST can include LINEAR stiffness matrix in SubDyn through SSI file.
I red that SoilDyn module can include the nonlinear soil structure interaction, but is not ready yet.
Can I use FAST v7 to include NONLINEAR stiffness matrix through UserPtfmLd_CS.f90.txt? or this method is limited to LINEAR stiffness matrix only? If it can include NONLINEAR stiffness matrix at the seabed, where can I find the FAST v7 files for NREL 5 MW monopile offshore wind turbine?
Regards,
Marwa
             
            
              
              
              
            
            
           
          
            
            
              Dear @Marwa.Mohamed,
Your understanding is correct.  In OpenFAST, you could implement the nonlinear stiffness matrix for a monopile offshore wind turbine through the SoilDyn module.  In FAST v7, you could implement the nonlinear stiffness matrix for a monopile offshore wind turbine through the UserPtfmLd_CS.f90 routine.  Given that you’ll have to change the source code and recompile either way, I would suggest choosing OpenFAST rather than downgrading to the much older FAST v7.  You can find the current branch of SoilDyn in the following PR: SoilDyn -- soil dynamics module by andrew-platt · Pull Request #986 · OpenFAST/openfast · GitHub.  If your nonlinear stiffness includes both linear and nonlinear terms, I would recommend including the linear contribution within the SSI capability of SubDyn, and only add the nonlinear residual through SoilDyn.
Best regards,
             
            
              
              
              1 Like
            
            
           
          
            
            
              Thanks a lot for your help.
             
            
              
              
              
            
            
           
          
            
            
              Dear Dr Jason,
1-Does UserPtfmLd_CS.f90 routine can include NONLINEAR stiffness matrix and do iterations internally to consider stiffness matrix and update the loads iteratively inside the FAST 7 or not?
2- if Yes, is there any solved example for these files please?
3- How FAST 7 decide that the inputted stiffness matrix through UserPtfmLd_CS.f90 routine linear or nonlinear?
Regards,
Marwa
             
            
              
              
              
            
            
           
          
            
            
              Dear @Marwa.Mohamed,
Here are my responses:
- The FAST v7 UserPtfmLd()routine is a placeholder for user-defined platform reaction loads in six DOF.  The UserPtfmLd_CS.f90 example I’ve shared on this forum in the past implements a linear coupled springs matrix, but you could change this to be nonlinear if you want.  FAST v7 does not have anything comparable to OpenFAST in terms of over-loop correction steps.
- I don’t have a UserPtfmLd()routine with nonlinearity to share as an example.
- FAST v7 shouldn’t care if the UserPtfmLd()routine includes nonlinearities or not.  It is up to you to implement theUserPtfmLd()routine as you see fit.
All that said, again I’d recommend using OpenFAST over FAST v7 given that OpenFAST is superior to FAST v7 in most ways.
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Jason.Jonkman,
I am currently studying two output parameters, “M1N1FKxe” and “M1N1FMze,” from the SubDyn module of OpenFAST (version 3.5.3), based on Section 6.4.1 “Element Formulation” and Section 6.5.2 “Member Force Calculation” of the SubDyn User’s Guide and Theory Manual. My turbine is a fixed-bottom offshore wind turbine using Test #21: the NREL 5.0 MW Baseline Offshore Turbine with OC4 Jacket, at a water depth of 50 m. I manually calculated these two output parameters for MemberID 61—an X-brace located at Level 2, running from JointID 5 (5.333, 5.333, −24.614, X, Y, Z Coordinates, respectively; same below) m to JointID 43 (0, 5.064, −16.371) m, with an intermediate added Node 125 (2.667, 5.199, −20.493) m—but both results differ substantially from the software outputs. I would appreciate your assistance in identifying any errors.
- My calculated value of 69.9 N does not match the output value of 26.66 N for M1N1FKxe. The detailed calculation process is shown in the figure below. Here, M1N1 and M1N2 refer to Nodes 125 and 43, respectively, and the parameters used in my calculations follow the nomenclature and definitions in the manual.
 
- My calculated value of −425.55 N does not match the output value of 10.34 N for M1N1FMze. The detailed calculation process is shown in the figure below.
 
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Yangyang.Li,
Can you share your SubDyn input file, SubDyn output file, and spreadsheet where you are performing your calculations?
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Jason.Jonkman,
Thank you for your prompt responses. Currently, I only know how to upload image files (jpg, jpeg, png) and am not sure how to upload DAT files for SubDyn or OUT files for OpenFAST outputs presently. However, I would be very happy to provide the SubDyn files and the corresponding OpenFAST output spreadsheets related to the issues above. If you could provide a method, such as an email address, I would be glad to send them.
The external load environment for Questions 1 and 2 is exactly the same; only the SubDyn output requests are different. Specifically, for the test file 5MW_OC4Jckt_DLL_WTurb_WavesIrr_MGrowth (Test #21: the NREL 5.0 MW Baseline Offshore Turbine with OC4 Jacket), I only modified the following three parts: WaveMod = 1, TMax = 3, and the different outputs corresponding to the different questions , as shown in the figure below. All other contents in the file remain unchanged. Finally, I apologize for the late response.
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Yangyang.Li,
This forum only allows certain files to be uploaded, but you can share files through a repository like Google Drive or GitHub.
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Jason.Jonkman,
Thank you for your prompt responses. I have shared my files through Google Drive: https://drive.google.com/file/d/1FcnThRGS6lB6gnftpfUUxqPDzVOnght5/view?usp=drive_link. The shared folder (Q1_M1N1FKxe and Q2_M1N1FMze) contains two files: Q1_M1N1FKxe corresponds to Question 1 above, and Q2_M1N1FMze corresponds to Question 2 above. Please see the link above for details.
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Yangyang.Li,
I see your OpenFAST input and output files, but not the spreadsheet you are using to calculate the values yourself.  Can you share those too?
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Jason.Jonkman ,
Thank you for your prompt responses. I am pleased to share the spreadsheet I used to calculate the values via Google Drive: https://docs.google.com/spreadsheets/d/1Af0DmB8C5zpIFAcvqJdFG5F0RO94bSSS/edit?gid=563961739#gid=563961739. The spreadsheet contains two sheets with my manual calculations: one for Q1 (M1N1FKxe) and one for Q2 (M1N1FMze).
Best regards,
             
            
              
              
              
            
            
           
          
            
            
              Dear @Yangyang.Li,
I’ve requested access to the spreadsheet.
Best regards,