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