|
@@ -80,6 +80,7 @@ namespace Lemma {
|
80
|
80
|
for ( auto txm : TxRx) {
|
81
|
81
|
node[txm.first] = txm.second->Serialize();
|
82
|
82
|
}
|
|
83
|
+
|
83
|
84
|
|
84
|
85
|
node["SigmaModel"] = SigmaModel->Serialize();
|
85
|
86
|
|
|
@@ -208,15 +209,15 @@ namespace Lemma {
|
208
|
209
|
|
209
|
210
|
vtkDoubleArray* kr = vtkDoubleArray::New();
|
210
|
211
|
kr->SetNumberOfComponents(1);
|
211
|
|
- kr->SetName("Re($K_0$)");
|
|
212
|
+ kr->SetName("Re($\\mathcal{K}_0$)");
|
212
|
213
|
kr->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
213
|
214
|
vtkDoubleArray* ki = vtkDoubleArray::New();
|
214
|
215
|
ki->SetNumberOfComponents(1);
|
215
|
|
- ki->SetName("Im($K_0$)");
|
|
216
|
+ ki->SetName("Im($\\mathcal{K}_0$)");
|
216
|
217
|
ki->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
217
|
218
|
vtkDoubleArray* km = vtkDoubleArray::New();
|
218
|
219
|
km->SetNumberOfComponents(1);
|
219
|
|
- km->SetName("mod($K_0$)");
|
|
220
|
+ km->SetName("mod($\\mathcal{K}_0$)");
|
220
|
221
|
km->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
221
|
222
|
vtkIntArray* kid = vtkIntArray::New();
|
222
|
223
|
kid->SetNumberOfComponents(1);
|
|
@@ -224,7 +225,26 @@ namespace Lemma {
|
224
|
225
|
kid->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
225
|
226
|
vtkIntArray* kerr = vtkIntArray::New();
|
226
|
227
|
kerr->SetNumberOfComponents(1);
|
227
|
|
- kerr->SetName("nleaf");
|
|
228
|
+ kerr->SetName("err");
|
|
229
|
+ kerr->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
|
230
|
+
|
|
231
|
+ vtkDoubleArray* htr = vtkDoubleArray::New();
|
|
232
|
+ htr->SetNumberOfComponents(3);
|
|
233
|
+ htr->SetName("Re($\\mathbf{\\mathcal{H}}_T$)");
|
|
234
|
+ htr->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
|
235
|
+ vtkDoubleArray* hti = vtkDoubleArray::New();
|
|
236
|
+ hti->SetNumberOfComponents(3);
|
|
237
|
+ hti->SetName("Im($\\mathbf{\\mathcal{H}}_T$)");
|
|
238
|
+ hti->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
|
239
|
+
|
|
240
|
+ vtkDoubleArray* hrr = vtkDoubleArray::New();
|
|
241
|
+ hrr->SetNumberOfComponents(3);
|
|
242
|
+ hrr->SetName("Re($\\mathbf{\\mathcal{H}}_R$)");
|
|
243
|
+ hrr->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
|
244
|
+ vtkDoubleArray* hri = vtkDoubleArray::New();
|
|
245
|
+ hri->SetNumberOfComponents(3);
|
|
246
|
+ hri->SetName("Im($\\mathbf{\\mathcal{H}}_R$)");
|
|
247
|
+ hri->SetNumberOfTuples( oct->GetNumberOfLeaves() );
|
228
|
248
|
|
229
|
249
|
|
230
|
250
|
for (auto leaf : LeafDict) {
|
|
@@ -234,7 +254,16 @@ namespace Lemma {
|
234
|
254
|
kid->InsertTuple1( leaf.first, leaf.first );
|
235
|
255
|
|
236
|
256
|
}
|
237
|
|
-
|
|
257
|
+
|
|
258
|
+ for (auto leaf : LeafHt ) {
|
|
259
|
+ htr->InsertTuple( leaf.first, leaf.second.real().data() );
|
|
260
|
+ hti->InsertTuple( leaf.first, leaf.second.imag().data() );
|
|
261
|
+ }
|
|
262
|
+
|
|
263
|
+ for (auto leaf : LeafHr ) {
|
|
264
|
+ hrr->InsertTuple( leaf.first, leaf.second.real().data() );
|
|
265
|
+ hri->InsertTuple( leaf.first, leaf.second.imag().data() );
|
|
266
|
+ }
|
238
|
267
|
|
239
|
268
|
for (auto leaf : LeafDictIdx) {
|
240
|
269
|
kerr->InsertTuple1( leaf.first, leaf.second );
|
|
@@ -245,6 +274,10 @@ namespace Lemma {
|
245
|
274
|
auto kmi = oct->GetLeafData()->AddArray(km);
|
246
|
275
|
auto kidi = oct->GetLeafData()->AddArray(kid);
|
247
|
276
|
auto keri = oct->GetLeafData()->AddArray(kerr);
|
|
277
|
+ auto khtr = oct->GetLeafData()->AddArray(htr);
|
|
278
|
+ auto khti = oct->GetLeafData()->AddArray(hti);
|
|
279
|
+ auto khrr = oct->GetLeafData()->AddArray(hrr);
|
|
280
|
+ auto khri = oct->GetLeafData()->AddArray(hri);
|
248
|
281
|
|
249
|
282
|
auto write = vtkXMLHyperOctreeWriter::New();
|
250
|
283
|
|
|
@@ -260,12 +293,20 @@ namespace Lemma {
|
260
|
293
|
oct->GetLeafData()->RemoveArray( kmi );
|
261
|
294
|
oct->GetLeafData()->RemoveArray( kidi );
|
262
|
295
|
oct->GetLeafData()->RemoveArray( keri );
|
|
296
|
+ oct->GetLeafData()->RemoveArray( khtr );
|
|
297
|
+ oct->GetLeafData()->RemoveArray( khti );
|
|
298
|
+ oct->GetLeafData()->RemoveArray( khrr );
|
|
299
|
+ oct->GetLeafData()->RemoveArray( khri );
|
263
|
300
|
|
264
|
301
|
kerr->Delete();
|
265
|
302
|
kid->Delete();
|
266
|
303
|
kr->Delete();
|
267
|
304
|
ki->Delete();
|
268
|
305
|
km->Delete();
|
|
306
|
+ htr->Delete();
|
|
307
|
+ hti->Delete();
|
|
308
|
+ hrr->Delete();
|
|
309
|
+ hri->Delete();
|
269
|
310
|
|
270
|
311
|
}
|
271
|
312
|
|
|
@@ -313,7 +354,8 @@ namespace Lemma {
|
313
|
354
|
F(iq) = -volume*Complex(0,Larmor)*Mn0Abs*(EBR.alpha+EBR.beta)*ejztr*sintheta*PhaseTerm;
|
314
|
355
|
|
315
|
356
|
|
316
|
|
-
|
|
357
|
+
|
|
358
|
+
|
317
|
359
|
|
318
|
360
|
|
319
|
361
|
|
|
@@ -362,15 +404,12 @@ namespace Lemma {
|
362
|
404
|
|
363
|
405
|
|
364
|
406
|
|
365
|
|
-
|
366
|
|
-
|
|
407
|
+
|
|
408
|
+
|
367
|
409
|
EllipticB ElipB = EllipticB();
|
368
|
|
- Vector3cr Bperp = B - B0hat.dot(B)*B0hat;
|
369
|
|
-
|
370
|
|
-
|
371
|
|
-
|
372
|
|
-
|
|
410
|
+ Vector3cr Bperp = B - B0hat.dot(B)*B0hat;
|
373
|
411
|
Real BperpNorm = Bperp.norm();
|
|
412
|
+
|
374
|
413
|
|
375
|
414
|
Complex Bp2 = Bperp.conjugate().dot(Bperp);
|
376
|
415
|
VectorXcr iB0 = Complex(0,1)*B0hat.cast<Complex>().array();
|
|
@@ -381,11 +420,11 @@ namespace Lemma {
|
381
|
420
|
ElipB.bhat = ((Real)1./ElipB.alpha)*(((Real)1./ElipB.eizt)*Bperp.array()).real().array();
|
382
|
421
|
ElipB.bhatp = B0hat.cross(ElipB.bhat);
|
383
|
422
|
ElipB.zeta = std::real(std::log(ElipB.eizt)/Complex(0,1));
|
384
|
|
-
|
|
423
|
+
|
385
|
424
|
|
386
|
425
|
|
387
|
426
|
|
388
|
|
-
|
|
427
|
+
|
389
|
428
|
|
390
|
429
|
|
391
|
430
|
|