import%20marimo%0A%0A__generated_with%20%3D%20%220.14.10%22%0Aapp%20%3D%20marimo.App(width%3D%22medium%22)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%23%20JSBSim%20Aerodynamics%0A%0A%20%20%20%20The%20main%20purpose%20of%20this%20guide%20is%20to%20provide%20useful%20information%20for%20JSBSim%20FDM%20modellers%20who%20don't%20necessarily%20have%20a%20formal%20background%20in%20flight%20dynamics.%20To%20make%20them%20aware%20of%20the%20typical%20aerodynamic%20forces%20and%20moments%20they%20need%20to%20provide%20to%20model%20the%20flight%20characteristics%20of%20an%20aircraft%2C%20without%20turning%20into%20a%20full-fledged%20textbook%20on%20flight%20dynamics.%0A%0A%20%20%20%20In%20creating%20an%20FDM%20for%20a%20particular%20aircraft%20type%20the%20FDM%20modeller%20needs%20to%20decide%20what%20level%20of%20fidelity%20they%20want%20to%20aim%20for.%20This%20will%20partly%20be%20based%20on%20the%20FDM%20modeller's%20aim%20for%20the%20project%20but%20will%20also%20often%20be%20dictated%20by%20the%20level%20of%20source%20data%20available%20for%20the%20aircraft%20type.%20%0A%0A%20%20%20%20JSBSim%20is%20a%206%20degrees%20of%20freedom%20simulator%20but%20doesn't%20come%20with%20any%20pre-defined%20forces%20and%20moments.%20The%20FDM%20developer%20needs%20to%20supply%20definitions%20for%20each%20of%20the%20forces%20and%20moments%20acting%20on%20the%20aircraft.%20During%20each%20time%20step%20JSBSim%20will%20then%20sum%20the%20individual%20forces%20and%20moments%20for%20each%20of%20the%203%20axes%20and%20then%20use%20them%20to%20calculate%20translational%20and%20angular%20accelerations%20based%20on%20the%20aircraft's%20current%20mass%20and%20moments%20of%20inertia.%20These%20accelerations%20will%20then%20be%20integrated%20via%20the%20equations%20of%20motion%20to%20calculate%20updated%20translational%20and%20angular%20velocities%20and%20integrated%20again%20for%20an%20updated%20pose%20(3D%20position%20and%20attitude)%20for%20the%20aircraft.%0A%0A%20%20%20%20%23%23%20Frames%20of%20Reference%0A%0A%20%20%20%20The%20FDM%20modeller%20%0A%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20The%20force%20coefficients%20are%20made%20non-dimensional%20by%20dividing%20the%20force%20by%20the%20dynamic%20pressure%20and%20a%20reference%20area.%0A%0A%20%20%20%20%24%24%20C_L%20%3D%20%5Cfrac%7BL%7D%7BQS%7D%20%5Cquad%20C_D%20%3D%20%5Cfrac%7BD%7D%7BQS%7D%20%5Cquad%20C_Y%20%3D%20%5Cfrac%7BY%7D%7BQS%7D%20%24%24%0A%0A%20%20%20%20The%20moment%20coefficients%20are%20made%20non-dimensional%20by%20dividing%20the%20moment%20by%20the%20dynamic%20pressure%2C%20a%20reference%20area%20and%20a%20reference%20length.%0A%0A%20%20%20%20%24%24%20C_m%20%3D%20%5Cfrac%7BM%7D%7BQS%20%5Cbar%7Bc%7D%7D%20%5Cquad%20C_l%20%3D%20%5Cfrac%7BL%7D%7BQSb%7D%20%5Cquad%20C_n%20%3D%20%5Cfrac%7BN%7D%7BQSb%7D%20%24%24%0A%0A%20%20%20%20%7C%20Coefficient%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Description%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20-------------------------------------%20%7C%20------------------------------%20%7C%0A%20%20%20%20%7C%20**Lift%20Forces**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7BL_%7B0%7D%7D%24%20%24C_%7BL_%7B%5Calpha%7D%7D%24%20%20%20%20%20%20%20%20%20%20%7C%20Lift%20due%20to%20alpha%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7BL_%7B%5Cdot%20%5Calpha%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Lift%20due%20to%20alpha%20rate%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7BL_%7Bq%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Lift%20due%20to%20pitch%20rate%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7BL_%7B%5Cdelta_e%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Lift%20due%20to%20elevator%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20**Drag%20Forces**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7BD_%7B0%7D%7D%24%20%24C_%7BD_%7B%5Calpha%7D%7D%24%20%20%20%20%20%20%20%20%20%20%7C%20Drag%20due%20to%20alpha%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7BD_%7B%5Cdelta_e%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Drag%20due%20to%20elevator%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20**Side%20Forces**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7BY_%7B%5Cbeta%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Side%20force%20due%20to%20beta%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7BY_%7B%5Cdelta_r%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Side%20force%20due%20to%20rudder%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20**Pitch%20Moments**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bm_%7B%5Calpha%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Pitch%20moment%20due%20to%20alpha%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bm_%7B%5Cdot%20%5Calpha%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Pitch%20moment%20due%20to%20alpha%20dot%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bm_%7Bq%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Pitch%20moment%20due%20to%20pitch%20rate%20%7C%0A%20%20%20%20%7C%20%24C_%7Bm_%7B%5Cdelta_e%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Pitch%20moment%20due%20to%20elevator%20%20%20%7C%0A%20%20%20%20%7C%20**Yaw%20Moments**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bn_%7B%5Cbeta%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Yaw%20moment%20due%20to%20beta%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bn_%7Bp%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Yaw%20moment%20due%20to%20roll%20rate%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bn_%7Br%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Yaw%20moment%20due%20to%20yaw%20rate%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bn_%7B%5Cdelta_r%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Yaw%20moment%20due%20to%20rudder%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bn_%7B%5Cdelta_a%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Yaw%20moment%20due%20to%20aileron%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20**Roll%20Moments**%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bl_%7B%5Cbeta%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Roll%20moment%20due%20to%20beta%20%20%20%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bl_%7Bp%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Roll%20moment%20due%20to%20roll%20rate%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bl_%7Br%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Roll%20moment%20due%20to%20yaw%20rate%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bl_%7B%5Cdelta_a%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Roll%20moment%20due%20to%20aileron%20%20%20%20%20%7C%0A%20%20%20%20%7C%20%24C_%7Bl_%7B%5Cdelta_r%7D%7D%24%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20Roll%20moment%20due%20to%20rudder%20%20%20%20%20%20%7C%0A%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%23%23%23%20Nondimensional%20Angular%20Rates%0A%0A%20%20%20%20Coefficients%20that%20are%20based%20on%20angular%20rates%20like%20%24C_%7Bm_%7Bq%7D%7D%24%20are%20based%20on%20nondimensional%20body-axis%20angular%20rates.%0A%0A%20%20%20%20%24%24%0A%20%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%5Ctilde%7Bp%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7Bq%7D%20%5C%5C%0A%20%20%20%20%5Ctilde%7Br%7D%0A%20%20%20%20%5Cend%7Bbmatrix%7D%0A%20%20%20%20%3D%0A%20%20%20%20%5Cfrac%7B1%7D%7B2V%7D%0A%20%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20b%20%26%200%20%26%200%20%5C%5C%0A%20%20%20%200%20%26%20%5Cbar%7Bc%7D%20%26%200%20%5C%5C%0A%20%20%20%200%20%26%200%20%26%20b%0A%20%20%20%20%5Cend%7Bbmatrix%7D%0A%20%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20p%20%5C%5C%0A%20%20%20%20q%20%5C%5C%0A%20%20%20%20r%0A%20%20%20%20%5Cend%7Bbmatrix%7D%0A%20%20%20%20%24%24%0A%0A%20%20%20%20%24S%24%20-%20Wing%20planform%20area%0A%0A%20%20%20%20%24b%24%20-%20Wing%20span%0A%0A%20%20%20%20%24%5Cbar%7Bc%7D%24%20-%20Mean%20chord%0A%0A%20%20%20%20%24V%24%20-%20True%20airspeed%0A%0A%20%20%20%20%24%5Crho%24%20-%20Air%20density%0A%0A%20%20%20%20%24Q%20%3D%20%5Cfrac%7B1%7D%7B2%7D%20%5Crho%20V%5E2%24%20-%20Dynamic%20pressure%0A%0A%20%20%20%20%24C_%7Bm_%7Bq%7D%7D%20%3D%20%5Cdfrac%7B%5Cpartial%20C_m%7D%7B%5Cpartial%5Cleft(%5Cdfrac%7Bq%20%5Cbar%7Bc%7D%7D%7B2V%7D%5Cright)%7D%24%0A%0A%20%20%20%20%60%60%60xml%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cfunction%20name%3D%22aero%2Fcoefficient%2FCmq%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdescription%3EPitch_moment_due_to_pitch_rate%3C%2Fdescription%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cproduct%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cproperty%3Eaero%2Fqbar-psf%3C%2Fproperty%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cproperty%3Emetrics%2FSw-sqft%3C%2Fproperty%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cproperty%3Emetrics%2Fcbarw-ft%3C%2Fproperty%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cproperty%3Eaero%2Fci2vel%3C%2Fproperty%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cproperty%3Evelocities%2Fq-aero-rad_sec%3C%2Fproperty%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cvalue%3E-27.0%3C%2Fvalue%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fproduct%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ffunction%3E%0A%20%20%20%20%60%60%60%0A%0A%20%20%20%20%24C_%7Bm_%7B%5Cdot%20%5Calpha%7D%7D%20%3D%20%5Cdfrac%7B%5Cpartial%20C_m%7D%7B%5Cpartial%5Cleft(%5Cdfrac%7B%5Cdot%20%5Calpha%20%5Cbar%7Bc%7D%7D%7B2V%7D%5Cright)%7D%24%0A%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20return%20(mo%2C)%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
d81342eb28a1ec702ed0271ea8be4e2060bb0530e1f562a764e1b00cdd4115c7