Bug description
When modeling soil-structure interaction (SSI) through a linear stiffness matrix in SubDyn or SoilDyn (i.e., CalcOption = 1), the results are the expected ones and SoilDyn and SubDyn return consistent results. See for reference:

However, once the user includes a nonlinear SSI (i.e., SoilDyn CalcOption = 3), the reaction loads provided by SubDyn (e.g., ReactFXss) are not consistent. See for reference:

I was wondering what these reaction loads from SubDyn were actually representing. After doing some numbers, I can confirm that the reaction loads from SubDyn account for the linear part of the SSI and disregards the nonlinear part. Since the (linear) stiffness matrix is an input that I provide and SubDyn returns the displacements and rotations at the seabed, I'm able to compute analytically the loading that comes from the SSI linear part. For example:
Stiffness matrix:
6.336198E9 0.0000e+00 0.0000e+00 0.0000e+00 -5.015421E10 0.0000e+00
0.0000e+00 6.336198E9 0.0000e+00 5.015421E10 0.0000e+00 0.0000e+00
0.0000e+00 0.0000e+00 1.119691E10 0.0000e+00 0.0000e+00 0.0000e+00
0.0000e+00 5.015421E10 0.0000e+00 8.111942E11 0.0000e+00 0.0000e+00
-5.015421E10 0.0000e+00 0.0000e+00 0.0000e+00 8.111942E11 0.0000e+00
0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 2.552673E11
Linear force at the seabed computed analytically:
{M1N1TDxss}·6.336198E9 + {M1N1RDye}·(-5.015421E10)
By doing this, I can see an excellent agreement between the linear part of the SSI and the reaction load from SubDyn:

Summarizing: The reaction loads provided by SubDyn only account for the linear stiffness part from SoilDyn. Note that this is just a sensor output issue. The physics are properly implemented. Also, the proper (total) loading is available fom SoilDyn output sensor.
I'm looking at the source code and thinking about disabling the SubDyn reaction loads when SoilDyn involves nonlinear SSI. From FAST_Subs.f90 I can see:
Init%InData_SlD%SlDNonLinearForcePortionOnly = .true.
So, it should be a matter of having a flag that disables these SubDyn reaction loads accordingly. I'm working on that...
Bug description

When modeling soil-structure interaction (SSI) through a linear stiffness matrix in SubDyn or SoilDyn (i.e.,
CalcOption= 1), the results are the expected ones and SoilDyn and SubDyn return consistent results. See for reference:However, once the user includes a nonlinear SSI (i.e., SoilDyn

CalcOption= 3), the reaction loads provided by SubDyn (e.g.,ReactFXss) are not consistent. See for reference:I was wondering what these reaction loads from SubDyn were actually representing. After doing some numbers, I can confirm that the reaction loads from SubDyn account for the linear part of the SSI and disregards the nonlinear part. Since the (linear) stiffness matrix is an input that I provide and SubDyn returns the displacements and rotations at the seabed, I'm able to compute analytically the loading that comes from the SSI linear part. For example:
Stiffness matrix:
6.336198E9 0.0000e+00 0.0000e+00 0.0000e+00 -5.015421E10 0.0000e+00
0.0000e+00 6.336198E9 0.0000e+00 5.015421E10 0.0000e+00 0.0000e+00
0.0000e+00 0.0000e+00 1.119691E10 0.0000e+00 0.0000e+00 0.0000e+00
0.0000e+00 5.015421E10 0.0000e+00 8.111942E11 0.0000e+00 0.0000e+00
-5.015421E10 0.0000e+00 0.0000e+00 0.0000e+00 8.111942E11 0.0000e+00
0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 2.552673E11
Linear force at the seabed computed analytically:
{M1N1TDxss}·6.336198E9 + {M1N1RDye}·(-5.015421E10)
By doing this, I can see an excellent agreement between the linear part of the SSI and the reaction load from SubDyn:

Summarizing: The reaction loads provided by SubDyn only account for the linear stiffness part from SoilDyn. Note that this is just a sensor output issue. The physics are properly implemented. Also, the proper (total) loading is available fom SoilDyn output sensor.
I'm looking at the source code and thinking about disabling the SubDyn reaction loads when SoilDyn involves nonlinear SSI. From FAST_Subs.f90 I can see:
Init%InData_SlD%SlDNonLinearForcePortionOnly = .true.So, it should be a matter of having a flag that disables these SubDyn reaction loads accordingly. I'm working on that...