aeronautic

Helpers

The physics and the capture, exported for the main thread, and the TSL.

The physics the vapor is drawn from is all on the CPU too, tested, and exported from @aeronautic/wing-vapor/physics. The capture (capture_airframe, measure_airframe, serialize_capture…) is at the package root.

The air

The air is @aeronautic/core's: import moist_air, standard_atmosphere, saturation_pressure, dew_point, mixing_ratio and the constants AIR_GAMMA, AIR_GAS_CONSTANT, AIR_CP and LATENT_HEAT from @aeronautic/core. So is the depth capture: capture_views, depth_views and the rest are the core's. The condensation below is this package's.

exportwhat it does
moist_air(altitude_m, humidity, offset_k?)The air at one altitude with the water in it: temperature, pressure, density, the speed of sound, the vapor's pressure, mixing ratio and dew point.
standard_atmosphere(altitude_m)The International Standard Atmosphere's temperature and pressure.
saturation_pressure(kelvin)Magnus's saturation pressure over liquid water.
dew_point(vapour_pa)Where that vapor would start to condense.
mixing_ratio(vapour_pa, pressure_pa)Kilograms of vapor per kilogram of dry air.
condensate, condensation_table, cloud_extinction, saturation_ratioThe moist adiabat, and the liquid water it holds.

The lift

exportwhat it does
angle_of_attack_for_load(airframe, g, airspeed_m_s, air)The angle of attack that pulls a load factor. Stalled past the wing's maximum.
flight_state(airframe, flight, air)Mach, lift, load factor, circulations and how far breakdown has reached.
lift_coefficient, lift_slope, polhamusDATCOM's slope and Polhamus's vortex lift.
breakdown_angles, breakdown_fractionWhere vortex breakdown stands on the wing.
karman_tsien, critical_pressure, pressure_ratioCompressibility.
planform, sweep_atThe wing's area, aspect ratio and sweep along the chord.

The field

vapor_state works the whole field out, as the shader sees it. tip_deficit, edge_deficit, wing_deficit, cone_deficit and vapor_deficit are its pressure deficits (one minus the pressure ratio) at a point of the canonical frame, x aft, y up and z along the span.

The capture

exportwhat it does
capture_airframe(object, options?)Six depth views of a model, measured. Needs no renderer, so it runs in Node.
capture_airframe_async(object, options?)The same, a few milliseconds at a time.
serialize_capture(measured)A measurement as plain, versioned JSON.
deserialize_capture(baked)Read one back. Refuses a bake of another version.
capture_views, depth_views, measure_airframeThe steps of the capture, one by one.
shape_planform, trapezoid_shape, lattice_loadingThe wing as a table of stations, and its loading.

@aeronautic/wing-vapor/tsl

Every piece the material is made of, for building a material of your own:

  • The field: vapor_field, and its parts tip_vortex, edge_vortex, wing_sheet and vapor_cone.
  • Noise: hash_cell, value_noise, patchiness.
  • The material: create_vapor_material, create_vapor_uniforms, create_vapor_table, create_shape_texture, and the writers that fill them.

On this page