Rise
The Vieneo Province
propulsion Class Reference

#include <propulsion.h>

Collaboration diagram for propulsion:
[legend]

Public Member Functions

 propulsion (Viewscreen *ptr)
 
void Update (float fElapsedTime)
 
float GetTach () const
 
void Reset ()
 
float GetTotalThrust () const
 

Public Attributes

bool initFromDeflect = false
 
float totalWeightLbs = 0.0f
 
float speedOfSoundKms = 0.343f
 
float staticBuildup = 0.0f
 
float airframeTempCelsius = -273.15f
 
float iceAccumulationMm = 0
 
float mach = 0.0f
 
float tatCelsius = 0.0f
 
float qz = 0.0f
 
float convectionRate = 0.0f
 
float tat_mod_qz_x = 0.0f
 
float pitchAccelerationSnapshot = 0.0f
 
float yawAccelerationSnapshot = 0.0f
 
float rollAccelerationSnapshot = 0.0f
 
float staticDensity = 1.0f
 
float dynamicDensity = 1.0f
 

Private Types

enum  AirfoilType { Asymm = 1, Symm = 2 }
 

Static Private Member Functions

static void GetFrictionCoefficients (unsigned char type, float *rollingResistance, float *roughness)
 
static float CalculateLiftCoefficient (AirfoilType type, float aoaRad, float CLDelta)
 
static float CalculateDragCoefficient (AirfoilType type, float aoa, float CDDelta)
 

Private Attributes

Viewscreenviewscreen
 
Loggerlogger
 
float gndcontactG
 
float halfsec
 
float oldmsl
 
float oldagl
 
PlotType ambtype1
 
char ambtype2
 
float oldvol
 
int chip
 
float tach
 
D3DXVECTOR3 actual
 
bool trendup
 
float intensity
 
D3DXVECTOR3 windgust
 
float olddesiredvsi
 
float oldpitch
 
float oldcorrection
 
float rougfric
 
float f_netupdate
 
char discordHeartbeat = 0
 
float ThrustReverserOutput [MAX_ENGINES]
 
float EngineThrustOutput [MAX_ENGINES]
 
D3DXVECTOR3 oldOdoPosition
 
char oldOdoReference
 
char msg [160]
 
D3DXVECTOR3 localvel = centerC
 
D3DXVECTOR3 windVectorTrueKms = centerC
 
D3DXVECTOR3 relativeWindTrueKms = centerC
 

Detailed Description

Definition at line 25 of file propulsion.h.

Member Enumeration Documentation

◆ AirfoilType

Enumerator
Asymm 
Symm 

Definition at line 27 of file propulsion.h.

Constructor & Destructor Documentation

◆ propulsion()

propulsion::propulsion ( Viewscreen ptr)

Definition at line 10 of file propulsion.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ CalculateDragCoefficient()

float propulsion::CalculateDragCoefficient ( AirfoilType  type,
float  aoa,
float  CDDelta 
)
staticprivate

http://fooplot.com/#W3sidHlwZSI6MCwiZXEiOiIoc2luKCh4LTEuNTcwOCkqLjAxOCkqMC41KzAuNSleNC44KjEuMzctLjAyIiwiY29sb3IiOiIjMDAwMDAwIn0seyJ0eXBlIjoxMDAwLCJ3aW5kb3ciOlsiLTE0My40Mzk1MjQxNDYxNTU1OCIsIjMwMy41MTI2Njg2ODIwODM1IiwiLTEuMTU3MjU2MzI4NjE5NjIwMiIsIjIuNTQ4MDIzOTY5ODA0MTAwNyJdfV0-

Definition at line 71 of file propulsion.cpp.

Here is the caller graph for this function:

◆ CalculateLiftCoefficient()

float propulsion::CalculateLiftCoefficient ( AirfoilType  type,
float  aoaRad,
float  CLDelta 
)
staticprivate

Definition at line 47 of file propulsion.cpp.

Here is the caller graph for this function:

◆ GetFrictionCoefficients()

void propulsion::GetFrictionCoefficients ( unsigned char  type,
float *  rollingResistance,
float *  roughness 
)
staticprivate

Definition at line 86 of file propulsion.cpp.

Here is the caller graph for this function:

◆ GetTach()

float propulsion::GetTach ( ) const

Definition at line 3347 of file propulsion.cpp.

Here is the caller graph for this function:

◆ GetTotalThrust()

float propulsion::GetTotalThrust ( ) const

Definition at line 3357 of file propulsion.cpp.

Here is the caller graph for this function:

◆ Reset()

void propulsion::Reset ( )

Definition at line 3352 of file propulsion.cpp.

Here is the caller graph for this function:

◆ Update()

void propulsion::Update ( float  fElapsedTime)
Todo:
this is the only place we reference the D3D9Device in Propulsion->Update
Bug:
https://jira.risetvp.com/view.php?id=1267

https://www.omnicalculator.com/physics/acceleration#acceleration-formula-three-acceleration-equations

Todo:
would love to add reverser sound and reverse effect sound!
Todo:
turned this off 3/23/2020 for
Todo:
we could jack with this number based on a bad sensor but it is the combined density and relative wind from above (ram air)
Todo:
FLOW CALCULATION AGAINST TOP, BOTTOM, SIDE, FRONT, BACK

http://hyperphysics.phy-astr.gsu.edu/hbase/thermo/stefan.html

Todo:
we are using exteriorInsulationHeatTransferCoefficient for emissivity ... not sure that is accurate https://www.engineeringtoolbox.com/emissivity-coefficients-d_447.html
Todo:
could evaluate each direction with different insulating values front back top bottom left/right
Todo:
not sure but I think we should use the wing PLAN area here not frontal drag profile for conduction
Todo:
so there is a difference between the aileron snapping off and not having a sensor for that vs. a feedback loop that says we can't talk to it
Todo:
so there is a difference between the aileron snapping off and not having a sensor for that vs. a feedback loop that says we can't talk to it

https://aircrafticing.grc.nasa.gov/1_1_5_2.html

https://gizmodo.com/scientists-make-coldest-liquid-water-ever-and-its-weir-1821874001

https://docs.google.com/spreadsheets/d/1gtlbIwcJKqFnqDA7UKDkdBQlpO8IErs1ZPj3eD4o4qQ/edit?usp=sharing

Todo:
here we could mess with the probe ... false positives ... false negatives
Todo:
this is based on failure which is based on a minimum N1 no?
Bug:
https://jira.risetvp.com/view.php?id=1645 disconnect if they have it engaged above 10km
Todo:
I think this only takes into account split flap TE ... not LE adjustment to hold laminar flow?

https://jira.risetvp.com/view.php?id=1271

http://hpwizard.com/tire-friction-coefficient.html and https://courses.lumenlearning.com/physics/chapter/5-1-friction/

Todo:
technically if it is in R and we are going forward or vice-versa?
Todo:
lots more we could do here, ramp up from 30 to 45 degrees, left and right brake depending on left or right wing scrape
Todo:
is this the only place where we would use sound->IsPlaying()?

Definition at line 125 of file propulsion.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ actual

D3DXVECTOR3 propulsion::actual
private

Definition at line 43 of file propulsion.h.

◆ airframeTempCelsius

float propulsion::airframeTempCelsius = -273.15f

Definition at line 76 of file propulsion.h.

◆ ambtype1

PlotType propulsion::ambtype1
private

Definition at line 38 of file propulsion.h.

◆ ambtype2

char propulsion::ambtype2
private

Definition at line 39 of file propulsion.h.

◆ chip

int propulsion::chip
private

Definition at line 41 of file propulsion.h.

◆ convectionRate

float propulsion::convectionRate = 0.0f

Definition at line 81 of file propulsion.h.

◆ discordHeartbeat

char propulsion::discordHeartbeat = 0
private

Definition at line 52 of file propulsion.h.

◆ dynamicDensity

float propulsion::dynamicDensity = 1.0f

Definition at line 85 of file propulsion.h.

◆ EngineThrustOutput

float propulsion::EngineThrustOutput[MAX_ENGINES]
private

Definition at line 55 of file propulsion.h.

◆ f_netupdate

float propulsion::f_netupdate
private

Definition at line 51 of file propulsion.h.

◆ gndcontactG

float propulsion::gndcontactG
private

Definition at line 36 of file propulsion.h.

◆ halfsec

float propulsion::halfsec
private

Definition at line 36 of file propulsion.h.

◆ iceAccumulationMm

float propulsion::iceAccumulationMm = 0

Definition at line 77 of file propulsion.h.

◆ initFromDeflect

bool propulsion::initFromDeflect = false

Definition at line 72 of file propulsion.h.

◆ intensity

float propulsion::intensity
private

Definition at line 45 of file propulsion.h.

◆ localvel

D3DXVECTOR3 propulsion::localvel = centerC
private

Definition at line 63 of file propulsion.h.

◆ logger

Logger* propulsion::logger
private

Definition at line 34 of file propulsion.h.

◆ mach

float propulsion::mach = 0.0f

Definition at line 78 of file propulsion.h.

◆ msg

char propulsion::msg[160]
private

Definition at line 61 of file propulsion.h.

◆ oldagl

float propulsion::oldagl
private

Definition at line 37 of file propulsion.h.

◆ oldcorrection

float propulsion::oldcorrection
private

Definition at line 49 of file propulsion.h.

◆ olddesiredvsi

float propulsion::olddesiredvsi
private

Definition at line 47 of file propulsion.h.

◆ oldmsl

float propulsion::oldmsl
private

Definition at line 37 of file propulsion.h.

◆ oldOdoPosition

D3DXVECTOR3 propulsion::oldOdoPosition
private

Definition at line 58 of file propulsion.h.

◆ oldOdoReference

char propulsion::oldOdoReference
private

Definition at line 59 of file propulsion.h.

◆ oldpitch

float propulsion::oldpitch
private

Definition at line 48 of file propulsion.h.

◆ oldvol

float propulsion::oldvol
private

Definition at line 40 of file propulsion.h.

◆ pitchAccelerationSnapshot

float propulsion::pitchAccelerationSnapshot = 0.0f

Definition at line 83 of file propulsion.h.

◆ qz

float propulsion::qz = 0.0f

Definition at line 80 of file propulsion.h.

◆ relativeWindTrueKms

D3DXVECTOR3 propulsion::relativeWindTrueKms = centerC
private

Definition at line 65 of file propulsion.h.

◆ rollAccelerationSnapshot

float propulsion::rollAccelerationSnapshot = 0.0f

Definition at line 83 of file propulsion.h.

◆ rougfric

float propulsion::rougfric
private

Definition at line 50 of file propulsion.h.

◆ speedOfSoundKms

float propulsion::speedOfSoundKms = 0.343f

Definition at line 74 of file propulsion.h.

◆ staticBuildup

float propulsion::staticBuildup = 0.0f

Definition at line 75 of file propulsion.h.

◆ staticDensity

float propulsion::staticDensity = 1.0f

Definition at line 84 of file propulsion.h.

◆ tach

float propulsion::tach
private

Definition at line 42 of file propulsion.h.

◆ tat_mod_qz_x

float propulsion::tat_mod_qz_x = 0.0f

Definition at line 82 of file propulsion.h.

◆ tatCelsius

float propulsion::tatCelsius = 0.0f

Definition at line 79 of file propulsion.h.

◆ ThrustReverserOutput

float propulsion::ThrustReverserOutput[MAX_ENGINES]
private

Definition at line 54 of file propulsion.h.

◆ totalWeightLbs

float propulsion::totalWeightLbs = 0.0f

Definition at line 73 of file propulsion.h.

◆ trendup

bool propulsion::trendup
private

Definition at line 44 of file propulsion.h.

◆ viewscreen

Viewscreen* propulsion::viewscreen
private

Definition at line 33 of file propulsion.h.

◆ windgust

D3DXVECTOR3 propulsion::windgust
private

Definition at line 46 of file propulsion.h.

◆ windVectorTrueKms

D3DXVECTOR3 propulsion::windVectorTrueKms = centerC
private

Definition at line 64 of file propulsion.h.

◆ yawAccelerationSnapshot

float propulsion::yawAccelerationSnapshot = 0.0f

Definition at line 83 of file propulsion.h.


The documentation for this class was generated from the following files: