-
Notifications
You must be signed in to change notification settings - Fork 0
/
TrajectoryMonteCarlo_DetuningScan.nb
3900 lines (3858 loc) · 208 KB
/
TrajectoryMonteCarlo_DetuningScan.nb
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
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 12.0' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 208623, 3892]
NotebookOptionsPosition[ 205656, 3838]
NotebookOutlinePosition[ 206032, 3854]
CellTagsIndexPosition[ 205989, 3851]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[
RowBox[{"Off", "[",
RowBox[{"General", "::", "munfl"}], "]"}]], "Input",
CellChangeTimes->{{3.7782469813079433`*^9, 3.7782469827193623`*^9}},
CellLabel->"In[1]:=",ExpressionUUID->"acf3f024-06f7-4b67-aa47-b28ae5a429d7"],
Cell[CellGroupData[{
Cell["Load force profiles, and set parameters and conversions", \
"Subsubsection",
CellChangeTimes->{{3.7701329614446096`*^9, 3.7701329832348557`*^9}, {
3.774612466089605*^9, 3.7746124720577526`*^9}, {3.7746226304517884`*^9,
3.774622638368577*^9}, {3.7746226690289564`*^9, 3.7746226695757027`*^9},
3.776165628366666*^9, {3.801264123339542*^9, 3.8012641333422537`*^9}, {
3.801275305033741*^9,
3.8012753227224874`*^9}},ExpressionUUID->"5aaf2c87-6956-45b5-ba7b-\
95459d133cb4"],
Cell[BoxData[{
RowBox[{
RowBox[{
RowBox[{
"fname32", "=",
"\"\<C:/Users/Christian/Desktop/CaOCH3Data/uploaded_files/ptsJ32Jp12_\
DetuningScan.csv\>\""}], ";"}],
RowBox[{"(*",
RowBox[{
"file", " ", "path", " ", "for", " ", "force", " ", "profiles", " ",
"must", " ", "be", " ", "changed", " ", "accordingly"}],
"*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"isat", "=",
RowBox[{
RowBox[{"Quantity", "[",
RowBox[{"2.4", ",",
RowBox[{"\"\<Milliwatts\>\"", "/",
SuperscriptBox["\"\<Centimeters\>\"", "2"]}]}], "]"}], "*", "1.2"}]}],
";"}],
RowBox[{"(*",
RowBox[{
RowBox[{
RowBox[{
"simple", " ", "rate", " ", "analysis", " ", "suggests", " ", "a", " ",
"correction", " ", "factor", " ", "2",
RowBox[{"ng", "/",
RowBox[{"(",
RowBox[{"ne", "+", "ng"}], ")"}]}]}], "=",
RowBox[{
RowBox[{
RowBox[{"3", "/", "2"}], " ", "due", " ", "to", " ", "multi"}], "-",
RowBox[{"level", " ", "structure"}]}]}], ";", " ",
RowBox[{
"we", " ", "here", " ", "find", " ", "1.2", " ", "appropriate"}]}],
"*)"}], " "}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"mCaOCH3", "=",
RowBox[{"(",
RowBox[{
RowBox[{
TemplateBox[{"\"calcium\"",RowBox[{"Entity", "[",
RowBox[{"\"Element\"", ",", "\"Calcium\""}], "]"}],
"\"Entity[\\\"Element\\\", \\\"Calcium\\\"]\"","\"element\""},
"Entity"], "[",
TemplateBox[{"\"atomic mass\"",RowBox[{"EntityProperty", "[",
RowBox[{"\"Element\"", ",", "\"AtomicMass\""}], "]"}],
"\"EntityProperty[\\\"Element\\\", \\\"AtomicMass\\\"]\""},
"EntityProperty"], "]"}], " ", "+", " ",
RowBox[{
TemplateBox[{"\"oxygen\"",RowBox[{"Entity", "[",
RowBox[{"\"Element\"", ",", "\"Oxygen\""}], "]"}],
"\"Entity[\\\"Element\\\", \\\"Oxygen\\\"]\"","\"element\""},
"Entity"], "[",
TemplateBox[{"\"atomic mass\"",RowBox[{"EntityProperty", "[",
RowBox[{"\"Element\"", ",", "\"AtomicMass\""}], "]"}],
"\"EntityProperty[\\\"Element\\\", \\\"AtomicMass\\\"]\""},
"EntityProperty"], "]"}], " ", "+", " ",
RowBox[{
TemplateBox[{"\"carbon\"",RowBox[{"Entity", "[",
RowBox[{"\"Element\"", ",", "\"Carbon\""}], "]"}],
"\"Entity[\\\"Element\\\", \\\"Carbon\\\"]\"","\"element\""},
"Entity"], "[",
TemplateBox[{"\"atomic mass\"",RowBox[{"EntityProperty", "[",
RowBox[{"\"Element\"", ",", "\"AtomicMass\""}], "]"}],
"\"EntityProperty[\\\"Element\\\", \\\"AtomicMass\\\"]\""},
"EntityProperty"], "]"}], "+",
RowBox[{"3",
RowBox[{
TemplateBox[{"\"hydrogen\"",RowBox[{"Entity", "[",
RowBox[{"\"Element\"", ",", "\"Hydrogen\""}], "]"}],
"\"Entity[\\\"Element\\\", \\\"Hydrogen\\\"]\"","\"element\""},
"Entity"], "[",
TemplateBox[{"\"atomic mass\"",RowBox[{"EntityProperty", "[",
RowBox[{"\"Element\"", ",", "\"AtomicMass\""}], "]"}],
"\"EntityProperty[\\\"Element\\\", \\\"AtomicMass\\\"]\""},
"EntityProperty"], "]"}]}]}], ")"}]}], ";"}],
RowBox[{"(*",
RowBox[{"mass", " ", "of", " ", "molecule"}],
"*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"tdecay", "=",
TemplateBox[{"35","\"ns\"","nanoseconds","\"Nanoseconds\""},
"Quantity"]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"vrecoil", "=",
RowBox[{"QuantityMagnitude", "@",
RowBox[{"UnitConvert", "[",
RowBox[{
FractionBox[
TemplateBox[{
InterpretationBox["\[InvisibleSpace]", 1],StyleBox[
"\"h\"", Italic, StripOnInput -> False],"Planck constants",
"\"PlanckConstant\""},
"Quantity"], "\[Lambda]"], "/", "mCaOCH3"}], "]"}]}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"ftoa", "=",
RowBox[{"QuantityMagnitude", "@",
RowBox[{"UnitConvert", "@",
RowBox[{"(",
RowBox[{
RowBox[{"(",
RowBox[{
TemplateBox[{
InterpretationBox["\[InvisibleSpace]", 1],"\"\[HBar]\"",
"reduced Planck constants","\"ReducedPlanckConstant\""},
"Quantity"],
RowBox[{"(",
FractionBox[
RowBox[{"2", "\[Pi]"}], "\[Lambda]"], ")"}],
RowBox[{"(",
FractionBox["1", "tdecay"], ")"}]}], ")"}], "/", "mCaOCH3"}],
")"}]}]}]}], ";"}],
RowBox[{"(*",
RowBox[{"conversion", " ", "between", " ", "force", " ", "and", " ",
RowBox[{"acceleration", ":", " ",
RowBox[{"m", "/",
RowBox[{"s", "^", "2"}]}]}]}], "*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"rtor", "=",
RowBox[{"QuantityMagnitude", "@",
RowBox[{"UnitConvert", "@",
RowBox[{"(",
FractionBox["1", "tdecay"], ")"}]}]}]}], ";"}],
RowBox[{"(*",
RowBox[{"factor", " ", "for", " ", "scattering", " ",
RowBox[{"rate", ":", " ", "MHz"}]}], "*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"vtov", "=",
RowBox[{"QuantityMagnitude", "@",
RowBox[{"UnitConvert", "@",
RowBox[{"(",
RowBox[{
RowBox[{"(",
RowBox[{"(",
FractionBox["1", "tdecay"], ")"}], ")"}], "/",
RowBox[{"(",
FractionBox[
RowBox[{"2", "\[Pi]"}], "\[Lambda]"], ")"}]}], ")"}]}]}]}], ";"}],
RowBox[{"(*",
RowBox[{"factor", " ", "for", " ",
RowBox[{"velocity", ":", " ",
RowBox[{"m", "/", "s"}]}]}], "*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"\[Beta]toB", "=",
RowBox[{"QuantityMagnitude", "@",
RowBox[{"(",
RowBox[{"UnitConvert", "[",
RowBox[{
RowBox[{"(",
RowBox[{
TemplateBox[{
InterpretationBox["\[InvisibleSpace]", 1],"\"\[HBar]\"",
"reduced Planck constants","\"ReducedPlanckConstant\""},
"Quantity"],
RowBox[{
RowBox[{"(",
FractionBox["1", "tdecay"], ")"}], "/",
TemplateBox[{
InterpretationBox["\[InvisibleSpace]", 1],SubscriptBox[
"\"\[Mu]\"", "\"B\""],"Bohr magnetons","\"BohrMagneton\""},
"Quantity"]}]}], ")"}], ",", "\"\<Gauss\>\""}], "]"}], ")"}]}]}],
";"}],
RowBox[{"(*",
RowBox[{"factor", " ", "for", " ", "B", " ",
RowBox[{"field", ":", " ",
RowBox[{"m", "/", "s"}]}]}], "*)"}], "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"cooling", " ", "beam", " ", "parameters"}],
"*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"\[Lambda]", "=",
RowBox[{"Quantity", "[",
RowBox[{"629.483", ",", "\"\<Nanometers\>\""}], "]"}]}], ";"}],
RowBox[{"(*",
RowBox[{"wavelength", " ", "of", " ", "cooling", " ", "light"}],
"*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"dFWHM", "=",
RowBox[{"0.001",
RowBox[{
RowBox[{"(",
RowBox[{"3.14", "+", "3.63"}], ")"}], "/", "2"}]}]}], ";"}],
RowBox[{"(*",
RowBox[{
"FWHM", " ", "diameter", " ", "of", " ", "cooling", " ", "beam", " ",
RowBox[{"(", "mm", ")"}]}], "*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"waist", "=",
RowBox[{"dFWHM", "/",
SqrtBox[
RowBox[{"2",
RowBox[{"Log", "[", "2", "]"}]}]]}]}],
RowBox[{"(*",
RowBox[{"waist", " ", "of", " ", "cooling", " ", "beam"}], "*)"}],
";"}], "\[IndentingNewLine]",
RowBox[{"Clear", "@", "intensity"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"intensity", "[",
RowBox[{"x_", ",", "y_"}], "]"}], ":=",
RowBox[{
RowBox[{"Exp", "[",
RowBox[{
RowBox[{"-", "2"}],
FractionBox[
RowBox[{
SuperscriptBox["x", "2"], "+",
SuperscriptBox["y", "2"]}],
SuperscriptBox["waist", "2"]]}], "]"}], "/",
RowBox[{"QuantityMagnitude", "[", "isat", "]"}]}]}]}], "Input",
CellChangeTimes->{{3.7761641907194366`*^9, 3.776164336741789*^9}, {
3.7761653506587815`*^9, 3.7761653509707994`*^9}, {3.776165733958705*^9,
3.7761657855236545`*^9}, {3.7761660864288654`*^9, 3.776166096684452*^9}, {
3.776166176176998*^9, 3.77616619823426*^9}, {3.776174190264378*^9,
3.776174356548889*^9}, {3.7761749521009526`*^9, 3.7761750385358963`*^9},
3.7761751157303114`*^9, {3.7761754140093727`*^9, 3.7761755970208397`*^9}, {
3.776175670767058*^9, 3.7761756742042546`*^9}, {3.776175798734377*^9,
3.7761758140042505`*^9}, {3.776175876496825*^9, 3.7761758797370105`*^9}, {
3.776176225567791*^9, 3.776176247109023*^9}, {3.7761768649443607`*^9,
3.7761768726027994`*^9}, {3.7761787953527737`*^9, 3.7761787957998*^9},
3.776179610088374*^9, 3.7761806957084684`*^9, {3.776181246312961*^9,
3.7761812481040635`*^9}, 3.77618714732848*^9, {3.7764500386062393`*^9,
3.776450043356511*^9}, {3.776453015047804*^9, 3.776453022894278*^9}, {
3.776454290742094*^9, 3.776454291145746*^9}, {3.776512178631446*^9,
3.776512185775854*^9}, 3.7766090396807213`*^9, {3.7766108388396273`*^9,
3.7766108499922657`*^9}, 3.776611073420045*^9, 3.7766114070521274`*^9, {
3.7766836914685593`*^9, 3.7766836917675767`*^9}, 3.7767639944156256`*^9, {
3.7767641554678373`*^9, 3.776764156185878*^9}, 3.776771637345776*^9, {
3.776782201463009*^9, 3.7767822197990575`*^9}, {3.776877846739606*^9,
3.776877846969619*^9}, {3.777021676241183*^9, 3.777021700023543*^9}, {
3.7770217330344315`*^9, 3.777021762022089*^9}, {3.777022084594539*^9,
3.7770220859286156`*^9}, {3.7770222056024604`*^9,
3.7770222220113993`*^9}, {3.7770223350208626`*^9, 3.777022343628355*^9}, {
3.777040229651377*^9, 3.777040270580718*^9}, {3.7771120748355474`*^9,
3.7771120752125688`*^9}, {3.777114031708474*^9, 3.7771140323655114`*^9}, {
3.777124490246668*^9, 3.777124501578316*^9}, {3.77712482072057*^9,
3.7771248231207075`*^9}, 3.7772255723639936`*^9, {3.777225606641954*^9,
3.777225607937028*^9}, {3.7772264347433186`*^9, 3.777226485770237*^9}, {
3.77737137364135*^9, 3.777371374136378*^9}, {3.777371871087802*^9,
3.7773718712168093`*^9}, {3.777372961831189*^9, 3.777372972679809*^9}, {
3.7773735919552298`*^9, 3.7773736257271614`*^9}, {3.7773748914325557`*^9,
3.7773748935846786`*^9}, {3.7773765409949055`*^9, 3.7773765411869164`*^9},
3.7773771379900513`*^9, {3.777377524087135*^9, 3.77737752418114*^9}, {
3.77737832213278*^9, 3.777378323507859*^9}, 3.777378430727992*^9, {
3.7773891257443*^9, 3.777389126039317*^9}, {3.7774610138511925`*^9,
3.777461020172554*^9}, {3.777677252838169*^9, 3.7776772531451864`*^9}, {
3.778234441374858*^9, 3.778234480074332*^9}, {3.778234713548769*^9,
3.778234713812348*^9}, {3.778236292510146*^9, 3.778236324139155*^9}, {
3.778248551681801*^9, 3.7782485597932653`*^9}, {3.778322789810979*^9,
3.778322790842038*^9}, 3.778322934753269*^9, {3.7784319254458*^9,
3.778431926013832*^9}, {3.7785050069928246`*^9, 3.778505095327877*^9}, {
3.778505510204607*^9, 3.778505514157833*^9}, {3.7785056264672565`*^9,
3.778505627617323*^9}, {3.77850634806553*^9, 3.7785063761651373`*^9}, {
3.7785068683292875`*^9, 3.7785068685483*^9}, {3.778508125528632*^9,
3.7785081344707017`*^9}, 3.7785089685196924`*^9, {3.778512730933878*^9,
3.778512732057865*^9}, 3.7785128451581945`*^9, {3.7785133717459326`*^9,
3.778513380488564*^9}, {3.7785135038623714`*^9, 3.7785135039511585`*^9}, {
3.778513882983816*^9, 3.778513883052623*^9}, {3.7785139881792965`*^9,
3.778513989040989*^9}, {3.778580089267271*^9, 3.778580090294496*^9}, {
3.778580193523275*^9, 3.778580198619627*^9}, {3.778580694010886*^9,
3.7785807067567725`*^9}, {3.778580977257877*^9, 3.7785809776647873`*^9}, {
3.7785816253504715`*^9, 3.778581634876973*^9}, {3.7785818348308673`*^9,
3.778581834964508*^9}, {3.778582084632372*^9, 3.778582085116069*^9}, {
3.7785839806908946`*^9, 3.7785839807437525`*^9}, {3.778584629331064*^9,
3.7785846330919995`*^9}, {3.77858620480285*^9, 3.778586204882641*^9}, {
3.7785865438305635`*^9, 3.778586546577207*^9}, {3.778587063774083*^9,
3.778587079307542*^9}, {3.7943917315833445`*^9, 3.7943917462031775`*^9}, {
3.7943993787477093`*^9, 3.79439940508922*^9}, {3.79439974047785*^9,
3.7943999102117624`*^9}, {3.7944000427045436`*^9, 3.794400069928785*^9}, {
3.794400181990406*^9, 3.7944002039072456`*^9}, {3.7944003153392944`*^9,
3.7944003177707515`*^9}, {3.7944014839194455`*^9, 3.794401484215206*^9}, {
3.7944030500942745`*^9, 3.7944030610929365`*^9}, {3.7944034255038767`*^9,
3.794403427639406*^9}, {3.7944036365259123`*^9, 3.7944036665855007`*^9}, {
3.794413638482148*^9, 3.7944136399484124`*^9}, {3.794413711472114*^9,
3.7944137115628767`*^9}, {3.7944240465321627`*^9,
3.7944240531391163`*^9}, {3.7944289146814613`*^9,
3.7944289152098975`*^9}, {3.7944303389501343`*^9, 3.794430367759261*^9}, {
3.7944355785451837`*^9, 3.794435604134654*^9}, {3.794440519009368*^9,
3.794440519526306*^9}, {3.7944405792578974`*^9, 3.7944405806060176`*^9}, {
3.794440613511942*^9, 3.7944406136195626`*^9}, {3.7944415129220657`*^9,
3.7944415133168836`*^9}, {3.7944415450847225`*^9, 3.794441545232836*^9}, {
3.794441630642764*^9, 3.7944416814348936`*^9}, {3.7944542963291955`*^9,
3.79445429639754*^9}, {3.794454591663227*^9, 3.7944545933616095`*^9}, {
3.79445465437789*^9, 3.794454660437259*^9}, {3.7944556738825035`*^9,
3.7944556743542356`*^9}, {3.7944557208102355`*^9,
3.7944557211461773`*^9}, {3.7944557522253675`*^9,
3.7944557524654446`*^9}, {3.794455788580146*^9, 3.7944557891071796`*^9}, {
3.794484261132514*^9, 3.794484261651701*^9}, {3.7944842976101856`*^9,
3.7944842977658577`*^9}, {3.7946054360981073`*^9,
3.7946054371171503`*^9}, {3.7946140583265257`*^9,
3.7946140644404287`*^9}, {3.7946181393658533`*^9, 3.794618141151183*^9},
3.794655578350626*^9, {3.7946777806380777`*^9, 3.794677782018899*^9}, {
3.7946780498786383`*^9, 3.794678050098687*^9}, {3.7947574879710608`*^9,
3.794757490437614*^9}, {3.794759610323228*^9, 3.7947596608794155`*^9}, {
3.794775820754927*^9, 3.7947758294865265`*^9}, {3.7947759351731215`*^9,
3.7947759354891944`*^9}, {3.7947936440156813`*^9,
3.7947936500202117`*^9}, {3.7947975354674206`*^9, 3.794797536631342*^9}, {
3.7947994308070927`*^9, 3.7947994325905094`*^9}, {3.7947994634169645`*^9,
3.794799467079652*^9}, {3.7948262468383207`*^9, 3.7948262484526834`*^9}, {
3.7948264564614005`*^9, 3.794826460757368*^9}, {3.7948265945110607`*^9,
3.794826596095416*^9}, {3.7948358694855704`*^9, 3.794835872614273*^9}, {
3.8012611162574234`*^9, 3.801261122825426*^9}, {3.801266892436345*^9,
3.8012669125845547`*^9}, {3.8012669477628183`*^9,
3.8012669493186655`*^9}, {3.8012671428375564`*^9,
3.8012671511164303`*^9}, {3.8012734036885853`*^9, 3.801273423059538*^9}, {
3.801275191535077*^9, 3.801275225064637*^9}, {3.8012753113665752`*^9,
3.801275312173647*^9}, {3.80127746279447*^9, 3.8012774677496223`*^9}, {
3.8012775148166676`*^9, 3.8012775157468753`*^9}, {3.801354980092315*^9,
3.8013549845919433`*^9}, 3.8013554408241215`*^9, {3.8014817866955547`*^9,
3.801481786951611*^9}, {3.80155691072915*^9, 3.8015569158790207`*^9}, {
3.80155703681548*^9, 3.801557053096414*^9}, {3.801557230575369*^9,
3.801557258170372*^9}, {3.8018351988553405`*^9, 3.801835199228504*^9}, {
3.801835251831071*^9, 3.801835253448409*^9}, {3.8018352993836184`*^9,
3.801835304281185*^9}, {3.8018435263363857`*^9, 3.801843527311673*^9}, {
3.801843562268626*^9, 3.801843567225281*^9}, {3.8018604761108923`*^9,
3.8018605009090157`*^9}, {3.8018636503801975`*^9,
3.8018636924791365`*^9}, {3.801881478763352*^9, 3.8018814914698844`*^9}, {
3.8018815346716337`*^9, 3.8018815372902107`*^9}, {3.8018816193803368`*^9,
3.801881631221342*^9}, {3.801881663856637*^9, 3.8018816826883764`*^9}, {
3.801884502031747*^9, 3.8018845085764575`*^9}, {3.801885527116788*^9,
3.801885549893566*^9}, {3.801885591498884*^9, 3.801885609367434*^9}, {
3.801886811254795*^9, 3.8018868266043053`*^9}, {3.8018871939628544`*^9,
3.80188720622418*^9}, {3.8018874912602634`*^9, 3.801887513696555*^9},
3.8019126044408255`*^9, 3.8019126401020937`*^9, {3.801913703780259*^9,
3.8019137131538625`*^9}, {3.801914533535617*^9, 3.8019145465748844`*^9}, {
3.801917715734974*^9, 3.8019177240653973`*^9}, {3.801918918158475*^9,
3.801918928524885*^9}, {3.8019189640064726`*^9, 3.80191896722381*^9}, {
3.801919447247379*^9, 3.80191945816234*^9}, {3.80191967823343*^9,
3.8019196784274735`*^9}, {3.801919988170961*^9, 3.8019199882729845`*^9}, {
3.801920080560355*^9, 3.801920080632371*^9}, {3.801920161054385*^9,
3.8019201630568333`*^9}, {3.80192058888855*^9, 3.801920588971072*^9}, {
3.8019206919477973`*^9, 3.801920692909019*^9}, {3.801920855965064*^9,
3.8019208563286486`*^9}, {3.8019210370980864`*^9,
3.8019210372391176`*^9}, {3.8019214132849493`*^9, 3.801921419886386*^9},
3.801921754357629*^9, 3.801921789960856*^9, {3.8019230402960997`*^9,
3.8019230460870066`*^9}, {3.801923687451543*^9, 3.8019237274919777`*^9}, {
3.80192500696103*^9, 3.8019250193164663`*^9}, {3.8019251638999324`*^9,
3.8019251799082904`*^9}, {3.8019255208239965`*^9, 3.801925521139083*^9}, {
3.8019256044624834`*^9, 3.8019256047814846`*^9}, 3.8019266520627556`*^9, {
3.8019270021560082`*^9, 3.8019270088705397`*^9}, {3.80192810113472*^9,
3.801928105640748*^9}, {3.8019287570098066`*^9, 3.801928757096821*^9}, {
3.8019287875099907`*^9, 3.80192879357106*^9}, {3.801929429615091*^9,
3.801929448310198*^9}, {3.801931321865648*^9, 3.8019313219472027`*^9}, {
3.8019313699247885`*^9, 3.801931375989208*^9}, {3.8019314696501055`*^9,
3.8019314782739744`*^9}, {3.8019318193200593`*^9,
3.8019318490900807`*^9}, {3.801932472348931*^9, 3.8019324881582108`*^9}, {
3.8019333927410126`*^9, 3.8019334579708796`*^9}, {3.8019341414483085`*^9,
3.8019341490697937`*^9}, {3.801934971747822*^9, 3.801934977863535*^9}, {
3.8019350587902174`*^9, 3.8019350635305753`*^9}, {3.8019357693104725`*^9,
3.801935775399001*^9}, {3.8019361835221834`*^9, 3.8019362099822445`*^9}, {
3.801938240069064*^9, 3.801938256336527*^9}, {3.801939291495164*^9,
3.8019393098834767`*^9}, {3.8019441450109024`*^9, 3.801944169672052*^9}, {
3.8019446316809015`*^9, 3.8019446317390504`*^9}, {3.8019446855227337`*^9,
3.801944708947871*^9}, {3.801944898392271*^9, 3.801944957787821*^9}, {
3.80194556260907*^9, 3.801945580814294*^9}, {3.8020237728458967`*^9,
3.8020238267919226`*^9}, {3.8020250819067717`*^9, 3.802025138044566*^9}, {
3.8020251828445807`*^9, 3.8020252422776127`*^9}, {3.8020338864454813`*^9,
3.802033899292673*^9}, {3.8020340446779575`*^9, 3.8020340450990767`*^9}, {
3.8020376917131567`*^9, 3.8020376986523886`*^9}, {3.802045550041193*^9,
3.8020455799706388`*^9}, {3.8020472326531725`*^9,
3.8020472365484123`*^9}, {3.80205583765518*^9, 3.8020558654649405`*^9}, {
3.802192966157908*^9, 3.802193015278722*^9}, {3.802284200016081*^9,
3.802284203163167*^9}, {3.802286297496386*^9, 3.802286302325402*^9}, {
3.8023075309357986`*^9, 3.8023075371552486`*^9}, {3.802439986721073*^9,
3.8024399924906583`*^9}, {3.8024604615931597`*^9, 3.802460462602696*^9}, {
3.8024606886005917`*^9, 3.802460693720007*^9}, {3.8025241997037287`*^9,
3.8025242010632315`*^9}, {3.802601041649931*^9, 3.802601041835507*^9},
3.8026022235362706`*^9, {3.8029665316506553`*^9, 3.8029665521514*^9},
3.8029708884425173`*^9, {3.8029729099896936`*^9, 3.8029729114660296`*^9}, {
3.8029799037006073`*^9, 3.8029799101612024`*^9}, {3.802981706395821*^9,
3.802981708037957*^9}, {3.802984167405116*^9, 3.8029841705401955`*^9}, {
3.8029844858643*^9, 3.802984488527766*^9}, {3.8029852443625526`*^9,
3.8029852459628906`*^9}, 3.802985502581078*^9, {3.8029874407260776`*^9,
3.802987440814825*^9}, {3.8029875606705155`*^9, 3.8029876249280014`*^9},
3.8029923468356586`*^9, {3.8029991465710597`*^9, 3.8029991568263674`*^9}, {
3.803002843112645*^9, 3.8030028432952547`*^9}, 3.8030641141766253`*^9, {
3.803082692456439*^9, 3.8030827081777987`*^9}, {3.8031220745175586`*^9,
3.803122077241346*^9}, {3.80314259386303*^9, 3.8031425982955956`*^9},
3.803150262155367*^9,
3.8033056168689795`*^9},ExpressionUUID->"7824fddb-3943-46b5-acd8-\
799c34acddf8"]
}, Open ]],
Cell[CellGroupData[{
Cell["Load force data", "Subsection",
CellChangeTimes->{{3.7701329614446096`*^9, 3.7701329832348557`*^9}, {
3.774612466089605*^9, 3.7746124720577526`*^9}, {3.7746226304517884`*^9,
3.774622638368577*^9}, {3.7746226690289564`*^9, 3.7746226695757027`*^9}, {
3.776165362372452*^9, 3.776165368372795*^9}, {3.8012614284506035`*^9,
3.80126143387082*^9}},ExpressionUUID->"c541093d-3069-439e-a54a-\
d38289364e3b"],
Cell[BoxData[{
RowBox[{
RowBox[{"rawdata", "=",
RowBox[{"Import", "[",
RowBox[{"fname32", ",", "\"\<CSV\>\"", ",",
RowBox[{"HeaderLines", "\[Rule]", "1"}]}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"indices", " ", "=", " ",
RowBox[{"DeleteCases", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"Table", "[",
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"rawdata", "[",
RowBox[{"[",
RowBox[{"i", ",",
RowBox[{"1", ";;", "4"}]}], "]"}], "]"}], "!=",
RowBox[{"rawdata", "[",
RowBox[{"[",
RowBox[{
RowBox[{"i", "+", "1"}], ",",
RowBox[{"1", ";;", "4"}]}], "]"}], "]"}]}], ",", "i", ",",
"None"}], "]"}], ",",
RowBox[{"{",
RowBox[{"i", ",",
RowBox[{
RowBox[{"Length", "@", "rawdata"}], "-", "1"}]}], "}"}]}], "]"}],
",", "\[IndentingNewLine]", "None"}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"data", "=",
RowBox[{"Append", "[",
RowBox[{
RowBox[{"rawdata", "[",
RowBox[{"[", "indices", "]"}], "]"}], ",",
RowBox[{"rawdata", "[",
RowBox[{"[",
RowBox[{"-", "1"}], "]"}], "]"}]}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"data", " ", "=", " ",
RowBox[{"Select", "[",
RowBox[{"data", ",",
RowBox[{
RowBox[{
RowBox[{"#", "[",
RowBox[{"[", "4", "]"}], "]"}], "\[NotEqual]", "0"}], "&"}]}],
"]"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"data", "=",
RowBox[{"Join", "[",
RowBox[{"data", ",",
RowBox[{"(",
RowBox[{"data", "/.",
RowBox[{
RowBox[{"{",
RowBox[{
"a_", ",", "b_", ",", "c_", ",", "d_", ",", "e_", ",", "f_"}], "}"}],
"\[Rule]",
RowBox[{"{",
RowBox[{"a", ",", "b", ",", "c", ",",
RowBox[{"-", "d"}], ",",
RowBox[{"-", "e"}], ",", "f"}], "}"}]}]}], ")"}]}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Bs", "=",
RowBox[{"\[Beta]toB", " ",
RowBox[{"data", "[",
RowBox[{"[",
RowBox[{";;", ",", "1"}], "]"}], "]"}]}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"s0s", "=",
RowBox[{"data", "[",
RowBox[{"[",
RowBox[{";;", ",", "2"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"\[CapitalDelta]s", "=",
RowBox[{"data", "[",
RowBox[{"[",
RowBox[{";;", ",", "3"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"vs", "=",
RowBox[{"vtov", " ",
RowBox[{"data", "[",
RowBox[{"[",
RowBox[{";;", ",", "4"}], "]"}], "]"}]}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"as", "=",
RowBox[{"ftoa", " ",
RowBox[{"data", "[",
RowBox[{"[",
RowBox[{";;", ",", "5"}], "]"}], "]"}]}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"rs", "=",
RowBox[{"rtor", " ",
RowBox[{"data", "[",
RowBox[{"[",
RowBox[{";;", ",", "6"}], "]"}], "]"}]}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"ainterp32", " ", "=", " ",
RowBox[{
RowBox[{
RowBox[{"Interpolation", "[",
RowBox[{"#", ",",
RowBox[{"InterpolationOrder", "\[Rule]", "1"}], ",",
RowBox[{"\"\<ExtrapolationHandler\>\"", "\[Rule]",
RowBox[{"{",
RowBox[{
RowBox[{"(",
RowBox[{"0.0", "&"}], ")"}], ",",
RowBox[{"\"\<WarningMessage\>\"", "\[Rule]", "False"}]}], "}"}]}]}],
"]"}], "&"}], "@",
RowBox[{"Table", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"Bs", "[",
RowBox[{"[", "i", "]"}], "]"}], ",",
RowBox[{"s0s", "[",
RowBox[{"[", "i", "]"}], "]"}], ",",
RowBox[{"\[CapitalDelta]s", "[",
RowBox[{"[", "i", "]"}], "]"}], ",",
RowBox[{"vs", "[",
RowBox[{"[", "i", "]"}], "]"}]}], "}"}], ",",
RowBox[{"as", "[",
RowBox[{"[", "i", "]"}], "]"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"i", ",",
RowBox[{"Length", "@", "data"}]}], "}"}]}], "]"}]}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"rinterp32", " ", "=", " ",
RowBox[{
RowBox[{
RowBox[{"Interpolation", "[",
RowBox[{"#", ",",
RowBox[{"InterpolationOrder", "\[Rule]", "1"}], ",",
RowBox[{"\"\<ExtrapolationHandler\>\"", "\[Rule]",
RowBox[{"{",
RowBox[{
RowBox[{"(",
RowBox[{"0.0", "&"}], ")"}], ",",
RowBox[{"\"\<WarningMessage\>\"", "\[Rule]", "False"}]}], "}"}]}]}],
"]"}], "&"}], "@",
RowBox[{"Table", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"Bs", "[",
RowBox[{"[", "i", "]"}], "]"}], ",",
RowBox[{"s0s", "[",
RowBox[{"[", "i", "]"}], "]"}], ",",
RowBox[{"\[CapitalDelta]s", "[",
RowBox[{"[", "i", "]"}], "]"}], ",",
RowBox[{"vs", "[",
RowBox[{"[", "i", "]"}], "]"}]}], "}"}], ",",
RowBox[{"rs", "[",
RowBox[{"[", "i", "]"}], "]"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"i", ",",
RowBox[{"Length", "@", "data"}]}], "}"}]}], "]"}]}]}],
";"}]}], "Input",
CellChangeTimes->{{3.778505649547577*^9, 3.778505653284791*^9}, {
3.7785063666755943`*^9, 3.7785063691387353`*^9}, 3.7947758423822217`*^9,
3.7948263883006372`*^9, {3.8019197966919465`*^9, 3.801919800500352*^9}, {
3.8020252504946136`*^9, 3.8020252515925426`*^9}, {3.803091642178816*^9,
3.803091642327849*^9}, {3.803091700347459*^9, 3.8030917004844894`*^9}, {
3.8030917767375546`*^9, 3.8030917789280453`*^9}},
CellLabel->"In[16]:=",ExpressionUUID->"a22cab01-84b6-4910-a8ee-e13c7c9bda3f"],
Cell[CellGroupData[{
Cell["Define function to initialize particles", "Subsubsection",
CellChangeTimes->{{3.7701329614446096`*^9, 3.7701329832348557`*^9}, {
3.774612466089605*^9, 3.7746124720577526`*^9}, {3.7746226304517884`*^9,
3.774622638368577*^9}, {3.7746226690289564`*^9, 3.7746226695757027`*^9}, {
3.776165362372452*^9, 3.776165381438542*^9}, {3.7761656187571163`*^9,
3.7761656250464754`*^9}, {3.8012752430432863`*^9,
3.801275254375457*^9}},ExpressionUUID->"2086d6f6-0d0b-40d9-a62f-\
2851fbd41666"],
Cell[BoxData[
RowBox[{
RowBox[{"InitializeParticles", "[",
RowBox[{
"nparticles_", ",", "daperture_", ",", "dcell_", ",", "zaperture_", ",",
"vzmin_", ",", "vzavg_", ",", "vzstd_", ",", "vxstd_", ",", " ", "zcool_",
",", "xstd_"}], "]"}], ":=",
RowBox[{"ParallelTable", "[",
RowBox[{
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{"vzinit", ",", "vxinit", ",", "vyinit", ",",
RowBox[{"xinit", "=",
RowBox[{"daperture", "+", "dcell", "+", "1"}]}], ",",
RowBox[{"yinit", "=",
RowBox[{"daperture", "+", "dcell", "+", "1"}]}]}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"While", "[",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Abs", "[", "xinit", "]"}], " ", ">", " ",
RowBox[{"daperture", "/", "2"}]}], " ", "||", " ",
RowBox[{
RowBox[{"Abs", "[", "yinit", "]"}], " ", ">", " ",
RowBox[{"daperture", "/", "2"}]}]}], ",", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"Create", " ", "particles", " ", "at", " ", "cell"}],
"*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"vzinit", "=",
RowBox[{"Map", "[",
RowBox[{
RowBox[{
RowBox[{"Max", "[",
RowBox[{"vzmin", ",", "#"}], "]"}], "&"}], ",",
RowBox[{"RandomVariate", "[",
RowBox[{"NormalDistribution", "[",
RowBox[{"vzavg", ",", " ", "vzstd"}], "]"}], "]"}]}], "]"}]}],
";", "\[IndentingNewLine]",
RowBox[{"vxinit", "=",
RowBox[{"RandomVariate", "[",
RowBox[{"NormalDistribution", "[",
RowBox[{"0", ",", " ", "vxstd"}], "]"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"vyinit", "=",
RowBox[{"RandomVariate", "[",
RowBox[{"NormalDistribution", "[",
RowBox[{"0", ",", " ", "vxstd"}], "]"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"xinit", "=",
RowBox[{"RandomVariate", "[",
RowBox[{"NormalDistribution", "[",
RowBox[{"0", ",", " ", "xstd"}], "]"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"yinit", "=",
RowBox[{"RandomVariate", "[",
RowBox[{"NormalDistribution", "[",
RowBox[{"0", ",", " ", "xstd"}], "]"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"Propagate", " ", "to", " ", "aperture"}], "*)"}],
"\[IndentingNewLine]",
RowBox[{"xinit", "+=",
RowBox[{"vxinit", "*",
RowBox[{"(",
RowBox[{"zaperture", "/", "vzinit"}], ")"}]}]}], ";",
"\[IndentingNewLine]",
RowBox[{"yinit", "+=",
RowBox[{"vyinit", "*",
RowBox[{"(",
RowBox[{"zaperture", "/", "vzinit"}], ")"}]}]}], ";"}]}],
"\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
"propagate", " ", "to", " ", "start", " ", "of", " ", "cooling", " ",
"region"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"xinit", "+=",
RowBox[{"vxinit", " ",
RowBox[{"zcool", "/", "vzinit"}]}]}], ";", "\[IndentingNewLine]",
RowBox[{"yinit", "+=",
RowBox[{"vyinit", " ",
RowBox[{"zcool", "/", "vzinit"}]}]}], ";", "\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
"xinit", ",", "vxinit", ",", "vzinit", ",", "yinit", ",", "vyinit"}],
"}"}]}]}], "]"}], ",", "\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"i", ",", "nparticles"}], "}"}], ",",
RowBox[{"Method", "\[Rule]", "\"\<CoarsestGrained\>\""}]}],
"]"}]}]], "Input",
CellChangeTimes->{{3.8020534368028145`*^9, 3.8020534564815226`*^9}, {
3.80205354327876*^9, 3.802053544925171*^9}},
CellLabel->"In[21]:=",ExpressionUUID->"faefb1d2-c143-4cf4-bbad-8f8982efcabd"]
}, Open ]],
Cell[CellGroupData[{
Cell["Define function to simulate trajectories", "Subsubsection",
CellChangeTimes->{{3.7701329614446096`*^9, 3.7701329832348557`*^9}, {
3.774612466089605*^9, 3.7746124720577526`*^9}, {3.7746226304517884`*^9,
3.774622638368577*^9}, {3.7746226690289564`*^9, 3.7746226695757027`*^9}, {
3.776165362372452*^9, 3.776165395656355*^9}, 3.776165630526789*^9, {
3.794530301368927*^9, 3.7945303021651297`*^9}, {3.8012752498082466`*^9,
3.8012752521148233`*^9}},ExpressionUUID->"20effcbb-203d-40b4-8029-\
107270944d9f"],
Cell[BoxData[
RowBox[{
RowBox[{"SimulateTrajectoryFast", "[",
RowBox[{
RowBox[{"{",
RowBox[{"x0_", ",", "vx0_", ",", "vz_", ",", "y0_", ",", "vy_"}], "}"}],
",", "\[Beta]_", ",", "p_", ",", "\[CapitalDelta]_", ",",
"nscatteravg_"}], "]"}], ":=",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{"eqns", ",", "tmax", ",", "tend", ",", "sol", ",", "nscatter"}],
"}"}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"nscatter", "=",
RowBox[{"RandomVariate", "[",
RowBox[{"ExponentialDistribution", "[",
FractionBox["1", "nscatteravg"], "]"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"tmax", "=",
RowBox[{"lcool", "/", "vz"}]}], ";", "\[IndentingNewLine]",
RowBox[{"decayed", "=", "0"}], ";", "\[IndentingNewLine]",
RowBox[{"eqns", "=",
RowBox[{"{", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"vx", "[", "0", "]"}], "\[Equal]", "vx0"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"x", "[", "0", "]"}], "\[Equal]", "x0"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"n", "[", "0", "]"}], "\[Equal]", "0"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"vx", "'"}], "[", "t", "]"}], "\[Equal]",
RowBox[{"ainterp", "[",
RowBox[{"\[Beta]", ",",
RowBox[{"p", " ",
RowBox[{"intensity", "[",
RowBox[{
RowBox[{
RowBox[{"vz", " ", "t"}], "-",
RowBox[{"lcool", "/", "2"}]}], ",", " ",
RowBox[{"y0", "+",
RowBox[{"vy", " ", "t"}]}]}], "]"}]}], ",", "\[CapitalDelta]",
",",
RowBox[{"vx", "[", "t", "]"}]}], "]"}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"x", "'"}], "[", "t", "]"}], "\[Equal]",
RowBox[{"vx", "[", "t", "]"}]}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"n", "'"}], "[", "t", "]"}], "\[Equal]",
RowBox[{"rinterp", "[",
RowBox[{"\[Beta]", ",",
RowBox[{"p", " ",
RowBox[{"intensity", "[",
RowBox[{
RowBox[{
RowBox[{"vz", " ", "t"}], "-",
RowBox[{"lcool", "/", "2"}]}], ",", " ",
RowBox[{"y0", "+",
RowBox[{"vy", " ", "t"}]}]}], "]"}]}], ",", "\[CapitalDelta]",
",",
RowBox[{"vx", "[", "t", "]"}]}], "]"}]}], ",",
"\[IndentingNewLine]",
RowBox[{"WhenEvent", "[",
RowBox[{
RowBox[{
RowBox[{"n", "[", "t", "]"}], ">", "nscatter"}], ",",
"\"\<StopIntegration\>\""}], "]"}], ",", "\[IndentingNewLine]",
RowBox[{"WhenEvent", "[",
RowBox[{
RowBox[{
RowBox[{"Mod", "[",
RowBox[{
RowBox[{"n", "[", "t", "]"}], ",", "1"}], "]"}], ">", "0.5"}],
",",
RowBox[{
RowBox[{"vx", "[", "t", "]"}], "\[Rule]",
RowBox[{
RowBox[{"vx", "[", "t", "]"}], "+",
RowBox[{"RandomReal", "[",
RowBox[{"{",
RowBox[{
RowBox[{"-", "vrecoil"}], ",", "vrecoil"}], "}"}], "]"}]}]}]}],
"]"}], ",", "\[IndentingNewLine]",
RowBox[{"WhenEvent", "[",
RowBox[{
RowBox[{
RowBox[{"n", "[", "t", "]"}], ">", "nscatter"}], ",", " ",
RowBox[{"decayed", "=", "1"}]}], "]"}]}], "\[IndentingNewLine]",
"}"}]}], ";", "\[IndentingNewLine]",
RowBox[{"sol", "=",
RowBox[{"First", "@",
RowBox[{"NDSolve", "[",
RowBox[{"eqns", ",",
RowBox[{"{",
RowBox[{"x", ",", "vx", ",", "n"}], "}"}], ",",
RowBox[{"{",
RowBox[{"t", ",", "0", ",", "tmax"}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"AccuracyGoal", "\[Rule]", "5"}], ",", "\[IndentingNewLine]",
RowBox[{"PrecisionGoal", "\[Rule]", "3"}]}], "]"}]}]}], ";",
"\[IndentingNewLine]",
RowBox[{"tend", "=",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"x", "[", "\"\<Domain\>\"", "]"}], "/.", "sol"}], ")"}], "[",
RowBox[{"[",
RowBox[{"1", ",", "2"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{"x", "[", "tend", "]"}], "+",
RowBox[{
RowBox[{"vx", "[", "tend", "]"}], "*",
RowBox[{"(",
RowBox[{"tmax", " ", "-", " ", "tend", " ", "+", " ",
RowBox[{"zdetector", "/", "vz"}]}], ")"}]}]}], ",",
RowBox[{"vx", "[", "tend", "]"}], ",",
RowBox[{"tmax", "-", "tend"}], ",",
RowBox[{"n", "[", "tend", "]"}], ",", "decayed", ",",
RowBox[{"x", "[", "0", "]"}], ",",
RowBox[{"vx", "[", "0", "]"}], ",", "y0", ",", "vy", ",", "vz"}],
"}"}], "/.", "sol"}]}]}], "\[IndentingNewLine]", "]"}]}]], "Input",
CellChangeTimes->{{3.776174916418912*^9, 3.7761749431704416`*^9}, {
3.7761753432633257`*^9, 3.776175343719352*^9}, {3.7761756976875973`*^9,
3.776175788865813*^9}, {3.7761758305431967`*^9, 3.776175863875103*^9}, {
3.77617589861709*^9, 3.7761760192399893`*^9}, {3.776176176268971*^9,
3.7761762161692533`*^9}, {3.7761762609278135`*^9,
3.7761763252724934`*^9}, {3.776176423677122*^9, 3.776176429166436*^9}, {
3.77617648990191*^9, 3.776176550190358*^9}, {3.77617658728448*^9,
3.7761766392574525`*^9}, {3.7761767284945564`*^9, 3.776176728813575*^9}, {
3.7761767726930847`*^9, 3.776176835595682*^9}, {3.776176887459649*^9,
3.7761770346530676`*^9}, {3.7761771013998857`*^9, 3.776177125273251*^9}, {
3.776177160488265*^9, 3.776177291839778*^9}, {3.776177416344899*^9,
3.776177424632373*^9}, {3.776178850516929*^9, 3.7761788921623116`*^9}, {
3.776179057552771*^9, 3.7761790611119747`*^9}, {3.776179320394805*^9,
3.7761793664154367`*^9}, {3.776180333439748*^9, 3.7761803850937023`*^9}, {
3.7761817269974546`*^9, 3.7761817663397045`*^9}, {3.7761818016497245`*^9,
3.7761818803122234`*^9}, {3.776182115720688*^9, 3.776182115839695*^9},
3.776182195547254*^9, {3.7764541730239077`*^9, 3.776454251541815*^9}, {
3.776454348026761*^9, 3.776454361679059*^9}, {3.776513553854104*^9,
3.7765135795985765`*^9}, {3.776683726294552*^9, 3.776683786049969*^9}, {
3.776683962329052*^9, 3.776683969601468*^9}, {3.7766841501127925`*^9,
3.7766841599063525`*^9}, {3.776684714749088*^9, 3.776684741153598*^9}, {
3.7771128820607176`*^9, 3.7771128872600155`*^9}, {3.777112920601922*^9,
3.7771129450683217`*^9}, {3.777123850644085*^9, 3.7771238832469497`*^9}, {
3.777123924196292*^9, 3.7771239434173913`*^9}, {3.7771240840254335`*^9,
3.777124089256733*^9}, {3.777124204060299*^9, 3.7771242047783403`*^9}, {
3.7771243989394455`*^9, 3.7771244157594075`*^9}, {3.7771246277135305`*^9,
3.7771246366570425`*^9}, {3.777124728838315*^9, 3.77712473172548*^9}, {
3.7771248359814425`*^9, 3.7771248379875574`*^9}, {3.7772257683142014`*^9,
3.777225769659278*^9}, {3.7772258175640182`*^9, 3.7772258178970375`*^9}, {
3.7772258898701534`*^9, 3.7772259413791*^9}, {3.777225991471965*^9,
3.777225993119059*^9}, {3.7772261294918594`*^9, 3.7772261556693563`*^9}, {
3.777226351352549*^9, 3.7772264001163383`*^9}, {3.7773713668619614`*^9,
3.777371380557745*^9}, {3.777378502509097*^9, 3.777378530791715*^9}, {
3.7773885607639847`*^9, 3.7773885869104805`*^9}, {3.7774602552878046`*^9,
3.777460344434904*^9}, {3.777460960595146*^9, 3.77746100123147*^9}, {
3.7774610357414446`*^9, 3.777461074529663*^9}, {3.777553158625386*^9,
3.777553183258795*^9}, {3.778235013344737*^9, 3.77823501410914*^9}, {
3.7782350693207827`*^9, 3.778235246047667*^9}, {3.7782356047904577`*^9,
3.7782356857981052`*^9}, {3.778235729419179*^9, 3.778235740906472*^9}, {
3.7782357968991423`*^9, 3.7782358751388407`*^9}, {3.7782359642721443`*^9,
3.778236103984399*^9}, {3.778236216751554*^9, 3.7782362746022253`*^9}, {
3.7785080714224567`*^9, 3.778508071629874*^9}, {3.7785812997398295`*^9,
3.778581304077222*^9}, {3.7785852223640146`*^9, 3.7785852225355225`*^9}, {
3.7785856318281918`*^9, 3.7785856830401773`*^9}, {3.778585729782076*^9,
3.778585750770913*^9}, {3.7785858968280396`*^9, 3.778585917373057*^9}, {
3.794398701583085*^9, 3.794398712997385*^9}, {3.794398817369732*^9,
3.794398840328929*^9}, {3.7943999492219834`*^9, 3.7943999538130655`*^9}, {
3.7943999858247557`*^9, 3.794399986643861*^9}, {3.79440178016883*^9,
3.794401839307207*^9}, {3.7944022037112727`*^9, 3.7944022194774265`*^9}, {
3.794402383940595*^9, 3.794402384172909*^9}, {3.7944865777073936`*^9,
3.7944865841324525`*^9}, {3.794487023673592*^9, 3.7944870248833704`*^9},
3.7946779192618337`*^9, {3.7946927033924246`*^9, 3.7946927118438377`*^9}, {
3.7947936150104666`*^9, 3.794793616164729*^9}, {3.8012754530356846`*^9,
3.801275453869988*^9}, {3.801299777839184*^9, 3.8012998056420946`*^9}, {
3.801557108083917*^9, 3.8015571090401306`*^9}, 3.801557525411193*^9, {
3.8015575822587523`*^9, 3.801557582541818*^9}, {3.8018854929418335`*^9,
3.8018854988534136`*^9}, {3.801885644081657*^9, 3.80188564416286*^9}, {
3.802045571001005*^9, 3.8020455714890833`*^9}, {3.8020867031762295`*^9,
3.802086716510292*^9}, {3.8030917666130185`*^9, 3.803091766686035*^9}, {
3.803121772061683*^9, 3.8031217725865717`*^9}, 3.8031218776190977`*^9, {
3.803142661640807*^9, 3.803142661896698*^9}},
CellLabel->"In[42]:=",ExpressionUUID->"dccf9f9d-0271-4cee-a2a6-51b034d09fcc"]
}, Open ]],
Cell[CellGroupData[{
Cell["Initialize beam with experimental parameters", "Subsubsection",
CellChangeTimes->{{3.7701329614446096`*^9, 3.7701329832348557`*^9}, {
3.774612466089605*^9, 3.7746124720577526`*^9}, {3.7746226304517884`*^9,
3.774622638368577*^9}, {3.7746226690289564`*^9, 3.7746226695757027`*^9}, {
3.776165362372452*^9, 3.776165395656355*^9}, 3.776165630526789*^9, {
3.794530301368927*^9, 3.7945303021651297`*^9}, {3.8012752498082466`*^9,
3.801275295145632*^9}, {3.801275345493616*^9,
3.8012753500168557`*^9}},ExpressionUUID->"6c519e3a-f10c-4538-afc2-\
24105e47eb71"],
Cell[BoxData[
RowBox[{
RowBox[{"nparticles", "=", "10000"}], ";"}]], "Input",
CellChangeTimes->{{3.7944169993043137`*^9, 3.794417003826792*^9}, {
3.7946539606021285`*^9, 3.7946539610622315`*^9}, {3.794657794485712*^9,
3.7946578025453887`*^9}, {3.79465906243653*^9, 3.7946590626755843`*^9},
3.794660235224152*^9, {3.7946779111817827`*^9, 3.7946779164801683`*^9}, {
3.7946854581590242`*^9, 3.794685469409958*^9}, 3.794688410701245*^9, {
3.794694316618695*^9, 3.7946943181510377`*^9}, {3.7946970506091723`*^9,
3.794697050681189*^9}, {3.79477585523313*^9, 3.7947758587915897`*^9}, {
3.794798994054731*^9, 3.7947989945407934`*^9}, {3.794837864660307*^9,
3.7948378661526413`*^9}, {3.794938980254684*^9, 3.794938980310358*^9}, {
3.794939356136031*^9, 3.7949393564931107`*^9}, {3.794945721548031*^9,
3.7949457218564386`*^9}, {3.7949558349650292`*^9,
3.7949558350520487`*^9}, {3.7949577288327723`*^9, 3.794957734302003*^9}, {
3.794962856825825*^9, 3.7949628571042256`*^9}, 3.8012641961977863`*^9, {
3.801271432973773*^9, 3.801271433071795*^9}, {3.801273458376217*^9,
3.8012734584772396`*^9}, {3.801275141422189*^9, 3.8012751414972415`*^9}, {
3.801275265309698*^9, 3.801275265618518*^9}, {3.801276120940916*^9,
3.8012761212788353`*^9}, {3.8013461928857665`*^9,
3.8013461929787874`*^9}, {3.801355521808771*^9, 3.8013555218807735`*^9}, {
3.8014252159236016`*^9, 3.8014252161426506`*^9}, {3.801560314350685*^9,
3.801560314454709*^9}, {3.801600195044063*^9, 3.801600195104892*^9}, {
3.801600500977229*^9, 3.801600501028126*^9}, {3.801600757940977*^9,
3.801600758018566*^9}, {3.801601077941332*^9, 3.80160107802839*^9}, {
3.8016011647230873`*^9, 3.80160116478224*^9}, {3.801822691374462*^9,
3.8018226914154596`*^9}, {3.801833157849103*^9, 3.8018331579576316`*^9}, {
3.8018384581285086`*^9, 3.801838458645624*^9}, {3.801838861356563*^9,
3.80183886143058*^9}, {3.801912403662136*^9, 3.8019124073968315`*^9}, {
3.8019143277007885`*^9, 3.8019143278248158`*^9}, {3.801940350953227*^9,
3.8019403509978724`*^9}, {3.8019408059768066`*^9, 3.801940806027597*^9}, {
3.8019412168526597`*^9, 3.8019412169567757`*^9}, {3.8019419731039495`*^9,
3.801941973230673*^9}, {3.8020534868364706`*^9, 3.8020534869669247`*^9}, {
3.8020538917116027`*^9, 3.802053891788604*^9}, {3.802054279700254*^9,
3.802054279874982*^9}, {3.802054344828485*^9, 3.802054344921379*^9}, {
3.8020886898661337`*^9, 3.802088689919146*^9}, {3.8020890297853622`*^9,
3.8020890302554665`*^9}, {3.8024780585779605`*^9, 3.802478058827526*^9}, {
3.8031426170944967`*^9, 3.8031426173395014`*^9}, {3.8033058628457413`*^9,
3.803305863062233*^9}},ExpressionUUID->"9e84a53b-6a94-415f-8b47-\
20c1efb51727"],
Cell[BoxData[
RowBox[{
RowBox[{"(*",
RowBox[{"constants", " ", "parameterizing", " ", "the", " ",
RowBox[{"experiment", ".", "\[IndentingNewLine]", "The"}], " ", "beam",
" ", "propagates", " ", "along", " ", "the", " ", "z", " ",
RowBox[{"axis", ".", "The"}], " ", "x", " ", "axis", " ", "is", " ",