1
0
Fork 0
fgdata/Aircraft/Generic/JSBSim/Systems/hydrodynamic-planing-floats.xml

860 lines
29 KiB
XML
Raw Normal View History

<?xml version="1.0"?>
<!--
Model of hydrodynamic planing based on [Wagner:1933:POW] for JSBSim.
Copyright (C) 2015 Anders Gidenstam (anders(at)gidenstam.org)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-->
<system name="hydrodynamic planing of floats">
<documentation>
This system depends on the generic hydrodynamics.xml system for JSBSim.
<reference refID="Wagner:1933:POW"
author="Herbert Wagner"
title="Planing of Watercraft Translated as NACA-TM-1139"
date="1933/1948"/>
</documentation>
<!-- Model parameters -->
<!-- Parameters defining the planing surfaces of the floats. -->
<!-- NOTE: Coordinates in the frame with
origin at hydro RP and x/y/z = aft/right/up
-->
<property>hydro/planing-floats/forebody-length-ft[0]</property>
<property>hydro/planing-floats/forebody-beam-ft[0]</property>
<property>hydro/planing-floats/forebody-keel-y-ft[0]</property>
<property>hydro/planing-floats/forebody-keel-z-ft[0]</property>
<property>hydro/planing-floats/forebody-end-x-ft[0]</property>
<property>hydro/planing-floats/afterbody-length-ft[0]</property>
<property>hydro/planing-floats/afterbody-beam-ft[0]</property>
<property>hydro/planing-floats/afterbody-keel-y-ft[0]</property>
<property>hydro/planing-floats/afterbody-keel-z-ft[0]</property>
<property>hydro/planing-floats/afterbody-end-x-ft[0]</property>
<property>hydro/planing-floats/forebody-length-ft[1]</property>
<property>hydro/planing-floats/forebody-beam-ft[1]</property>
<property>hydro/planing-floats/forebody-keel-y-ft[1]</property>
<property>hydro/planing-floats/forebody-keel-z-ft[1]</property>
<property>hydro/planing-floats/forebody-end-x-ft[1]</property>
<property>hydro/planing-floats/afterbody-length-ft[1]</property>
<property>hydro/planing-floats/afterbody-beam-ft[1]</property>
<property>hydro/planing-floats/afterbody-keel-y-ft[1]</property>
<property>hydro/planing-floats/afterbody-keel-z-ft[1]</property>
<property>hydro/planing-floats/afterbody-end-x-ft[1]</property>
<!-- Other parameters. -->
<property value="1.0">hydro/planing-floats/forebody-normal-force-factor[0]</property>
<property value="1.0">hydro/planing-floats/afterbody-normal-force-factor[0]</property>
<property>hydro/planing-floats/forebody-skin-friction-coefficient[0]</property>
<property>hydro/planing-floats/afterbody-skin-friction-coefficient[0]</property>
<property value="1.0">hydro/planing-floats/forebody-normal-force-factor[1]</property>
<property value="1.0">hydro/planing-floats/afterbody-normal-force-factor[1]</property>
<property>hydro/planing-floats/forebody-skin-friction-coefficient[1]</property>
<property>hydro/planing-floats/afterbody-skin-friction-coefficient[1]</property>
<channel name="Planing dynamics based on [Wagner:1933:POW]">
<fcs_function name="hydro/planing-floats/forebody-entry-point-x-ft[0]">
<function>
<description>The intersection point with the water surface.</description>
<quotient>
<sum>
<quotient>
<property>hydro/floats/height-agl-ft[0]</property>
<cos><property>hydro/floats/pitch-rad[0]</property></cos>
</quotient>
<property>hydro/planing-floats/forebody-keel-z-ft[0]</property>
</sum>
<tan><property>hydro/floats/pitch-rad[0]</property></tan>
</quotient>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-entry-point-x-ft[0]">
<function>
<description>The intersection point with the water surface.</description>
<quotient>
<sum>
<quotient>
<property>hydro/floats/height-agl-ft[0]</property>
<cos><property>hydro/floats/pitch-rad[0]</property></cos>
</quotient>
<property>hydro/planing-floats/afterbody-keel-z-ft[0]</property>
</sum>
<tan><property>hydro/floats/pitch-rad[0]</property></tan>
</quotient>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-entry-point-x-ft[1]">
<function>
<description>The intersection point with the water surface.</description>
<quotient>
<sum>
<quotient>
<property>hydro/floats/height-agl-ft[1]</property>
<cos><property>hydro/floats/pitch-rad[1]</property></cos>
</quotient>
<property>hydro/planing-floats/forebody-keel-z-ft[1]</property>
</sum>
<tan><property>hydro/floats/pitch-rad[1]</property></tan>
</quotient>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-entry-point-x-ft[1]">
<function>
<description>The intersection point with the water surface.</description>
<quotient>
<sum>
<quotient>
<property>hydro/floats/height-agl-ft[1]</property>
<cos><property>hydro/floats/pitch-rad[1]</property></cos>
</quotient>
<property>hydro/planing-floats/afterbody-keel-z-ft[1]</property>
</sum>
<tan><property>hydro/floats/pitch-rad[1]</property></tan>
</quotient>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-wetted-keel-ft[0]">
<function>
<description>The length of keel below the free water surface.</description>
<max>
<value>0.0</value>
<min>
<property>hydro/planing-floats/forebody-length-ft[0]</property>
<sum>
<product>
<ge>
<property>hydro/floats/pitch-rad[0]</property>
<value>0.0</value>
</ge>
<difference>
<property>hydro/planing-floats/forebody-end-x-ft[0]</property>
<property>hydro/planing-floats/forebody-entry-point-x-ft[0]</property>
</difference>
</product>
<product>
<lt>
<property>hydro/floats/pitch-rad[0]</property>
<value>0.0</value>
</lt>
<difference>
<property>hydro/planing-floats/forebody-entry-point-x-ft[0]</property>
<difference>
<property>hydro/planing-floats/forebody-end-x-ft[0]</property>
<property>hydro/planing-floats/forebody-length-ft[0]</property>
</difference>
</difference>
</product>
</sum>
</min>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-wetted-keel-ft[0]">
<function>
<description>The length of keel below the free water surface.</description>
<max>
<value>0.0</value>
<min>
<property>hydro/planing-floats/afterbody-length-ft[0]</property>
<sum>
<product>
<ge>
<property>hydro/floats/pitch-rad[0]</property>
<value>0.0</value>
</ge>
<difference>
<property>hydro/planing-floats/afterbody-end-x-ft[0]</property>
<property>hydro/planing-floats/afterbody-entry-point-x-ft[0]</property>
</difference>
</product>
<product>
<lt>
<property>hydro/floats/pitch-rad[0]</property>
<value>0.0</value>
</lt>
<difference>
<property>hydro/planing-floats/afterbody-entry-point-x-ft[0]</property>
<difference>
<property>hydro/planing-floats/afterbody-end-x-ft[0]</property>
<property>hydro/planing-floats/afterbody-length-ft[0]</property>
</difference>
</difference>
</product>
</sum>
</min>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-wetted-keel-ft[1]">
<function>
<description>The length of keel below the free water surface.</description>
<max>
<value>0.0</value>
<min>
<property>hydro/planing-floats/forebody-length-ft[1]</property>
<sum>
<product>
<ge>
<property>hydro/floats/pitch-rad[1]</property>
<value>0.0</value>
</ge>
<difference>
<property>hydro/planing-floats/forebody-end-x-ft[1]</property>
<property>hydro/planing-floats/forebody-entry-point-x-ft[1]</property>
</difference>
</product>
<product>
<lt>
<property>hydro/floats/pitch-rad[1]</property>
<value>0.0</value>
</lt>
<difference>
<property>hydro/planing-floats/forebody-entry-point-x-ft[1]</property>
<difference>
<property>hydro/planing-floats/forebody-end-x-ft[1]</property>
<property>hydro/planing-floats/forebody-length-ft[1]</property>
</difference>
</difference>
</product>
</sum>
</min>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-wetted-keel-ft[1]">
<function>
<description>The length of keel below the free water surface.</description>
<max>
<value>0.0</value>
<min>
<property>hydro/planing-floats/afterbody-length-ft[1]</property>
<sum>
<product>
<ge>
<property>hydro/floats/pitch-rad[1]</property>
<value>0.0</value>
</ge>
<difference>
<property>hydro/planing-floats/afterbody-end-x-ft[1]</property>
<property>hydro/planing-floats/afterbody-entry-point-x-ft[1]</property>
</difference>
</product>
<product>
<lt>
<property>hydro/floats/pitch-rad[1]</property>
<value>0.0</value>
</lt>
<difference>
<property>hydro/planing-floats/afterbody-entry-point-x-ft[1]</property>
<difference>
<property>hydro/planing-floats/afterbody-end-x-ft[1]</property>
<property>hydro/planing-floats/afterbody-length-ft[1]</property>
</difference>
</difference>
</product>
</sum>
</min>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-normal-force-lbs[0]">
<function>
<description>
The normal force produced by the planing surface.
NOTE: The formulation is only valid for very small pitch angles and
the pitch angle should also be adjusted for down-wash.
See [Wagner:1933:POW].
</description>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/forebody-normal-force-factor[0]</property>
<value>3.1415927</value>
<property>hydro/qbar-u-psf</property>
<property>hydro/planing-floats/forebody-beam-ft[0]</property>
<property>hydro/planing-floats/forebody-wetted-keel-ft[0]</property>
<sin><property>hydro/floats/pitch-rad[0]</property></sin>
</product>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-normal-force-lbs[0]">
<function>
<description>
The normal force produced by the planing surface.
NOTE: The formulation is only valid for very small pitch angles and
the pitch angle should also be adjusted for down-wash.
See [Wagner:1933:POW].
</description>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/afterbody-normal-force-factor[0]</property>
<value>3.1415927</value>
<property>hydro/qbar-u-psf</property>
<property>hydro/planing-floats/afterbody-beam-ft[0]</property>
<property>hydro/planing-floats/afterbody-wetted-keel-ft[0]</property>
<sin><property>hydro/floats/pitch-rad[0]</property></sin>
</product>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-normal-force-lbs[1]">
<function>
<description>
The normal force produced by the planing surface.
NOTE: The formulation is only valid for very small pitch angles and
the pitch angle should also be adjusted for down-wash.
See [Wagner:1933:POW].
</description>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/forebody-normal-force-factor[1]</property>
<value>3.1415927</value>
<property>hydro/qbar-u-psf</property>
<property>hydro/planing-floats/forebody-beam-ft[1]</property>
<property>hydro/planing-floats/forebody-wetted-keel-ft[1]</property>
<sin><property>hydro/floats/pitch-rad[1]</property></sin>
</product>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-normal-force-lbs[1]">
<function>
<description>
The normal force produced by the planing surface.
NOTE: The formulation is only valid for very small pitch angles and
the pitch angle should also be adjusted for down-wash.
See [Wagner:1933:POW].
</description>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/afterbody-normal-force-factor[1]</property>
<value>3.1415927</value>
<property>hydro/qbar-u-psf</property>
<property>hydro/planing-floats/afterbody-beam-ft[1]</property>
<property>hydro/planing-floats/afterbody-wetted-keel-ft[1]</property>
<sin><property>hydro/floats/pitch-rad[1]</property></sin>
</product>
</max>
</function>
</fcs_function>
</channel>
<channel name="Fbx">
<fcs_function name="hydro/planing-floats/forebody-induced-fbx-force-lbs[0]">
<function>
<description>Drag (induced) due to planing. FIXME: direction/frame?</description>
<product>
<value>-1.0</value>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/forebody-normal-force-lbs[0]</property>
<sin><property>hydro/floats/pitch-rad[0]</property></sin>
</product>
</max>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-induced-fbx-force-lbs[0]">
<function>
<description>Drag (induced) due to planing. FIXME: direction/frame?</description>
<product>
<value>-1.0</value>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/afterbody-normal-force-lbs[0]</property>
<sin><property>hydro/floats/pitch-rad[0]</property></sin>
</product>
</max>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-induced-fbx-force-lbs[1]">
<function>
<description>Drag (induced) due to planing. FIXME: direction/frame?</description>
<product>
<value>-1.0</value>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/forebody-normal-force-lbs[1]</property>
<sin><property>hydro/floats/pitch-rad[1]</property></sin>
</product>
</max>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-induced-fbx-force-lbs[1]">
<function>
<description>Drag (induced) due to planing. FIXME: direction/frame?</description>
<product>
<value>-1.0</value>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/afterbody-normal-force-lbs[1]</property>
<sin><property>hydro/floats/pitch-rad[1]</property></sin>
</product>
</max>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-friction-fbx-force-lbs[0]">
<function>
<description>Drag due to skin friction.</description>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/forebody-skin-friction-coefficient[0]</property>
<property>hydro/qbar-u-psf</property>
<property>hydro/planing-floats/forebody-beam-ft[0]</property>
<property>hydro/planing-floats/forebody-wetted-keel-ft[0]</property>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-friction-fbx-force-lbs[0]">
<function>
<description>Drag due to skin friction.</description>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/afterbody-skin-friction-coefficient[0]</property>
<property>hydro/qbar-u-psf</property>
<property>hydro/planing-floats/afterbody-beam-ft[0]</property>
<property>hydro/planing-floats/afterbody-wetted-keel-ft[0]</property>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-friction-fbx-force-lbs[1]">
<function>
<description>Drag due to skin friction.</description>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/forebody-skin-friction-coefficient[1]</property>
<property>hydro/qbar-u-psf</property>
<property>hydro/planing-floats/forebody-beam-ft[1]</property>
<property>hydro/planing-floats/forebody-wetted-keel-ft[1]</property>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-friction-fbx-force-lbs[1]">
<function>
<description>Drag due to skin friction.</description>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/afterbody-skin-friction-coefficient[1]</property>
<property>hydro/qbar-u-psf</property>
<property>hydro/planing-floats/afterbody-beam-ft[1]</property>
<property>hydro/planing-floats/afterbody-wetted-keel-ft[1]</property>
</product>
</function>
</fcs_function>
</channel>
<channel name="Fby">
<fcs_function name="hydro/planing-floats/forebody-fby-force-lbs[0]">
<function>
<description>
Fby force due to planing.
FIXME: model/direction/frame?
</description>
<product>
<property>hydro/planing-floats/forebody-normal-force-lbs[0]</property>
<cos><property>hydro/floats/pitch-rad[0]</property></cos>
<sin><property>hydro/floats/roll-rad[0]</property></sin>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-fby-force-lbs[0]">
<function>
<description>
Fby force due to planing.
FIXME: model/direction/frame?
</description>
<product>
<property>hydro/planing-floats/afterbody-normal-force-lbs[0]</property>
<cos><property>hydro/floats/pitch-rad[0]</property></cos>
<sin><property>hydro/floats/roll-rad[0]</property></sin>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-fby-force-lbs[1]">
<function>
<description>
Fby force due to planing.
FIXME: model/direction/frame?
</description>
<product>
<property>hydro/planing-floats/forebody-normal-force-lbs[1]</property>
<cos><property>hydro/floats/pitch-rad[1]</property></cos>
<sin><property>hydro/floats/roll-rad[1]</property></sin>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-fby-force-lbs[1]">
<function>
<description>
Fby force due to planing.
FIXME: model/direction/frame?
</description>
<product>
<property>hydro/planing-floats/afterbody-normal-force-lbs[1]</property>
<cos><property>hydro/floats/pitch-rad[1]</property></cos>
<sin><property>hydro/floats/roll-rad[1]</property></sin>
</product>
</function>
</fcs_function>
</channel>
<channel name="Lift">
<fcs_function name="hydro/planing-floats/forebody-lift-force-lbs[0]">
<function>
<description>Lift due to planing. FIXME: direction/frame?</description>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/forebody-normal-force-lbs[0]</property>
<cos><property>hydro/floats/pitch-rad[0]</property></cos>
<cos><property>hydro/floats/roll-rad[0]</property></cos>
</product>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-lift-force-lbs[0]">
<function>
<description>Lift due to planing. FIXME: direction/frame?</description>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/afterbody-normal-force-lbs[0]</property>
<cos><property>hydro/floats/pitch-rad[0]</property></cos>
<cos><property>hydro/floats/roll-rad[0]</property></cos>
</product>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-lift-force-lbs[1]">
<function>
<description>Lift due to planing. FIXME: direction/frame?</description>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/forebody-normal-force-lbs[1]</property>
<cos><property>hydro/floats/pitch-rad[1]</property></cos>
<cos><property>hydro/floats/roll-rad[1]</property></cos>
</product>
</max>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-lift-force-lbs[1]">
<function>
<description>Lift due to planing. FIXME: direction/frame?</description>
<max>
<value>0.0</value>
<product>
<property>hydro/planing-floats/afterbody-normal-force-lbs[1]</property>
<cos><property>hydro/floats/pitch-rad[1]</property></cos>
<cos><property>hydro/floats/roll-rad[1]</property></cos>
</product>
</max>
</function>
</fcs_function>
</channel>
<channel name="Yaw">
<fcs_function name="hydro/planing-floats/forebody-yaw-moment-lbsft[0]">
<description>
Yaw moment due to planing drag.
FIXME: direction/frame? Limits on the acting point? Induced drag?
</description>
<function>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/forebody-friction-fbx-force-lbs[0]</property>
<property>hydro/planing-floats/forebody-keel-y-ft[0]</property>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-yaw-moment-lbsft[0]">
<description>
Yaw moment due to planing drag.
FIXME: direction/frame? Limits on the acting point? Induced drag?
</description>
<function>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/afterbody-friction-fbx-force-lbs[0]</property>
<property>hydro/planing-floats/afterbody-keel-y-ft[0]</property>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-yaw-moment-lbsft[1]">
<description>
Yaw moment due to planing drag.
FIXME: direction/frame? Limits on the acting point? Induced drag?
</description>
<function>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/forebody-friction-fbx-force-lbs[1]</property>
<property>hydro/planing-floats/forebody-keel-y-ft[1]</property>
</product>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-yaw-moment-lbsft[1]">
<description>
Yaw moment due to planing drag.
FIXME: direction/frame? Limits on the acting point? Induced drag?
</description>
<function>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/afterbody-friction-fbx-force-lbs[1]</property>
<property>hydro/planing-floats/afterbody-keel-y-ft[1]</property>
</product>
</function>
</fcs_function>
</channel>
<channel name="Pitch">
<fcs_function name="hydro/planing-floats/forebody-pitch-moment-lbsft[0]">
<description>
Pitch moment due to planing.
FIXME: direction/frame? Limits on the acting point?
</description>
<function>
<sum>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/forebody-normal-force-lbs[0]</property>
<difference>
<property>hydro/planing-floats/forebody-end-x-ft[0]</property>
<product>
<value>0.75</value>
<property>hydro/planing-floats/forebody-wetted-keel-ft[0]</property>
</product>
</difference>
</product>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/forebody-friction-fbx-force-lbs[0]</property>
<property>hydro/planing-floats/forebody-keel-z-ft[0]</property>
<cos><property>hydro/floats/pitch-rad[0]</property></cos>
</product>
</sum>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-pitch-moment-lbsft[0]">
<description>
Pitch moment due to planing.
FIXME: direction/frame? Limits on the acting point?
</description>
<function>
<sum>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/afterbody-normal-force-lbs[0]</property>
<difference>
<property>hydro/planing-floats/afterbody-end-x-ft[0]</property>
<product>
<value>0.75</value>
<property>hydro/planing-floats/afterbody-wetted-keel-ft[0]</property>
</product>
</difference>
</product>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/afterbody-friction-fbx-force-lbs[0]</property>
<property>hydro/planing-floats/afterbody-keel-z-ft[0]</property>
<cos><property>hydro/floats/pitch-rad[0]</property></cos>
</product>
</sum>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-pitch-moment-lbsft[1]">
<description>
Pitch moment due to planing.
FIXME: direction/frame? Limits on the acting point?
</description>
<function>
<sum>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/forebody-normal-force-lbs[1]</property>
<difference>
<property>hydro/planing-floats/forebody-end-x-ft[1]</property>
<product>
<value>0.75</value>
<property>hydro/planing-floats/forebody-wetted-keel-ft[1]</property>
</product>
</difference>
</product>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/forebody-friction-fbx-force-lbs[1]</property>
<property>hydro/planing-floats/forebody-keel-z-ft[1]</property>
<cos><property>hydro/floats/pitch-rad[1]</property></cos>
</product>
</sum>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-pitch-moment-lbsft[1]">
<description>
Pitch moment due to planing.
FIXME: direction/frame? Limits on the acting point?
</description>
<function>
<sum>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/afterbody-normal-force-lbs[1]</property>
<difference>
<property>hydro/planing-floats/afterbody-end-x-ft[1]</property>
<product>
<value>0.75</value>
<property>hydro/planing-floats/afterbody-wetted-keel-ft[1]</property>
</product>
</difference>
</product>
<product>
<value>-1.0</value>
<property>hydro/planing-floats/afterbody-friction-fbx-force-lbs[1]</property>
<property>hydro/planing-floats/afterbody-keel-z-ft[1]</property>
<cos><property>hydro/floats/pitch-rad[1]</property></cos>
</product>
</sum>
</function>
</fcs_function>
</channel>
<channel name="Roll">
<fcs_function name="hydro/planing-floats/forebody-roll-moment-lbsft[0]">
<description>
Roll moment due to planing.
FIXME: direction/frame? Limits on the acting point?
</description>
<function>
<sum>
<product>
<property>hydro/planing-floats/forebody-normal-force-lbs[0]</property>
<property>hydro/planing-floats/forebody-keel-y-ft[0]</property>
</product>
<product>
<property>hydro/planing-floats/forebody-fby-force-lbs[0]</property>
<!-- FIXME: dependency on pitch? -->
<property>hydro/planing-floats/forebody-keel-z-ft[0]</property>
</product>
</sum>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-roll-moment-lbsft[0]">
<description>
Roll moment due to planing.
FIXME: direction/frame? Limits on the acting point?
</description>
<function>
<sum>
<product>
<property>hydro/planing-floats/afterbody-normal-force-lbs[0]</property>
<property>hydro/planing-floats/afterbody-keel-y-ft[0]</property>
</product>
<product>
<property>hydro/planing-floats/afterbody-fby-force-lbs[0]</property>
<!-- FIXME: dependency on pitch? -->
<property>hydro/planing-floats/afterbody-keel-z-ft[0]</property>
</product>
</sum>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/forebody-roll-moment-lbsft[1]">
<description>
Roll moment due to planing.
FIXME: direction/frame? Limits on the acting point?
</description>
<function>
<sum>
<product>
<property>hydro/planing-floats/forebody-normal-force-lbs[1]</property>
<property>hydro/planing-floats/forebody-keel-y-ft[1]</property>
</product>
<product>
<property>hydro/planing-floats/forebody-fby-force-lbs[1]</property>
<!-- FIXME: dependency on pitch? -->
<property>hydro/planing-floats/forebody-keel-z-ft[1]</property>
</product>
</sum>
</function>
</fcs_function>
<fcs_function name="hydro/planing-floats/afterbody-roll-moment-lbsft[1]">
<description>
Roll moment due to planing.
FIXME: direction/frame? Limits on the acting point?
</description>
<function>
<sum>
<product>
<property>hydro/planing-floats/afterbody-normal-force-lbs[1]</property>
<property>hydro/planing-floats/afterbody-keel-y-ft[1]</property>
</product>
<product>
<property>hydro/planing-floats/afterbody-fby-force-lbs[1]</property>
<!-- FIXME: dependency on pitch? -->
<property>hydro/planing-floats/afterbody-keel-z-ft[1]</property>
</product>
</sum>
</function>
</fcs_function>
</channel>
</system>