índiceitem superior

item anteriorpróximo item


2.2 - Constantes


É comum em problemas de dinâmica orbital e de atitude o uso de constantes, como por exemplo o raio da Terra, em diversos locais do programa de simulação. Para evitar a repetição de definições e uniformizar seus valores, elas foram agrupadas no arquivo consta.h (tipo header), que deve ser incluído sempre que estas constantes forem necessárias à execução do programa. As seguintes bibliotecas fazem uso deste arquivo de cabeçalho: attdyn.c, orbit.c, sgp8.c e sensors.c. Uma vez que a linguagem C separa os caracteres maiúsculos dos minúsculos (case sensitive), adotou-se, por convenção, que as constantes devem possuir todos os seus caracteres em letras maiúsculas, para que fosse possível identificar facilmente as variáveis que provêm deste cabeçalho. A tabela 2.1 fornece uma relação das constantes presentes neste arquivo e sua nomenclatura. Todas as variáveis são do tipo estáticas (static) e de precisão dupla (double)


Tabela 2.1

Constantes do arquivo consta.h


Tipo

Símbolo

Variável

Valor

Unid.

Constantes matemá-ticas

p

PI

3.1415926535897932

-

2 p

PI_T2

6.2831853071795865

-

p / 2

PI_D2

1.5707963267948966

-

p / 180o

RADIANS

0.017453292519943296

rad/o

180o / p

DEGREES

57.29577951308232088

o/rad

SQRT_PI

1.772453850905516027

-

Constantes de tempo

Ano trópico Yt

TROPIC_YEAR

365.24219879

dias

Ano sideral Ys = Yt + 1

SIDEREAL_YEAR

366.24219879

dias

Segundos do dia Sd

SEC_PER_DAY

86400

s

Ds = Sd Yt / Ys

SIDEREAL_DAY

86164.0905382136453

s

Constantes da Terra

Raio da Terra Rt

EARTH_RADIUS

6378139

m

f = 1 / 298.257

EARTH_FLATNESS

0.003352813177896914

-

µt

EARTH_GRAVITY

3.9860064e+14

m3/s2

EARTH_RATE 

7.292115854681949e-5

rad/s

Coeficien-tes zonais do modelo GEM10

J_2

1.0826268362e-3

-

J_3

-2.5356351415e-6

-

J_4

-1.62336e-6

-

J_5

-2.2758679311e-7

-

J_6

5.4335657721e-7

-

Constantes do Sol

Raio do Sol Rs

SUN_RADIUS

0.6953e+09

m

Unid. Astronômica Au

ASTRONOMICAL_UNIT

149.60e+09

m

µs

SUN_GRAVITY

1.32712438e+20

m3/s2

Constantes da Lua

Raio da Lua Rm

MOON_RADIUS

0.1738e+07

m

µm

MOON_GRAVITY

4.902794e+12

m3/s2


Adicionalmente, foram criadas diversas variáveis com finalidade de facilitar a programação e configuração do simulador. Elas foram agrupadas no arquivo de cabeçalhos defvar.h, mas encontram-se igualmente disponíveis no cabeçalho att_pro.h. Elas constituem, basicamente, variáveis para a configuração do integrador numérico, além de algumas constantes úteis como vetores nas direções dos eixos cartesianos e matriz identidade:


const int         TRUE        = 1;

const int         FALSE       = 0;

const int         INTEG_FIX   = 0;

const int         INTEG_VARIABLE    = 1;

const int         INTEG_RKF_4       = 2;

const int         INTEG_RKF_24      = 3;

const int         INTEG_RKF_78      = 4;

const int         ATT_PRO_VERSION   = 102;

vector3           NULL_VECTOR = {0, 0, 0};

vector3           X_VECTOR    = {1, 0, 0};

vector3           Y_VECTOR    = {0, 1, 0};

vector3           Z_VECTOR    = {0, 0, 1};

matrix3           ID_MATRIX   = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};


        Os vetores X_VECTOR, Y_VECTOR e Z_VECTOR definem as direções cartesianas x, y e z, e o vetor NULL_VECTOR define um vetor nulo. A matriz ID_MATRIX define uma matriz identidade. A variável ATT_PRO_VERSION fornece a versão atual do pacote de simulação.


Os vetores unitários nas direções cartesianas permitem obter os componentes escalares de qualquer vetor sem a necessidade de se invocar diretamente o vetor. Por exemplo, seja o vetor w = {0.1, 0.2, 0.3}. Estas componentes podem ser encontradas, em qualquer ponto do programa, por meio de w._1, w._2 e w._3. Por outro lado, pode-se igualmente obter estes valores por meio dos produtos escalares w*X_VECTOR, w*Y_VECTOR e w*Z_VECTOR.