30 #ifndef PHYSICSCLASS_H 31 #define PHYSICSCLASS_H 118 PositionInertial = 10,
119 PositionIterative = 11,
120 PositionGaussJackson = 12,
121 AttitudeInertial = 20,
122 AttitudeIterative = 21,
131 dt = 86400.*((locp->utc + (idt / 86400.))-locp->utc);
135 int32_t Increment(
double nextutc);
146 type = PositionInertial;
161 type = PositionIterative;
176 :
Propagator{ locp, physp, idt }, order { iorder }
178 type = PositionGaussJackson;
181 int32_t
Setup(uint16_t order);
182 int32_t Init(vector<tlestruc> lines);
183 int32_t Init(vector<locstruc> locs);
220 type = AttitudeInertial;
235 type = AttitudeIterative;
263 :
Propagator{ locp, physp, idt }, temperature{itemperature}
271 triangle.
temp = temperature;
275 int32_t Init(
float temp);
285 :
Propagator{ locp, physp, idt }, battery_charge{ibattery_charge}
290 int32_t Init(
float bp);
328 int32_t Increment(
double nextutc);
335 double Nplgndr(uint32_t l, uint32_t m,
double x);
346 #endif // PHYSICSCLASS_H vector< tlestruc > tle
Definition: physicsclass.h:320
double Msis00Density(posstruc pos, float f107avg, float f107, float magidx)
Calculate atmospheric density.
Definition: physicsclass.cpp:1589
locstruc * newloc
Definition: physicsclass.h:111
Definition: agentclass.cpp:54
vector< vector< int32_t > > binom
Definition: physicsclass.h:202
vector< double > a
Definition: physicsclass.h:192
Definition: physicsclass.h:75
Definition: physicsclass.h:69
physicsstruc * newphys
Definition: physicsclass.h:49
Definition: physicsclass.h:53
Definition: physicsclass.h:190
double Nplgndr(uint32_t l, uint32_t m, double x)
physicsstruc oldphys
Definition: physicsclass.h:301
vector< vector< double > > alpha
Definition: physicsclass.h:208
locstruc loc
Definition: physicsclass.h:199
Type type
Definition: physicsclass.h:101
float radiation
Definition: jsondef.h:3428
int32_t add_u(double x, double y, double z, ExternalPanelType type)
Definition: physicsclass.cpp:92
Definition: physicsclass.h:55
physicsstruc * newphys
Definition: physicsclass.h:113
Propagator(locstruc *locp, physicsstruc *physp, double idt)
Definition: physicsclass.h:129
3 element generic row vector
Definition: vector.h:53
Definition: physicsclass.h:170
IterativeAttitudePropagator(locstruc *locp, physicsstruc *physp, double idt)
Definition: physicsclass.h:232
locstruc oldloc
Definition: physicsclass.h:110
vector< double > c
Definition: physicsclass.h:203
Definition: physicsclass.h:244
GaussJacksonPositionPropagator * gjposition
Definition: physicsclass.h:308
ThermalPropagator * thermal
Definition: physicsclass.h:316
Definition: physicsclass.h:66
int32_t add_vertex(Vector point)
Definition: physicsclass.cpp:227
vector< gjstruc > step
Definition: physicsclass.h:211
Definition: physicsclass.h:71
Definition: physicsclass.h:59
Propagator::Type ttype
Definition: physicsclass.h:315
float battery_charge
Definition: physicsclass.h:293
Definition: physicsclass.h:82
Definition: physicsclass.h:72
int32_t Setup(Type type)
Definition: physicsclass.cpp:7
InertialPositionPropagator(locstruc *locp, physicsstruc *physp, double idt)
Definition: physicsclass.h:143
Definition: physicsclass.h:64
rvector sb
Definition: physicsclass.h:197
vector< vector< double > > beta
Definition: physicsclass.h:205
int32_t add_face(string name, Vector point0, Vector point1, Vector point2, Vector point3, double depth, uint8_t external=1, float pcell=.85, Quaternion orientation=Math::Quaternions::eye(), Vector offset=Vector())
Definition: physicsclass.cpp:159
float mass
mass in Kg
Definition: jsondef.h:3303
Definition: physicsclass.h:214
ThermalPropagator(locstruc *locp, physicsstruc *physp, double idt, float itemperature)
Definition: physicsclass.h:262
Definition: physicsclass.h:67
int32_t AttAccel(locstruc *loc, physicsstruc *phys)
Attitude acceleration.
Definition: physicsclass.cpp:1411
Definition: physicsclass.h:281
Physics Simulation Structure.
Definition: jsondef.h:3411
Definition: convertdef.h:733
locstruc * newloc
Definition: physicsclass.h:300
Data Management header file.
rvector tau
Definition: physicsclass.h:198
locstruc oldloc
Definition: physicsclass.h:299
double dt
Definition: physicsclass.h:108
int32_t PosAccel(locstruc *loc, physicsstruc *phys)
Position acceleration.
Definition: physicsclass.cpp:1477
Propagator::Type ptype
Definition: physicsclass.h:305
float temp
Definition: jsondef.h:3426
Definition: physicsclass.h:140
GaussJacksonPositionPropagator(locstruc *locp, physicsstruc *physp, double idt, uint16_t iorder)
Definition: physicsclass.h:175
Type
Definition: physicsclass.h:115
Definition: physicsclass.h:229
int32_t add_cuboid(string name, Vector size, double depth, Quaternion orientation, Vector offset)
Definition: physicsclass.cpp:147
Definition: jsondef.h:3275
vector< double > lam
Definition: physicsclass.h:207
IterativePositionPropagator(locstruc *locp, physicsstruc *physp, double idt)
Definition: physicsclass.h:158
float hcap
Definition: jsondef.h:3424
Definition: physicsclass.h:68
InertialAttitudePropagator * inattitude
Definition: physicsclass.h:311
Propagator::Type etype
Definition: physicsclass.h:318
static uint16_t model
Definition: add_radio.cpp:19
Definition: physicsclass.h:65
double dtsq
Definition: physicsclass.h:209
rvector sa
Definition: physicsclass.h:196
double dt
Definition: physicsclass.h:303
rvector s
Definition: physicsclass.h:194
Definition: physicsclass.h:73
Structure::Type stype
Definition: physicsclass.h:322
Headers and definitions common to all COSMOS.
convertlib include file A library providing functions for conversion between the various position and...
string name
Definition: cubesat2obj.cpp:6
Definition: physicsclass.h:63
Propagator::Type atype
Definition: physicsclass.h:310
Definition: physicsclass.h:74
Definition: physicsclass.h:81
Definition: physicsclass.h:56
vector< double > gam
Definition: physicsclass.h:204
ExternalPanelType
Definition: physicsclass.h:79
IterativePositionPropagator * itposition
Definition: physicsclass.h:307
Definition: physicsclass.h:155
Definition: physicsclass.h:83
Structure(physicsstruc *physp)
Definition: physicsclass.h:87
IterativeAttitudePropagator * itattitude
Definition: physicsclass.h:312
timelib include file A library providing functions for handling various types of time.
double dtj
Definition: physicsclass.h:304
Definition: physicsclass.h:46
int32_t GravityParams(int16_t model)
Definition: physicsclass.cpp:1726
uint16_t order
Definition: physicsclass.h:173
Definition: physicsclass.h:61
double dtj
Definition: physicsclass.h:109
Definition: physicsclass.h:54
LVLHAttitudePropagator(locstruc *locp, physicsstruc *physp, double idt)
Definition: physicsclass.h:247
Structure * structure
Definition: physicsclass.h:323
float heat
Definition: jsondef.h:3427
Definition: physicsclass.h:58
physicsstruc * newphys
Definition: physicsclass.h:302
float temperature
Definition: physicsclass.h:278
float mass
Definition: jsondef.h:3425
InertialAttitudePropagator(locstruc *locp, physicsstruc *physp, double idt)
Definition: physicsclass.h:217
Definition: physicsclass.h:70
int32_t PhysSetup(physicsstruc *phys)
Definition: physicsclass.cpp:1369
vector< double > q
Definition: physicsclass.h:206
Definition: physicsclass.h:76
Definition: physicsclass.h:62
Quaternion eye(double scale)
Definition: vector.cpp:2661
Definition: physicsclass.h:60
vector< double > b
Definition: physicsclass.h:193
uint16_t order2
Definition: physicsclass.h:210
float heat
Energy content in Joules.
Definition: jsondef.h:3291
LVLHAttitudePropagator * lvattitude
Definition: physicsclass.h:313
Definition: physicsclass.h:296
Type
Definition: physicsclass.h:51
InertialPositionPropagator * inposition
Definition: physicsclass.h:306
Definition: physicsclass.h:105
ElectricalPropagator(locstruc *locp, physicsstruc *physp, double idt, float ibattery_charge)
Definition: physicsclass.h:284
int32_t add_triangle(Vector pointa, Vector pointb, Vector pointc, double depth, bool external=true, float pcell=.85)
Definition: physicsclass.cpp:207
Vector Class.
Definition: vector.h:672
#define SIGMA
SI Stefan-Boltzmann constant.
Definition: convertdef.h:51
float hcap
Heat Capacity in Joules / (Kg Kelvin)
Definition: jsondef.h:3293
NRLMSISE-00 Extended Support header file.
Definition: physicsclass.h:57
rvector ss
Definition: physicsclass.h:195
float temp
Temperature in Kelvin.
Definition: jsondef.h:3305
Definition: convertdef.h:876
physicsstruc oldphys
Definition: physicsclass.h:112
Definition: physicsclass.h:259
Type type
Definition: physicsclass.h:127
Vector GravityAccel(posstruc pos, uint16_t model, uint32_t degree)
Spherical harmonic gravitational vector.
Definition: physicsclass.cpp:1650
ElectricalPropagator * electrical
Definition: physicsclass.h:319
vector< trianglestruc > triangles
Definition: jsondef.h:3452
Definition: physicsclass.h:84
int32_t PhysCalc(locstruc *loc, physicsstruc *phys)
Definition: physicsclass.cpp:1315