Commits

James Goppert  committed 573f0fa

Fixed inversion.

  • Participants
  • Parent commits b87981d

Comments (0)

Files changed (5)

File analysis/dynamic_inversion.py

 import sympy
 import numpy as np
+import sys
 
 
 def invert_dynamics(dynamics):
     x_i = dynamics['x_i']
 
     print 'inverting attitude dynamics'
+    sys.stdout.flush()
     invert_sol_att = sympy.solve([
         f_vect_polars[x_i['Q']] - Q_dot,
         f_vect_polars[x_i['P']] - P_dot,
         [delta_e, delta_a, delta_r],
         simplify=False)
 
-    print 'inverting attitude dynamics'
-    invert_sol_att = sympy.solve([
-        f_vect_polars[x_i['psi']] - psi_dot,
-        f_vect_polars[x_i['P']] - P_dot,
-        f_vect_polars[x_i['R']] - R_dot],
-        [delta_e, delta_a, delta_r],
-        simplify=False)
-
     for key in [delta_e, delta_a, delta_r]:
+        print 'simplifying', key
+        sys.stdout.flush()
         invert_sol_att[key] = \
             invert_sol_att[key].expand().factor().trigsimp()
 
     print 'inverting position dynamics'
+    sys.stdout.flush()
     invert_sol_delta_t = sympy.solve(
-        f_vect_polars[x_i['VT']] - VT_dot, delta_t,
+        f_vect_polars[x_i['V_T']] - VT_dot, delta_t,
         simplify=False)[0].expand().factor().trigsimp()
 
     return {
         'delta_t': invert_sol_delta_t,
     }
 
+
 def create_inner_controller(
         dynamics, inversion, constants,
         P_pole=10, Q_pole=10, R_pole=10,
     P = x[x_i['P']]
     Q = x[x_i['Q']]
     R = x[x_i['R']]
-    VT = x[x_i['VT']]
-
-    x_sub = {
-        'alpha': x[0],
-        'Q': x[1],
-        'V_T': x[2],
-        'theta': x[3],
-        'h': x[4],
-        'beta': x[5],
-        'phi': x[6],
-        'P': x[7],
-        'R': x[8],
-        'psi': x[9],
+    VT = x[x_i['V_T']]
+
+    x_sub = dynamics['x_sub']
+    xd_sub = {
         'P_dot': -P_pole*P,
         'Q_dot': -Q_pole*Q,
         'R_dot': -R_pole*R,
         'VT_dot': -VT_pole*(VT - VT_cmd),
     }
 
-    delta_e = inversion['delta_e'].subs(constants).subs(x_sub)
-    delta_t = inversion['delta_t'].subs(constants).subs(x_sub)
-    delta_a = inversion['delta_a'].subs(constants).subs(x_sub)
+    comb_subs = {}
+    comb_subs.update(x_sub)
+    comb_subs.update(xd_sub)
+    comb_subs.update(constants)
+
+    delta_e = inversion['delta_e'].subs(comb_subs)
+    delta_t = inversion['delta_t'].subs(comb_subs)
+    delta_a = inversion['delta_a'].subs(comb_subs)
 
     f = sympy.lambdify(
         (x),
     desired_dynamics_sub = {
         'h_dot': -h_pole*x[x_i['phi']],
         'psi_dot': -psi_pole*x[x_i['psi']],
-        'VT_dot': -VT_pole*(x[x_i['VT']] - VT_cmd),
+        'VT_dot': -VT_pole*(x[x_i['V_T']] - VT_cmd),
     }
 
     delta_e = inversion['delta_e'].\

File analysis/dynamics.py

                            beta, phi, P, R, psi]).subs(t_sub)
     u_vect = sympy.Matrix([delta_e, delta_t, delta_a, delta_r])
 
-    x_i = {'alpha': 0, 'Q': 1, 'VT': 2, 'theta': 3, 'h': 4,
+    x_i = {'alpha': 0, 'Q': 1, 'V_T': 2, 'theta': 3, 'h': 4,
            'beta': 5, 'phi': 6, 'P': 7, 'R': 8, 'psi': 9}
     x = sympy.DeferredVector('x')
     x_sub = {}

File data/pickle/dynamics

 p26
 NsS'unbounded'
 p27
-NsS'infinitesimal'
+NsS'hermitian'
 p28
-NsS'negative'
+NsS'bounded'
 p29
-NsS'hermitian'
+NsS'integer'
 p30
-NsS'bounded'
+NsS'imaginary'
 p31
-NsS'integer'
+NsS'complex'
 p32
-NsS'imaginary'
-p33
 NsS'odd'
-p34
+p33
 NsS'even'
-p35
+p34
 NsS'commutative'
-p36
+p35
 I01
-sS'positive'
+sS'zero'
+p36
+NsS'positive'
 p37
-NsS'zero'
+NsS'negative'
 p38
 NsS'nonnegative'
 p39
-NsS'complex'
+NsS'infinitesimal'
 p40
 NsS'rational'
 p41
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
 Nsg40
 Nsg25
 Nsg26
 Nsg27
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
-Nsg40
+Nsg32
 Nsg41
 Nstp66
 Rp67
 (dp79
 g22
 Nsg23
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
 Nsg37
-Nsg29
-Nsg39
-Nsg30
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nsg33
-NsS'complex'
-p80
+Nsg31
+Nsg32
 Nsg24
-Nstp81
-Rp82
+Nstp80
+Rp81
 sbg52
 g74
 (g11
 (csympy.functions.elementary.trigonometric
 sin
-p83
+p82
 (g13
 (S'alpha'
-p84
-tp85
-Rp86
-(dp87
+p83
+tp84
+Rp85
+(dp86
 g18
 g2
 (g19
 g20
-(dp88
+(dp87
 g22
 Nsg23
 Nsg24
 Nsg25
 Nsg26
 Nsg27
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
-Nsg40
+Nsg32
 Nsg41
-Nstp89
-Rp90
-sbtp91
-Rp92
-(dp93
-bg83
+Nstp88
+Rp89
+sbtp90
+Rp91
+(dp92
+bg82
 (g13
 (S'theta'
-p94
-tp95
-Rp96
-(dp97
+p93
+tp94
+Rp95
+(dp96
 g18
 g2
 (g19
 g20
-(dp98
+(dp97
 g22
 Nsg24
 Nsg25
 Nsg26
 Nsg27
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
-Nsg40
+Nsg32
 Nsg41
-Nstp99
-Rp100
-sbtp101
-Rp102
-(dp103
-btp104
-Rp105
-(dp106
+Nstp98
+Rp99
+sbtp100
+Rp101
+(dp102
+btp103
+Rp104
+(dp105
 bg11
 (g60
-(g86
-tp107
-Rp108
-(dp109
+(g85
+tp106
+Rp107
+(dp108
 bg60
 (g13
 (S'phi'
-p110
-tp111
-Rp112
-(dp113
+p109
+tp110
+Rp111
+(dp112
 g18
 g2
 (g19
 g20
-(dp114
+(dp113
 g22
 Nsg24
 Nsg25
 Nsg26
 Nsg27
+Nsg36
 Nsg29
 Nsg30
+Nsg28
 Nsg31
-Nsg32
-Nsg33
+Nsg34
 Nsg35
-Nsg36
 I01
 sg37
 Nsg38
 Nsg39
-Nsg40
+Nsg32
 Nsg41
-Nstp115
-Rp116
-sbtp117
-Rp118
-(dp119
+Nstp114
+Rp115
+sbtp116
+Rp117
+(dp118
 bg60
-(g96
-tp120
-Rp121
-(dp122
-btp123
-Rp124
-(dp125
-btp126
-Rp127
-(dp128
-btp129
-Rp130
-(dp131
+(g95
+tp119
+Rp120
+(dp121
+btp122
+Rp123
+(dp124
+btp125
+Rp126
+(dp127
+btp128
+Rp129
+(dp130
 bg11
 (g13
 (S'Q'
-p132
-tp133
-Rp134
-(dp135
+p131
+tp132
+Rp133
+(dp134
 g18
 g2
 (g19
 g20
-(dp136
+(dp135
 g22
 Nsg23
-Nsg24
-Nsg25
-Nsg26
-Nsg27
-Nsg29
-Nsg30
-Nsg31
-Nsg32
-Nsg33
-Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg25
+Nsg26
+Nsg37
 Nsg38
 Nsg39
-Nsg40
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nstp137
-Rp138
+Nsg31
+Nsg32
+Nsg24
+Nstp136
+Rp137
 sbg16
 g52
 g69
-tp139
-Rp140
-(dp141
+tp138
+Rp139
+(dp140
 bg11
 (csympy.core.numbers
 Rational
-p142
+p141
 (I-1
 I2
-tp143
-Rp144
-(dp145
+tp142
+Rp143
+(dp144
 bg13
 (S'S'
-p146
-tp147
-Rp148
-(dp149
+p145
+tp146
+Rp147
+(dp148
 g18
 g2
 (g19
 g20
-(dp150
+(dp149
 g22
 Nsg23
 Nsg24
 Nsg25
 Nsg26
-Nsg27
 Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
-Nsg40
 Nsg41
-Nstp151
-Rp152
+Nstp150
+Rp151
 sbg13
 (S'rho'
-p153
-tp154
-Rp155
-(dp156
+p152
+tp153
+Rp154
+(dp155
 g18
 g2
 (g19
 g20
-(dp157
+(dp156
 g22
 Nsg23
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
 Nsg37
-Nsg29
-Nsg39
-Nsg30
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nsg33
-Nsg40
+Nsg31
 Nsg24
-Nstp158
-Rp159
+Nstp157
+Rp158
 sbg12
 (g16
 csympy.core.numbers
 Integer
-p160
+p159
 (I2
-tp161
-Rp162
-(dp163
-btp164
-Rp165
-(dp166
+tp160
+Rp161
+(dp162
+btp163
+Rp164
+(dp165
 bg74
 (g11
 (g13
 (S'CL_alpha'
-p167
-tp168
-Rp169
-(dp170
+p166
+tp167
+Rp168
+(dp169
 g18
 g2
 (g19
 g20
-(dp171
-S'real'
-p172
-NsS'polar'
-p173
-NsS'commutative'
-p174
+(dp170
+g22
+Nsg23
+Nsg35
 I01
-sS'antihermitian'
-p175
-NsS'nonpositive'
-p176
-NsS'positive'
-p177
-NsS'negative'
-p178
-NsS'nonnegative'
-p179
-NsS'hermitian'
-p180
-NsS'zero'
-p181
-NsS'bounded'
-p182
-NsS'rational'
-p183
-NsS'imaginary'
-p184
-NsS'irrational'
-p185
-Nstp186
-Rp187
-sbg86
-tp188
-Rp189
-(dp190
+sg25
+Nsg26
+Nsg37
+Nsg38
+Nsg39
+Nsg28
+Nsg36
+Nsg29
+Nsg41
+Nsg31
+Nsg24
+Nstp171
+Rp172
+sbg85
+tp173
+Rp174
+(dp175
 bg13
 (S'CL_0'
-p191
-tp192
-Rp193
-(dp194
+p176
+tp177
+Rp178
+(dp179
 g18
 g2
 (g19
 g20
-(dp195
-g172
-Nsg173
-Nsg174
+(dp180
+g22
+Nsg23
+Nsg35
 I01
-sg175
-Nsg176
-Nsg177
-Nsg178
-Nsg179
-Nsg180
-Nsg181
-Nsg182
-Nsg183
-Nsg184
-Nsg185
-Nstp196
-Rp197
-sbtp198
-Rp199
-(dp200
-btp201
-Rp202
-(dp203
+sg25
+Nsg26
+Nsg37
+Nsg38
+Nsg39
+Nsg28
+Nsg36
+Nsg29
+Nsg41
+Nsg31
+Nsg24
+Nstp181
+Rp182
+sbtp183
+Rp184
+(dp185
+btp186
+Rp187
+(dp188
 bg11
 (g45
 g13
 (S'T_max'
-p204
-tp205
-Rp206
-(dp207
+p189
+tp190
+Rp191
+(dp192
 g18
 g2
 (g19
 g20
-(dp208
+(dp193
 g22
 Nsg23
-Nsg24
-Nsg25
-Nsg26
-Nsg27
-Nsg29
-Nsg30
-Nsg31
-Nsg32
-Nsg33
-Nsg36
+Nsg35
 I01
-sg37
+sg25
+Nsg26
+Nsg37
 Nsg38
 Nsg39
 Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nstp209
-Rp210
+Nsg31
+Nsg24
+Nstp194
+Rp195
 sbg13
 (S'delta_t'
-p211
-tp212
-Rp213
-(dp214
+p196
+tp197
+Rp198
+(dp199
 g18
 g2
 (g19
 g20
-(dp215
-S'real'
-p216
-Nsg173
-Nsg174
+(dp200
+g22
+Nsg23
+Nsg35
 I01
-sg177
-Nsg178
-Nsg179
-Nsg181
-NsS'complex'
-p217
-NsS'imaginary'
-p218
-Nstp219
-Rp220
-sbg92
-tp221
-Rp222
-(dp223
+sg37
+Nsg38
+Nsg39
+Nsg36
+Nsg32
+Nsg31
+Nstp201
+Rp202
+sbg91
+tp203
+Rp204
+(dp205
 bg11
 (g45
 g16
 (g11
 (g13
 (S'R'
-p224
-tp225
-Rp226
-(dp227
+p206
+tp207
+Rp208
+(dp209
 g18
 g2
 (g19
 g20
-(dp228
+(dp210
 g22
 Nsg23
 Nsg24
 Nsg25
 Nsg26
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
-Nsg40
+Nsg32
 Nsg41
-Nstp229
-Rp230
-sbg92
-tp231
-Rp232
-(dp233
+Nstp211
+Rp212
+sbg91
+tp213
+Rp214
+(dp215
 bg11
 (g13
 (S'P'
-p234
-tp235
-Rp236
-(dp237
+p216
+tp217
+Rp218
+(dp219
 g18
 g2
 (g19
 g20
-(dp238
+(dp220
 g22
 Nsg23
 Nsg24
 Nsg25
 Nsg26
 Nsg27
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
-Nsg40
+Nsg32
 Nsg41
-Nstp239
-Rp240
-sbg108
-tp241
-Rp242
-(dp243
-btp244
-Rp245
-(dp246
-bg83
+Nstp221
+Rp222
+sbg107
+tp223
+Rp224
+(dp225
+btp226
+Rp227
+(dp228
+bg82
 (g63
-tp247
-Rp248
-(dp249
-btp250
-Rp251
-(dp252
-btp253
-Rp254
-(dp255
-btp256
-Rp257
-(dp258
+tp229
+Rp230
+(dp231
+btp232
+Rp233
+(dp234
+btp235
+Rp236
+(dp237
+btp238
+Rp239
+(dp240
 bag11
 (g12
 (g13
 (S'J_y'
-p259
-tp260
-Rp261
-(dp262
+p241
+tp242
+Rp243
+(dp244
 g18
 g2
 (g19
 g20
-(dp263
+(dp245
 g22
 Nsg23
 Nsg24
 Nsg30
 Nsg31
 Nsg32
-Nsg33
-Nsg36
+Nsg35
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
 Nsg40
 Nsg41
-Nstp264
-Rp265
+Nstp246
+Rp247
 sbg45
-tp266
-Rp267
-(dp268
+tp248
+Rp249
+(dp250
 bg74
 (g11
 (g45
 g13
 (S'J_x'
-p269
-tp270
-Rp271
-(dp272
+p251
+tp252
+Rp253
+(dp254
 g18
 g2
 (g19
 g20
-(dp273
+(dp255
 g22
 Nsg23
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
 Nsg37
-Nsg29
-Nsg39
-Nsg30
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nsg33
+Nsg31
 Nsg24
-Nstp274
-Rp275
-sbg236
-g226
-tp276
-Rp277
-(dp278
+Nstp256
+Rp257
+sbg218
+g208
+tp258
+Rp259
+(dp260
 bg11
 (g45
 g13
 (S'J_xz'
-p279
-tp280
-Rp281
-(dp282
+p261
+tp262
+Rp263
+(dp264
 g18
 g2
 (g19
 g20
-(dp283
+(dp265
 g22
 Nsg23
 Nsg24
 Nsg25
 Nsg26
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
 Nsg41
-Nstp284
-Rp285
+Nstp266
+Rp267
 sbg12
-(g226
-g162
-tp286
-Rp287
-(dp288
-btp289
-Rp290
-(dp291
-bg11
-(g281
+(g208
+g161
+tp268
+Rp269
+(dp270
+btp271
+Rp272
+(dp273
+bg11
+(g263
 g12
-(g236
-g162
-tp292
-Rp293
-(dp294
-btp295
-Rp296
-(dp297
+(g218
+g161
+tp274
+Rp275
+(dp276
+btp277
+Rp278
+(dp279
 bg11
 (g13
 (S'J_z'
-p298
-tp299
-Rp300
-(dp301
+p280
+tp281
+Rp282
+(dp283
 g18
 g2
 (g19
 g20
-(dp302
+(dp284
 g22
 Nsg23
 Nsg24
 Nsg25
 Nsg26
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
 Nsg41
-Nstp303
-Rp304
-sbg236
-g226
-tp305
-Rp306
-(dp307
+Nstp285
+Rp286
+sbg218
+g208
+tp287
+Rp288
+(dp289
 bg11
 (csympy.core.numbers
 Half
-p308
-(tRp309
-(dp310
-bg148
+p290
+(tRp291
+(dp292
+bg147
 g13
 (S'\\bar{c}'
-p311
-tp312
-Rp313
-(dp314
+p293
+tp294
+Rp295
+(dp296
 g18
 g2
 (g19
 g20
-(dp315
+(dp297
 g22
 Nsg23
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
 NsS'positive'
-p316
-Nsg29
-Nsg39
-Nsg30
+p298
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nsg33
+Nsg31
 Nsg24
-Nstp317
-Rp318
-sbg155
-g165
+Nstp299
+Rp300
+sbg154
+g164
 g74
 (g11
 (g13
 (S'Cm_delta_e'
-p319
-tp320
-Rp321
-(dp322
+p301
+tp302
+Rp303
+(dp304
 g18
 g2
 (g19
 g20
-(dp323
+(dp305
 g22
 Nsg23
-Nsg24
-Nsg25
-Nsg26
-Nsg27
-Nsg29
-Nsg30
-Nsg31
-Nsg32
-Nsg33
-Nsg36
+Nsg35
 I01
-sg37
+sg25
+Nsg26
+Nsg37
 Nsg38
 Nsg39
 Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nstp324
-Rp325
+Nsg31
+Nsg24
+Nstp306
+Rp307
 sbg13
 (S'delta_e'
-p326
-tp327
-Rp328
-(dp329
+p308
+tp309
+Rp310
+(dp311
 g18
 g2
 (g19
 g20
-(dp330
-S'real'
-p331
-Nsg173
-Nsg174
+(dp312
+g23
+Nsg36
+Nsg32
+Nsg35
 I01
-sS'antihermitian'
-p332
-NsS'nonpositive'
-p333
-Nsg177
-Nsg178
-Nsg179
-NsS'hermitian'
-p334
-Nsg181
-NsS'bounded'
-p335
-NsS'rational'
-p336
-NsS'imaginary'
-p337
-Nsg217
-NsS'irrational'
-p338
-Nstp339
-Rp340
-sbtp341
-Rp342
-(dp343
+sg37
+Nsg38
+Nsg39
+Nstp313
+Rp314
+sbtp315
+Rp316
+(dp317
 bg11
 (g13
 (S'Cm_alpha'
-p344
-tp345
-Rp346
-(dp347
+p318
+tp319
+Rp320
+(dp321
 g18
 g2
 (g19
 g20
-(dp348
+(dp322
 g22
 Nsg23
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
 Nsg37
-Nsg29
-Nsg39
-Nsg30
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nsg33
+Nsg31
 Nsg24
-Nstp349
-Rp350
-sbg86
-tp351
-Rp352
-(dp353
+Nstp323
+Rp324
+sbg85
+tp325
+Rp326
+(dp327
 bg11
 (g13
 (S'Cm_q'
-p354
-tp355
-Rp356
-(dp357
+p328
+tp329
+Rp330
+(dp331
 g18
 g2
 (g19
 g20
-(dp358
+(dp332
 g22
 Nsg23
 Nsg24
 Nsg25
 Nsg26
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
 Nsg41
-Nstp359
-Rp360
-sbg134
-tp361
-Rp362
-(dp363
+Nstp333
+Rp334
+sbg133
+tp335
+Rp336
+(dp337
 bg13
 (S'Cm_0'
-p364
-tp365
-Rp366
-(dp367
+p338
+tp339
+Rp340
+(dp341
 g18
 g2
 (g19
 g20
-(dp368
-g35
+(dp342
+g34
 Nsg22
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
 Nsg37
-Nsg29
-Nsg39
-Nsg30
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
 Nsg27
-Nsg33
+Nsg31
 Nsg24
-Nstp369
-Rp370
-sbtp371
-Rp372
-(dp373
+Nstp343
+Rp344
+sbtp345
+Rp346
+(dp347
 bg69
-tp374
-Rp375
-(dp376
+tp348
+Rp349
+(dp350
 bg11
-(g309
-g148
+(g291
+g147
 g13
 (S'b'
-p377
-tp378
-Rp379
-(dp380
+p351
+tp352
+Rp353
+(dp354
 g18
 g2
 (g19
 g20
-(dp381
+(dp355
 g22
 Nsg23
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
-Nsg316
-Nsg29
-Nsg39
-Nsg30
+Nsg298
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nsg33
-Nsg40
+Nsg31
 Nsg24
-Nstp382
-Rp383
-sbg155
-g165
+Nstp356
+Rp357
+sbg154
+g164
 g74
 (g11
 (g13
 (S'Cl_p'
-p384
-tp385
-Rp386
-(dp387
+p358
+tp359
+Rp360
+(dp361
 g18
 g2
 (g19
 g20
-(dp388
+(dp362
 g22
 Nsg24
 Nsg25
 Nsg26
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
 Nsg41
-Nstp389
-Rp390
-sbg236
-tp391
-Rp392
-(dp393
+Nstp363
+Rp364
+sbg218
+tp365
+Rp366
+(dp367
 bg11
 (g13
 (S'Cl_beta'
-p394
-tp395
-Rp396
-(dp397
+p368
+tp369
+Rp370
+(dp371
 g18
 g2
 (g19
 g20
-(dp398
+(dp372
 g22
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
 Nsg37
-Nsg29
-Nsg39
-Nsg30
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nsg33
+Nsg31
 Nsg24
-Nstp399
-Rp400
+Nstp373
+Rp374
 sbg63
-tp401
-Rp402
-(dp403
+tp375
+Rp376
+(dp377
 bg11
 (g13
 (S'Cl_delta_a'
-p404
-tp405
-Rp406
-(dp407
+p378
+tp379
+Rp380
+(dp381
 g18
 g2
 (g19
 g20
-(dp408
+(dp382
 g22
-Nsg24
-Nsg25
-Nsg26
-Nsg27
-Nsg29
-Nsg30
-Nsg31
-Nsg32
-Nsg33
-Nsg36
+Nsg35
 I01
-sg37
+sg25
+Nsg26
+Nsg37
 Nsg38
 Nsg39
 Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nstp409
-Rp410
+Nsg31
+Nsg24
+Nstp383
+Rp384
 sbg13
 (S'delta_a'
-p411
-tp412
-Rp413
-(dp414
+p385
+tp386
+Rp387
+(dp388
 g18
 g2
 (g19
 g20
-(dp415
-g331
-Nsg177
-Nsg217
-Nsg174
+(dp389
+g37
+Nsg32
+Nsg35
 I01
-sg178
-Nstp416
-Rp417
-sbtp418
-Rp419
-(dp420
-btp421
-Rp422
-(dp423
-bg248
-tp424
-Rp425
-(dp426
-btp427
-Rp428
-(dp429
-btp430
-Rp431
-(dp432
+sg38
+Nstp390
+Rp391
+sbtp392
+Rp393
+(dp394
+btp395
+Rp396
+(dp397
+bg230
+tp398
+Rp399
+(dp400
+btp401
+Rp402
+(dp403
+btp404
+Rp405
+(dp406
 bag11
 (g58
 g74
 (g11
-(g144
-g148
-g155
-g165
+(g143
+g147
+g154
+g164
 g74
 (g13
 (S'CD_DM'
-p433
-tp434
-Rp435
-(dp436
+p407
+tp408
+Rp409
+(dp410
 g18
 g2
 (g19
 g20
-(dp437
+(dp411
 g22
 Nsg24
 Nsg25
 Nsg26
 Nsg27
+Nsg36
 Nsg29
 Nsg30
-Nsg31
-Nsg32
+Nsg28
 Nsg33
+Nsg31
 Nsg34
 Nsg35
-Nsg36
 I01
 sg37
 Nsg38
 Nsg39
 Nsg41
-Nstp438
-Rp439
+Nstp412
+Rp413
 sbg11
 (g13
 (S'k_CD_CL'
-p440
-tp441
-Rp442
-(dp443
+p414
+tp415
+Rp416
+(dp417
 g18
 g2
 (g19
 g20
-(dp444
+(dp418
 g22
 Nsg23
-Nsg36
+Nsg35
 I01
 sg25
 Nsg26
 Nsg37
-Nsg29
-Nsg39
-Nsg30
 Nsg38
-Nsg31
+Nsg39
+Nsg28
+Nsg36
+Nsg29
 Nsg41
-Nsg33
-Nsg80
+Nsg31
+Nsg32
 Nsg24
-Nstp445
-Rp446
+Nstp419
+Rp420
 sbg12
 (g74
-(g86
+(g85
 g11
 (g45
 g13
 (S'alpha_DM'
-p447
-tp448
-Rp449
-(dp450
+p421
+tp422
+Rp423
+(dp424
 g18
 g2
 (g19
 g20
-(dp451
+(dp425
 g22
 Nsg23
 Nsg24
 Nsg25
 Nsg26
+Nsg28
 Nsg29
 Nsg30
 Nsg31
-Nsg32
 Nsg33
 Nsg34
 Nsg35
-Nsg36
 I01
-sg37
+sg36
+Nsg37
 Nsg38
 Nsg39
 Nsg41
-Nstp452
-Rp453
-sbtp454
-Rp455
-(dp456
-btp457
-Rp458
-(dp459
-bg162
-tp460
-Rp461
-(dp462
-btp463
-Rp464
-(dp465
-btp466
-Rp467
-(dp468
-btp469
-Rp470
-(dp471
+Nstp426
+Rp427
+sbtp428
+Rp429
+(dp430
+btp431
+Rp432
+(dp433
+bg161
+tp434
+Rp435
+(dp436
+btp437
+Rp438
+(dp439
+btp440
+Rp441
+(dp442
+btp443
+Rp444
+(dp445
 bg11
 (g77
 g52
 g74
 (g11
 (g45
-g108
+g107
 g69
-g102
-tp472
-Rp473
-(dp474
+g101
+tp446
+Rp447
+(dp448
 bg11
 (g69
-g118
-g121
-g92
-tp475
-Rp476
-(dp477
-bg11
-(g121
-g248
-g83
-(g112
-tp478
-Rp479
-(dp480
-btp481
-Rp482
-(dp483
-btp484
-Rp485
-(dp486
-btp487
-Rp488
-(dp489
-bg11
-(g206
-g213
-g108
+g117
+g120
+g91
+tp449
+Rp450
+(dp451
+bg11
+(g120
+g230
+g82
+(g111
+tp452
+Rp453
+(dp454
+btp455
+Rp456
+(dp457
+btp458
+Rp459
+(dp460
+btp461
+Rp462
+(dp463
+bg11
+(g191
+g198
+g107
 g69
-tp490
-Rp491
-(dp492
-btp493
-Rp494
-(dp495
-btp496
-Rp497
-(dp498
+tp464
+Rp465
+(dp466
+btp467
+Rp468
+(dp469
+btp470
+Rp471
+(dp472
 bag74
 (g11
 (g45
-g226
-g479
-tp499
-Rp500
-(dp501
-bg11
-(g134
-g118
-tp502
-Rp503
-(dp504
-btp505
-Rp506
-(dp507
+g208
+g453
+tp473
+Rp474
+(dp475
+bg11
+(g133
+g117
+tp476
+Rp477
+(dp478
+btp479
+Rp480
+(dp481
 bag11
 (g45
 g16
-g83
+g82
 (g74
 (g11
 (g45
-g96
-tp508
-Rp509
-(dp510
-bg86
-tp511
-Rp512
-(dp513
-btp514
-Rp515
-(dp516
-btp517
-Rp518
-(dp519
+g95
+tp482
+Rp483
+(dp484
+bg85
+tp485
+Rp486
+(dp487
+btp488
+Rp489
+(dp490
+btp491
+Rp492
+(dp493
 bag11
 (g48
 g58
 g74
 (g11
 (g45
-g206
-g213
-g108
-g248
-tp520
-Rp521
-(dp522
-bg11
-(g144
+g191
+g198
+g107
+g230
+tp494
+Rp495
+(dp496
+bg11
+(g143
 g13
 (S'CC_beta'
-p523
-tp524
-Rp525
-(dp526
+p497
+tp498
+Rp499
+(dp500
 g18
 g2
 (g19
 g20
-(dp527
-g172
-Nsg174
+(dp501
+g22
+Nsg35
 I01
-sg175
-Nsg176
-Nsg177
-Nsg178
-Nsg179
-Nsg180
-Nsg181
-Nsg182
-Nsg183
-Nsg184
-Nsg185
-Nstp528
-Rp529
-sbg148
+sg25
+Nsg26
+Nsg37
+Nsg38
+Nsg39
+Nsg28
+Nsg36
+Nsg29
+Nsg41
+Nsg31
+Nsg24
+Nstp502
+Rp503
+sbg147
 g63
-g155
-g165
-tp530
-Rp531
-(dp532
+g154
+g164
+tp504
+Rp505
+(dp506
 bg11
 (g77
 g52
 g74
 (g11
 (g69
-g121
-g479
-tp533
-Rp534
-(dp535
-bg11
-(g108
-g248
-g102
-tp536
-Rp537
-(dp538
+g120
+g453
+tp507
+Rp508
+(dp509
+bg11
+(g107
+g230
+g101
+tp510
+Rp511
+(dp512
 bg11
 (g45
-g118
-g121
-g92
-g248
-tp539
-Rp540
-(dp541
-btp542
-Rp543