1
0
Fork 0
fgdata/Aircraft/c172p/Systems/bushkit.xml

366 lines
12 KiB
XML

<?xml version="1.0"?>
<!--
***********************************************************************************
c172p-detailed, May 2015... Nov. 2016
Extra weight and drag due to bush wheels, floats and aircraft with 180 hp engine
***********************************************************************************
-->
<system name="bushkits">
<channel name="extra-weight">
<switch name="extra-weight-left-26-in">
<default value="0"/>
<test logic="AND" value="10">
bushkit EQ 1
</test>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[5]</output>
</switch>
<switch name="extra-weight-right-26-in">
<default value="0"/>
<test logic="AND" value="10">
bushkit EQ 1
</test>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[6]</output>
</switch>
<switch name="extra-weight-left-36-in">
<default value="0"/>
<test logic="AND" value="15">
bushkit EQ 2
</test>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[7]</output>
</switch>
<switch name="extra-weight-right-36-in">
<default value="0"/>
<test logic="AND" value="15">
bushkit EQ 2
</test>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[8]</output>
</switch>
<switch name="extra-weight-left-ski">
<default value="0"/>
<test logic="AND" value="18">
bushkit EQ 5
</test>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[13]</output>
</switch>
<switch name="extra-weight-right-ski">
<default value="0"/>
<test logic="AND" value="18">
bushkit EQ 5
</test>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[14]</output>
</switch>
<switch name="extra-weight-180hp">
<!-- Aircraft **Basic Empty Weight** difference. 160 hp: 1467 lbs, 180 hp: 1642 lbs -->
<default value="0"/>
<test logic="AND" value="175">
/controls/engines/active-engine EQ 1
</test>
<output>/fdm/jsbsim/inertia/pointmass-weight-lbs[15]</output>
</switch>
<fcs_function name="extra-weight-left-float">
<function>
<product>
<eq>
<property>bushkit</property>
<value>3</value>
</eq>
<sum>
<value>66.0</value>
<property>left-pontoon/leaked-water-lbs</property>
</sum>
</product>
</function>
<output>inertia/pointmass-weight-lbs[9]</output>
</fcs_function>
<fcs_function name="extra-weight-right-float">
<function>
<product>
<eq>
<property>bushkit</property>
<value>3</value>
</eq>
<sum>
<value>66.0</value>
<property>right-pontoon/leaked-water-lbs</property>
</sum>
</product>
</function>
<output>inertia/pointmass-weight-lbs[10]</output>
</fcs_function>
<fcs_function name="extra-weight-left-amphibious">
<function>
<product>
<eq>
<property>bushkit</property>
<value>4</value>
</eq>
<sum>
<value>138.0</value>
<property>left-pontoon/leaked-water-lbs</property>
</sum>
</product>
</function>
<output>inertia/pointmass-weight-lbs[11]</output>
</fcs_function>
<fcs_function name="extra-weight-right-amphibious">
<function>
<product>
<eq>
<property>bushkit</property>
<value>4</value>
</eq>
<sum>
<value>138.0</value>
<property>right-pontoon/leaked-water-lbs</property>
</sum>
</product>
</function>
<output>inertia/pointmass-weight-lbs[12]</output>
</fcs_function>
</channel>
<channel name="extra-drag">
<switch name="drag-26-in">
<default value="1"/>
<test logic="AND" value="1.05">
bushkit EQ 1
</test>
<output>gear/drag-coef[1]</output>
</switch>
<switch name="drag-36-in">
<default value="1"/>
<test logic="AND" value="1.07">
bushkit EQ 2
</test>
<output>gear/drag-coef[2]</output>
</switch>
<switch name="drag-Floats">
<default value="1"/>
<test logic="AND" value="1.20">
bushkit EQ 3
</test>
<output>gear/drag-coef[3]</output>
</switch>
<switch name="drag-Amphibious">
<default value="1"/>
<test logic="AND" value="1.22">
bushkit EQ 4
</test>
<output>gear/drag-coef[4]</output>
</switch>
<switch name="drag-Ski">
<default value="1"/>
<test logic="AND" value="1.20"> <!-- 36 inch wheel plus ski -->
bushkit EQ 5
</test>
<output>gear/drag-coef[5]</output>
</switch>
<switch name="drag-Amphibious-Gear">
<default value="1"/>
<test logic="AND" value="1.3">
bushkit EQ 4
/controls/gear/gear-down NE 0
</test>
<output>gear/drag-coef[6]</output>
</switch>
</channel>
<channel name="JSBSim hydrodynamics integration">
<fcs_function name="tmp/floats-enabled-norm">
<function>
<product>
<value>1.0</value>
<le>
<value>3.0</value>
<property>bushkit</property>
</le>
<le>
<property>bushkit</property>
<value>4.0</value>
</le>
<not>
<and>
<property>contact/unit[13]/solid</property>
<property>contact/unit[14]/solid</property>
<property>contact/unit[15]/solid</property>
<property>contact/unit[16]/solid</property>
<property>contact/unit[17]/solid</property>
<property>contact/unit[18]/solid</property>
</and>
</not>
</product>
</function>
<output>floats-enabled-norm</output>
</fcs_function>
<!-- FIXME: The delayed activation isn't pretty but, apparently,
the solid property isn't reliable at the begining. -->
<switch name="left-pontoon/contact-z-pos-in[0]">
<default value="38.5"/>
<test logic="AND" value="-51.0">
simulation/sim-time-sec GT 0.25
bushkit GE 3
bushkit LE 4
contact/unit[13]/solid NE 0
</test>
<output>contact/unit[13]/z-position</output>
</switch>
<switch name="left-pontoon/contact-z-pos-in[1]">
<default value="38.5"/>
<test logic="AND" value="-48.0">
simulation/sim-time-sec GT 0.25
bushkit GE 3
bushkit LE 4
contact/unit[15]/solid NE 0
</test>
<output>contact/unit[15]/z-position</output>
</switch>
<switch name="left-pontoon/contact-z-pos-in[2]">
<default value="38.5"/>
<test logic="AND" value="-43.9">
simulation/sim-time-sec GT 0.25
bushkit GE 3
bushkit LE 4
contact/unit[17]/solid NE 0
</test>
<output>contact/unit[17]/z-position</output>
</switch>
<switch name="right-pontoon/contact-z-pos-in[0]">
<default value="38.5"/>
<test logic="AND" value="-51.0">
simulation/sim-time-sec GT 0.25
bushkit GE 3
bushkit LE 4
contact/unit[14]/solid NE 0
</test>
<output>contact/unit[14]/z-position</output>
</switch>
<switch name="right-pontoon/contact-z-pos-in[1]">
<default value="38.5"/>
<test logic="AND" value="-48.0">
bushkit GE 3
bushkit LE 4
contact/unit[16]/solid NE 0
</test>
<output>contact/unit[16]/z-position</output>
</switch>
<switch name="right-pontoon/contact-z-pos-in[2]">
<default value="38.5"/>
<test logic="AND" value="-43.9">
simulation/sim-time-sec GT 0.25
bushkit GE 3
bushkit LE 4
contact/unit[18]/solid NE 0
</test>
<output>contact/unit[18]/z-position</output>
</switch>
<fcs_function name="left-pontoon/leakage-lbs_sec">
<function>
<product>
<property>hydro/active-norm</property>
<switch>
<property>pontoon-damage/left-pontoon</property>
<value>0.0</value>
<value>250.0</value>
<value>5.0</value>
</switch>
</product>
</function>
</fcs_function>
<!-- No water leakage as long as pontoon is not damaged or broken -->
<switch name="left-pontoon/leaked-water-windup-trigger">
<default value="-1"/>
<test logic="AND" value="0">
pontoon-damage/left-pontoon GT 0
</test>
</switch>
<!-- If trigger is negative then the integrator is reset to 0 -->
<pid name="left-pontoon/leaked-water-lbs">
<input>left-pontoon/leakage-lbs_sec</input>
<trigger>left-pontoon/leaked-water-windup-trigger</trigger>
<kp>0.0</kp>
<ki>1.0</ki>
<kd>0.0</kd>
<clipto>
<min>0.0</min>
<max>2500.0</max> <!-- FIXME: Too much? Or too little? -->
</clipto>
</pid>
<fcs_function name="right-pontoon/leakage-lbs_sec">
<function>
<product>
<property>hydro/active-norm</property>
<switch>
<property>pontoon-damage/right-pontoon</property>
<value>0.0</value>
<value>250.0</value>
<value>5.0</value>
</switch>
</product>
</function>
</fcs_function>
<!-- No water leakage as long as pontoon is not damaged or broken -->
<switch name="right-pontoon/leaked-water-windup-trigger">
<default value="-1"/>
<test logic="AND" value="0">
pontoon-damage/right-pontoon GT 0
</test>
</switch>
<!-- If trigger is negative then the integrator is reset to 0 -->
<pid name="right-pontoon/leaked-water-lbs">
<input>right-pontoon/leakage-lbs_sec</input>
<trigger>right-pontoon/leaked-water-windup-trigger</trigger>
<kp>0.0</kp>
<ki>1.0</ki>
<kd>0.0</kd>
<clipto>
<min>0.0</min>
<max>2500.0</max> <!-- FIXME: Too much? Or too little? -->
</clipto>
</pid>
<switch name="mooring-allowed">
<default value="0"/>
<test logic="AND" value="1">
bushkit GE 3
bushkit LE 4
/controls/mooring/port-available EQ 1
hydro/active-norm EQ 0
</test>
<output>/controls/mooring/allowed</output>
</switch>
</channel>
</system>