P3D v4 Not liking the system 'heat' related gauges for reciprocating engines...

Hey all,

I am not liking the stock coding for petrol reciprocating engines. On one gauge readout, I changed the oil pressure to one based on RPM. Now it behaves realistic. But CHT and Oil Temp are still nearly lifeless. I experimented with them for quite a while last night, doing climbouts at maximum output, etc, as well as testing at idle. High overheating temps also read hot on the ground at idle, and cool idle settings ran cold at altitude.

So I am thinking of doing another couple of 'fudging' systems to make a more realistic oil temp and CHT readout...

But....

What I had in mind was something based on OAT + RPM. It should probably include mixture in the 'mix', pardon the pun.

I thought I would see what others think.

I looked through the settings notes in AAM in the sections that run CHT and Oil Temp in the AIR files. They are basically hard coded. So this is where I am standing presently on this.

The gauges are just the little triangle slider readouts in the Garmin G1000 MFD engine ECIAS center. Nothing spectacular, but... Some of them just barely move. Even with lots of 'umph' tweaking in the scaler coordinates, (which seems to backfire now and then).

My engine CHT and Oil Temps are standard for all reciprocating engines. Mooney, Extra, Cessna, etc.
 
An important piece of information that you didn't provide are the actual temperature values you're seeing. I ask because I have never seen this behavior before and I've done quite a few aircraft for trainers.
 

Roy Holmes

Resource contributor
Those gauged values are calculated at the end of each cycle and have no effect on engine performance, so you can fudge them to your heart's content.
Roy
 

tgibson

Resource contributor
Hi,

It really depends on the size and type of the recip engine. The small GA ones are pretty close, normally, but big radial engines are way off. I created my own code for CHT which works well for the type of engines I model. I use a different gauge for each type of engine (R-2800, R-3350, etc.).

Code:
   <Element> <!-- Calculate CHT:  130 + FF * K + OAT * K - (Cowl flap position * K - Airspeed / K ) -->
      <Select>
           <Value> <!-- Then decrease CHT fast if engine running, slow if not.  Increase CHT fast. -->

(A:General Eng1 Combustion, bool) if{ 130 (A:Eng fuel flow PPH:1, pounds per hour) 0.175 * + (A:Ambient Temperature,Celsius) + (A:Recip eng cowl flap position:1, percent) 3 * (A:Airspeed indicated, knots) 1 + 100 / * 60 min -  } els{ (A:Ambient Temperature,Celsius) } (&gt;L:CHT_1_input,number)
(L:CHT_1_input,number) (L:CHT_1,number) &lt; (A:General Eng1 Combustion, bool) &amp;&amp; if{ (L:CHT_1,number) (L:CHT_1,number) (L:CHT_1_input,number) - 0.00025 * (E:Simulation Rate, enum) * - (&gt;L:CHT_1,number) }
(L:CHT_1_input,number) (L:CHT_1,number) &lt; (A:General Eng1 Combustion, bool) ! &amp;&amp; if{ (L:CHT_1,number) (L:CHT_1,number) (L:CHT_1_input,number) - 0.000025 * (E:Simulation Rate, enum) * - (&gt;L:CHT_1,number) }
(L:CHT_1_input,number) (L:CHT_1,number) &gt; if{ (L:CHT_1,number) (L:CHT_1_input,number) (L:CHT_1,number) - 0.00025 * (E:Simulation Rate, enum) * + (&gt;L:CHT_1,number) }

(A:General Eng2 Combustion, bool) if{ 130 (A:Eng fuel flow PPH:2, pounds per hour) 0.175 * + (A:Ambient Temperature,Celsius) + (A:Recip eng cowl flap position:2, percent) 3 * (A:Airspeed indicated, knots) 1 + 100 / * 60 min - } els{ (A:Ambient Temperature,Celsius) } (&gt;L:CHT_2_input,number)
(L:CHT_2_input,number) (L:CHT_2,number) &lt; (A:General Eng2 Combustion, bool) &amp;&amp; if{ (L:CHT_2,number) (L:CHT_2,number) (L:CHT_2_input,number) - 0.00025 * (E:Simulation Rate, enum) * - (&gt;L:CHT_2,number) }
(L:CHT_2_input,number) (L:CHT_2,number) &lt; (A:General Eng2 Combustion, bool) ! &amp;&amp; if{ (L:CHT_2,number) (L:CHT_2,number) (L:CHT_2_input,number) - 0.000025 * (E:Simulation Rate, enum) * - (&gt;L:CHT_2,number) }
(L:CHT_2_input,number) (L:CHT_2,number) &gt; if{ (L:CHT_2,number) (L:CHT_2_input,number) (L:CHT_2,number) - 0.0002 * (E:Simulation Rate, enum) * + (&gt;L:CHT_2,number) }

(L:CHT_Start,bool) 0 == (L:CHT_1,number) 1 &gt; &amp;&amp; if{ (L:CHT_Start,bool) ! (&gt;L:CHT_Start,bool) (L:CHT_1_input,number) (&gt;L:CHT_1,number) (L:CHT_2_input,number) (&gt;L:CHT_2,number) (L:CHT_1,number) 200 &gt; if{ 200 (&gt;L:CHT_1,number) } (L:CHT_2,number) 200 &gt; if{ 200 (&gt;L:CHT_2,number) } }

</Value>
      </Select>
   </Element>
Hope this helps,
 

DragonflightDesign

Resource contributor
Tom: I'm currently working on a bird equipped with GR-2600-A2A / GR-2600-25 engines and the CHTs are coming out right. Just don't ask what the airfile guy did because I have no idea...!

[Edit] Have to retract that statement... Now I've paid very close attention, the CHTs on both GR-2600s are not right.
 
Last edited:
Top