c172p-team / c172p

A high detailed version of the Cessna 172P aircraft for FlightGear
GNU General Public License v2.0
80 stars 44 forks source link

Add a winter kit (cowl grill), expand icing effects #1398

Closed DaSovietPotato closed 1 year ago

DaSovietPotato commented 2 years ago

Today I was flying around in the rocky mountains and I faced a comical problem, the plane engine is unable to keep a decent temperature. Normally this wouldn‘t be a problem within the simulation, however my engine died on landing and I could not get it started to clear the runway until I used the external heat. Normally in real life, cowl blocks would be used to reduce the amount of air flowing through the engines to allow them to stay warm. I think that It would be a good option to add Cowl Blocks somewhere in the aircraft options menu.

wlbragg commented 2 years ago

Hi @DaSovietPotato

I think the description of what you explain here may be a bit off. When you say "until I used the external heat", are you talking about the carb heat control? If so this is the correct solution. On a long approach in icing conditions it is recommended to use the carb heat. It prevents the carb from icing. The c172p simulation only simulates that condition. I don't remember off hand the exact logic of the code that simulates this.

My questions are...

In Real Life...

Does warming the engine in this manner (using airflow restrictions/cowl blocks) keep the carb from icing. Why is this method used VS the carb heater?

It seems a bit risky to me to use such a method to control and issue that the carb heater was designed to prevent.

Are you a real-life pilot with experience in this issue? Can you enlighten us?

DaSovietPotato commented 2 years ago

Hello, when I was referring to external heat I was referring to the external heat in the ground services tab. As far as flying was concerned, it was not humid enough for carburetor icing to occur but simply cold. The use of cowl blocks is in no way intended to replace carb heating as they accomplish related but completely different tasks. The use of cowl blocks is normally used to ensure that the engine is able to stay within the operating range on extremely cold days, they are commonly used on air cooled engines in places like Canada. A similar device exists for the 2CV to allow for the heater to work. The use of cowl plugs would indirectly help the carb heater to work more efficiently because of the higher engine temperature. I am not a pilot, however I have experience working in cold temperatures where similar measures to cowl blocks are usually taken. I hope that this answers some of your questions about the matter.

wlbragg commented 2 years ago

Hi @DaSovietPotato

Are they used while flying or strictly on the ground?

I'm not very familiar with the ground services tab, but I will take a look at it. I was not aware that the ground services were temperature dependent.

I don't think it would be difficult to add functionality to account for extra heat because of air flow restrictions.

DaSovietPotato commented 2 years ago

The cowl plugs are installed on the ground and remain for the entire flight. If I remember the airflow is simulated in the engine simulation, but I am not entirely sure.

wlbragg commented 1 year ago

@dany93

Any idea as to what to influence in the FDM or engine parameters to accomplish the effect of restricting airflow? Do we have any property I can tie adding one or two block/plugs to that would simulate heating the engine up.

I guess I am asking if there is something already available, or would we need to make this system. I know we already have oil temp. Maybe I can look at that system to get an idea as to what to use for this. I was hoping you might be able to direct me to where I need to look. I think I won't have any issue with the logic once I know where to look, if there is a where.

One other thing, the cowl plugs option in the GUI isn't working because the conditions for using it are not met. There are two conditions engines/active-engine/running = false engines/active-engine/rpm = 0

For some reason even at cold and dark aircraft conditions the rpm is reading positive. It is actually winding up slowly starting somewhere around 0.00273...... What is that all about? It won't matter once I implement this and it doesn't really matter now because I can change the condition to something like engines/active-engine/rpm < 1. But I really want to know why some of these properties are active when they should be static. engines/active-engine/rpm engines/active-engine/mp-osi engines/active-engine/oil-pressure-psi engines/active-engine/egt-degf

dany93 commented 1 year ago

@wlbragg wrote

Any idea as to what to influence in the FDM or engine parameters to accomplish the effect of restricting airflow?

I would look at JSBSim Engines (FGPiston), Cooling factor. <cooling-factor> {number} </cooling-factor> (don't know, I've never used it) I see it currently at 0.51444

dany93 commented 1 year ago

For some reason even at cold and dark aircraft conditions the rpm is reading positive. It is actually winding up slowly starting somewhere around 0.00273

I don't understand, I have them at 0, by the FG Properties or by the JSBSim ones. image

With both engines OFF, I can put and remove cowl plugs, event after an "Autostart" (which removes them automatically) then cutting the engine OFF (which gives rpm = 0 again, exactly).

dany93 commented 1 year ago

@DaSovietPotato wrote

Normally in real life, cowl blocks would be used to reduce the amount of air flowing through the engines to allow them to stay warm

Weird... For me (not a C172 pilot IRL), the cowl plugs are only in place on the ground. Not used when flying, differently from the 2CV. https://www.aircraftspruce.com/catalog/pspages/cowlplugs.php "remove before flight" streamer Some aircraft (Douglas DC3) have such systems to control the temperature in flight. https://www.youtube.com/watch?v=7tOqroxVrGs

DaSovietPotato commented 1 year ago

The winterization kit in this article is what I had in mind when discussing cowl blocks. https://www.aopa.org/news-and-media/all-news/2020/january/flight-training-magazine/how-it-works-winterization-kit

wlbragg commented 1 year ago

@DaSovietPotato I think the winterization kit is worth pursuing, especially if we have physical engine reaction to temperature. Do we? Can you describe exactly what effect your seeing that the cold, or extreme cold, has on our modeled simulation? I'm a bit fuzzy on what to look at or for under these extreme conditions.

The c182 has a "Winterization Kit" option. I want to look at it and see what their interpretation is.

wlbragg commented 1 year ago

@dany93

This is what is happening as soon as I load the sim.

https://github.com/c172p-team/c172p/assets/11069680/38635f70-25cb-4ab5-b983-784d00b5d573

dany93 commented 1 year ago

OK. This is not exactly cold and dark. You have the Battery, ALT and avionics ON.

With these manually set ON, I have most, almost all of the temperatures fluctuating, like you. Except: carb-icing-rate = 0, fuel-flow-gph=0, indicated-oil-pressure-psi = 0, oil-pressure-psi = 0.

I confirm rpm = 0.

Temperature fluctuations can come from the ambient temperature fluctuations. For the others in your video, I don't know.

wlbragg commented 1 year ago

Oh, wow. I didn't even notice, wasn't paying attention. OK, still the power to the aircraft shouldn't limit the cowl blocks from being in place. So I guess the change in the condition isn't a problem. If the aircraft engine is cranking then the rpm will always be > 1. I need to remind myself to look at the code that dislodges the chocks and make sure that is robust.

As far as the winterisation kit, the c182 looks like it models a good system for it. I will take their leed and finish this issue with a winterization kit.

I also noticed in the c182 they have condition for things such as the winterization kit being available based on conditions that require the power being off. Not a good choice in my opinion, especially as it was an unintended consequence.

hbeni commented 1 year ago

The c182 has a "Winterization Kit" option. I want to look at it and see what their interpretation is.

It is laid out in the poh i think, and basicly its a plate mounted behind the spinner which blocks part of the cowling air intake. This reduces cooling airflow and thus makes the engine warmer.

condition for things such as the winterization kit being available based on conditions that require the power being off.

IIRC power should not be a constraint here, but the prop spinning. Mounting the winter kit needs hand acces behind the rotor blades.

wlbragg commented 1 year ago

power should not be a constraint here

Right, I understand the reason you picked the properties. In theory they should work. It's just that I get this unexpected movement in some of those properties. When I initially posted about it being "Cold and Dark" @dany93 pointed out I had the batt on, not cold and dark. But since them I discovered the batt or electrical power had nothing to do with it.

dany93 commented 1 year ago

@wlbragg wrote

The c182 has a "Winterization Kit" option. I want to look at it and see what their interpretation is.

POH 172S (552SP, 8 July 1998) PDF 193 / 384 (p.7-23)

No manual cowlflap cooling system control is required.

PDF 311 / 384 (p.S8-3)

The winterization kit consists of two cover plates (with placards) which attach to the air intakes in the cowling nose cap, a placard silk screened on the instrument panel, and insulation for the crankcase breather line. This equipment should be installed for operations in temperatures consistently below 20'F (-7"C). Once installed, the crankcase breather insulation is approved for permanent use, regardless of temperature.

If the <cooling-factor> https://github.com/c172p-team/c172p/issues/1398#issuecomment-1675821914 works as we can hope, implementation seems possible. The difficulty should come at setting the system for which external and engine temperatures.

wlbragg commented 1 year ago

I'm well into implementing this. I am using the c182 implementation which seems to work well. The difference is I am only using the cowling air intake portion of it. They add 3 components together, winter git (cowl grill), icing around the intake and and cowl flaps. I think cowl flaps are controlled with a switch (flaps below the cowling) and I have never heard of them used on the 172p. Doesn't mean they can't be or aren't used. I just haven't heard or read it anywhere as of yet.

I may end up adding the icing part though. They appeared to model it well. including extra weight through the use of a pointmass, aircraft/c182t/c182t.xml line 107. I just didn't totally understand that system, (the code used). You might take a look and see for yourself. The totals function for the three systems are in aircraft/c182t/c182t.xml line 1110. I started at the totals and work backwards from there to understand the three contributing systems.

I tested their implementation by flying in -0 celcius and applying the winter kit. It slowly changed the monitored temp in the aircraft. I'm pretty sure they used the same property you suggested.

dany93 commented 1 year ago

@wlbragg wrote

I think cowl flaps are controlled with a switch (flaps below the cowling) and I have never heard of them used on the 172p.

This message

POH 172S (552SP, 8 July 1998) PDF 193 / 384 (p.7-23) No manual cowlflap cooling system control is required.

wlbragg commented 1 year ago

Does the POH give a operational oil temp number or range. Chat GPT says 160°F to 220°F (71°C to 104°C)

At -13 celsius oil temp is is running at about 111.8 f Installing the winter kit brought it up to 155.6 f which is not quite at the low end of chat GTP's information. The cooling effect can be adjusted to make it go a bit higher, This was setting the cooling factor from .514 to .25. I can try setting it to .20.

The provided information about the cowl grill shows it has a plate that looks to be adjustable? or maybe they have different size plates for different amounts of air restriction.

dany93 commented 1 year ago

Good finding.

The POH 180 hp 552SP gives

Maximum Oil Temperature: 245°F (118°C)

I haven't seen a minimum with the engine running.

However, I've found this phrase (p. 4-34, PDF 118/384)

When air temperatures are below 20'F (-6'C), the use of an external preheater and an external power source are recommended whenever possible to obtain positive starting and to reduce wear and abuse to the engine and electrical system. Preheat will thaw the oil trapped in the oil cooler, which probably will be congealed prior to starting in extremely cold temperatures.

The start failure noticed by @DaSovietPotato in his message might be not that far from being normal. However, the engine probably was not really cold.

During cold weather operations, no indication will be apparent on the oil temperature gage prior to takeoff if outside air temperatures are very cold

wlbragg commented 1 year ago

@dany93 Setting the cooling effect to .20 VS .25...

Default @ .514 cooling rate, 120 ias, -13celsius = 111.8f

Winter Kit Installation @ .25 cooling rate, 120 ias, -13celsius = 155.6f @ .20 cooling rate, 120 ias, -13celsius = 174.3f

@ .20 cooling rate, 120 ias, 29celsius = 207.6f - simulated 85f weather with the winter kit installed

wlbragg commented 1 year ago

@hbeni

~~Do you remember how you tested the icing system, the one that adds ice to the various aircraft surfaces? What is the best weather settings to promote icing? Did you program any visual clues other than possibly the glass frost system? Was there any correlation to the glass getting frost and the aircraft icing occurring?~~ Did you assign all the various iced surfaces to only the one pointmass? Is ice on the wing the only thing that is affecting the fdm, lift and drag, other than the pointmass weight?

The pitot icing I assume is simulated to affect the iAS?

How about the static port icing, is it modeled to affect any instruments?

wlbragg commented 1 year ago

@dany93 depending on @hbeni answers to the above questions, feel free to play with adding drag from other iced surfaces that are as of now not really accounted for.

From what I could tell it is only weight added to one pointmass for any surface with ice. I wouldn't mind breaking that out to the various surfaces with more pointmass locations and adding the drag increases and possible lift reductions from the various surfaces to the FDM aerodynamics.

These are the areas modeled to collect ice...

                <iceable>
                    <name>Wing</name>
                    <sensitivity type="double">1.0</sensitivity>
                    <output-property>/fdm/jsbsim/ice/wing</output-property>
                </iceable>
                <iceable>
                    <name>Stabilizer</name>
                    <sensitivity type="double">1.0</sensitivity>
                    <output-property>/fdm/jsbsim/ice/stabilizer</output-property>
                </iceable>
                <iceable>
                    <name>Propeller</name>
                    <sensitivity type="double">0.5</sensitivity>
                    <output-property>/fdm/jsbsim/ice/propeller</output-property>
                </iceable>
                <iceable>
                    <name>Windshield</name>
                    <sensitivity type="double">0.5</sensitivity>
                    <!-- not relevant for fdm, ignore output-property -->
                </iceable>
                <iceable>
                    <name>Fuselage</name>
                    <sensitivity type="double">0.3</sensitivity>
                    <output-property>/fdm/jsbsim/ice/fuselage</output-property>
                </iceable>
                <iceable>
                    <name>Pitot tube</name>
                    <sensitivity type="double">1</sensitivity>
                    <salvage-control>/systems/pitot/salvage</salvage-control>
                    <output-property>/systems/pitot/icing</output-property>
                </iceable>
                <iceable>
                    <name>Static</name>
                    <sensitivity type="double">0.3</sensitivity>
                    <output-property>/systems/static[0]/icing</output-property>
                </iceable>

Also the pitot and static port logic for the instruments attached to those sensors. I haven't looked for those icing systems yet on the c182, if they even exist.

I also assume the c172p has a static port. I know we have not modeled it visually. At least I don't think so, if someone post a schematic and picture of it I'll add it to the model. I found it and will add one.

wlbragg commented 1 year ago

@dany93 Just incase you tried to test the icing system, I inadvertently left out the property switch that enables it. It is now working, at least partially. I haven't verified any influence on the FDM yet. Bt the icing machine is working. An easy environment to test is to use live metar, then switch to manual and change clouds to SCT006 and temp to 3/2 Take of and as soon as you enter clouds you will see the ice surface properties go active and accumulate ice. You can monitor fdm/jsbsim/ice/... to see it in action. The c182 does model at least cowling icing visuals. It is the dirt shader they are using.

I installed the ice (dirt) effect to the entire exterior model (bumpspec) but we can break it down however we want. I like the visual on the c182, it looks to be just the cowling edit: it is actually a mask that hits the leading edge of the cowling, wings, flaps, etc. but it has a nice effect. Hats off to the c182 team though, it is a really good start to a complete icing system. Well done!

wlbragg commented 1 year ago

Can anyone verify the engine exhaust smoke particle effect is different than it used to be? I think it is much more pronounced then it used to be. Something is not right with it? fgfs-20230816210955

Oh, zoom in the image and you can see the new static port.

dany93 commented 1 year ago

@wlbragg I tried (? tested is not the appropriate word...) your icing system. Very impressive, even if I didn't understand everything. It seems that the maximum severity is for negative temperatures in Celsius close to 0°C (0 to -1 or -1.5°C). I've had several losses of control, loss of speed or stall and spin. I think it's rather due to drag or / and turbulence (airflow separation), not the weight of the ice. Once, the engine almost stopped. Visually, I don't know. The first time I thought I saw a difference, the second time I didn't...

dany93 commented 1 year ago

@wlbragg wrote

Can anyone verify the engine exhaust smoke particle effect is different than it used to be? I think it is much more pronounced then it used to be. Something is not right with it?

I have this (with "Autostart") exhaust I can't compare, I don't remember having observed it. But it seems good, nice.

Obviously different from your picture.

wlbragg commented 1 year ago

Visually, I don't know.

They use a graymap for the ice graphics. It is incredibly well gone! I'll have to make one for the c172p layout. All you'll see until I make one is the default dirt mask with a color change to white. It just adds white to every surface, not like this wonderfully done visual for the c182. It takes awhile to start showing up, less time in the c182 because it is tuned with the mask.

ice

hbeni commented 1 year ago

One thing I still wonder is: how fast icing gets to be a problem in real life?

Is our model „too agressive“? (or too forgiving)?

wlbragg commented 1 year ago

Is our model „too agressive“?

I really don't know, but it feels right to me. If your in ice, it doesn't take long to really build up. Especially at 140 kts. I think we might be able to find info on what to expect in these types of conditions.

wlbragg commented 1 year ago

@dany93

I pushed the ice masks, so if you fly through clouds for any length of time during icing conditions, you should notice the ice on all the leading edge of the aircraft. I didn't test and observe all the variants for the ice visual, like skis and floats. So if you notice any that don't look good, let me know.

dany93 commented 1 year ago

@hbeni wrote

One thing I still wonder is: how fast icing gets to be a problem in real life?

That's a real question... I dont' think one of us (among 3 or 4) has this experience. How fast and how strong effects?

I also had instrument failures (airspeed, altitude, vertical speed indicators). Which is a real danger in reality.

After thinking a bit more: I didn't think of it in my tests, but part of my observations (loss of airspeed, engine semi-failure) can also be due to ~"carburetor"~ (engine) icing (which was already modeled in the c172p). [EDIT] After one more test, I don't think that it was "carburetor" icing. I couldn't get it, watching the properties [/EDIT]

Anyway, even if imperfect, this addition is a real improvement. Thanks for your hard work and thought.

hbeni commented 1 year ago

Anyway, even if imperfect, this addition is a real improvement. Thanks for your hard work and thought.

Yes! And dont forget to implement the alt static port system, as pulling that knob helps to mitigate some of the icing consequences (like stuck altimeter or Airspeed indicator)

wlbragg commented 1 year ago

@dany93

After searching the pitot system, I see nothing indicating we ever modeled the heater, I assume because we never modeled the icing for it. Can you confirm? The c182 gave you partial acknowledgment for the pitot system and they improved upon it for their icing system in Systems/indicated-airspeed.xml

<!--
    Pitot implementation
    taken from from c172p, thanks dany93.
    enhanced by B. Hallinger for c182s
    failure due to pitot icing  by H. Schulz 
-->

        <switch name="/systems/pitot/heating">
            <output>/systems/pitot/heating</output>
            <default value="0"/>

            <test logic="AND" value="1">
                /controls/anti-ice/pitot-heat EQ 1
                /systems/electrical/outputs/pitot-heat GT 20
            </test>
        </switch>

        <kinematic name="/systems/pitot/heat-applied-norm">
            <input>/systems/pitot/heating</input>
            <traverse>
                <setting>
                    <position>0</position>
                    <time>0</time>
                </setting>
                <setting>
                    <position>1</position>
                    <time>30</time>
                </setting>
            </traverse>
            <output>/systems/pitot/heat-applied-norm</output>
        </kinematic>

        <switch name="/systems/asi/pitot-serviceable">
            <output>/systems/pitot/serviceable</output>
            <default value="1"/>

            <test logic="OR" value="0">
                /sim/model/c182s/securing/pitot-cover-visible EQ 1
         /systems/pitot/icing GT 0.03
            </test>
        </switch>   

        <switch name="/systems/pitot/salvage-control">
            <output>/systems/pitot/salvage</output>
            <default value="1"/>

            <test logic="OR" value="0">
               /systems/pitot/heat-applied-norm LT 0.3
            </test>
        </switch>

Assuming all of the above is true, I am adding their implementation for the heater to our pitot system.

wlbragg commented 1 year ago

@hbeni or @dany93 if you know, what is the pitot/salvage-control for?

dany93 commented 1 year ago

@wlbragg wrote

After searching the piton system, I see nothing indicating we ever modeled the heater, I assume because we never modeled the icing for it. Can you confirm?

I also think that the Pitot heating has never been modeled. I don't know why this acknowledgment, I've never worked on this. I only remember having worked on the indicated airspeed for the instrument. And I wrote:

<system name="indicated-airspeed">

<!--
    (dany93) Largely inspired from c182, thanks HHS81.
-->

Amusing.... (however, it's nice of the c182 team)

wlbragg commented 1 year ago

OK, I just pushed the pitot heater system. The only thing I question is the speed at which the heater melts the ice and restores the system. It may be accurate, it is a small instrument and I suppose a good amount of voltage applied to it might melt any small accumulations of ice quickly.

I have a hard time testing the failure for the ASI though, I really am not sure what I am supposed to see. I assume being on a level flight path with AP would help notice the difference in airspeed.

wlbragg commented 1 year ago

Next up, static port. I don't know that we ever activated the alt static port. I'm not sure how that system should work. I remember talking about it. Is the alt system using the static port in the KAP140? Throwing the Alt Static Port switch effectively rewires the systems to use the KAP140 port? Looking at the c182 system now.

wlbragg commented 1 year ago

I only remember having worked on the indicated airspeed for the instrument.

That makes sense as to what it was for, the pitot cover implementation.

wlbragg commented 1 year ago

@dany93 through time the Blender files in dev have been broken apart into a few various files supporting the .ac files in the model. Things were moved around, like breakers and switches and many other object were added to one file and never removed from the original file. They would only be hidden, or more accurately marked to not save on export. I am responsible for much if not all of it. It would be really easy for someone not familiar with the Blender and .ac files to get confused and unhide those objects. I did this in the short term as an effort to not delete an object accidently when moving things around. I think it is time to actually remove these hidden (marked to not export) objects out of the Blender files so future developers don't get confused if they ever work on the models. I'm going to do it in this issue and PR as I have already made a couple small changes to the blend and .ac files.

wlbragg commented 1 year ago

OK, this is really close to finished, I think just testing some more is all that is needed.

The following systems were added and activated. I also did a quick test of them all and they appeared to operate correctly.

Pitot icing and heater Static port icing and alt static port capability Aircraft surfaces icing

GUI install Winter Kit Cowl Grill

GUI enable conditions modified for Install Winter Kit Put Cowl Plug Enable Damage

Cleaned up Blender files in dev repository files

Misc cleanup of a couple files where I noticed some unused and unreferenced aliases

Removed the duplicate Avionics switch (again)

hbeni commented 1 year ago

Speaking of the pitot, in the c182 the pitot heat switch also heats the stall vane. It may be a good occassion to model that too (if ice forms on the leading wing edge, the stall horn gets iced=inop)

hbeni commented 1 year ago

@hbeni or @dany93 if you know, what is the pitot/salvage-control for?

No idea out of my head. Would need to do a recherche.

dany93 commented 1 year ago

@dany93 wrote

I only remember having worked on the indicated airspeed for the instrument.

@wlbragg wrote

That makes sense as to what it was for, the pitot cover implementation.

My contribution was for taking into account the instrument error (in flight). See POH 180hp 552SP and 160hp 1982, p.5-9 (Airspeed Calibration, Normal Static Source).

dany93 commented 1 year ago

@wlbragg wrote

... pitot heater system. (...) the speed at which the heater melts the ice and restores the system. (...) I suppose a good amount of voltage applied to it might melt any small accumulations of ice quickly.

POH 180hp p.7-41:

The heated pitot system consists of a heating element in the pitot tube, a 5-amp switch/breaker labeled PITOT HEAT

(it's not a clue for the melting time...)