Jump to: navigation, search

North American X-15

5,012 bytes added, 23:17, 27 February 2015
add spactrip ready logo
|fdm =JSBSim
|status =
|authors =Mike Hill, Jon S. Berndt (FDM), John Check, Enrique Laso (new model)
|fgname =X15, X15-new
Of the two out three surviving X-15, one is a the [[National Air and Space Museum]]
== Development status/Issues/Todo ==
* textures are bumpy
* flaps are not animated(''fixed in future release shown below'')* rudder, ailerons and pitch elevator are not animated(''fixed in future release shown below'')* cockpit windows are not transparent(''fixed in future release shown below'')
* aircraft has no shadow
* no aircraft light available(''actual aircraft did not have external lights'')* there is no stream behind the rocket engine visible(''fixed in future release shown below'')
'''3d Cockpit:'''
* no 3d cockpit available(''fixed in future release shown below'')
* engines have no sound
* no hud available(''actual aircraft did not have HUD but can be activated as usual for flight test'')* aircraft has no braking parachutes (''actual aircraft did not have brake parachute'') == Ballistic high altitude flight and rendering == Flightgear is able to render the scene for the ballistic high altitude flight the X-15 is capable of (at least on a modern graphics card), but it needs some special adjustments to do so. Assume the visibility at arc top should be 500 km: * from the menu, LOD bare range needs to be set to 500000.0* in the property browser, /sim/rendering/camera-group/zfar needs to be set to 500000.0* in the weather menu, configure visibility at high altitude to 500000.0 m* use the Atmospheric Light Scattering framework to get the correct visuals of being outside the atmosphere in the rendering menu [[File:X-15-iceland03.jpg|250px|The X-15 on the falling leg of a high-altitude ballistic trajectory above Iceland]][[File:X-15-iceland04.jpg|250px|The X-15 on the falling leg of a high-altitude ballistic trajectory above Iceland]][[File:X-15-iceland05.jpg|250px|The X-15 on the falling leg of a high-altitude ballistic trajectory above Iceland]] == Electrical system modelling (nasal proposal) == The X-15 electrical and hydraulic systems are peculiar because they use a pair of hydrogen peroxide fueled APUs to provide power to the aircraft instead of being connected to the main engine. While the mechanical power drain from those systems can be neglected for regular aircraft where most of the fuel is used for propulsion, this cannot be done for accurate computation of fuel consumption from the APU. And depletion of APU fuel can leave you without a controllable aircaft ... As hydraulics and electrical systems have many common feature, the following is only an introduction to the electrical system design.The system can be split in the following generic components (each one having its class in Nasal)* Mechanically driven generators (''hyd : pumps'')* Batteries (''hyd : accumulators'')* Transformers (that includes transformer rectifiers and inverters)* Buses (''hyd: circuit'')* Bus ties (''hyd : power transfer unit'')* Circuit breakers (''hyd : relief valve'')* Terminal loads which include - Lights - Instruments - Switches - Actuators ... The system will be updated per display cycle in order to achieve several goals :* compute the mechanical load to for the generators* drain each generator according to the tie logics between buses (achieved through a priority of connections towards buses)* compute the properties of the electrical power applied to each terminal load As it stands, the electrical system is built by instanciation of objects for each class e.g.<syntaxhighlight lang="nasal" enclose="div">var X_15_electrical = ();var AC_1 =;var gen_1 = (X_15_electrical, regulated_AC_voltage, generator_rating, AC_1, #bus 40000, #low rpm 25000, #cutoff rpm 3); #priority on bus var AC_voltmeter_1 = (AC_1, 0, #low value 250, #hi value drop_on_shutdown, #behavior when power is lost 200, #nominal voltage 0.5, #relaxation time 0.5, #nominal electrical consumption "/systems/electrical/voltage-1"); #displayed value</syntaxhighlight> And the chain of updates (tree traversal) is as follows <syntaxhighlight lang="nasal" enclose="div">ElectricalSystem.update = func (delta_t){ var index = 0; #first we look which are the loads attached to each generator forindex (index; me.generators) me.generators[index].feed(); #then external connections forindex (index; me.externals) me.externals[index].feed(); #including batteries forindex (index; me.batteries) me.batteries[index].feedBus(); #then we compute the load coming from each of the terminal loads forindex (index; me.terminal_loads) me.terminal_loads[index].powerDemand(delta_t); #compute the change in battery load forindex (index; me.batteries) me.batteries[index].updateCharge(delta_t); #compute the mechanical power demand for each of the generators forindex (index; me.generators) me.generators[index].computePowerConsumption(delta_t); #reset all cyclic elements forindex (index; me.buses) me.buses[index].resetForCycle(); forindex (index; me.terminal_loads) me.terminal_loads[index].resetForCycle();}</syntaxhighlight> Due to the number of function calls and the genericity of the approach it may be interesting in the future to include this models in the C++ code, even though current benchmarks do no seem to show a noticeable drop in frame rate
{{North American}}

Navigation menu