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  from math import pi 
 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      The equation is:: 
1003   
1004                              / mu0  \ 2 
1005          dip_const_fixed  =  | ---- |  . (gH.gN.h_bar)**2 
1006                              \ 4.pi / 
1007      """ 
1008   
1009      data.dip_const_fixed = ((data.mu0 / (4.0*pi)) * data.h_bar * data.gh * data.gx) ** 2 
 1010   
1011   
1012   
1014      """Calculate the fixed component of the CSA constants. 
1015   
1016      The equation is:: 
1017   
1018                              wN**2 
1019          csa_const_fixed  =  ----- 
1020                                3 
1021      """ 
1022   
1023      for j in xrange(data.num_frq): 
1024          data.csa_const_fixed[j] = data.frq_sqrd_list[j, 1] / 3.0 
 1025   
1026   
1027   
1028   
1029   
1030   
1031   
1032   
1034      """Calculate the dipolar constant. 
1035   
1036      Dipolar constant 
1037      ================ 
1038   
1039      The equation is:: 
1040   
1041                             1   / mu0  \ 2  (gH.gN.h_bar)**2 
1042          dip_const_func  =  - . | ---- |  . ---------------- 
1043                             4   \ 4.pi /         <r**6> 
1044      """ 
1045   
1046      if bond_length == 0.0: 
1047          data.dip_const_func = 1e99 
1048      else: 
1049          data.dip_const_func = 0.25 * data.dip_const_fixed * bond_length**-6 
 1050   
1051   
1052   
1054      """Calculate the derivative of the dipolar constant. 
1055   
1056      Dipolar constant gradient 
1057      ========================= 
1058   
1059      The equation is:: 
1060   
1061                               3   / mu0  \ 2  (gH.gN.h_bar)**2 
1062          dip_const_grad  =  - - . | ---- |  . ---------------- 
1063                               2   \ 4.pi /         <r**7> 
1064      """ 
1065   
1066      if bond_length == 0.0: 
1067          data.dip_const_grad = 1e99 
1068      else: 
1069          data.dip_const_grad = -1.5 * data.dip_const_fixed * bond_length**-7 
 1070   
1071   
1072   
1074      """Calculate the second derivative of the dipolar constant. 
1075   
1076      Dipolar constant Hessian 
1077      ======================== 
1078   
1079      The equation is:: 
1080   
1081                             21   / mu0  \ 2  (gH.gN.h_bar)**2 
1082          dip_const_hess  =  -- . | ---- |  . ---------------- 
1083                             2    \ 4.pi /         <r**8> 
1084      """ 
1085   
1086      if bond_length == 0.0: 
1087          data.dip_const_hess = 1e99 
1088      else: 
1089          data.dip_const_hess = 10.5 * data.dip_const_fixed * bond_length**-8 
 1090   
1091   
1092   
1093   
1094   
1095   
1096   
1097   
1099      """Calculate the CSA constant. 
1100   
1101      CSA constant 
1102      ============ 
1103   
1104      The equation is:: 
1105   
1106                             (wN.csa)**2 
1107          csa_const_func  =  ----------- 
1108                                  3 
1109      """ 
1110   
1111      for i in xrange(data.num_frq): 
1112          data.csa_const_func[i] = data.csa_const_fixed[i] * csa**2 
 1113   
1114   
1115   
1117      """Calculate the derivative of the CSA constant. 
1118   
1119      CSA constant gradient 
1120      ===================== 
1121   
1122      The equation is:: 
1123   
1124                             2.wN**2.csa 
1125          csa_const_grad  =  ----------- 
1126                                  3 
1127      """ 
1128   
1129      for i in xrange(data.num_frq): 
1130          data.csa_const_grad[i] = 2.0 * data.csa_const_fixed[i] * csa 
 1131   
1132   
1133   
1135      """Calculate the second derivative of the CSA constant. 
1136   
1137      CSA constant Hessian 
1138      ==================== 
1139   
1140      The equation is:: 
1141   
1142                             2.wN**2 
1143          csa_const_hess  =  ------- 
1144                                3 
1145      """ 
1146   
1147      for i in xrange(data.num_frq): 
1148          data.csa_const_hess[i] = 2.0 * data.csa_const_fixed[i] 
 1149   
1150   
1151   
1152   
1153   
1154   
1155   
1156   
1158      """Calculate the Rex value. 
1159   
1160      Rex constant 
1161      ============ 
1162   
1163      The equation is:: 
1164   
1165          rex_const_func  =  rhoex * wH**2 
1166      """ 
1167   
1168      return rhoex * (2.0 * pi * frq) ** 2 
 1169   
1170   
1171   
1173      """Calculate the Rex gradient. 
1174   
1175      Rex gradient 
1176      ============ 
1177   
1178      The equation is:: 
1179   
1180          rex_const_grad  =  wH**2 
1181      """ 
1182   
1183      return (2.0 * pi * frq) ** 2 
 1184   
1185   
1186   
1187   
1188   
1189   
1190   
1192      """Calculate the R1 dipolar constant components. 
1193   
1194      The equations are:: 
1195   
1196          dip_const_func / 2 
1197   
1198          dip_const_grad / 2 
1199   
1200          dip_const_hess / 2 
1201      """ 
1202   
1203      return dip_const_data / 2.0 
 1204   
1205   
1206   
1207   
1208   
1209   
1210   
1211   
1213      """Calculate the R1 CSA constant components. 
1214   
1215      The equations are:: 
1216   
1217          csa_const_func 
1218   
1219          csa_const_grad 
1220   
1221          csa_const_hess 
1222      """ 
1223   
1224      return csa_const_data 
 1225   
1226   
1228      """Calculate the R2 CSA constant. components 
1229   
1230      The equations are:: 
1231   
1232          csa_const_func / 6 
1233   
1234          csa_const_grad / 6 
1235   
1236          csa_const_hess / 6 
1237      """ 
1238   
1239      return csa_const_data / 6.0 
 1240   
1241   
1242   
1243   
1244   
1245   
1246   
1247   
1249      """Calculate the R1 dipolar J(w) components. 
1250   
1251      The equations are:: 
1252   
1253          dip_Jw_R1_func  =  J(wH-wN) + 3J(wN) + 6J(wH+wN) 
1254   
1255                             dJ(wH-wN)         dJ(wN)         dJ(wH+wN) 
1256          dip_Jw_R1_grad  =  ---------  +  3 . ------  +  6 . --------- 
1257                                dJw             dJw              dJw 
1258   
1259                             d2J(wH-wN)          d2J(wN)          d2J(wH+wN) 
1260          dip_Jw_R1_hess  =  ----------  +  3 . ---------  +  6 . ---------- 
1261                             dJwi.dJwj          dJwi.dJwj         dJwi.dJwj 
1262      """ 
1263   
1264      return jw_data[frq_num, 2] + 3.0*jw_data[frq_num, 1] + 6.0*jw_data[frq_num, 4] 
 1265   
1266   
1267   
1269      """Calculate the R2 dipolar J(w) components. 
1270   
1271      The equations are:: 
1272   
1273          dip_Jw_R2_func  =  4J(0) + J(wH-wN) + 3J(wN) + 6J(wH) + 6J(wH+wN) 
1274   
1275                                 dJ(0)     dJ(wH-wN)         dJ(wN)         dJ(wH)         dJ(wH+wN) 
1276          dip_Jw_R2_grad  =  4 . -----  +  ---------  +  3 . ------  +  6 . ------  +  6 . --------- 
1277                                  dJw         dJw             dJw            dJw              dJw 
1278   
1279                                   d2J(0)      d2J(wH-wN)          d2J(wN)           d2J(wH)          d2J(wH+wN) 
1280          dip_Jw_R2_hess  =  4 . ---------  +  ----------  +  3 . ---------  +  6 . ---------  +  6 . ---------- 
1281                                 dJwi.dJwj     dJwi.dJwj          dJwi.dJwj         dJwi.dJwj         dJwi.dJwj 
1282      """ 
1283   
1284      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] 
 1285   
1286   
1287   
1289      """Calculate the sigma_noe dipolar J(w) components. 
1290   
1291      The equations are:: 
1292   
1293          dip_Jw_sigma_noe_func  =  6J(wH+wN) - J(wH-wN) 
1294   
1295                                        dJ(wH+wN)     dJ(wH-wN) 
1296          dip_Jw_sigma_noe_grad  =  6 . ---------  -  --------- 
1297                                           dJw           dJw 
1298   
1299                                        d2J(wH+wN)     d2J(wH-wN) 
1300          dip_Jw_sigma_noe_hess  =  6 . ----------  -  ---------- 
1301                                        dJwi.dJwj      dJwi.dJwj 
1302      """ 
1303   
1304      return 6.0*jw_data[frq_num, 4] - jw_data[frq_num, 2] 
 1305   
1306   
1307   
1308   
1309   
1310   
1311   
1312   
1313   
1315      """Calculate the R1 CSA J(w) components. 
1316   
1317      The equations are:: 
1318   
1319          csa_Jw_R1_func  =  J(wN) 
1320   
1321                             dJ(wN) 
1322          csa_Jw_R1_grad  =  ------ 
1323                              dJw 
1324   
1325                              d2J(wN) 
1326          csa_Jw_R1_hess  =  --------- 
1327                             dJwi.dJwj 
1328      """ 
1329   
1330      return jw_data[frq_num, 1] 
 1331   
1332   
1333   
1335      """Calculate the R1 CSA J(w) components. 
1336   
1337      The equations are:: 
1338   
1339          csa_Jw_R2_func  =  4J(0) + 3J(wN) 
1340   
1341                                 dJ(0)         dJ(wN) 
1342          csa_Jw_R2_grad  =  4 . -----  +  3 . ------ 
1343                                  dJw           dJw 
1344   
1345                                   d2J(0)           d2J(wN) 
1346          csa_Jw_R2_hess  =  4 . ---------  +  3 . --------- 
1347                                 dJwi.dJwj         dJwi.dJwj 
1348      """ 
1349   
1350      return 4.0*jw_data[frq_num, 0] + 3.0*jw_data[frq_num, 1] 
 1351