1 /***************************************************************************
5 ----------------------------------------------------------------------------
7 FUNCTION: Gravity model for LaRCsim
9 ----------------------------------------------------------------------------
11 MODULE STATUS: developmental
13 ----------------------------------------------------------------------------
15 GENEALOGY: Created by Bruce Jackson on September 25, 1992.
17 ----------------------------------------------------------------------------
19 DESIGNED BY: Bruce Jackson
21 CODED BY: Bruce Jackson
23 MAINTAINED BY: Bruce Jackson
25 ----------------------------------------------------------------------------
31 940111 Changed include files to "ls_types.h" and
32 "ls_constants.h" from "ls_eom.h"; also changed DATA types
38 Revision 1.1 1997/05/29 00:09:56 curt
39 Initial Flight Gear revision.
41 * Revision 1.2 1994/01/11 18:50:35 bjax
42 * Corrected include files (was ls_eom.h) and DATA types changed
45 * Revision 1.1 1992/12/30 13:18:46 bjax
49 ----------------------------------------------------------------------------
51 REFERENCES: Stevens, Brian L.; and Lewis, Frank L.: "Aircraft
52 Control and Simulation", Wiley and Sons, 1992.
55 ----------------------------------------------------------------------------
59 ----------------------------------------------------------------------------
63 ----------------------------------------------------------------------------
67 ----------------------------------------------------------------------------
71 --------------------------------------------------------------------------*/
73 #include "ls_constants.h"
76 #define GM 1.4076431E16
79 void ls_gravity( SCALAR radius, SCALAR lat, SCALAR *gravity )
82 SCALAR radius_ratio, rrsq, sinsqlat;
84 radius_ratio = radius/EQUATORIAL_RADIUS;
85 rrsq = radius_ratio*radius_ratio;
86 sinsqlat = sin(lat)*sin(lat);
87 *gravity = (GM/(radius*radius))
88 *sqrt(2.25*rrsq*rrsq*J2*J2*(5*sinsqlat*sinsqlat -2*sinsqlat + 1)
89 + 3*rrsq*J2*(1 - 3*sinsqlat) + 1);