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) + TotalMassPtfmAccel(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 = 2ActDampTotalMassActFreq ! The translational damping of the actuator
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
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.
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).
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.