Seismic load combination: Characteristic Loads

Dear Jason,
You got my point.
I want to simulate earthquake(x,y direction) with p-y curve. (NSpring = 38)
In my opinion, I revise source code as below:

IF ( DZFract > 0.0 ) THEN ! .TRUE. if a portion of the current tower element lies below the seabed.

DO K = 1,6 ! Loop through the xi- (1) and yi- (2) directions
IF (I >= 1 .AND. I<=2 ) THEN
TwrFt(K) = TwrFt(K) - ai(JNode)*TANH(bi(JNode)*X(K))DZFract + kTrans(PtfmDisp(K,iTimeStep)-X(K))DZFract + cTrans(PtfmVel(K,iTimeStep)-XD(K))DZFract
ELSE
TwrFt(K) =TwrFt(K) + TotalMass
PtfmAccel(K,iTimeStep)*DZFract
ENDIF
ENDDO ! K - The xi- (1) and yi- (2) directions

ENDIF

RETURN
END SUBROUTINE UserTwrLd

Do you give me some suggestions please?
How do I define TotalMass, ActFreq and ActDamp?
kTrans = TotalMassActFreq**2 ! The translational stiffness of the actuator
cTrans = 2
ActDampTotalMassActFreq ! The translational damping of the actuator

Best Regards
Jason. Lai

Dear Jason,

I donā€™t think you need kTrans or TotalMass because the stiffness has been replaced wit the p-y curve and you shouldnā€™t need to define the other four forces. Instead, I would write:

IF ( DZFract > 0.0 ) THEN ! .TRUE. if a portion of the current tower element lies below the seabed.

DO K = 1,2 ! Loop through the xi- (1) and yi- (2) directions

  TwrFt(K) = TwrFt(K) - ai(JNode)*TANH(bi(JNode)*( X(K) ) - PtfmDisp(K,iTimeStep) )*DZFract + cTrans*(PtfmVel(K,iTimeStep)-XD(K))*DZFract

ENDDO ! K - The xi- (1) and yi- (2) directions

ENDIF

With this implementation, you should only enable the platform surge, sway, roll, and pitch DOFs and other tower/turbine DOFs (the platform heave and yaw DOFs should be disabled). Iā€™m not sure I can suggest a suitable damping value; I suggest you try a range to see the sensitivity.

Best regards,

Dear Jason,
Why is ai(JNode)TANH(bi(JNode)(X(K)) - PtfmDisp(K,iTimeStep) )*DZFract
not
ai(JNode)TANH(bi(JNode)( (X(K)) - PtfmDisp(K,iTimeStep) ) )*DZFract ??

If I want to simulate earthquake(x,y,z direction) with soil effect, do I have to know t-z cuve, otherwise I canā€™t implement z-direction earthquake?

About a suitable damping value, you suggest me try a range to see the sensitivity.
Do you describe it more detail?
Thanks for your help.

Best Regards
Jason. Lai

Dear Jason,

You are correct, it looks like my parentheses where not matched correctly; youā€™re update looks correct.

As with the Seismic version of FAST, you cannot prescribe motion of the platform without an applied force. You could use a t-z curve in the vertical direction to achieve the same effect.

The damping term is used to minimize unphysical response in the stiffness-only p-y model that was developed only for statics problems, but is often applied in dynamics problems. I cannot recommend a specific value, so, I suggested you try a range of values to assess its influence at minimizing unphysical response (i.e. exaggerated vibration in the pile).

Best regards,

Dear Jason,
I meet some problem about compiling earthquake with p-y curve of FAST.

1>------ Build started: Project: FAST, Configuration: Debug Win32 ------ 1>Linking... 1>HydroCalc - DS_pycurveEQtest.obj : error LNK2019: unresolved external symbol _READMOTIONFILE referenced in function _SEISMIC_mp_READSEISMICFILE 1>HydroCalc - DS_pycurveEQtest.obj : error LNK2019: unresolved external symbol _GETXYZMOTION referenced in function _SEISMIC_mp_READSEISMICFILE 1>HydroCalc - DS_pycurveEQtest.obj : error LNK2019: unresolved external symbol _GETDVA referenced in function _SEISMIC_mp_READSEISMICFILE 1>Debug\FAST.exe : fatal error LNK1120: 3 unresolved externals 1> 1>Build log written to "file://D:\OC4 ftp\Task 23 OC3\Phase II Monopile with Flexible Foundation\Model\fast\FAST\FAST\Debug\BuildLog.htm" 1>FAST - 4 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Please see the attachments about my revised code and give me some suggestions.
Thanks for your help again.

HydroCalc - DS_pycurveEQtest.txt (388 KB)

Dear Jason,

Sorry, I spent some time looking at your source file and it is not obvious to me what is triggering the compile error. I suggest that you create a short driver code that calls ReadSeismicFile to debug.

Best regards,

Dear Jason,
Thanks for your suggestion.
It can work now.
By the way, do you offer t-z态t-Q curve of OC3 phase II soil property to me?

Best Regards
Jason. Lai

Dear Jason,

Sorry, but only the p-y curves were provided for the OC3 Phase II monopile.

Best regards,

Dear Jason,
If I want to simulate earthquake(x,y,z direction) with soil effect, I enable the platform surge, sway, roll, and pitch DOFs to True
and disable the platform heave and yaw DOFs to False.
Is it correct?
Thanks for your help.

Best Regards
Jason. Lai

Dear Jason,

Without modification of the Seismic source code, only the platform surge, sway, and heave DOFs should be enabled when modeling seismic loading in FAST. I would only enable the roll, pitch, and yaw DOFs if youā€™ve modified the source code to ensure that there is appropriate stiffness those DOFs.

Best regards,

Dear Jason,
I want to simulate earthquake(x,y,z direction) with soil effect.
I enable the platform roll, pitch, and yaw DOFs to True
and disable the platform surge, sway, and heave DOFs to False.
The source code that Iā€™ve modified is as follows:
IF ( iTimeStep >= 1 ) THEN
DO K = 1,3 ! Loop through the xi- (1) and yi- (2) directions
IF (K<=2) THEN
TwrFt(K) = TwrFt(K) - Stff1(JNode)*( (X(K)) - PtfmDisp(K,iTimeStep) )DZFract + cTrans(PtfmVel(K,iTimeStep)-XD(K))DZFract
ELSE
TwrFt(K) = TwrFt(K) - Stff2(JNode)
((X(K)) - PtfmDisp(K,iTimeStep) )DZFract + cTrans(PtfmVel(K,iTimeStep)-XD(K))*DZFract
ENDIF
ENDDO
ENDIF

When I run the new FAST code, I always get NaN values in my output and have a warning.
WARNING: Small angle assumption violated in SUBROUTINE SmllRotTrans() due to a large platform
displacement. The solution may be inaccurate. Simulation continuing, but future warnings will be
suppressed.

Please give me some suggestions.
Thanks for your help.

Best Regards
Jason. Lai

Dear Jason,

Iā€™m assuming this is source code that youā€™ve added to your own implementation of UserTwrLd in the Seismic version of FAST v7? My understanding is that Stff1 represents a linear p-y curve and Stff2 represents a linear t-z curveā€“is that correct?

I would expect that your tower stiffness and damping would result in loads on the tower due to motions of tower deflection, as well as motions of platform surge, sway, heave, roll, and pitch. Why did you then enable platform yaw but disable platform surge, sway, and heave? This may be causing problems.

The next thing I would check is the time step (DT). Depending on the magnitude of the stiffness, you may need to lower your time step for the solution to remain numerically stable.

Best regards,

Dear Jason,
Itā€™s correct that Stff1 represents a linear p-y curve and Stff2 represents a linear t-z curve in this modified source code.
I enable platform roll, pitch and yaw DOFs but disable platform surge, sway and heave according to your reply.
Iā€™m courious about which DOF have to enable?

Best Wishes
Jason. Lai

Dear Jason,

In my response dated Jan 12, 2017, I said that you should only enable the platform surge, sway, and heave DOFs in the Seismic version of FAST if you havenā€™t modified the source code. But you have modified the source code in such a way that you can enable the platform surge, sway, heave, roll, and pitch DOFs. Because you havenā€™t considered stiffness in yaw, the platform yaw DOF should be disabled in your case.

Best regards,

Dear Jason,

As our previous discussion, I enable the platform surge, sway, and heave DOFs to True and disable the platform roll, pitch, and yaw DOFs to False.
When I run the new FAST code, I always get NaN values in my output and have a warning.
I also check the time step (DT) to be more smaller.
On the other hand, if I enable the platform surge and sway DOFs to True and enable others to false, the new FAST code can run smoothly.
But I close the heave DOF, I canā€™t simulate the effect of z direction earthquake acceleration.

Please give me some suggestions about how to simulate the z direction earthquake.
Thanks for your help.

Best Regards
Jason. Lai

Dear Jason,

Iā€™m sorry, but I donā€™t have the resources to review your model and source file in detail to isolate the problem. I suggest either debugging the simulation that produces NaNs or simplify the model as much as possible before debugging.

Best regards,