-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhou_config.cfg
More file actions
437 lines (399 loc) · 16.2 KB
/
Copy pathhou_config.cfg
File metadata and controls
437 lines (399 loc) · 16.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
##########################
##########################
[Gravity Parameter]
# This section specifies the gravity parameter G
# in units of [METERS^3/SECONDS^2]
G: 6.67e-11
##########################
##########################
[Initial Conditions]
# This section defines the initial conditions to
# be integrated. The units of all inputs here
# are defined as [MKS]
# The Fahnestock Input File Flag Toggles the use
# of a predefined input file which will cause the
# software to ignore the initial conditions,
# gravity parameter, and densities defined in
# this config file. For documentation on this
# file format see the {NAME TBD} file as
# described in the documentation.
# BE SURE THIS VALUE IS SET TO 0 IF USING USER
# DEFINED INITIAL CONDITIONS, GRAVITY PARAMETER,
# OR DENSITY VALUES
Fahnestock Input File Flag: 0
# FRAME DEFINITIONS--------------------------
# The N Frame is defined as the inertial frame
# The A Frame is defined as the primary's body-
# fixed frame
# The B Frame is defines as the secondary's
# body fixed frame
# All frames are initially aligned unless a non-
# identity rotation matrix is specified below.
# The body frames are defined based on the
# orientation of the vertex file input for the
# body shape or for the cases of ellipsoid and
# sphere shaped bodies such that the x-axis is
# aligned with the major axis and the z-axis is
# aligned with the minor axis
# FRAME DEFINITIONS--------------------------
# The Relative Position is defined as the vector
# from the primary's center of mass to the
# secondary's center of mass. The vector is defined
# in the A frame
Relative Position X: 1200.0
Relative Position Y: 0.
Relative Position Z: 0.
# The Relative Velocity is defined as the velocity
# of the secondary's center of mass relative to the
# primary's center of mass. The vector is defined
# in the A frame not considering the frame rotation
Relative Velocity X: 0.
Relative Velocity Y: 0.175704287113523
Relative Velocity Z: 0.
# The Angular Velocities are defined in the body
# fixed frames A or B respecively
Primary Angular Velocity X: 0.0
Primary Angular Velocity Y: 0.0
Primary Angular Velocity Z: 0.000772269580528
Secondary Angular Velocity X: 0.0
Secondary Angular Velocity Y: 0.0
Secondary Angular Velocity Z: 0.000146420239261
# The B into A values define the rotation matrix
# which maps a column vector expressed in the B
# frame into the A frame and thus describe the
# relative attitude of the two bodies. If Euler
# Angles are a prefered attitude representation
# see the B into A Euler descriptions below
B into A (1,1): 1.0
B into A (1,2): 0.0
B into A (1,3): 0.0
B into A (2,1): 0.0
B into A (2,2): 1.0
B into A (2,3): 0.0
B into A (3,1): 0.0
B into A (3,2): 0.0
B into A (3,3): 1.0
# To toggle the Euler Angle description of the
# B into A rotation matrix set the B into A Euler
# Flag to 1. The Euler angles 1, 2, and 3 are
# ordered such that the Euler 1 is a rotation about
# the Body B x-axis, the second is a rotation about
# the Body B y-axis and the third is a rotation about
# the Body B z-axis. All rotations are in radians
B into A Euler Flag: 1
B into A Euler 1 X: 0.
B into A Euler 2 Y: 0.
B into A Euler 3 Z: 0.
# The A into N values define the rotation matrix
# which maps a column vector expressed in the A
# frame into the N frame and thus describes the
# inertial orientation of the primary, functionally
# it is used to define the orientation of the
# system in the ecliptic. If Euler
# Angles are a prefered attitude representation
# see the A into N Euler descriptions below
A into N (1,1): 1.0
A into N (1,2): 0.0
A into N (1,3): 0.0
A into N (2,1): 0.0
A into N (2,2): 1.0
A into N (2,3): 0.0
A into N (3,1): 0.0
A into N (3,2): 0.0
A into N (3,3): 1.0
# To toggle the Euler Angle description of the
# A into N rotation matrix set the A into N Euler
# Flag to 1. The Euler angles 1, 2, and 3 are
# ordered such that the Euler 1 is a rotation about
# the Body A x-axis, the second is a rotation about
# the Body A y-axis and the third is a rotation about
# the Body A z-axis. All rotations are in radians
A into N Euler Flag: 1
A into N Euler 1 X: 0.
A into N Euler 2 Y: 0.
A into N Euler 3 Z: 0.
##########################
##########################
[Integration Settings]
# This sections allows the user to select the
# integration time, scheme, and settings.
# The Start and Final Time values set the integration
# time and are defined in [SECONDS].
Start Time: 0.0
Final Time: 7200.
# The Integrator Flag allows the user to toggle
# between a fixed step RK4 integrator, an
# adaptive RK 7(8) Dormand-Prince Integrator,
# the fixed step LGVI, and a fixed step Adams-
# Bashforth-Moulton predictor-corrector integrator.
# All of the fixed step integrators take in a fixed
# time step to control their accuracy. The RK4 and ABM
# do not conserve SO(3) and thus will have worse attitude
# conservation than the LGVI which does conserve
# SO(3). The RK 7(8) integrator will adapt a time
# step based on an absolute tolerance on the state
# integration accuracy and will provide faster
# integration but will only provide coarse
# time-step outputs. The lGVI is the fastest but cannot
# calculate the effects of perturbations. For external
# pertubations, the RK4 or ABM must be used. For internal
# tidal perturbations, the RK4, RK 7(8), or ABM must
# be used. The ABM is roughly as accurate as the RK4 but
# is twice as fast. The LGVI is limited to pure
# full two-body dynamics.
# For the RK4 set that flag to 1, set the flag to
# 2 for the LGVI, set the flag to 3 for the RK 7(8),
# set the flag to 4 for the A-B-M.
Integrator Flag: 2
# The Fixed Time Step defines the time step to be
# used in the RK4, ABM, and LGVI integrators. It is
# defined in [SECONDS]
Fixed Time Step: 30.
# The Absolute Tolerance defines the adaptive state
# tolerance to be used by the RK 7(8) integrator
# and will force the magnitude of the state error
# to remain below the tolerance for each time step
Absolute Tolerance: 1.e-15
##########################
##########################
[Output Settings]
# This section allows the user to define the output
# times of the integration. It is of note that at
# this time no interpolation techniques have been
# developed for the RK 7(8) integrator such that
# all integration steps must be post processed
# for this selection of integrator
# Do any post processing?
# set to 1 if you want to output all the various .csv output files
# if set to 0, only the binary output files are written
# the post-processing to generate ascii output significantly
# increases the run time
Post Processing: 1
# The Fixed Output Frequency allows the user to
# toggle and select a fixed frequency of post-
# processed data. A value of -1 will signal the
# software to use the Specified Time List below.
# A value of 0 signals the system to process all
# time steps of the integrator (this is the only
# option if the RK 7(8) is being used). The third
# option is to specify a fixed time step of outputs
# to be post processed in seconds (this value must
# be commensurate with with the fixed integration
# time step used
Fixed Output Frequency: 3600.
# If the Fixed Output Frequency is set to -1 the
# software will look for a list of time steps
# provided in a .csv file format. If this option is
# selected provide the .csv filename (with the
# .csv extension) below. The time steps should
# be specified in seconds and must be commensurate
# with the fixed time step used in the integrator.
# The .csv file should be specified as a single row
# of time values.
Specified Time List Filename: filler.csv
# The Case Name is a file tag which can be input as
# any string value. The standard output file names
# are described in the documentation where the Case
# name is a tag included as part of the name
Case Name: Test
##########################
##########################
[Body Model Definitions]
# This section defines the shape and density of the
# bodies. Many of these values are specific to the
# selected shape definitions, but must still be set
# even if the corresponding shape definition is not
# selected; in this case arbitrary values can be
# input
# The Inertia Integral Generation Flag tells the
# software whether or not to generate inertia
# integral during the run, with 1 being the
# the selection to generate them and 0 telling
# the software to use previously computed values.
# If the bodies have not been simulated previously
# then the value must be set to 1. Unless the
# inertia integral orders to be computed (see
# Mutual Gravity Expansion Parameters section below)
# are beyond order 6, this parameter should be
# kept on (with the value of 1). If the value is
# set to 0, the software will use any files named
# TDP_[N].mat, TDS_[N].mat, IDP.mat, and IDS.mat
# in the local folder (these are the files containing
# the inertia integrals and moments of inertia
# generated for a given run where [N] is the
# Gravity Expansion Truncation Order). It is thus
# imperative that the user is very careful about
# these files if this flag is set to 0.
Inertia Integral Generation Flag: 1
# The Primary and Secondary Shape Flags tell the
# system whether each body is to be modelled as
# either a sphere (Flag=0), an ellipsoid (Flag=1),
# or as a polyhedron shape approximation (Flag=2).
# An oblate spheroid can be simulated via the
# ellipsoid shape selection. There certain limits
# on the inertia integral implementation which
# can be used for the sphere and ellipse case
# which are explained in the Mutual Gravity
# Expansion Parameters section below.
Primary Shape Flag: 2
Secondary Shape Flag: 1
# The Primary and Secondary axes are used to define
# the shape for the sphere and ellipsoid selections.
# The semi-axes here are defined from the center of
# the body to the maximal extent along each of its
# axes in [METERS]. The semi-major axis is assumed
# to be along the x-axis of the body frame, the
# semi-intermediate axis is assumed along the y-axis
# of the body frame and the semi-minor axis is
# assumed along the z-axis of the body frame. Be sure
# that your bodies are aligned as intended by reading
# the frame definitions described in the Initial
# Conditions section above. If a spherical shape is
# selected simply set all axes to equal values
Primary Semi-Major Axis: 576.7195
Primary Semi-Intermediate Axis: 576.7195
Primary Semi-Minor Axis: 576.7195
Secondary Semi-Major Axis: 103.16
Secondary Semi-Intermediate Axis: 79.35
Secondary Semi-Minor Axis: 66.13
# The Vertex and Tertahedron files are [.CSV] files
# which define the polyhedron approximation shape
# models. The Vertex files should be formatted as 4
# columns with the first column being the vertex
# IDs or filler values, and the second through fourth
# columns being the x, y, and z coordinated of the
# vertices in the body fixed frame. The units of the
# coordinates should be [METERS]. The tetrahedron
# files should be 3 columns where each row lists the
# 3 vertices of a tetrahedron connected to the body
# center of mass (at the origin). The vertex files
# should be aligned with the principal body axes
# such that the body-frame inertia tensor is diagonal.
Primary Vertex File: Didymos_A_vert_met.csv
Primary Tetrahedron File: Didymos_A_facet.csv
Secondary Vertex File: Didymos_B_vert_met.csv
Secondary Tetrahedron File: Didymos_B_facet.csv
# All bodies are assumed to be of constant density.
# The densities should be described as [GRAMS/CENIMETER^3]
Primary Density: 2.203111036687207
Secondary Density: 2.203111036687207
##########################
##########################
[Mutual Gravity Expansion Parameters]
# This section defines the expansion order used when
# mutual gravity and inertia integrals are computed
# values should be integers from 0-N, where order 0
# is equivalent to a point mass, order 2 will account
# obliquity effects such as J2, C22, etc, orders higher
# than 2 will similarly capture the behaviors of the
# equivalently ordered spherical harmonics
# The Gravity Expansion Truncation Order defines the
# order that the mutual gravity potential will be
# computed at, in the Hou paper this is the value N.
# If the primary or secondary shape models selected
# are polyhedra, their inertia integral truncation
# order will automatically be increased to match this
# value. Likewise if the either body's inertia integral
# truncation order is higher that the gravity expansion
# order, the gravity expansion truncation order will
# be increased.
Gravity Expansion Truncation Order: 4
# The Primary and Secondary Truncation Orders
# define the order of the inertia integrals to be
# computed for each body. The selection of shape
# for each body affects the implementation of
# these parameters. If the body has been set to a
# sphere or ellipsoid the inertia integrals
# beyond this truncation order for the body will
# be set to 0. It is also of note that the closed
# form sphere and ellipsoid inertia integral
# equations used are only implemented up to
# order 4; if an ellipsoidal or spherical shape
# is desired with parameters computed beyond
# order 4 then a polyhedron approximation
# will be needed. Additonally if a polyhedron
# shape is selected for either body then the
# truncation order will automatically be raised
# to the Gravity Expansion Truncation Order.
Primary Inertia Integral Truncation Order: 4
Secondary Inertia Integral Truncation Order: 4
##########################
##########################
[Additional Forces and Perturbations]
# This section allows the user to toggle and
# specify parameters for additional modelled
# forces and perturbations to the binary system
# 3rd body flyby orbit parameters. Flyby is toggle
# to turn on (1) or off (0)
# These should be in km, s, and radians
# Can specify either hyperbolic or elliptic, and
# keplerian dynamics are assumed between the 3rd body
# and the binary system barycenter.
# To use flyby code, integrator must be set to
# 1 (RK4) or 4 (ABM). The perturbation equations are
# outlined in Meyer & Scheeres 2021
Flyby: 0
Planetary Mass: 5.9722e24
Semimajor Axis: -1.1072e+04
Eccentricity: 9.1284
Inclination: 0.1745
RAAN: 0.1745
Argument of Periapsis: 0.1745
Flyby Time: 345600.0
# Heliocentric orbit parameters. Heliocentric Orbit is
# toggle to turn on (1) or off (0)
# These should be in km, s, and radians.
# Keplerian dynamics are assumed between the sun
# and the binary system barycenter.
# To use heliocentric code, integrator must be set to
# 1 (RK4) or 4 (ABM). The perturbation equations are
# the same as the 3rd body flyby, but allows for the
# use of 3rd body and heliocentric perturbations
# simulatneously.
Heliocentric Orbit: 0
Sun Mass: 1.989e+30
Heliocentric Semimajor Axis: 246013901.32
Heliocentric Eccentricity: 0.38362664
Heliocentric Inclination: 0.059475759
Heliocentric RAAN: 1.277649080300677
Heliocentric Argument of Periapsis: 5.5732150380
Time of periapsis passage: 2582993.15688
# Model for solar gravity uses Hill's Problem
# to approximate the solar gravity effects from
# a planar circular orbit. The binary is treated
# as a single mass to compute the systems mean
# motion. Toggle this force by setting Solar
# Gravity to 1, 0 to toggle off. Solar Orbit
# Radius specifies the circular orbit radius
# of the binary in [AU]. AU Definition allows the
# user to specify the number of [m] in an AU.
# Solar Mass should be specified in [kg].
# NOTE this is legacy code. For a more accurate
# solar gravity perturbation use the heliocentric
# orbit toggle above
Solar Gravity: 0
Solar Orbit Radius: 1.
AU Definition: 149597870700.
Solar Mass: 1.988e30
# Tidal dissipation model assumes each body
# experiences the tidal torque model defined
# in Murray and Dermott Solar System Dynamics.
# The binary asteroid modification defined in
# Jacobson and Scheeres 2011 is used to ensure
# that the model remains consistent as each
# body rotates. 3D considerations are made
# following Meyer et al 2022.
# Tidal Torque can be set to 1 or
# 0 turn toggle it on or off. Primary and Secondary
# Love Number provide the value for each. Primary
# and Secondary Reference Radius are used as
# the body radius value for the torque, enter
# in [m]. The tidal lag angles should be provided
# as [rad].
Tidal Torque: 0
Primary Love Number: 1.e-5
Secondary Love Number: 1.e-5
Primary Reference Radius: 660.
Secondary Reference Radius: 225.
Primary Tidal Lag Angle: .005
Secondary Tidal Lag Angle: .005