|
FhSim
3.1.0
Marine systems simulation
|
| ID | 0371 |
| Class | KNOWN-LIMITATION |
| Severity | 2 |
| Status | blocked |
Models: Vessel/WavePropulsionHull
Found: 2026-10-12 design of feature propeller-jet (fhsim_workspace plans/propeller-jet.md, the table of propelled objects); filed 2026-10-13 under owner ruling O11a, fhsim_marine_elements 7b70d7c
Decision needed: whether the vessel should receive the current and the other objects' wakes through fhsim_environment's BodyFlowInteraction (a result change for every model with a current), and later cast a hull wake and a propeller jet as a PropelledObject, as Vessels/Tanker and Auv/Vehicle do in feature propeller-jet.
The Environment is used only for the free-surface elevation: src/vessel/WaveHull.cpp:175 finds it, and :249 m_environment->GetSurfaceElevation(T, world, elevation) is the only query. No current, particle velocity or waked flow is read anywhere in src/vessel/WaveHull.cpp or src/vessel/WavePropulsionHull.cpp.
The velocity the hull and the propeller see is the body velocity over ground, the Velocity states: src/vessel/WaveHull.cpp:288 damps velocity[k] (Damping(linear, quadratic, x), :21), and src/vessel/WavePropulsionHull.cpp:102-106 ExtraLoads hands velocity[0] to Actuate, whose propeller inflow is (1.0 - m_wakeFraction) * u (:68). So the advance speed, the thrust, the rudder slipstream and the hull damping are those of a vessel in still water.
In a model with a current the vessel moves as if the water were still: no drift with the current, a wrong advance speed and thrust (K_T(J) at the over-ground J), and a wrong rudder inflow. It does not see other objects' wakes or jets either, and casts none, so it is not one of the self-propelled bodies of feature propeller-jet (O11a: left out of that feature).
BodyFlowInteraction (fhsim_environment) and use the velocity through the water, u − u_water in the body frame, in the damping, the propeller inflow and the rudder: the current with the other objects' wakes and jets, without the waves or with them (an owner choice, as O6 for the Tanker). Results change wherever a current is set; without a current they stay bit for bit.PropelledObject (hull load = the damping at the free stream, jet T_eff = (1 − ThrustDeduction) T at PropellerX/PropellerZ with PropellerDiameter, u_a = (1 − w) u through the water), cast only with CastWake.A vessel at rest (zero propeller speed) in a uniform current drifts with it; a propelled vessel in a head current reaches the through-water speed of the same thrust in still water. With CastWake, the far field of the steady self-propelled vessel is about momentumless, as NorrbinTanker_steadyFarFieldIsNearlyMomentumless.
Option 1 changes the results of every model with this vessel and a current; the Jacobian (automatic differentiation over (u, v, r)) must take the water velocity as a constant of the step.