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 from math import pi
250 from Numeric import Float64, zeros
251
252
253
254
255
256
257
258
259
261 """Calculate the ri function components.
262
263 Calculated:
264 Dipolar J(w) components.
265 CSA J(w) components.
266 Pre-calculated:
267 Rex constant components.
268 Dipolar constant components.
269 CSA constant components.
270 """
271
272
273 for i in xrange(data.num_ri):
274
275 data.dip_jw_comps_func[i] = data.create_dip_jw_func[i](data.jw, data.remap_table[i])
276
277
278 if data.create_csa_jw_func[i]:
279 data.csa_jw_comps_func[i] = data.create_csa_jw_func[i](data.jw, data.remap_table[i])
280
281
282
284 """Calculate the ri function components.
285
286 Calculated:
287 Dipolar J(w) components.
288 CSA J(w) components.
289 Rex constant components.
290 Pre-calculated:
291 Dipolar constant components.
292 CSA constant components.
293 """
294
295
296 for i in xrange(data.num_ri):
297
298 data.dip_jw_comps_func[i] = data.create_dip_jw_func[i](data.jw, data.remap_table[i])
299
300
301 if data.create_csa_jw_func[i]:
302 data.csa_jw_comps_func[i] = data.create_csa_jw_func[i](data.jw, data.remap_table[i])
303
304
305 if data.create_rex_func[i]:
306 data.rex_comps_func[i] = data.create_rex_func[i](params[data.rex_i], data.frq[data.remap_table[i]])
307
308
309
311 """Calculate the ri function components.
312
313 Calculated:
314 Dipolar constant components.
315 Dipolar J(w) components.
316 CSA J(w) components.
317 Pre-calculated:
318 Rex constant components.
319 CSA constant components.
320 """
321
322
323 comp_dip_const_func(data, params[data.r_i])
324
325
326 for i in xrange(data.num_ri):
327
328 data.dip_comps_func[i] = data.dip_const_func
329 if data.create_dip_func[i]:
330 data.dip_comps_func[i] = data.create_dip_func[i](data.dip_const_func)
331
332
333 data.dip_jw_comps_func[i] = data.create_dip_jw_func[i](data.jw, data.remap_table[i])
334
335
336 if data.create_csa_jw_func[i]:
337 data.csa_jw_comps_func[i] = data.create_csa_jw_func[i](data.jw, data.remap_table[i])
338
339
340
342 """Calculate the ri function components.
343
344 Calculated:
345 Dipolar J(w) components.
346 CSA constant components.
347 CSA J(w) components.
348 Pre-calculated:
349 Rex constant components.
350 Dipolar constant components.
351 """
352
353
354 comp_csa_const_func(data, params[data.csa_i])
355
356
357 for i in xrange(data.num_ri):
358
359 data.dip_jw_comps_func[i] = data.create_dip_jw_func[i](data.jw, data.remap_table[i])
360
361
362 if data.create_csa_func[i]:
363 data.csa_comps_func[i] = data.create_csa_func[i](data.csa_const_func[data.remap_table[i]])
364
365
366 if data.create_csa_jw_func[i]:
367 data.csa_jw_comps_func[i] = data.create_csa_jw_func[i](data.jw, data.remap_table[i])
368
369
370
372 """Calculate the ri function components.
373
374 Calculated:
375 Dipolar constant components.
376 Dipolar J(w) components.
377 CSA constant components.
378 CSA J(w) components.
379 Pre-calculated:
380 Rex constant components.
381 """
382
383
384 comp_dip_const_func(data, params[data.r_i])
385
386
387 comp_csa_const_func(data, params[data.csa_i])
388
389
390 for i in xrange(data.num_ri):
391
392 data.dip_comps_func[i] = data.dip_const_func
393 if data.create_dip_func[i]:
394 data.dip_comps_func[i] = data.create_dip_func[i](data.dip_const_func)
395
396
397 data.dip_jw_comps_func[i] = data.create_dip_jw_func[i](data.jw, data.remap_table[i])
398
399
400 if data.create_csa_func[i]:
401 data.csa_comps_func[i] = data.create_csa_func[i](data.csa_const_func[data.remap_table[i]])
402
403
404 if data.create_csa_jw_func[i]:
405 data.csa_jw_comps_func[i] = data.create_csa_jw_func[i](data.jw, data.remap_table[i])
406
407
408
410 """Calculate the ri function components.
411
412 Calculated:
413 Dipolar constant components.
414 Dipolar J(w) components.
415 CSA J(w) components.
416 Rex constant components.
417 Pre-calculated:
418 CSA constant components.
419 """
420
421
422 comp_dip_const_func(data, params[data.r_i])
423
424
425 for i in xrange(data.num_ri):
426
427 data.dip_comps_func[i] = data.dip_const_func
428 if data.create_dip_func[i]:
429 data.dip_comps_func[i] = data.create_dip_func[i](data.dip_const_func)
430
431
432 data.dip_jw_comps_func[i] = data.create_dip_jw_func[i](data.jw, data.remap_table[i])
433
434
435 if data.create_csa_jw_func[i]:
436 data.csa_jw_comps_func[i] = data.create_csa_jw_func[i](data.jw, data.remap_table[i])
437
438
439 if data.create_rex_func[i]:
440 data.rex_comps_func[i] = data.create_rex_func[i](params[data.rex_i], data.frq[data.remap_table[i]])
441
442
443
445 """Calculate the ri function components.
446
447 Calculated:
448 Dipolar J(w) components.
449 CSA constant components.
450 CSA J(w) components.
451 Rex constant components.
452 Pre-calculated:
453 Dipolar constant components.
454 """
455
456
457 comp_csa_const_func(data, params[data.csa_i])
458
459
460 for i in xrange(data.num_ri):
461
462 data.dip_jw_comps_func[i] = data.create_dip_jw_func[i](data.jw, data.remap_table[i])
463
464
465 if data.create_csa_func[i]:
466 data.csa_comps_func[i] = data.create_csa_func[i](data.csa_const_func[data.remap_table[i]])
467
468
469 if data.create_csa_jw_func[i]:
470 data.csa_jw_comps_func[i] = data.create_csa_jw_func[i](data.jw, data.remap_table[i])
471
472
473 if data.create_rex_func[i]:
474 data.rex_comps_func[i] = data.create_rex_func[i](params[data.rex_i], data.frq[data.remap_table[i]])
475
476
477
479 """Calculate the ri function components.
480
481 Calculated:
482 Dipolar constant components.
483 Dipolar J(w) components.
484 CSA constant components.
485 CSA J(w) components.
486 Rex constant components.
487 Pre-calculated:
488 None.
489 """
490
491
492 comp_dip_const_func(data, params[data.r_i])
493
494
495 comp_csa_const_func(data, params[data.csa_i])
496
497
498 for i in xrange(data.num_ri):
499
500 data.dip_comps_func[i] = data.dip_const_func
501 if data.create_dip_func[i]:
502 data.dip_comps_func[i] = data.create_dip_func[i](data.dip_const_func)
503
504
505 data.dip_jw_comps_func[i] = data.create_dip_jw_func[i](data.jw, data.remap_table[i])
506
507
508 if data.create_csa_func[i]:
509 data.csa_comps_func[i] = data.create_csa_func[i](data.csa_const_func[data.remap_table[i]])
510
511
512 if data.create_csa_jw_func[i]:
513 data.csa_jw_comps_func[i] = data.create_csa_jw_func[i](data.jw, data.remap_table[i])
514
515
516 if data.create_rex_func[i]:
517 data.rex_comps_func[i] = data.create_rex_func[i](params[data.rex_i], data.frq[data.remap_table[i]])
518
519
520
543
544
545
546
547
548
549
550
551
552
553
555 """Calculate the dri gradient components.
556
557 Calculated:
558 Dipolar J(w) components.
559 CSA J(w) components.
560 Pre-calculated:
561 Rex constant components.
562 Dipolar constant components.
563 CSA constant components.
564 """
565
566
567 for i in xrange(data.num_ri):
568
569 data.dip_jw_comps_grad[i] = data.create_dip_jw_grad[i](data.djw, data.remap_table[i])
570
571
572 if data.create_csa_jw_grad[i]:
573 data.csa_jw_comps_grad[i] = data.create_csa_jw_grad[i](data.djw, data.remap_table[i])
574
575
576
578 """Calculate the dri gradient components.
579
580 Calculated:
581 Dipolar J(w) components.
582 CSA J(w) components.
583 Rex constant components.
584 Pre-calculated:
585 Dipolar constant components.
586 CSA constant components.
587 """
588
589
590 for i in xrange(data.num_ri):
591
592 data.dip_jw_comps_grad[i] = data.create_dip_jw_grad[i](data.djw, data.remap_table[i])
593
594
595 if data.create_csa_jw_grad[i]:
596 data.csa_jw_comps_grad[i] = data.create_csa_jw_grad[i](data.djw, data.remap_table[i])
597
598
599 if data.create_rex_grad[i]:
600 data.rex_comps_grad[i] = data.create_rex_grad[i](data.frq[data.remap_table[i]])
601
602
603
605 """Calculate the dri gradient components.
606
607 Calculated:
608 Dipolar constant components.
609 Dipolar J(w) components.
610 CSA J(w) components.
611 Pre-calculated:
612 Rex constant components.
613 CSA constant components.
614 """
615
616
617 comp_dip_const_grad(data, params[data.r_i])
618
619
620 for i in xrange(data.num_ri):
621
622 data.dip_comps_grad[i] = data.dip_const_grad
623 if data.create_dip_grad[i]:
624 data.dip_comps_grad[i] = data.create_dip_grad[i](data.dip_const_grad)
625
626
627 data.dip_jw_comps_grad[i] = data.create_dip_jw_grad[i](data.djw, data.remap_table[i])
628
629
630 if data.create_csa_jw_grad[i]:
631 data.csa_jw_comps_grad[i] = data.create_csa_jw_grad[i](data.djw, data.remap_table[i])
632
633
634
636 """Calculate the dri gradient components.
637
638 Calculated:
639 Dipolar J(w) components.
640 CSA constant components.
641 CSA J(w) components.
642 Pre-calculated:
643 Rex constant components.
644 Dipolar constant components.
645 """
646
647
648 comp_csa_const_grad(data, params[data.csa_i])
649
650
651 for i in xrange(data.num_ri):
652
653 data.dip_jw_comps_grad[i] = data.create_dip_jw_grad[i](data.djw, data.remap_table[i])
654
655
656 if data.create_csa_grad[i]:
657 data.csa_comps_grad[i] = data.create_csa_grad[i](data.csa_const_grad[data.remap_table[i]])
658
659
660 if data.create_csa_jw_grad[i]:
661 data.csa_jw_comps_grad[i] = data.create_csa_jw_grad[i](data.djw, data.remap_table[i])
662
663
664
666 """Calculate the dri gradient components.
667
668 Calculated:
669 Dipolar constant components.
670 Dipolar J(w) components.
671 CSA constant components.
672 CSA J(w) components.
673 Pre-calculated:
674 Rex constant components.
675 """
676
677
678 comp_dip_const_grad(data, params[data.r_i])
679
680
681 comp_csa_const_grad(data, params[data.csa_i])
682
683
684 for i in xrange(data.num_ri):
685
686 data.dip_comps_grad[i] = data.dip_const_grad
687 if data.create_dip_grad[i]:
688 data.dip_comps_grad[i] = data.create_dip_grad[i](data.dip_const_grad)
689
690
691 data.dip_jw_comps_grad[i] = data.create_dip_jw_grad[i](data.djw, data.remap_table[i])
692
693
694 if data.create_csa_grad[i]:
695 data.csa_comps_grad[i] = data.create_csa_grad[i](data.csa_const_grad[data.remap_table[i]])
696
697
698 if data.create_csa_jw_grad[i]:
699 data.csa_jw_comps_grad[i] = data.create_csa_jw_grad[i](data.djw, data.remap_table[i])
700
701
702
704 """Calculate the dri gradient components.
705
706 Calculated:
707 Dipolar constant components.
708 Dipolar J(w) components.
709 CSA J(w) components.
710 Rex constant components.
711 Pre-calculated:
712 CSA constant components.
713 """
714
715
716 comp_dip_const_grad(data, params[data.r_i])
717
718
719 for i in xrange(data.num_ri):
720
721 data.dip_comps_grad[i] = data.dip_const_grad
722 if data.create_dip_grad[i]:
723 data.dip_comps_grad[i] = data.create_dip_grad[i](data.dip_const_grad)
724
725
726 data.dip_jw_comps_grad[i] = data.create_dip_jw_grad[i](data.djw, data.remap_table[i])
727
728
729 if data.create_csa_jw_grad[i]:
730 data.csa_jw_comps_grad[i] = data.create_csa_jw_grad[i](data.djw, data.remap_table[i])
731
732
733 if data.create_rex_grad[i]:
734 data.rex_comps_grad[i] = data.create_rex_grad[i](data.frq[data.remap_table[i]])
735
736
737
739 """Calculate the dri gradient components.
740
741 Calculated:
742 Dipolar J(w) components.
743 CSA constant components.
744 CSA J(w) components.
745 Rex constant components.
746 Pre-calculated:
747 Dipolar constant components.
748 """
749
750
751 comp_csa_const_grad(data, params[data.csa_i])
752
753
754 for i in xrange(data.num_ri):
755
756 data.dip_jw_comps_grad[i] = data.create_dip_jw_grad[i](data.djw, data.remap_table[i])
757
758
759 if data.create_csa_grad[i]:
760 data.csa_comps_grad[i] = data.create_csa_grad[i](data.csa_const_grad[data.remap_table[i]])
761
762
763 if data.create_csa_jw_grad[i]:
764 data.csa_jw_comps_grad[i] = data.create_csa_jw_grad[i](data.djw, data.remap_table[i])
765
766
767 if data.create_rex_grad[i]:
768 data.rex_comps_grad[i] = data.create_rex_grad[i](data.frq[data.remap_table[i]])
769
770
771
773 """Calculate the dri gradient components.
774
775 Calculated:
776 Dipolar constant components.
777 Dipolar J(w) components.
778 CSA constant components.
779 CSA J(w) components.
780 Rex constant components.
781 Pre-calculated:
782 None.
783 """
784
785
786 comp_dip_const_grad(data, params[data.r_i])
787
788
789 comp_csa_const_grad(data, params[data.csa_i])
790
791
792 for i in xrange(data.num_ri):
793
794 data.dip_comps_grad[i] = data.dip_const_grad
795 if data.create_dip_grad[i]:
796 data.dip_comps_grad[i] = data.create_dip_grad[i](data.dip_const_grad)
797
798
799 data.dip_jw_comps_grad[i] = data.create_dip_jw_grad[i](data.djw, data.remap_table[i])
800
801
802 if data.create_csa_grad[i]:
803 data.csa_comps_grad[i] = data.create_csa_grad[i](data.csa_const_grad[data.remap_table[i]])
804
805
806 if data.create_csa_jw_grad[i]:
807 data.csa_jw_comps_grad[i] = data.create_csa_jw_grad[i](data.djw, data.remap_table[i])
808
809
810 if data.create_rex_grad[i]:
811 data.rex_comps_grad[i] = data.create_rex_grad[i](data.frq[data.remap_table[i]])
812
813
814
837
838
839
840
841
842
843
844
845
846
848 """Calculate the d2ri Hessian components.
849
850 Calculated:
851 Dipolar J(w) components.
852 CSA J(w) components.
853 Pre-calculated:
854 Rex constant components.
855 Dipolar constant components.
856 CSA constant components.
857 """
858
859
860 for i in xrange(data.num_ri):
861
862 data.dip_jw_comps_hess[i] = data.create_dip_jw_hess[i](data.d2jw, data.remap_table[i])
863
864
865 if data.create_csa_jw_hess[i]:
866 data.csa_jw_comps_hess[i] = data.create_csa_jw_hess[i](data.d2jw, data.remap_table[i])
867
868
869
871 """Calculate the d2ri Hessian components.
872
873 Calculated:
874 Dipolar constant components.
875 Dipolar J(w) components.
876 CSA J(w) components.
877 Pre-calculated:
878 Rex constant components.
879 CSA constant components.
880 """
881
882
883 comp_dip_const_hess(data, params[data.r_i])
884
885
886 for i in xrange(data.num_ri):
887
888 data.dip_comps_hess[i] = data.dip_const_hess
889 if data.create_dip_hess[i]:
890 data.dip_comps_hess[i] = data.create_dip_hess[i](data.dip_const_hess)
891
892
893 data.dip_jw_comps_hess[i] = data.create_dip_jw_hess[i](data.d2jw, data.remap_table[i])
894
895
896 if data.create_csa_jw_hess[i]:
897 data.csa_jw_comps_hess[i] = data.create_csa_jw_hess[i](data.d2jw, data.remap_table[i])
898
899
900
902 """Calculate the d2ri Hessian components.
903
904 Calculated:
905 Dipolar J(w) components.
906 CSA constant components.
907 CSA J(w) components.
908 Pre-calculated:
909 Rex constant components.
910 Dipolar constant components.
911 """
912
913
914 comp_csa_const_hess(data, params)
915
916
917 for i in xrange(data.num_ri):
918
919 data.dip_jw_comps_hess[i] = data.create_dip_jw_hess[i](data.d2jw, data.remap_table[i])
920
921
922 if data.create_csa_hess[i]:
923 data.csa_comps_hess[i] = data.create_csa_hess[i](data.csa_const_hess[data.remap_table[i]])
924
925
926 if data.create_csa_jw_hess[i]:
927 data.csa_jw_comps_hess[i] = data.create_csa_jw_hess[i](data.d2jw, data.remap_table[i])
928
929
930
932 """Calculate the d2ri Hessian components.
933
934 Calculated:
935 Dipolar constant components.
936 Dipolar J(w) components.
937 CSA constant components.
938 CSA J(w) components.
939 Pre-calculated:
940 Rex constant components.
941 """
942
943
944 comp_dip_const_hess(data, params[data.r_i])
945
946
947 comp_csa_const_hess(data, params)
948
949
950 for i in xrange(data.num_ri):
951
952 data.dip_comps_hess[i] = data.dip_const_hess
953 if data.create_dip_hess[i]:
954 data.dip_comps_hess[i] = data.create_dip_hess[i](data.dip_const_hess)
955
956
957 data.dip_jw_comps_hess[i] = data.create_dip_jw_hess[i](data.d2jw, data.remap_table[i])
958
959
960 if data.create_csa_hess[i]:
961 data.csa_comps_hess[i] = data.create_csa_hess[i](data.csa_const_hess[data.remap_table[i]])
962
963
964 if data.create_csa_jw_hess[i]:
965 data.csa_jw_comps_hess[i] = data.create_csa_jw_hess[i](data.d2jw, data.remap_table[i])
966
967
968
991
992
993
994
995
996
997
998
1000 """Calculate the fixed component of the dipolar constant.
1001
1002 / mu0 \ 2
1003 dip_const_fixed = | ---- | . (gH.gN.h_bar)**2
1004 \ 4.pi /
1005 """
1006
1007 data.dip_const_fixed = ((data.mu0 / (4.0*pi)) * data.h_bar * data.gh * data.gx) ** 2
1008
1009
1010
1012 """Calculate the fixed component of the CSA constants.
1013
1014 wN**2
1015 csa_const_fixed = -----
1016 3
1017 """
1018
1019 for j in xrange(data.num_frq):
1020 data.csa_const_fixed[j] = data.frq_sqrd_list[j, 1] / 3.0
1021
1022
1023
1024
1025
1026
1027
1028
1030 """Calculate the dipolar constant.
1031
1032 Dipolar constant
1033 ~~~~~~~~~~~~~~~~
1034
1035 1 / mu0 \ 2 (gH.gN.h_bar)**2
1036 dip_const_func = - . | ---- | . ----------------
1037 4 \ 4.pi / <r**6>
1038 """
1039
1040 if bond_length == 0.0:
1041 data.dip_const_func = 1e99
1042 else:
1043 data.dip_const_func = 0.25 * data.dip_const_fixed * bond_length**-6
1044
1045
1046
1048 """Calculate the derivative of the dipolar constant.
1049
1050 Dipolar constant gradient
1051 ~~~~~~~~~~~~~~~~~~~~~~~~~
1052
1053 3 / mu0 \ 2 (gH.gN.h_bar)**2
1054 dip_const_grad = - - . | ---- | . ----------------
1055 2 \ 4.pi / <r**7>
1056 """
1057
1058 if bond_length == 0.0:
1059 data.dip_const_grad = 1e99
1060 else:
1061 data.dip_const_grad = -1.5 * data.dip_const_fixed * bond_length**-7
1062
1063
1064
1066 """Calculate the second derivative of the dipolar constant.
1067
1068 Dipolar constant Hessian
1069 ~~~~~~~~~~~~~~~~~~~~~~~~
1070
1071 21 / mu0 \ 2 (gH.gN.h_bar)**2
1072 dip_const_hess = -- . | ---- | . ----------------
1073 2 \ 4.pi / <r**8>
1074 """
1075
1076 if bond_length == 0.0:
1077 data.dip_const_hess = 1e99
1078 else:
1079 data.dip_const_hess = 10.5 * data.dip_const_fixed * bond_length**-8
1080
1081
1082
1083
1084
1085
1086
1087
1089 """Calculate the CSA constant.
1090
1091 CSA constant
1092 ~~~~~~~~~~~~
1093
1094 (wN.csa)**2
1095 csa_const_func = -----------
1096 3
1097 """
1098
1099 for i in xrange(data.num_frq):
1100 data.csa_const_func[i] = data.csa_const_fixed[i] * csa**2
1101
1102
1103
1105 """Calculate the derivative of the CSA constant.
1106
1107 CSA constant gradient
1108 ~~~~~~~~~~~~~~~~~~~~~
1109
1110 2.wN**2.csa
1111 csa_const_grad = -----------
1112 3
1113 """
1114
1115 for i in xrange(data.num_frq):
1116 data.csa_const_grad[i] = 2.0 * data.csa_const_fixed[i] * csa
1117
1118
1119
1121 """Calculate the second derivative of the CSA constant.
1122
1123 CSA constant Hessian
1124 ~~~~~~~~~~~~~~~~~~~~
1125
1126 2.wN**2
1127 csa_const_hess = -------
1128 3
1129 """
1130
1131 for i in xrange(data.num_frq):
1132 data.csa_const_hess[i] = 2.0 * data.csa_const_fixed[i]
1133
1134
1135
1136
1137
1138
1139
1140
1142 """Calculate the Rex value.
1143
1144 Rex constant
1145 ~~~~~~~~~~~~
1146
1147 rex_const_func = rhoex * wH**2
1148 """
1149
1150 return rhoex * (2.0 * pi * frq) ** 2
1151
1152
1153
1155 """Calculate the Rex gradient.
1156
1157 Rex gradient
1158 ~~~~~~~~~~~~
1159
1160 rex_const_grad = wH**2
1161 """
1162
1163 return (2.0 * pi * frq) ** 2
1164
1165
1166
1167
1168
1169
1170
1172 """Calculate the R1 dipolar constant components.
1173
1174 dip_const_func / 2
1175
1176 dip_const_grad / 2
1177
1178 dip_const_hess / 2
1179 """
1180
1181 return dip_const_data / 2.0
1182
1183
1184
1185
1186
1187
1188
1189
1191 """Calculate the R1 CSA constant components.
1192
1193 csa_const_func
1194
1195 csa_const_grad
1196
1197 csa_const_hess
1198 """
1199
1200 return csa_const_data
1201
1202
1204 """Calculate the R2 CSA constant. components
1205
1206 csa_const_func / 6
1207
1208 csa_const_grad / 6
1209
1210 csa_const_hess / 6
1211 """
1212
1213 return csa_const_data / 6.0
1214
1215
1216
1217
1218
1219
1220
1221
1223 """Calculate the R1 dipolar J(w) components.
1224
1225 dip_Jw_R1_func = J(wH-wN) + 3J(wN) + 6J(wH+wN)
1226
1227 dJ(wH-wN) dJ(wN) dJ(wH+wN)
1228 dip_Jw_R1_grad = --------- + 3 . ------ + 6 . ---------
1229 dJw dJw dJw
1230
1231 d2J(wH-wN) d2J(wN) d2J(wH+wN)
1232 dip_Jw_R1_hess = ---------- + 3 . --------- + 6 . ----------
1233 dJwi.dJwj dJwi.dJwj dJwi.dJwj
1234 """
1235
1236 return jw_data[frq_num, 2] + 3.0*jw_data[frq_num, 1] + 6.0*jw_data[frq_num, 4]
1237
1238
1239
1241 """Calculate the R2 dipolar J(w) components.
1242
1243 dip_Jw_R2_func = 4J(0) + J(wH-wN) + 3J(wN) + 6J(wH) + 6J(wH+wN)
1244
1245 dJ(0) dJ(wH-wN) dJ(wN) dJ(wH) dJ(wH+wN)
1246 dip_Jw_R2_grad = 4 . ----- + --------- + 3 . ------ + 6 . ------ + 6 . ---------
1247 dJw dJw dJw dJw dJw
1248
1249 d2J(0) d2J(wH-wN) d2J(wN) d2J(wH) d2J(wH+wN)
1250 dip_Jw_R2_hess = 4 . --------- + ---------- + 3 . --------- + 6 . --------- + 6 . ----------
1251 dJwi.dJwj dJwi.dJwj dJwi.dJwj dJwi.dJwj dJwi.dJwj
1252 """
1253
1254 return 4.0*jw_data[frq_num, 0] + jw_data[frq_num, 2] + 3.0*jw_data[frq_num, 1] + 6.0*jw_data[frq_num, 3] + 6.0*jw_data[frq_num, 4]
1255
1256
1257
1259 """Calculate the sigma_noe dipolar J(w) components.
1260
1261 dip_Jw_sigma_noe_func = 6J(wH+wN) - J(wH-wN)
1262
1263 dJ(wH+wN) dJ(wH-wN)
1264 dip_Jw_sigma_noe_grad = 6 . --------- - ---------
1265 dJw dJw
1266
1267 d2J(wH+wN) d2J(wH-wN)
1268 dip_Jw_sigma_noe_hess = 6 . ---------- - ----------
1269 dJwi.dJwj dJwi.dJwj
1270 """
1271
1272 return 6.0*jw_data[frq_num, 4] - jw_data[frq_num, 2]
1273
1274
1275
1276
1277
1278
1279
1280
1281
1283 """Calculate the R1 CSA J(w) components.
1284
1285 csa_Jw_R1_func = J(wN)
1286
1287 dJ(wN)
1288 csa_Jw_R1_grad = ------
1289 dJw
1290
1291 d2J(wN)
1292 csa_Jw_R1_hess = ---------
1293 dJwi.dJwj
1294 """
1295
1296 return jw_data[frq_num, 1]
1297
1298
1299
1301 """Calculate the R1 CSA J(w) components.
1302
1303 csa_Jw_R2_func = 4J(0) + 3J(wN)
1304
1305 dJ(0) dJ(wN)
1306 csa_Jw_R2_grad = 4 . ----- + 3 . ------
1307 dJw dJw
1308
1309 d2J(0) d2J(wN)
1310 csa_Jw_R2_hess = 4 . --------- + 3 . ---------
1311 dJwi.dJwj dJwi.dJwj
1312 """
1313
1314 return 4.0*jw_data[frq_num, 0] + 3.0*jw_data[frq_num, 1]
1315