diff --git a/src/cluster/cluster.cpp b/src/cluster/cluster.cpp index 6bb1272cbc6d9f4c1638462d1902da145066a09a..52869a5940e7f356fe7308486a8d20437635315c 100644 --- a/src/cluster/cluster.cpp +++ b/src/cluster/cluster.cpp @@ -186,7 +186,7 @@ void cluster(const string& config_file, const string& data_file, const string& o int jer = cluster_jxi488_cycle(jxi488, sconf, gconf, p_scattering_angles, cid, output, output_path, tppoan); chrono::time_point<chrono::high_resolution_clock> end_iter_1 = chrono::high_resolution_clock::now(); elapsed = start_iter_1 - t_start; - message = "INFO: Calculation setup took " + to_string(elapsed.count()) + "s.\n"; + string message = "INFO: Calculation setup took " + to_string(elapsed.count()) + "s.\n"; logger->log(message); time_logger->log(message); elapsed = end_iter_1 - start_iter_1; @@ -251,7 +251,7 @@ void cluster(const string& config_file, const string& data_file, const string& o } #pragma omp barrier { - message = "INFO: Closing thread-local output files of thread " + to_string(myompthread) + " and syncing threads.\n"; + string message = "INFO: Closing thread-local output files of thread " + to_string(myompthread) + " and syncing threads.\n"; logger->log(message); } } // closes pragma omp parallel @@ -262,7 +262,7 @@ void cluster(const string& config_file, const string& data_file, const string& o for (int ri = 1; ri < ompnumthreads; ri++) { // Giovanni, please add here in this loop code to reopen the temporary files, reread them and append them respectively to the global output and tppoan, before closing them string partial_file_name = output_path + "/c_OCLU_" + to_string(mpidata->rank) + "_" + to_string(ri); - message = "Copying ASCII output in MPI process " + to_string(mpidata->rank) + " of thread " + to_string(ri) + " of " + to_string(ompnumthreads - 1) + "... "; + string message = "Copying ASCII output in MPI process " + to_string(mpidata->rank) + " of thread " + to_string(ri) + " of " + to_string(ompnumthreads - 1) + "... "; logger->log(message, LOG_DEBG); FILE *partial_output = fopen(partial_file_name.c_str(), "r"); int c = fgetc(partial_output); @@ -341,7 +341,7 @@ void cluster(const string& config_file, const string& data_file, const string& o delete gconf; chrono::time_point<chrono::high_resolution_clock> t_end = chrono::high_resolution_clock::now(); elapsed = t_end - t_start; - message = "INFO: Calculation lasted " + to_string(elapsed.count()) + "s.\n"; + string message = "INFO: Calculation lasted " + to_string(elapsed.count()) + "s.\n"; logger->log(message); logger->log("Finished: output written to " + output_path + "/c_OCLU\n"); time_logger->log(message); @@ -409,7 +409,7 @@ void cluster(const string& config_file, const string& data_file, const string& o delete tppoanp_2; #pragma omp barrier { - message = "INFO: Closing thread-local output files of thread " + to_string(myompthread) + " and syncing threads.\n"; + string message = "INFO: Closing thread-local output files of thread " + to_string(myompthread) + " and syncing threads.\n"; logger->log(message); } } // closes pragma omp parallel @@ -421,7 +421,7 @@ void cluster(const string& config_file, const string& data_file, const string& o for (int ri = 0; ri < ompnumthreads; ri++) { // Giovanni, please add here in this loop code to reopen the temporary files, reread them and append them respectively to the global output and tppoan, before closing them string partial_file_name = output_path + "/c_OCLU_" + to_string(mpidata->rank) + "_" + to_string(ri); - message = "Copying ASCII output in MPI process " + to_string(mpidata->rank) + " of thread " + to_string(ri) + " of " + to_string(ompnumthreads - 1) + "... "; + string message = "Copying ASCII output in MPI process " + to_string(mpidata->rank) + " of thread " + to_string(ri) + " of " + to_string(ompnumthreads - 1) + "... "; logger->log(message, LOG_DEBG); FILE *partial_output = fopen(partial_file_name.c_str(), "r"); int c = 0; diff --git a/src/libnptm/Configuration.cpp b/src/libnptm/Configuration.cpp index a613463cb98ba3ae5af94c479224247607326568..79968b97e885238e85ea62a8a69c42438bea7652 100644 --- a/src/libnptm/Configuration.cpp +++ b/src/libnptm/Configuration.cpp @@ -12,6 +12,7 @@ #include <hdf5.h> #include <regex> #include <string> +#include <string.h> #ifdef USE_MPI #ifndef MPI_VERSION #include <mpi.h> diff --git a/src/libnptm/logging.cpp b/src/libnptm/logging.cpp index a0246ceb75236840cf6323c0b85c4dd12714bac9..cbec205616d0572d30f93036a70d01f2b8ff6ea1 100644 --- a/src/libnptm/logging.cpp +++ b/src/libnptm/logging.cpp @@ -26,7 +26,7 @@ Logger::~Logger() { } void Logger::err(const std::string& message) { -#pragma omp critical +//#pragma omp critical { fprintf(err_output, "%s", message.c_str()); fflush(err_output); @@ -34,7 +34,7 @@ void Logger::err(const std::string& message) { } void Logger::flush(int level) { -#pragma omp critical +//#pragma omp critical { string summary = "\"" + *last_message + "\" issued " + to_string(repetitions); if (repetitions == 1) summary += " time.\n"; @@ -53,7 +53,7 @@ void Logger::flush(int level) { } void Logger::log(const std::string& message, int level) { -#pragma omp critical +//#pragma omp critical { if (level == LOG_ERRO) err(message); else { @@ -66,7 +66,7 @@ void Logger::log(const std::string& message, int level) { } void Logger::push(const std::string& message) { -#pragma omp critical +//#pragma omp critical { if (repetitions > 0) { if (message.compare(*last_message) != 0) { diff --git a/test_data/cluster/case_3/DCLU b/test_data/cluster/case_3/DCLU new file mode 100644 index 0000000000000000000000000000000000000000..8bafb28ffae074f8fdd84d7b2fa8f4e5e838255a --- /dev/null +++ b/test_data/cluster/case_3/DCLU @@ -0,0 +1,9 @@ + 4 12 12 9200 0 149 300 0 0 + 0.0000000D+00 0.0000000D+00 0.0000000D+00 + -8.6999381D-09 -2.1432655D-08 2.1878060D-07 + -1.1123930D-07 1.0519369D-07 1.7163947D-07 + -6.8351972D-08 -1.5505574D-08 -2.3997413D-07 + 0.00D01 1.00D01 5.00D01 0.00D00 1.00D01 5.00D01 + 0.00D01 1.00D01 5.00D01 0.00D00 1.00D01 5.00D01 + 1 + 0 diff --git a/test_data/cluster/case_3/DEDFB b/test_data/cluster/case_3/DEDFB new file mode 100644 index 0000000000000000000000000000000000000000..97e9d70bf3fdb02de33eb822430931022e280438 --- /dev/null +++ b/test_data/cluster/case_3/DEDFB @@ -0,0 +1,2016 @@ + 4 0 + 1.7689D00 3.0D8 1.000000D00 0 401 0 3 + 400.0000000D-09 + 401.0000000D-09 + 402.0000000D-09 + 403.0000000D-09 + 404.0000000D-09 + 405.0000000D-09 + 406.0000000D-09 + 407.0000000D-09 + 408.0000000D-09 + 409.0000000D-09 + 410.0000000D-09 + 411.0000000D-09 + 412.0000000D-09 + 413.0000000D-09 + 414.0000000D-09 + 415.0000000D-09 + 416.0000000D-09 + 417.0000000D-09 + 418.0000000D-09 + 419.0000000D-09 + 420.0000000D-09 + 421.0000000D-09 + 422.0000000D-09 + 423.0000000D-09 + 424.0000000D-09 + 425.0000000D-09 + 426.0000000D-09 + 427.0000000D-09 + 428.0000000D-09 + 429.0000000D-09 + 430.0000000D-09 + 431.0000000D-09 + 432.0000000D-09 + 433.0000000D-09 + 434.0000000D-09 + 435.0000000D-09 + 436.0000000D-09 + 437.0000000D-09 + 438.0000000D-09 + 439.0000000D-09 + 440.0000000D-09 + 441.0000000D-09 + 442.0000000D-09 + 443.0000000D-09 + 444.0000000D-09 + 445.0000000D-09 + 446.0000000D-09 + 447.0000000D-09 + 448.0000000D-09 + 449.0000000D-09 + 450.0000000D-09 + 451.0000000D-09 + 452.0000000D-09 + 453.0000000D-09 + 454.0000000D-09 + 455.0000000D-09 + 456.0000000D-09 + 457.0000000D-09 + 458.0000000D-09 + 459.0000000D-09 + 460.0000000D-09 + 461.0000000D-09 + 462.0000000D-09 + 463.0000000D-09 + 464.0000000D-09 + 465.0000000D-09 + 466.0000000D-09 + 467.0000000D-09 + 468.0000000D-09 + 469.0000000D-09 + 470.0000000D-09 + 471.0000000D-09 + 472.0000000D-09 + 473.0000000D-09 + 474.0000000D-09 + 475.0000000D-09 + 476.0000000D-09 + 477.0000000D-09 + 478.0000000D-09 + 479.0000000D-09 + 480.0000000D-09 + 481.0000000D-09 + 482.0000000D-09 + 483.0000000D-09 + 484.0000000D-09 + 485.0000000D-09 + 486.0000000D-09 + 487.0000000D-09 + 488.0000000D-09 + 489.0000000D-09 + 490.0000000D-09 + 491.0000000D-09 + 492.0000000D-09 + 493.0000000D-09 + 494.0000000D-09 + 495.0000000D-09 + 496.0000000D-09 + 497.0000000D-09 + 498.0000000D-09 + 499.0000000D-09 + 500.0000000D-09 + 501.0000000D-09 + 502.0000000D-09 + 503.0000000D-09 + 504.0000000D-09 + 505.0000000D-09 + 506.0000000D-09 + 507.0000000D-09 + 508.0000000D-09 + 509.0000000D-09 + 510.0000000D-09 + 511.0000000D-09 + 512.0000000D-09 + 513.0000000D-09 + 514.0000000D-09 + 515.0000000D-09 + 516.0000000D-09 + 517.0000000D-09 + 518.0000000D-09 + 519.0000000D-09 + 520.0000000D-09 + 521.0000000D-09 + 522.0000000D-09 + 523.0000000D-09 + 524.0000000D-09 + 525.0000000D-09 + 526.0000000D-09 + 527.0000000D-09 + 528.0000000D-09 + 529.0000000D-09 + 530.0000000D-09 + 531.0000000D-09 + 532.0000000D-09 + 533.0000000D-09 + 534.0000000D-09 + 535.0000000D-09 + 536.0000000D-09 + 537.0000000D-09 + 538.0000000D-09 + 539.0000000D-09 + 540.0000000D-09 + 541.0000000D-09 + 542.0000000D-09 + 543.0000000D-09 + 544.0000000D-09 + 545.0000000D-09 + 546.0000000D-09 + 547.0000000D-09 + 548.0000000D-09 + 549.0000000D-09 + 550.0000000D-09 + 551.0000000D-09 + 552.0000000D-09 + 553.0000000D-09 + 554.0000000D-09 + 555.0000000D-09 + 556.0000000D-09 + 557.0000000D-09 + 558.0000000D-09 + 559.0000000D-09 + 560.0000000D-09 + 561.0000000D-09 + 562.0000000D-09 + 563.0000000D-09 + 564.0000000D-09 + 565.0000000D-09 + 566.0000000D-09 + 567.0000000D-09 + 568.0000000D-09 + 569.0000000D-09 + 570.0000000D-09 + 571.0000000D-09 + 572.0000000D-09 + 573.0000000D-09 + 574.0000000D-09 + 575.0000000D-09 + 576.0000000D-09 + 577.0000000D-09 + 578.0000000D-09 + 579.0000000D-09 + 580.0000000D-09 + 581.0000000D-09 + 582.0000000D-09 + 583.0000000D-09 + 584.0000000D-09 + 585.0000000D-09 + 586.0000000D-09 + 587.0000000D-09 + 588.0000000D-09 + 589.0000000D-09 + 590.0000000D-09 + 591.0000000D-09 + 592.0000000D-09 + 593.0000000D-09 + 594.0000000D-09 + 595.0000000D-09 + 596.0000000D-09 + 597.0000000D-09 + 598.0000000D-09 + 599.0000000D-09 + 600.0000000D-09 + 601.0000000D-09 + 602.0000000D-09 + 603.0000000D-09 + 604.0000000D-09 + 605.0000000D-09 + 606.0000000D-09 + 607.0000000D-09 + 608.0000000D-09 + 609.0000000D-09 + 610.0000000D-09 + 611.0000000D-09 + 612.0000000D-09 + 613.0000000D-09 + 614.0000000D-09 + 615.0000000D-09 + 616.0000000D-09 + 617.0000000D-09 + 618.0000000D-09 + 619.0000000D-09 + 620.0000000D-09 + 621.0000000D-09 + 622.0000000D-09 + 623.0000000D-09 + 624.0000000D-09 + 625.0000000D-09 + 626.0000000D-09 + 627.0000000D-09 + 628.0000000D-09 + 629.0000000D-09 + 630.0000000D-09 + 631.0000000D-09 + 632.0000000D-09 + 633.0000000D-09 + 634.0000000D-09 + 635.0000000D-09 + 636.0000000D-09 + 637.0000000D-09 + 638.0000000D-09 + 639.0000000D-09 + 640.0000000D-09 + 641.0000000D-09 + 642.0000000D-09 + 643.0000000D-09 + 644.0000000D-09 + 645.0000000D-09 + 646.0000000D-09 + 647.0000000D-09 + 648.0000000D-09 + 649.0000000D-09 + 650.0000000D-09 + 651.0000000D-09 + 652.0000000D-09 + 653.0000000D-09 + 654.0000000D-09 + 655.0000000D-09 + 656.0000000D-09 + 657.0000000D-09 + 658.0000000D-09 + 659.0000000D-09 + 660.0000000D-09 + 661.0000000D-09 + 662.0000000D-09 + 663.0000000D-09 + 664.0000000D-09 + 665.0000000D-09 + 666.0000000D-09 + 667.0000000D-09 + 668.0000000D-09 + 669.0000000D-09 + 670.0000000D-09 + 671.0000000D-09 + 672.0000000D-09 + 673.0000000D-09 + 674.0000000D-09 + 675.0000000D-09 + 676.0000000D-09 + 677.0000000D-09 + 678.0000000D-09 + 679.0000000D-09 + 680.0000000D-09 + 681.0000000D-09 + 682.0000000D-09 + 683.0000000D-09 + 684.0000000D-09 + 685.0000000D-09 + 686.0000000D-09 + 687.0000000D-09 + 688.0000000D-09 + 689.0000000D-09 + 690.0000000D-09 + 691.0000000D-09 + 692.0000000D-09 + 693.0000000D-09 + 694.0000000D-09 + 695.0000000D-09 + 696.0000000D-09 + 697.0000000D-09 + 698.0000000D-09 + 699.0000000D-09 + 700.0000000D-09 + 701.0000000D-09 + 702.0000000D-09 + 703.0000000D-09 + 704.0000000D-09 + 705.0000000D-09 + 706.0000000D-09 + 707.0000000D-09 + 708.0000000D-09 + 709.0000000D-09 + 710.0000000D-09 + 711.0000000D-09 + 712.0000000D-09 + 713.0000000D-09 + 714.0000000D-09 + 715.0000000D-09 + 716.0000000D-09 + 717.0000000D-09 + 718.0000000D-09 + 719.0000000D-09 + 720.0000000D-09 + 721.0000000D-09 + 722.0000000D-09 + 723.0000000D-09 + 724.0000000D-09 + 725.0000000D-09 + 726.0000000D-09 + 727.0000000D-09 + 728.0000000D-09 + 729.0000000D-09 + 730.0000000D-09 + 731.0000000D-09 + 732.0000000D-09 + 733.0000000D-09 + 734.0000000D-09 + 735.0000000D-09 + 736.0000000D-09 + 737.0000000D-09 + 738.0000000D-09 + 739.0000000D-09 + 740.0000000D-09 + 741.0000000D-09 + 742.0000000D-09 + 743.0000000D-09 + 744.0000000D-09 + 745.0000000D-09 + 746.0000000D-09 + 747.0000000D-09 + 748.0000000D-09 + 749.0000000D-09 + 750.0000000D-09 + 751.0000000D-09 + 752.0000000D-09 + 753.0000000D-09 + 754.0000000D-09 + 755.0000000D-09 + 756.0000000D-09 + 757.0000000D-09 + 758.0000000D-09 + 759.0000000D-09 + 760.0000000D-09 + 761.0000000D-09 + 762.0000000D-09 + 763.0000000D-09 + 764.0000000D-09 + 765.0000000D-09 + 766.0000000D-09 + 767.0000000D-09 + 768.0000000D-09 + 769.0000000D-09 + 770.0000000D-09 + 771.0000000D-09 + 772.0000000D-09 + 773.0000000D-09 + 774.0000000D-09 + 775.0000000D-09 + 776.0000000D-09 + 777.0000000D-09 + 778.0000000D-09 + 779.0000000D-09 + 780.0000000D-09 + 781.0000000D-09 + 782.0000000D-09 + 783.0000000D-09 + 784.0000000D-09 + 785.0000000D-09 + 786.0000000D-09 + 787.0000000D-09 + 788.0000000D-09 + 789.0000000D-09 + 790.0000000D-09 + 791.0000000D-09 + 792.0000000D-09 + 793.0000000D-09 + 794.0000000D-09 + 795.0000000D-09 + 796.0000000D-09 + 797.0000000D-09 + 798.0000000D-09 + 799.0000000D-09 + 800.0000000D-09 + 1 2 3 4 + 1 200.000000D-09 + 1.000000D00 + 1 20.000000D-09 + 1.000000D00 + 1 30.000000D-09 + 1.000000D00 + 1 50.000000D-09 + 1.000000D00 + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6597000e+00 , 5.7409000e+00 ) + ( -1.6597000e+00 , 5.7409000e+00 ) + ( -1.6597000e+00 , 5.7409000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6636000e+00 , 5.7410000e+00 ) + ( -1.6636000e+00 , 5.7410000e+00 ) + ( -1.6636000e+00 , 5.7410000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6675000e+00 , 5.7407000e+00 ) + ( -1.6675000e+00 , 5.7407000e+00 ) + ( -1.6675000e+00 , 5.7407000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6712000e+00 , 5.7401000e+00 ) + ( -1.6712000e+00 , 5.7401000e+00 ) + ( -1.6712000e+00 , 5.7401000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6749000e+00 , 5.7391000e+00 ) + ( -1.6749000e+00 , 5.7391000e+00 ) + ( -1.6749000e+00 , 5.7391000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6785000e+00 , 5.7379000e+00 ) + ( -1.6785000e+00 , 5.7379000e+00 ) + ( -1.6785000e+00 , 5.7379000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6820000e+00 , 5.7362000e+00 ) + ( -1.6820000e+00 , 5.7362000e+00 ) + ( -1.6820000e+00 , 5.7362000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6853000e+00 , 5.7343000e+00 ) + ( -1.6853000e+00 , 5.7343000e+00 ) + ( -1.6853000e+00 , 5.7343000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6885000e+00 , 5.7322000e+00 ) + ( -1.6885000e+00 , 5.7322000e+00 ) + ( -1.6885000e+00 , 5.7322000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6915000e+00 , 5.7298000e+00 ) + ( -1.6915000e+00 , 5.7298000e+00 ) + ( -1.6915000e+00 , 5.7298000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6943000e+00 , 5.7272000e+00 ) + ( -1.6943000e+00 , 5.7272000e+00 ) + ( -1.6943000e+00 , 5.7272000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6970000e+00 , 5.7244000e+00 ) + ( -1.6970000e+00 , 5.7244000e+00 ) + ( -1.6970000e+00 , 5.7244000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6994000e+00 , 5.7214000e+00 ) + ( -1.6994000e+00 , 5.7214000e+00 ) + ( -1.6994000e+00 , 5.7214000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7016000e+00 , 5.7183000e+00 ) + ( -1.7016000e+00 , 5.7183000e+00 ) + ( -1.7016000e+00 , 5.7183000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7021000e+00 , 5.7170000e+00 ) + ( -1.7021000e+00 , 5.7170000e+00 ) + ( -1.7021000e+00 , 5.7170000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7018000e+00 , 5.7161000e+00 ) + ( -1.7018000e+00 , 5.7161000e+00 ) + ( -1.7018000e+00 , 5.7161000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7013000e+00 , 5.7150000e+00 ) + ( -1.7013000e+00 , 5.7150000e+00 ) + ( -1.7013000e+00 , 5.7150000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7007000e+00 , 5.7137000e+00 ) + ( -1.7007000e+00 , 5.7137000e+00 ) + ( -1.7007000e+00 , 5.7137000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6999000e+00 , 5.7120000e+00 ) + ( -1.6999000e+00 , 5.7120000e+00 ) + ( -1.6999000e+00 , 5.7120000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6992000e+00 , 5.7200000e+00 ) + ( -1.6992000e+00 , 5.7200000e+00 ) + ( -1.6992000e+00 , 5.7200000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6983000e+00 , 5.7075000e+00 ) + ( -1.6983000e+00 , 5.7075000e+00 ) + ( -1.6983000e+00 , 5.7075000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6974000e+00 , 5.7047000e+00 ) + ( -1.6974000e+00 , 5.7047000e+00 ) + ( -1.6974000e+00 , 5.7047000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6965000e+00 , 5.7013000e+00 ) + ( -1.6965000e+00 , 5.7013000e+00 ) + ( -1.6965000e+00 , 5.7013000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6957000e+00 , 5.6974000e+00 ) + ( -1.6957000e+00 , 5.6974000e+00 ) + ( -1.6957000e+00 , 5.6974000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6948000e+00 , 5.6930000e+00 ) + ( -1.6948000e+00 , 5.6930000e+00 ) + ( -1.6948000e+00 , 5.6930000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6941000e+00 , 5.6881000e+00 ) + ( -1.6941000e+00 , 5.6881000e+00 ) + ( -1.6941000e+00 , 5.6881000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6934000e+00 , 5.6825000e+00 ) + ( -1.6934000e+00 , 5.6825000e+00 ) + ( -1.6934000e+00 , 5.6825000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6929000e+00 , 5.6763000e+00 ) + ( -1.6929000e+00 , 5.6763000e+00 ) + ( -1.6929000e+00 , 5.6763000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6925000e+00 , 5.6694000e+00 ) + ( -1.6925000e+00 , 5.6694000e+00 ) + ( -1.6925000e+00 , 5.6694000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6922000e+00 , 5.6619000e+00 ) + ( -1.6922000e+00 , 5.6619000e+00 ) + ( -1.6922000e+00 , 5.6619000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6922000e+00 , 5.6536000e+00 ) + ( -1.6922000e+00 , 5.6536000e+00 ) + ( -1.6922000e+00 , 5.6536000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6938000e+00 , 5.6428000e+00 ) + ( -1.6938000e+00 , 5.6428000e+00 ) + ( -1.6938000e+00 , 5.6428000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6973000e+00 , 5.6294000e+00 ) + ( -1.6973000e+00 , 5.6294000e+00 ) + ( -1.6973000e+00 , 5.6294000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7009000e+00 , 5.6154000e+00 ) + ( -1.7009000e+00 , 5.6154000e+00 ) + ( -1.7009000e+00 , 5.6154000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7046000e+00 , 5.6006000e+00 ) + ( -1.7046000e+00 , 5.6006000e+00 ) + ( -1.7046000e+00 , 5.6006000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7084000e+00 , 5.5853000e+00 ) + ( -1.7084000e+00 , 5.5853000e+00 ) + ( -1.7084000e+00 , 5.5853000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7123000e+00 , 5.5693000e+00 ) + ( -1.7123000e+00 , 5.5693000e+00 ) + ( -1.7123000e+00 , 5.5693000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7162000e+00 , 5.5528000e+00 ) + ( -1.7162000e+00 , 5.5528000e+00 ) + ( -1.7162000e+00 , 5.5528000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7201000e+00 , 5.5357000e+00 ) + ( -1.7201000e+00 , 5.5357000e+00 ) + ( -1.7201000e+00 , 5.5357000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7240000e+00 , 5.5181000e+00 ) + ( -1.7240000e+00 , 5.5181000e+00 ) + ( -1.7240000e+00 , 5.5181000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7279000e+00 , 5.5001000e+00 ) + ( -1.7279000e+00 , 5.5001000e+00 ) + ( -1.7279000e+00 , 5.5001000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7316000e+00 , 5.4817000e+00 ) + ( -1.7316000e+00 , 5.4817000e+00 ) + ( -1.7316000e+00 , 5.4817000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7353000e+00 , 5.4628000e+00 ) + ( -1.7353000e+00 , 5.4628000e+00 ) + ( -1.7353000e+00 , 5.4628000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7388000e+00 , 5.4435000e+00 ) + ( -1.7388000e+00 , 5.4435000e+00 ) + ( -1.7388000e+00 , 5.4435000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7421000e+00 , 5.4239000e+00 ) + ( -1.7421000e+00 , 5.4239000e+00 ) + ( -1.7421000e+00 , 5.4239000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7453000e+00 , 5.4040000e+00 ) + ( -1.7453000e+00 , 5.4040000e+00 ) + ( -1.7453000e+00 , 5.4040000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7482000e+00 , 5.3838000e+00 ) + ( -1.7482000e+00 , 5.3838000e+00 ) + ( -1.7482000e+00 , 5.3838000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7509000e+00 , 5.3634000e+00 ) + ( -1.7509000e+00 , 5.3634000e+00 ) + ( -1.7509000e+00 , 5.3634000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7534000e+00 , 5.3427000e+00 ) + ( -1.7534000e+00 , 5.3427000e+00 ) + ( -1.7534000e+00 , 5.3427000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7557000e+00 , 5.3218000e+00 ) + ( -1.7557000e+00 , 5.3218000e+00 ) + ( -1.7557000e+00 , 5.3218000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7578000e+00 , 5.3007000e+00 ) + ( -1.7578000e+00 , 5.3007000e+00 ) + ( -1.7578000e+00 , 5.3007000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7580000e+00 , 5.2802000e+00 ) + ( -1.7580000e+00 , 5.2802000e+00 ) + ( -1.7580000e+00 , 5.2802000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7512000e+00 , 5.2637000e+00 ) + ( -1.7512000e+00 , 5.2637000e+00 ) + ( -1.7512000e+00 , 5.2637000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7442000e+00 , 5.2469000e+00 ) + ( -1.7442000e+00 , 5.2469000e+00 ) + ( -1.7442000e+00 , 5.2469000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7374000e+00 , 5.2299000e+00 ) + ( -1.7374000e+00 , 5.2299000e+00 ) + ( -1.7374000e+00 , 5.2299000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7306000e+00 , 5.2124000e+00 ) + ( -1.7306000e+00 , 5.2124000e+00 ) + ( -1.7306000e+00 , 5.2124000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7240000e+00 , 5.1946000e+00 ) + ( -1.7240000e+00 , 5.1946000e+00 ) + ( -1.7240000e+00 , 5.1946000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7177000e+00 , 5.1764000e+00 ) + ( -1.7177000e+00 , 5.1764000e+00 ) + ( -1.7177000e+00 , 5.1764000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7119000e+00 , 5.1576000e+00 ) + ( -1.7119000e+00 , 5.1576000e+00 ) + ( -1.7119000e+00 , 5.1576000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7063000e+00 , 5.1384000e+00 ) + ( -1.7063000e+00 , 5.1384000e+00 ) + ( -1.7063000e+00 , 5.1384000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7013000e+00 , 5.1186000e+00 ) + ( -1.7013000e+00 , 5.1186000e+00 ) + ( -1.7013000e+00 , 5.1186000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6970000e+00 , 5.0983000e+00 ) + ( -1.6970000e+00 , 5.0983000e+00 ) + ( -1.6970000e+00 , 5.0983000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6933000e+00 , 5.0773000e+00 ) + ( -1.6933000e+00 , 5.0773000e+00 ) + ( -1.6933000e+00 , 5.0773000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6903000e+00 , 5.0557000e+00 ) + ( -1.6903000e+00 , 5.0557000e+00 ) + ( -1.6903000e+00 , 5.0557000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6881000e+00 , 5.0335000e+00 ) + ( -1.6881000e+00 , 5.0335000e+00 ) + ( -1.6881000e+00 , 5.0335000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6868000e+00 , 5.0105000e+00 ) + ( -1.6868000e+00 , 5.0105000e+00 ) + ( -1.6868000e+00 , 5.0105000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6864000e+00 , 4.9868000e+00 ) + ( -1.6864000e+00 , 4.9868000e+00 ) + ( -1.6864000e+00 , 4.9868000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6870000e+00 , 4.9623000e+00 ) + ( -1.6870000e+00 , 4.9623000e+00 ) + ( -1.6870000e+00 , 4.9623000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6887000e+00 , 4.9371000e+00 ) + ( -1.6887000e+00 , 4.9371000e+00 ) + ( -1.6887000e+00 , 4.9371000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6914000e+00 , 4.9110000e+00 ) + ( -1.6914000e+00 , 4.9110000e+00 ) + ( -1.6914000e+00 , 4.9110000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6952000e+00 , 4.8841000e+00 ) + ( -1.6952000e+00 , 4.8841000e+00 ) + ( -1.6952000e+00 , 4.8841000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7002000e+00 , 4.8564000e+00 ) + ( -1.7002000e+00 , 4.8564000e+00 ) + ( -1.7002000e+00 , 4.8564000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7064000e+00 , 4.8232000e+00 ) + ( -1.7064000e+00 , 4.8232000e+00 ) + ( -1.7064000e+00 , 4.8232000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7137000e+00 , 4.7859000e+00 ) + ( -1.7137000e+00 , 4.7859000e+00 ) + ( -1.7137000e+00 , 4.7859000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7223000e+00 , 4.7478000e+00 ) + ( -1.7223000e+00 , 4.7478000e+00 ) + ( -1.7223000e+00 , 4.7478000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7321000e+00 , 4.7090000e+00 ) + ( -1.7321000e+00 , 4.7090000e+00 ) + ( -1.7321000e+00 , 4.7090000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7433000e+00 , 4.6696000e+00 ) + ( -1.7433000e+00 , 4.6696000e+00 ) + ( -1.7433000e+00 , 4.6696000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7559000e+00 , 4.6295000e+00 ) + ( -1.7559000e+00 , 4.6295000e+00 ) + ( -1.7559000e+00 , 4.6295000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7698000e+00 , 4.5889000e+00 ) + ( -1.7698000e+00 , 4.5889000e+00 ) + ( -1.7698000e+00 , 4.5889000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7852000e+00 , 4.5470000e+00 ) + ( -1.7852000e+00 , 4.5470000e+00 ) + ( -1.7852000e+00 , 4.5470000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8020000e+00 , 4.5065000e+00 ) + ( -1.8020000e+00 , 4.5065000e+00 ) + ( -1.8020000e+00 , 4.5065000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8203000e+00 , 4.4646000e+00 ) + ( -1.8203000e+00 , 4.4646000e+00 ) + ( -1.8203000e+00 , 4.4646000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8400000e+00 , 4.4224000e+00 ) + ( -1.8400000e+00 , 4.4224000e+00 ) + ( -1.8400000e+00 , 4.4224000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8613000e+00 , 4.3799000e+00 ) + ( -1.8613000e+00 , 4.3799000e+00 ) + ( -1.8613000e+00 , 4.3799000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8840000e+00 , 4.3372000e+00 ) + ( -1.8840000e+00 , 4.3372000e+00 ) + ( -1.8840000e+00 , 4.3372000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9083000e+00 , 4.2941000e+00 ) + ( -1.9083000e+00 , 4.2941000e+00 ) + ( -1.9083000e+00 , 4.2941000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9341000e+00 , 4.2509000e+00 ) + ( -1.9341000e+00 , 4.2509000e+00 ) + ( -1.9341000e+00 , 4.2509000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9615000e+00 , 4.2074000e+00 ) + ( -1.9615000e+00 , 4.2074000e+00 ) + ( -1.9615000e+00 , 4.2074000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9905000e+00 , 4.1638000e+00 ) + ( -1.9905000e+00 , 4.1638000e+00 ) + ( -1.9905000e+00 , 4.1638000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0211000e+00 , 4.1200000e+00 ) + ( -2.0211000e+00 , 4.1200000e+00 ) + ( -2.0211000e+00 , 4.1200000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0533000e+00 , 4.0761000e+00 ) + ( -2.0533000e+00 , 4.0761000e+00 ) + ( -2.0533000e+00 , 4.0761000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0871000e+00 , 4.0320000e+00 ) + ( -2.0871000e+00 , 4.0320000e+00 ) + ( -2.0871000e+00 , 4.0320000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1225000e+00 , 3.9878000e+00 ) + ( -2.1225000e+00 , 3.9878000e+00 ) + ( -2.1225000e+00 , 3.9878000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1596000e+00 , 3.9435000e+00 ) + ( -2.1596000e+00 , 3.9435000e+00 ) + ( -2.1596000e+00 , 3.9435000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1984000e+00 , 3.8990000e+00 ) + ( -2.1984000e+00 , 3.8990000e+00 ) + ( -2.1984000e+00 , 3.8990000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2387000e+00 , 3.8545000e+00 ) + ( -2.2387000e+00 , 3.8545000e+00 ) + ( -2.2387000e+00 , 3.8545000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2820000e+00 , 3.8094000e+00 ) + ( -2.2820000e+00 , 3.8094000e+00 ) + ( -2.2820000e+00 , 3.8094000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3405000e+00 , 3.7591000e+00 ) + ( -2.3405000e+00 , 3.7591000e+00 ) + ( -2.3405000e+00 , 3.7591000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.4004000e+00 , 3.7086000e+00 ) + ( -2.4004000e+00 , 3.7086000e+00 ) + ( -2.4004000e+00 , 3.7086000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.4614000e+00 , 3.6578000e+00 ) + ( -2.4614000e+00 , 3.6578000e+00 ) + ( -2.4614000e+00 , 3.6578000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.5235000e+00 , 3.6069000e+00 ) + ( -2.5235000e+00 , 3.6069000e+00 ) + ( -2.5235000e+00 , 3.6069000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.5866000e+00 , 3.5558000e+00 ) + ( -2.5866000e+00 , 3.5558000e+00 ) + ( -2.5866000e+00 , 3.5558000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.6506000e+00 , 3.5047000e+00 ) + ( -2.6506000e+00 , 3.5047000e+00 ) + ( -2.6506000e+00 , 3.5047000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.7154000e+00 , 3.4534000e+00 ) + ( -2.7154000e+00 , 3.4534000e+00 ) + ( -2.7154000e+00 , 3.4534000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.7820000e+00 , 3.4022000e+00 ) + ( -2.7820000e+00 , 3.4022000e+00 ) + ( -2.7820000e+00 , 3.4022000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.8471000e+00 , 3.3509000e+00 ) + ( -2.8471000e+00 , 3.3509000e+00 ) + ( -2.8471000e+00 , 3.3509000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.9137000e+00 , 3.2998000e+00 ) + ( -2.9137000e+00 , 3.2998000e+00 ) + ( -2.9137000e+00 , 3.2998000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.9811000e+00 , 3.2487000e+00 ) + ( -2.9811000e+00 , 3.2487000e+00 ) + ( -2.9811000e+00 , 3.2487000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.0488000e+00 , 3.1978000e+00 ) + ( -3.0488000e+00 , 3.1978000e+00 ) + ( -3.0488000e+00 , 3.1978000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.1169000e+00 , 3.1472000e+00 ) + ( -3.1169000e+00 , 3.1472000e+00 ) + ( -3.1169000e+00 , 3.1472000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.1854000e+00 , 3.0968000e+00 ) + ( -3.1854000e+00 , 3.0968000e+00 ) + ( -3.1854000e+00 , 3.0968000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.2541000e+00 , 3.0467000e+00 ) + ( -3.2541000e+00 , 3.0467000e+00 ) + ( -3.2541000e+00 , 3.0467000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.3231000e+00 , 2.9971000e+00 ) + ( -3.3231000e+00 , 2.9971000e+00 ) + ( -3.3231000e+00 , 2.9971000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.3923000e+00 , 2.9478000e+00 ) + ( -3.3923000e+00 , 2.9478000e+00 ) + ( -3.3923000e+00 , 2.9478000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.4617000e+00 , 2.8991000e+00 ) + ( -3.4617000e+00 , 2.8991000e+00 ) + ( -3.4617000e+00 , 2.8991000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.5313000e+00 , 2.8510000e+00 ) + ( -3.5313000e+00 , 2.8510000e+00 ) + ( -3.5313000e+00 , 2.8510000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.6009000e+00 , 2.8035000e+00 ) + ( -3.6009000e+00 , 2.8035000e+00 ) + ( -3.6009000e+00 , 2.8035000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.6707000e+00 , 2.7566000e+00 ) + ( -3.6707000e+00 , 2.7566000e+00 ) + ( -3.6707000e+00 , 2.7566000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.7405000e+00 , 2.7106000e+00 ) + ( -3.7405000e+00 , 2.7106000e+00 ) + ( -3.7405000e+00 , 2.7106000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.8104000e+00 , 2.6654000e+00 ) + ( -3.8104000e+00 , 2.6654000e+00 ) + ( -3.8104000e+00 , 2.6654000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.8803000e+00 , 2.6212000e+00 ) + ( -3.8803000e+00 , 2.6212000e+00 ) + ( -3.8803000e+00 , 2.6212000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -3.9500000e+00 , 2.5788000e+00 ) + ( -3.9500000e+00 , 2.5788000e+00 ) + ( -3.9500000e+00 , 2.5788000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.0157000e+00 , 2.5511000e+00 ) + ( -4.0157000e+00 , 2.5511000e+00 ) + ( -4.0157000e+00 , 2.5511000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.0815000e+00 , 2.5246000e+00 ) + ( -4.0815000e+00 , 2.5246000e+00 ) + ( -4.0815000e+00 , 2.5246000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.1476000e+00 , 2.4992000e+00 ) + ( -4.1476000e+00 , 2.4992000e+00 ) + ( -4.1476000e+00 , 2.4992000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.2139000e+00 , 2.4749000e+00 ) + ( -4.2139000e+00 , 2.4749000e+00 ) + ( -4.2139000e+00 , 2.4749000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.2804000e+00 , 2.4516000e+00 ) + ( -4.2804000e+00 , 2.4516000e+00 ) + ( -4.2804000e+00 , 2.4516000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.3472000e+00 , 2.4292000e+00 ) + ( -4.3472000e+00 , 2.4292000e+00 ) + ( -4.3472000e+00 , 2.4292000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.4142000e+00 , 2.4078000e+00 ) + ( -4.4142000e+00 , 2.4078000e+00 ) + ( -4.4142000e+00 , 2.4078000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.4814000e+00 , 2.3873000e+00 ) + ( -4.4814000e+00 , 2.3873000e+00 ) + ( -4.4814000e+00 , 2.3873000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.5489000e+00 , 2.3676000e+00 ) + ( -4.5489000e+00 , 2.3676000e+00 ) + ( -4.5489000e+00 , 2.3676000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.6167000e+00 , 2.3487000e+00 ) + ( -4.6167000e+00 , 2.3487000e+00 ) + ( -4.6167000e+00 , 2.3487000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.6847000e+00 , 2.3307000e+00 ) + ( -4.6847000e+00 , 2.3307000e+00 ) + ( -4.6847000e+00 , 2.3307000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.7529000e+00 , 2.3133000e+00 ) + ( -4.7529000e+00 , 2.3133000e+00 ) + ( -4.7529000e+00 , 2.3133000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.8214000e+00 , 2.2967000e+00 ) + ( -4.8214000e+00 , 2.2967000e+00 ) + ( -4.8214000e+00 , 2.2967000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.8901000e+00 , 2.2807000e+00 ) + ( -4.8901000e+00 , 2.2807000e+00 ) + ( -4.8901000e+00 , 2.2807000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -4.9590000e+00 , 2.2653000e+00 ) + ( -4.9590000e+00 , 2.2653000e+00 ) + ( -4.9590000e+00 , 2.2653000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.0281000e+00 , 2.2506000e+00 ) + ( -5.0281000e+00 , 2.2506000e+00 ) + ( -5.0281000e+00 , 2.2506000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.0974000e+00 , 2.2364000e+00 ) + ( -5.0974000e+00 , 2.2364000e+00 ) + ( -5.0974000e+00 , 2.2364000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.1670000e+00 , 2.2227000e+00 ) + ( -5.1670000e+00 , 2.2227000e+00 ) + ( -5.1670000e+00 , 2.2227000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.2367000e+00 , 2.2095000e+00 ) + ( -5.2367000e+00 , 2.2095000e+00 ) + ( -5.2367000e+00 , 2.2095000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.3066000e+00 , 2.1968000e+00 ) + ( -5.3066000e+00 , 2.1968000e+00 ) + ( -5.3066000e+00 , 2.1968000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.3767000e+00 , 2.1845000e+00 ) + ( -5.3767000e+00 , 2.1845000e+00 ) + ( -5.3767000e+00 , 2.1845000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.4469000e+00 , 2.1726000e+00 ) + ( -5.4469000e+00 , 2.1726000e+00 ) + ( -5.4469000e+00 , 2.1726000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.5172000e+00 , 2.1609000e+00 ) + ( -5.5172000e+00 , 2.1609000e+00 ) + ( -5.5172000e+00 , 2.1609000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.5876000e+00 , 2.1497000e+00 ) + ( -5.5876000e+00 , 2.1497000e+00 ) + ( -5.5876000e+00 , 2.1497000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.6582000e+00 , 2.1388000e+00 ) + ( -5.6582000e+00 , 2.1388000e+00 ) + ( -5.6582000e+00 , 2.1388000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.7288000e+00 , 2.1280000e+00 ) + ( -5.7288000e+00 , 2.1280000e+00 ) + ( -5.7288000e+00 , 2.1280000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.7995000e+00 , 2.1175000e+00 ) + ( -5.7995000e+00 , 2.1175000e+00 ) + ( -5.7995000e+00 , 2.1175000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.8688000e+00 , 2.1050000e+00 ) + ( -5.8688000e+00 , 2.1050000e+00 ) + ( -5.8688000e+00 , 2.1050000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -5.9359000e+00 , 2.0892000e+00 ) + ( -5.9359000e+00 , 2.0892000e+00 ) + ( -5.9359000e+00 , 2.0892000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.0030000e+00 , 2.0736000e+00 ) + ( -6.0030000e+00 , 2.0736000e+00 ) + ( -6.0030000e+00 , 2.0736000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.0700000e+00 , 2.0581000e+00 ) + ( -6.0700000e+00 , 2.0581000e+00 ) + ( -6.0700000e+00 , 2.0581000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.1370000e+00 , 2.0428000e+00 ) + ( -6.1370000e+00 , 2.0428000e+00 ) + ( -6.1370000e+00 , 2.0428000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.2041000e+00 , 2.0276000e+00 ) + ( -6.2041000e+00 , 2.0276000e+00 ) + ( -6.2041000e+00 , 2.0276000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.2711000e+00 , 2.0125000e+00 ) + ( -6.2711000e+00 , 2.0125000e+00 ) + ( -6.2711000e+00 , 2.0125000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.3382000e+00 , 1.9975000e+00 ) + ( -6.3382000e+00 , 1.9975000e+00 ) + ( -6.3382000e+00 , 1.9975000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.4052000e+00 , 1.9827000e+00 ) + ( -6.4052000e+00 , 1.9827000e+00 ) + ( -6.4052000e+00 , 1.9827000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.4723000e+00 , 1.9681000e+00 ) + ( -6.4723000e+00 , 1.9681000e+00 ) + ( -6.4723000e+00 , 1.9681000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.5395000e+00 , 1.9535000e+00 ) + ( -6.5395000e+00 , 1.9535000e+00 ) + ( -6.5395000e+00 , 1.9535000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.6067000e+00 , 1.9391000e+00 ) + ( -6.6067000e+00 , 1.9391000e+00 ) + ( -6.6067000e+00 , 1.9391000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.6739000e+00 , 1.9249000e+00 ) + ( -6.6739000e+00 , 1.9249000e+00 ) + ( -6.6739000e+00 , 1.9249000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.7412000e+00 , 1.9108000e+00 ) + ( -6.7412000e+00 , 1.9108000e+00 ) + ( -6.7412000e+00 , 1.9108000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.8085000e+00 , 1.8969000e+00 ) + ( -6.8085000e+00 , 1.8969000e+00 ) + ( -6.8085000e+00 , 1.8969000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.8759000e+00 , 1.8831000e+00 ) + ( -6.8759000e+00 , 1.8831000e+00 ) + ( -6.8759000e+00 , 1.8831000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -6.9434000e+00 , 1.8695000e+00 ) + ( -6.9434000e+00 , 1.8695000e+00 ) + ( -6.9434000e+00 , 1.8695000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.0109000e+00 , 1.8560000e+00 ) + ( -7.0109000e+00 , 1.8560000e+00 ) + ( -7.0109000e+00 , 1.8560000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.0786000e+00 , 1.8427000e+00 ) + ( -7.0786000e+00 , 1.8427000e+00 ) + ( -7.0786000e+00 , 1.8427000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.1463000e+00 , 1.8295000e+00 ) + ( -7.1463000e+00 , 1.8295000e+00 ) + ( -7.1463000e+00 , 1.8295000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.2141000e+00 , 1.8165000e+00 ) + ( -7.2141000e+00 , 1.8165000e+00 ) + ( -7.2141000e+00 , 1.8165000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.2820000e+00 , 1.8036000e+00 ) + ( -7.2820000e+00 , 1.8036000e+00 ) + ( -7.2820000e+00 , 1.8036000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.3501000e+00 , 1.7909000e+00 ) + ( -7.3501000e+00 , 1.7909000e+00 ) + ( -7.3501000e+00 , 1.7909000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.4182000e+00 , 1.7783000e+00 ) + ( -7.4182000e+00 , 1.7783000e+00 ) + ( -7.4182000e+00 , 1.7783000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.4864000e+00 , 1.7659000e+00 ) + ( -7.4864000e+00 , 1.7659000e+00 ) + ( -7.4864000e+00 , 1.7659000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.5548000e+00 , 1.7537000e+00 ) + ( -7.5548000e+00 , 1.7537000e+00 ) + ( -7.5548000e+00 , 1.7537000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.6233000e+00 , 1.7416000e+00 ) + ( -7.6233000e+00 , 1.7416000e+00 ) + ( -7.6233000e+00 , 1.7416000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.6919000e+00 , 1.7297000e+00 ) + ( -7.6919000e+00 , 1.7297000e+00 ) + ( -7.6919000e+00 , 1.7297000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.7607000e+00 , 1.7179000e+00 ) + ( -7.7607000e+00 , 1.7179000e+00 ) + ( -7.7607000e+00 , 1.7179000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.8296000e+00 , 1.7063000e+00 ) + ( -7.8296000e+00 , 1.7063000e+00 ) + ( -7.8296000e+00 , 1.7063000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.8987000e+00 , 1.6949000e+00 ) + ( -7.8987000e+00 , 1.6949000e+00 ) + ( -7.8987000e+00 , 1.6949000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -7.9679000e+00 , 1.6836000e+00 ) + ( -7.9679000e+00 , 1.6836000e+00 ) + ( -7.9679000e+00 , 1.6836000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.0372000e+00 , 1.6724000e+00 ) + ( -8.0372000e+00 , 1.6724000e+00 ) + ( -8.0372000e+00 , 1.6724000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.1068000e+00 , 1.6615000e+00 ) + ( -8.1068000e+00 , 1.6615000e+00 ) + ( -8.1068000e+00 , 1.6615000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.1785000e+00 , 1.6514000e+00 ) + ( -8.1785000e+00 , 1.6514000e+00 ) + ( -8.1785000e+00 , 1.6514000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.2506000e+00 , 1.6416000e+00 ) + ( -8.2506000e+00 , 1.6416000e+00 ) + ( -8.2506000e+00 , 1.6416000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.3228000e+00 , 1.6319000e+00 ) + ( -8.3228000e+00 , 1.6319000e+00 ) + ( -8.3228000e+00 , 1.6319000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.3952000e+00 , 1.6224000e+00 ) + ( -8.3952000e+00 , 1.6224000e+00 ) + ( -8.3952000e+00 , 1.6224000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.4677000e+00 , 1.6130000e+00 ) + ( -8.4677000e+00 , 1.6130000e+00 ) + ( -8.4677000e+00 , 1.6130000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.5404000e+00 , 1.6037000e+00 ) + ( -8.5404000e+00 , 1.6037000e+00 ) + ( -8.5404000e+00 , 1.6037000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.6131000e+00 , 1.5946000e+00 ) + ( -8.6131000e+00 , 1.5946000e+00 ) + ( -8.6131000e+00 , 1.5946000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.6860000e+00 , 1.5856000e+00 ) + ( -8.6860000e+00 , 1.5856000e+00 ) + ( -8.6860000e+00 , 1.5856000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.7591000e+00 , 1.5767000e+00 ) + ( -8.7591000e+00 , 1.5767000e+00 ) + ( -8.7591000e+00 , 1.5767000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.8322000e+00 , 1.5679000e+00 ) + ( -8.8322000e+00 , 1.5679000e+00 ) + ( -8.8322000e+00 , 1.5679000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.9054000e+00 , 1.5592000e+00 ) + ( -8.9054000e+00 , 1.5592000e+00 ) + ( -8.9054000e+00 , 1.5592000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -8.9787000e+00 , 1.5506000e+00 ) + ( -8.9787000e+00 , 1.5506000e+00 ) + ( -8.9787000e+00 , 1.5506000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.0521000e+00 , 1.5421000e+00 ) + ( -9.0521000e+00 , 1.5421000e+00 ) + ( -9.0521000e+00 , 1.5421000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.1256000e+00 , 1.5337000e+00 ) + ( -9.1256000e+00 , 1.5337000e+00 ) + ( -9.1256000e+00 , 1.5337000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.1991000e+00 , 1.5254000e+00 ) + ( -9.1991000e+00 , 1.5254000e+00 ) + ( -9.1991000e+00 , 1.5254000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.2727000e+00 , 1.5173000e+00 ) + ( -9.2727000e+00 , 1.5173000e+00 ) + ( -9.2727000e+00 , 1.5173000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.3464000e+00 , 1.5091000e+00 ) + ( -9.3464000e+00 , 1.5091000e+00 ) + ( -9.3464000e+00 , 1.5091000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.4201000e+00 , 1.5011000e+00 ) + ( -9.4201000e+00 , 1.5011000e+00 ) + ( -9.4201000e+00 , 1.5011000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.4939000e+00 , 1.4931000e+00 ) + ( -9.4939000e+00 , 1.4931000e+00 ) + ( -9.4939000e+00 , 1.4931000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.5677000e+00 , 1.4853000e+00 ) + ( -9.5677000e+00 , 1.4853000e+00 ) + ( -9.5677000e+00 , 1.4853000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.6415000e+00 , 1.4774000e+00 ) + ( -9.6415000e+00 , 1.4774000e+00 ) + ( -9.6415000e+00 , 1.4774000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.7153000e+00 , 1.4697000e+00 ) + ( -9.7153000e+00 , 1.4697000e+00 ) + ( -9.7153000e+00 , 1.4697000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.7892000e+00 , 1.4620000e+00 ) + ( -9.7892000e+00 , 1.4620000e+00 ) + ( -9.7892000e+00 , 1.4620000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.8630000e+00 , 1.4544000e+00 ) + ( -9.8630000e+00 , 1.4544000e+00 ) + ( -9.8630000e+00 , 1.4544000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -9.9369000e+00 , 1.4466000e+00 ) + ( -9.9369000e+00 , 1.4466000e+00 ) + ( -9.9369000e+00 , 1.4466000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0010700e+01 , 1.4392000e+00 ) + ( -1.0010700e+01 , 1.4392000e+00 ) + ( -1.0010700e+01 , 1.4392000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0084600e+01 , 1.4317000e+00 ) + ( -1.0084600e+01 , 1.4317000e+00 ) + ( -1.0084600e+01 , 1.4317000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0158400e+01 , 1.4243000e+00 ) + ( -1.0158400e+01 , 1.4243000e+00 ) + ( -1.0158400e+01 , 1.4243000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0232200e+01 , 1.4169000e+00 ) + ( -1.0232200e+01 , 1.4169000e+00 ) + ( -1.0232200e+01 , 1.4169000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0305900e+01 , 1.4095000e+00 ) + ( -1.0305900e+01 , 1.4095000e+00 ) + ( -1.0305900e+01 , 1.4095000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0379600e+01 , 1.4022000e+00 ) + ( -1.0379600e+01 , 1.4022000e+00 ) + ( -1.0379600e+01 , 1.4022000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0453300e+01 , 1.3949000e+00 ) + ( -1.0453300e+01 , 1.3949000e+00 ) + ( -1.0453300e+01 , 1.3949000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0526900e+01 , 1.3876000e+00 ) + ( -1.0526900e+01 , 1.3876000e+00 ) + ( -1.0526900e+01 , 1.3876000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0600400e+01 , 1.3803000e+00 ) + ( -1.0600400e+01 , 1.3803000e+00 ) + ( -1.0600400e+01 , 1.3803000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0673500e+01 , 1.3727000e+00 ) + ( -1.0673500e+01 , 1.3727000e+00 ) + ( -1.0673500e+01 , 1.3727000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0744800e+01 , 1.3631000e+00 ) + ( -1.0744800e+01 , 1.3631000e+00 ) + ( -1.0744800e+01 , 1.3631000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0815900e+01 , 1.3535000e+00 ) + ( -1.0815900e+01 , 1.3535000e+00 ) + ( -1.0815900e+01 , 1.3535000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0886900e+01 , 1.3440000e+00 ) + ( -1.0886900e+01 , 1.3440000e+00 ) + ( -1.0886900e+01 , 1.3440000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.0957800e+01 , 1.3345000e+00 ) + ( -1.0957800e+01 , 1.3345000e+00 ) + ( -1.0957800e+01 , 1.3345000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1028600e+01 , 1.3250000e+00 ) + ( -1.1028600e+01 , 1.3250000e+00 ) + ( -1.1028600e+01 , 1.3250000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1099400e+01 , 1.3155000e+00 ) + ( -1.1099400e+01 , 1.3155000e+00 ) + ( -1.1099400e+01 , 1.3155000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1170000e+01 , 1.3061000e+00 ) + ( -1.1170000e+01 , 1.3061000e+00 ) + ( -1.1170000e+01 , 1.3061000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1240600e+01 , 1.2967000e+00 ) + ( -1.1240600e+01 , 1.2967000e+00 ) + ( -1.1240600e+01 , 1.2967000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1311200e+01 , 1.2873000e+00 ) + ( -1.1311200e+01 , 1.2873000e+00 ) + ( -1.1311200e+01 , 1.2873000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1381600e+01 , 1.2780000e+00 ) + ( -1.1381600e+01 , 1.2780000e+00 ) + ( -1.1381600e+01 , 1.2780000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1452000e+01 , 1.2688000e+00 ) + ( -1.1452000e+01 , 1.2688000e+00 ) + ( -1.1452000e+01 , 1.2688000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1522300e+01 , 1.2596000e+00 ) + ( -1.1522300e+01 , 1.2596000e+00 ) + ( -1.1522300e+01 , 1.2596000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1592600e+01 , 1.2505000e+00 ) + ( -1.1592600e+01 , 1.2505000e+00 ) + ( -1.1592600e+01 , 1.2505000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1662800e+01 , 1.2415000e+00 ) + ( -1.1662800e+01 , 1.2415000e+00 ) + ( -1.1662800e+01 , 1.2415000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1732900e+01 , 1.2325000e+00 ) + ( -1.1732900e+01 , 1.2325000e+00 ) + ( -1.1732900e+01 , 1.2325000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1803000e+01 , 1.2236000e+00 ) + ( -1.1803000e+01 , 1.2236000e+00 ) + ( -1.1803000e+01 , 1.2236000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1873000e+01 , 1.2148000e+00 ) + ( -1.1873000e+01 , 1.2148000e+00 ) + ( -1.1873000e+01 , 1.2148000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.1943000e+01 , 1.2062000e+00 ) + ( -1.1943000e+01 , 1.2062000e+00 ) + ( -1.1943000e+01 , 1.2062000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2013000e+01 , 1.1976000e+00 ) + ( -1.2013000e+01 , 1.1976000e+00 ) + ( -1.2013000e+01 , 1.1976000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2082900e+01 , 1.1891000e+00 ) + ( -1.2082900e+01 , 1.1891000e+00 ) + ( -1.2082900e+01 , 1.1891000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2152700e+01 , 1.1807000e+00 ) + ( -1.2152700e+01 , 1.1807000e+00 ) + ( -1.2152700e+01 , 1.1807000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2222500e+01 , 1.1724000e+00 ) + ( -1.2222500e+01 , 1.1724000e+00 ) + ( -1.2222500e+01 , 1.1724000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2292300e+01 , 1.1643000e+00 ) + ( -1.2292300e+01 , 1.1643000e+00 ) + ( -1.2292300e+01 , 1.1643000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2362000e+01 , 1.1562000e+00 ) + ( -1.2362000e+01 , 1.1562000e+00 ) + ( -1.2362000e+01 , 1.1562000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2431700e+01 , 1.1483000e+00 ) + ( -1.2431700e+01 , 1.1483000e+00 ) + ( -1.2431700e+01 , 1.1483000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2501400e+01 , 1.1406000e+00 ) + ( -1.2501400e+01 , 1.1406000e+00 ) + ( -1.2501400e+01 , 1.1406000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2571000e+01 , 1.1329000e+00 ) + ( -1.2571000e+01 , 1.1329000e+00 ) + ( -1.2571000e+01 , 1.1329000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2640800e+01 , 1.1254000e+00 ) + ( -1.2640800e+01 , 1.1254000e+00 ) + ( -1.2640800e+01 , 1.1254000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2710300e+01 , 1.1181000e+00 ) + ( -1.2710300e+01 , 1.1181000e+00 ) + ( -1.2710300e+01 , 1.1181000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2779800e+01 , 1.1109000e+00 ) + ( -1.2779800e+01 , 1.1109000e+00 ) + ( -1.2779800e+01 , 1.1109000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2849400e+01 , 1.1039000e+00 ) + ( -1.2849400e+01 , 1.1039000e+00 ) + ( -1.2849400e+01 , 1.1039000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2919000e+01 , 1.0969000e+00 ) + ( -1.2919000e+01 , 1.0969000e+00 ) + ( -1.2919000e+01 , 1.0969000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.2988500e+01 , 1.0902000e+00 ) + ( -1.2988500e+01 , 1.0902000e+00 ) + ( -1.2988500e+01 , 1.0902000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3058000e+01 , 1.0837000e+00 ) + ( -1.3058000e+01 , 1.0837000e+00 ) + ( -1.3058000e+01 , 1.0837000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3127500e+01 , 1.0773000e+00 ) + ( -1.3127500e+01 , 1.0773000e+00 ) + ( -1.3127500e+01 , 1.0773000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3197100e+01 , 1.0710000e+00 ) + ( -1.3197100e+01 , 1.0710000e+00 ) + ( -1.3197100e+01 , 1.0710000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3266600e+01 , 1.0650000e+00 ) + ( -1.3266600e+01 , 1.0650000e+00 ) + ( -1.3266600e+01 , 1.0650000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3336100e+01 , 1.0591000e+00 ) + ( -1.3336100e+01 , 1.0591000e+00 ) + ( -1.3336100e+01 , 1.0591000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3405600e+01 , 1.0535000e+00 ) + ( -1.3405600e+01 , 1.0535000e+00 ) + ( -1.3405600e+01 , 1.0535000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3475100e+01 , 1.0480000e+00 ) + ( -1.3475100e+01 , 1.0480000e+00 ) + ( -1.3475100e+01 , 1.0480000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3544600e+01 , 1.0427000e+00 ) + ( -1.3544600e+01 , 1.0427000e+00 ) + ( -1.3544600e+01 , 1.0427000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3614200e+01 , 1.0376000e+00 ) + ( -1.3614200e+01 , 1.0376000e+00 ) + ( -1.3614200e+01 , 1.0376000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3683800e+01 , 1.0338000e+00 ) + ( -1.3683800e+01 , 1.0338000e+00 ) + ( -1.3683800e+01 , 1.0338000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3753600e+01 , 1.0313000e+00 ) + ( -1.3753600e+01 , 1.0313000e+00 ) + ( -1.3753600e+01 , 1.0313000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3823400e+01 , 1.0289000e+00 ) + ( -1.3823400e+01 , 1.0289000e+00 ) + ( -1.3823400e+01 , 1.0289000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3893200e+01 , 1.0268000e+00 ) + ( -1.3893200e+01 , 1.0268000e+00 ) + ( -1.3893200e+01 , 1.0268000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.3963000e+01 , 1.0248000e+00 ) + ( -1.3963000e+01 , 1.0248000e+00 ) + ( -1.3963000e+01 , 1.0248000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4032800e+01 , 1.0230000e+00 ) + ( -1.4032800e+01 , 1.0230000e+00 ) + ( -1.4032800e+01 , 1.0230000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4102700e+01 , 1.0215000e+00 ) + ( -1.4102700e+01 , 1.0215000e+00 ) + ( -1.4102700e+01 , 1.0215000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4172500e+01 , 1.0200000e+00 ) + ( -1.4172500e+01 , 1.0200000e+00 ) + ( -1.4172500e+01 , 1.0200000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4242500e+01 , 1.0188000e+00 ) + ( -1.4242500e+01 , 1.0188000e+00 ) + ( -1.4242500e+01 , 1.0188000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4312400e+01 , 1.0177000e+00 ) + ( -1.4312400e+01 , 1.0177000e+00 ) + ( -1.4312400e+01 , 1.0177000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4382300e+01 , 1.0168000e+00 ) + ( -1.4382300e+01 , 1.0168000e+00 ) + ( -1.4382300e+01 , 1.0168000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4452300e+01 , 1.0161000e+00 ) + ( -1.4452300e+01 , 1.0161000e+00 ) + ( -1.4452300e+01 , 1.0161000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4522300e+01 , 1.0155000e+00 ) + ( -1.4522300e+01 , 1.0155000e+00 ) + ( -1.4522300e+01 , 1.0155000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4592400e+01 , 1.0151000e+00 ) + ( -1.4592400e+01 , 1.0151000e+00 ) + ( -1.4592400e+01 , 1.0151000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4662400e+01 , 1.0148000e+00 ) + ( -1.4662400e+01 , 1.0148000e+00 ) + ( -1.4662400e+01 , 1.0148000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4732600e+01 , 1.0147000e+00 ) + ( -1.4732600e+01 , 1.0147000e+00 ) + ( -1.4732600e+01 , 1.0147000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4802700e+01 , 1.0148000e+00 ) + ( -1.4802700e+01 , 1.0148000e+00 ) + ( -1.4802700e+01 , 1.0148000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4872900e+01 , 1.0150000e+00 ) + ( -1.4872900e+01 , 1.0150000e+00 ) + ( -1.4872900e+01 , 1.0150000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.4943100e+01 , 1.0153000e+00 ) + ( -1.4943100e+01 , 1.0153000e+00 ) + ( -1.4943100e+01 , 1.0153000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5013300e+01 , 1.0158000e+00 ) + ( -1.5013300e+01 , 1.0158000e+00 ) + ( -1.5013300e+01 , 1.0158000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5083600e+01 , 1.0164000e+00 ) + ( -1.5083600e+01 , 1.0164000e+00 ) + ( -1.5083600e+01 , 1.0164000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5154000e+01 , 1.0172000e+00 ) + ( -1.5154000e+01 , 1.0172000e+00 ) + ( -1.5154000e+01 , 1.0172000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5224300e+01 , 1.0180000e+00 ) + ( -1.5224300e+01 , 1.0180000e+00 ) + ( -1.5224300e+01 , 1.0180000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5294800e+01 , 1.0190000e+00 ) + ( -1.5294800e+01 , 1.0190000e+00 ) + ( -1.5294800e+01 , 1.0190000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5365200e+01 , 1.0202000e+00 ) + ( -1.5365200e+01 , 1.0202000e+00 ) + ( -1.5365200e+01 , 1.0202000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5435700e+01 , 1.0215000e+00 ) + ( -1.5435700e+01 , 1.0215000e+00 ) + ( -1.5435700e+01 , 1.0215000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5506300e+01 , 1.0228000e+00 ) + ( -1.5506300e+01 , 1.0228000e+00 ) + ( -1.5506300e+01 , 1.0228000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5576900e+01 , 1.0243000e+00 ) + ( -1.5576900e+01 , 1.0243000e+00 ) + ( -1.5576900e+01 , 1.0243000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5647500e+01 , 1.0260000e+00 ) + ( -1.5647500e+01 , 1.0260000e+00 ) + ( -1.5647500e+01 , 1.0260000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5718200e+01 , 1.0277000e+00 ) + ( -1.5718200e+01 , 1.0277000e+00 ) + ( -1.5718200e+01 , 1.0277000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5789000e+01 , 1.0295000e+00 ) + ( -1.5789000e+01 , 1.0295000e+00 ) + ( -1.5789000e+01 , 1.0295000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5859700e+01 , 1.0315000e+00 ) + ( -1.5859700e+01 , 1.0315000e+00 ) + ( -1.5859700e+01 , 1.0315000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.5930600e+01 , 1.0335000e+00 ) + ( -1.5930600e+01 , 1.0335000e+00 ) + ( -1.5930600e+01 , 1.0335000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6001500e+01 , 1.0357000e+00 ) + ( -1.6001500e+01 , 1.0357000e+00 ) + ( -1.6001500e+01 , 1.0357000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6072400e+01 , 1.0379000e+00 ) + ( -1.6072400e+01 , 1.0379000e+00 ) + ( -1.6072400e+01 , 1.0379000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6143500e+01 , 1.0403000e+00 ) + ( -1.6143500e+01 , 1.0403000e+00 ) + ( -1.6143500e+01 , 1.0403000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6214500e+01 , 1.0427000e+00 ) + ( -1.6214500e+01 , 1.0427000e+00 ) + ( -1.6214500e+01 , 1.0427000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6285600e+01 , 1.0453000e+00 ) + ( -1.6285600e+01 , 1.0453000e+00 ) + ( -1.6285600e+01 , 1.0453000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6356800e+01 , 1.0479000e+00 ) + ( -1.6356800e+01 , 1.0479000e+00 ) + ( -1.6356800e+01 , 1.0479000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6428100e+01 , 1.0506000e+00 ) + ( -1.6428100e+01 , 1.0506000e+00 ) + ( -1.6428100e+01 , 1.0506000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6499400e+01 , 1.0534000e+00 ) + ( -1.6499400e+01 , 1.0534000e+00 ) + ( -1.6499400e+01 , 1.0534000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6570700e+01 , 1.0563000e+00 ) + ( -1.6570700e+01 , 1.0563000e+00 ) + ( -1.6570700e+01 , 1.0563000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6642100e+01 , 1.0592000e+00 ) + ( -1.6642100e+01 , 1.0592000e+00 ) + ( -1.6642100e+01 , 1.0592000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6713600e+01 , 1.0622000e+00 ) + ( -1.6713600e+01 , 1.0622000e+00 ) + ( -1.6713600e+01 , 1.0622000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6785200e+01 , 1.0653000e+00 ) + ( -1.6785200e+01 , 1.0653000e+00 ) + ( -1.6785200e+01 , 1.0653000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6856700e+01 , 1.0682000e+00 ) + ( -1.6856700e+01 , 1.0682000e+00 ) + ( -1.6856700e+01 , 1.0682000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6928200e+01 , 1.0709000e+00 ) + ( -1.6928200e+01 , 1.0709000e+00 ) + ( -1.6928200e+01 , 1.0709000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.6999900e+01 , 1.0736000e+00 ) + ( -1.6999900e+01 , 1.0736000e+00 ) + ( -1.6999900e+01 , 1.0736000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7071500e+01 , 1.0764000e+00 ) + ( -1.7071500e+01 , 1.0764000e+00 ) + ( -1.7071500e+01 , 1.0764000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7143300e+01 , 1.0793000e+00 ) + ( -1.7143300e+01 , 1.0793000e+00 ) + ( -1.7143300e+01 , 1.0793000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7215100e+01 , 1.0822000e+00 ) + ( -1.7215100e+01 , 1.0822000e+00 ) + ( -1.7215100e+01 , 1.0822000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7287000e+01 , 1.0852000e+00 ) + ( -1.7287000e+01 , 1.0852000e+00 ) + ( -1.7287000e+01 , 1.0852000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7359000e+01 , 1.0882000e+00 ) + ( -1.7359000e+01 , 1.0882000e+00 ) + ( -1.7359000e+01 , 1.0882000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7431000e+01 , 1.0914000e+00 ) + ( -1.7431000e+01 , 1.0914000e+00 ) + ( -1.7431000e+01 , 1.0914000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7503100e+01 , 1.0945000e+00 ) + ( -1.7503100e+01 , 1.0945000e+00 ) + ( -1.7503100e+01 , 1.0945000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7575300e+01 , 1.0978000e+00 ) + ( -1.7575300e+01 , 1.0978000e+00 ) + ( -1.7575300e+01 , 1.0978000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7647500e+01 , 1.1011000e+00 ) + ( -1.7647500e+01 , 1.1011000e+00 ) + ( -1.7647500e+01 , 1.1011000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7719900e+01 , 1.1044000e+00 ) + ( -1.7719900e+01 , 1.1044000e+00 ) + ( -1.7719900e+01 , 1.1044000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7792300e+01 , 1.1078000e+00 ) + ( -1.7792300e+01 , 1.1078000e+00 ) + ( -1.7792300e+01 , 1.1078000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7864800e+01 , 1.1113000e+00 ) + ( -1.7864800e+01 , 1.1113000e+00 ) + ( -1.7864800e+01 , 1.1113000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.7937300e+01 , 1.1148000e+00 ) + ( -1.7937300e+01 , 1.1148000e+00 ) + ( -1.7937300e+01 , 1.1148000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8009900e+01 , 1.1184000e+00 ) + ( -1.8009900e+01 , 1.1184000e+00 ) + ( -1.8009900e+01 , 1.1184000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8082700e+01 , 1.1220000e+00 ) + ( -1.8082700e+01 , 1.1220000e+00 ) + ( -1.8082700e+01 , 1.1220000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8155500e+01 , 1.1257000e+00 ) + ( -1.8155500e+01 , 1.1257000e+00 ) + ( -1.8155500e+01 , 1.1257000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8228400e+01 , 1.1295000e+00 ) + ( -1.8228400e+01 , 1.1295000e+00 ) + ( -1.8228400e+01 , 1.1295000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8301400e+01 , 1.1333000e+00 ) + ( -1.8301400e+01 , 1.1333000e+00 ) + ( -1.8301400e+01 , 1.1333000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8374500e+01 , 1.1371000e+00 ) + ( -1.8374500e+01 , 1.1371000e+00 ) + ( -1.8374500e+01 , 1.1371000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8447600e+01 , 1.1410000e+00 ) + ( -1.8447600e+01 , 1.1410000e+00 ) + ( -1.8447600e+01 , 1.1410000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8520700e+01 , 1.1449000e+00 ) + ( -1.8520700e+01 , 1.1449000e+00 ) + ( -1.8520700e+01 , 1.1449000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8594200e+01 , 1.1489000e+00 ) + ( -1.8594200e+01 , 1.1489000e+00 ) + ( -1.8594200e+01 , 1.1489000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8667600e+01 , 1.1529000e+00 ) + ( -1.8667600e+01 , 1.1529000e+00 ) + ( -1.8667600e+01 , 1.1529000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8741100e+01 , 1.1570000e+00 ) + ( -1.8741100e+01 , 1.1570000e+00 ) + ( -1.8741100e+01 , 1.1570000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8814700e+01 , 1.1612000e+00 ) + ( -1.8814700e+01 , 1.1612000e+00 ) + ( -1.8814700e+01 , 1.1612000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8888400e+01 , 1.1653000e+00 ) + ( -1.8888400e+01 , 1.1653000e+00 ) + ( -1.8888400e+01 , 1.1653000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.8962100e+01 , 1.1695000e+00 ) + ( -1.8962100e+01 , 1.1695000e+00 ) + ( -1.8962100e+01 , 1.1695000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9036000e+01 , 1.1738000e+00 ) + ( -1.9036000e+01 , 1.1738000e+00 ) + ( -1.9036000e+01 , 1.1738000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9110000e+01 , 1.1781000e+00 ) + ( -1.9110000e+01 , 1.1781000e+00 ) + ( -1.9110000e+01 , 1.1781000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9184100e+01 , 1.1824000e+00 ) + ( -1.9184100e+01 , 1.1824000e+00 ) + ( -1.9184100e+01 , 1.1824000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9258200e+01 , 1.1868000e+00 ) + ( -1.9258200e+01 , 1.1868000e+00 ) + ( -1.9258200e+01 , 1.1868000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9332500e+01 , 1.1912000e+00 ) + ( -1.9332500e+01 , 1.1912000e+00 ) + ( -1.9332500e+01 , 1.1912000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9406800e+01 , 1.1957000e+00 ) + ( -1.9406800e+01 , 1.1957000e+00 ) + ( -1.9406800e+01 , 1.1957000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9481300e+01 , 1.2002000e+00 ) + ( -1.9481300e+01 , 1.2002000e+00 ) + ( -1.9481300e+01 , 1.2002000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9555800e+01 , 1.2047000e+00 ) + ( -1.9555800e+01 , 1.2047000e+00 ) + ( -1.9555800e+01 , 1.2047000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9630400e+01 , 1.2093000e+00 ) + ( -1.9630400e+01 , 1.2093000e+00 ) + ( -1.9630400e+01 , 1.2093000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9705200e+01 , 1.2139000e+00 ) + ( -1.9705200e+01 , 1.2139000e+00 ) + ( -1.9705200e+01 , 1.2139000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9780000e+01 , 1.2185000e+00 ) + ( -1.9780000e+01 , 1.2185000e+00 ) + ( -1.9780000e+01 , 1.2185000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9855000e+01 , 1.2232000e+00 ) + ( -1.9855000e+01 , 1.2232000e+00 ) + ( -1.9855000e+01 , 1.2232000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -1.9930000e+01 , 1.2279000e+00 ) + ( -1.9930000e+01 , 1.2279000e+00 ) + ( -1.9930000e+01 , 1.2279000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0005100e+01 , 1.2327000e+00 ) + ( -2.0005100e+01 , 1.2327000e+00 ) + ( -2.0005100e+01 , 1.2327000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0080400e+01 , 1.2375000e+00 ) + ( -2.0080400e+01 , 1.2375000e+00 ) + ( -2.0080400e+01 , 1.2375000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0155800e+01 , 1.2423000e+00 ) + ( -2.0155800e+01 , 1.2423000e+00 ) + ( -2.0155800e+01 , 1.2423000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0231200e+01 , 1.2471000e+00 ) + ( -2.0231200e+01 , 1.2471000e+00 ) + ( -2.0231200e+01 , 1.2471000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0306800e+01 , 1.2511000e+00 ) + ( -2.0306800e+01 , 1.2511000e+00 ) + ( -2.0306800e+01 , 1.2511000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0382500e+01 , 1.2569000e+00 ) + ( -2.0382500e+01 , 1.2569000e+00 ) + ( -2.0382500e+01 , 1.2569000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0458300e+01 , 1.2618000e+00 ) + ( -2.0458300e+01 , 1.2618000e+00 ) + ( -2.0458300e+01 , 1.2618000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0534200e+01 , 1.2668000e+00 ) + ( -2.0534200e+01 , 1.2668000e+00 ) + ( -2.0534200e+01 , 1.2668000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0610200e+01 , 1.2718000e+00 ) + ( -2.0610200e+01 , 1.2718000e+00 ) + ( -2.0610200e+01 , 1.2718000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0686400e+01 , 1.2769000e+00 ) + ( -2.0686400e+01 , 1.2769000e+00 ) + ( -2.0686400e+01 , 1.2769000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0762800e+01 , 1.2821000e+00 ) + ( -2.0762800e+01 , 1.2821000e+00 ) + ( -2.0762800e+01 , 1.2821000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0839300e+01 , 1.2873000e+00 ) + ( -2.0839300e+01 , 1.2873000e+00 ) + ( -2.0839300e+01 , 1.2873000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0915600e+01 , 1.2925000e+00 ) + ( -2.0915600e+01 , 1.2925000e+00 ) + ( -2.0915600e+01 , 1.2925000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.0992500e+01 , 1.2977000e+00 ) + ( -2.0992500e+01 , 1.2977000e+00 ) + ( -2.0992500e+01 , 1.2977000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1069400e+01 , 1.3030000e+00 ) + ( -2.1069400e+01 , 1.3030000e+00 ) + ( -2.1069400e+01 , 1.3030000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1146300e+01 , 1.3083000e+00 ) + ( -2.1146300e+01 , 1.3083000e+00 ) + ( -2.1146300e+01 , 1.3083000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1223300e+01 , 1.3136000e+00 ) + ( -2.1223300e+01 , 1.3136000e+00 ) + ( -2.1223300e+01 , 1.3136000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1300400e+01 , 1.3189000e+00 ) + ( -2.1300400e+01 , 1.3189000e+00 ) + ( -2.1300400e+01 , 1.3189000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1377700e+01 , 1.3243000e+00 ) + ( -2.1377700e+01 , 1.3243000e+00 ) + ( -2.1377700e+01 , 1.3243000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1455100e+01 , 1.3296000e+00 ) + ( -2.1455100e+01 , 1.3296000e+00 ) + ( -2.1455100e+01 , 1.3296000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1532600e+01 , 1.3350000e+00 ) + ( -2.1532600e+01 , 1.3350000e+00 ) + ( -2.1532600e+01 , 1.3350000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1610100e+01 , 1.3404000e+00 ) + ( -2.1610100e+01 , 1.3404000e+00 ) + ( -2.1610100e+01 , 1.3404000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1687800e+01 , 1.3458000e+00 ) + ( -2.1687800e+01 , 1.3458000e+00 ) + ( -2.1687800e+01 , 1.3458000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1765700e+01 , 1.3513000e+00 ) + ( -2.1765700e+01 , 1.3513000e+00 ) + ( -2.1765700e+01 , 1.3513000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1843600e+01 , 1.3567000e+00 ) + ( -2.1843600e+01 , 1.3567000e+00 ) + ( -2.1843600e+01 , 1.3567000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1921600e+01 , 1.3622000e+00 ) + ( -2.1921600e+01 , 1.3622000e+00 ) + ( -2.1921600e+01 , 1.3622000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.1999800e+01 , 1.3677000e+00 ) + ( -2.1999800e+01 , 1.3677000e+00 ) + ( -2.1999800e+01 , 1.3677000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2078100e+01 , 1.3731000e+00 ) + ( -2.2078100e+01 , 1.3731000e+00 ) + ( -2.2078100e+01 , 1.3731000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2156400e+01 , 1.3786000e+00 ) + ( -2.2156400e+01 , 1.3786000e+00 ) + ( -2.2156400e+01 , 1.3786000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2234900e+01 , 1.3842000e+00 ) + ( -2.2234900e+01 , 1.3842000e+00 ) + ( -2.2234900e+01 , 1.3842000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2313600e+01 , 1.3897000e+00 ) + ( -2.2313600e+01 , 1.3897000e+00 ) + ( -2.2313600e+01 , 1.3897000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2392300e+01 , 1.3952000e+00 ) + ( -2.2392300e+01 , 1.3952000e+00 ) + ( -2.2392300e+01 , 1.3952000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2471100e+01 , 1.4007000e+00 ) + ( -2.2471100e+01 , 1.4007000e+00 ) + ( -2.2471100e+01 , 1.4007000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2550100e+01 , 1.4063000e+00 ) + ( -2.2550100e+01 , 1.4063000e+00 ) + ( -2.2550100e+01 , 1.4063000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2629200e+01 , 1.4118000e+00 ) + ( -2.2629200e+01 , 1.4118000e+00 ) + ( -2.2629200e+01 , 1.4118000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2708300e+01 , 1.4174000e+00 ) + ( -2.2708300e+01 , 1.4174000e+00 ) + ( -2.2708300e+01 , 1.4174000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2787600e+01 , 1.4229000e+00 ) + ( -2.2787600e+01 , 1.4229000e+00 ) + ( -2.2787600e+01 , 1.4229000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2867100e+01 , 1.4285000e+00 ) + ( -2.2867100e+01 , 1.4285000e+00 ) + ( -2.2867100e+01 , 1.4285000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.2946600e+01 , 1.4341000e+00 ) + ( -2.2946600e+01 , 1.4341000e+00 ) + ( -2.2946600e+01 , 1.4341000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3026200e+01 , 1.4396000e+00 ) + ( -2.3026200e+01 , 1.4396000e+00 ) + ( -2.3026200e+01 , 1.4396000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3106000e+01 , 1.4452000e+00 ) + ( -2.3106000e+01 , 1.4452000e+00 ) + ( -2.3106000e+01 , 1.4452000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3185900e+01 , 1.4508000e+00 ) + ( -2.3185900e+01 , 1.4508000e+00 ) + ( -2.3185900e+01 , 1.4508000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3265900e+01 , 1.4564000e+00 ) + ( -2.3265900e+01 , 1.4564000e+00 ) + ( -2.3265900e+01 , 1.4564000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3346000e+01 , 1.4620000e+00 ) + ( -2.3346000e+01 , 1.4620000e+00 ) + ( -2.3346000e+01 , 1.4620000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3426200e+01 , 1.4675000e+00 ) + ( -2.3426200e+01 , 1.4675000e+00 ) + ( -2.3426200e+01 , 1.4675000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3506600e+01 , 1.4731000e+00 ) + ( -2.3506600e+01 , 1.4731000e+00 ) + ( -2.3506600e+01 , 1.4731000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3587000e+01 , 1.4787000e+00 ) + ( -2.3587000e+01 , 1.4787000e+00 ) + ( -2.3587000e+01 , 1.4787000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3667600e+01 , 1.4842000e+00 ) + ( -2.3667600e+01 , 1.4842000e+00 ) + ( -2.3667600e+01 , 1.4842000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3748300e+01 , 1.4898000e+00 ) + ( -2.3748300e+01 , 1.4898000e+00 ) + ( -2.3748300e+01 , 1.4898000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3829100e+01 , 1.4954000e+00 ) + ( -2.3829100e+01 , 1.4954000e+00 ) + ( -2.3829100e+01 , 1.4954000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3910100e+01 , 1.5009000e+00 ) + ( -2.3910100e+01 , 1.5009000e+00 ) + ( -2.3910100e+01 , 1.5009000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.3991100e+01 , 1.5065000e+00 ) + ( -2.3991100e+01 , 1.5065000e+00 ) + ( -2.3991100e+01 , 1.5065000e+00 ) + ( 2.2500000e+00 , 0.0000000e+00 ) + ( -2.4072300e+01 , 1.5120000e+00 ) + ( -2.4072300e+01 , 1.5120000e+00 ) + ( -2.4072300e+01 , 1.5120000e+00 ) \ No newline at end of file diff --git a/test_data/cluster/case_3/clu_s8L23.f b/test_data/cluster/case_3/clu_s8L23.f new file mode 100644 index 0000000000000000000000000000000000000000..83609769ab5843a7b16e019e41093bd731719e79 --- /dev/null +++ b/test_data/cluster/case_3/clu_s8L23.f @@ -0,0 +1,3474 @@ + PROGRAM CLU +CCC 111130 +CCC SUPPORTS EXPERIMENTAL DIELECTRIC FUNCTIONS ONLY +CCC NSPH=8; LI=23, LE=23; NXI=2000 +CCC +CCC FOR IDFC>=0 ONLY, +CCC WHEN JXI=JWTM WRITES THE JWTM-TH TRANSITION MATRIX +CCC + IMPLICIT REAL*8(A-H,O-Z) +CCC COMMON/C1/VH(NCOU*LITPO),VJ0(NSPH*LMTPO), +CCC 1VYHJ(NCOU*LITPOS),VYJ0(NSPH*LMTPOS), +CCC 2RMI(LI,NSPH),REI(LI,NSPH),W(NLEMT,4), +CCC 3AM0M(NLEMT,NLEMT),FSAS(NSPH),SAS(NSPH,2,2),VINTS(NSPH,16), +CCC 4V3J0(NV3J),SSCS(NSPH),SEXS(NSPH),SABS(NSPH), +CCC 5SQSCS(NSPH),SQEXS(NSPH),SQABS(NSPH),GCSV(NSPH), +CCC 6RXX(NSPH),RYY(NSPH),RZZ(NSPH),ROS(NSPH),RC(NSPH,NSHL), +CCC 7IND3J(LMPO,LM),IOG(NSPH),NSHL(NSPH) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM +CCC COMMON/C2/RIS(NHSPO),DLRI(NHSPO),DC0(NSHL-NTL+1), +CCC 1VKT(NSPH),VSZ(NSPH) +CCC NHSPO=MAX0(NPNT,NPNTTS)*2-1 + COMMON/C2/RIS(999),DLRI(999),DC0(5),VKT(8),VSZ(8) + COMPLEX*16 RIS,DLRI,DC0,VKT + COMMON/C3/TFSAS,TSAS(2,2),GCS,SCS,ECS,ACS + COMPLEX*16 TFSAS,TSAS + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH +CCC COMMON/C6/RAC3J(LMTPO) + COMMON/C6/RAC3J(47) +CCC COMMON/C9/GIS(NDI,NLEM),GLS(NDI,NLEM),SAM(NDIT,NLEMT) + COMMON/C9/GIS(4600,575),GLS(4600,575),SAM(9200,1150) + COMPLEX*16 GIS,GLS,SAM +CCC DIMENSION AM(MXNDM,MXNDM) +CCC NDIT.LE.MXNDM + DIMENSION AM(9200,9200) + COMPLEX*16 AM +CCC DIMENSION RCF(NSPH,NSHL) + DIMENSION RCF(8,8),CMULLR(4,4),CMUL(4,4),CEXTLR(4,4),CEXT(4,4), + 1U(3),US(3),UN(3),UNS(3),UP(3),UPS(3), + 2UNMP(3),UNSMP(3),UPMP(3),UPSMP(3),DUK(3),ARGI(1),ARGS(1) +CCC DIMENSION ZPV(LM,3,2,2),GAPS(NSPH) + DIMENSION ZPV(23,3,2,2),GAPS(8),GAPV(3), + 1GAP(3,2),GAPP(3,2),GAPM(3,2),GAPPM(3,2) + COMPLEX*16 GAPP,GAPPM +CCC DIMENSION TQSE(2,NSPH),TQSPE(2,NSPH),TQSS(2,NSPH),TQSPS(2,NSPH) + DIMENSION TQSE(2,8),TQSPE(2,8),TQSS(2,8),TQSPS(2,8), + 1TQEV(3),TQSV(3),TQCE(2,3),TQCPE(2,3),TQCS(2,3),TQCPS(2,3) + COMPLEX*16 TQSPE,TQSPS,TQCPE,TQCPS +CCC DIMENSION DC0M(NSPH,NSHL-NTL),XIV(NXI) + DIMENSION DC0M(8,4),XIV(2000) + COMPLEX*16 DC0M + COMPLEX*16 ARG,S0,S0M + 8010 FORMAT(1H ,16I5) + 8015 FORMAT(1H , + 1'READ(IR,*)NSPH,LI,LE,MXNDM,INPOL,NPNT,NPNTTS,IAVM,ISAM') + 8050 FORMAT(3(1PD17.8)) + 8060 FORMAT(1H ,'READ(IR,*)RXX(I),RYY(I),RZZ(I)') + 8068 FORMAT(1H ,'READ(IR,*)TH,THSTP,THLST,THS,THSSTP,THSLST') + 8069 FORMAT(1H ,'READ(IR,*)PH,PHSTP,PHLST,PHS,PHSSTP,PHSLST') + 8170 FORMAT(1H ,7(1PD10.3)) + 8171 FORMAT(1H ,'READ(IR,*)JWTM') + 6000 FORMAT(1H ) + 6050 FORMAT(1H ,' SIZE=',1PD15.7,', REFRACTIVE INDEX=',2(1PD15.7)) + 6055 FORMAT(1H ,' SIZE=',1PD15.7) + 6060 FORMAT(1H ,' CIRC ',I2) + 6061 FORMAT(1H ,' CIRC') + 6065 FORMAT(1H ,' LIN ',I2) + 6066 FORMAT(1H ,' LIN') + 6068 FORMAT(1H ,4X,'SPHERES; LMX=LI') + 6069 FORMAT(1H ,4X,'SPHERES; LMX=MIN0(LI,LE)') + 6070 FORMAT(1H ,4X,'SPHERE ',I2) + 6080 FORMAT(1H ,4X,'CLUSTER') + 6100 FORMAT(1H ,'----- SCS ----- ABS ----- EXS ----- ALBEDS --') + 6150 FORMAT(1H ,1PD14.7,5(1PD15.7)) + 6165 FORMAT(1H ,' UN=(',1PD12.5,',',1PD12.5,',',1PD12.5,')') + 6166 FORMAT(1H ,' UNI=(',1PD12.5,',',1PD12.5,',',1PD12.5,')') + 6167 FORMAT(1H ,' UNS=(',1PD12.5,',',1PD12.5,',',1PD12.5,')') + 6200 FORMAT(1H ,'---- SCS/GS -- ABS/GS -- EXS/GS ---') + 6240 FORMAT(1H ,1X,'FSAS=',2(1PD15.7)) + 6242 FORMAT(1H ,1X,'SAS(1,1)=',2(1PD15.7),', SAS(2,1)=',2(1PD15.7)) + 6243 FORMAT(1H ,1X,'SAS(1,2)=',2(1PD15.7),', SAS(2,2)=',2(1PD15.7)) + 6250 FORMAT(1H ,1X,'FSAT=',2(1PD15.7)) + 6252 FORMAT(1H ,1X,'SAT(1,1)=',2(1PD15.7),', SAT(2,1)=',2(1PD15.7)) + 6253 FORMAT(1H ,1X,'SAT(1,2)=',2(1PD15.7),', SAT(2,2)=',2(1PD15.7)) + 6300 FORMAT(1H ,' STOP IN LUCIN: MATRIX SINGULAR') + 6331 FORMAT(1H ,1X,'MULS') + 6332 FORMAT(1H ,1X,'MULC') + 6336 FORMAT(1H ,1X,'MULSLR') + 6337 FORMAT(1H ,1X,'MULCLR') + 6350 FORMAT((1H ,7X,4(1PD15.7))) + 6460 FORMAT(1H ,4X,'CLUSTER (ENSEMBLE AVERAGE, MODE',I2,')') + 6500 FORMAT(1H ,'----- SCC ----- ABC ----- EXC ----- ALBEDC --') + 6550 FORMAT + 1(1H ,' AT ',I1,' LCALC=',I3,' TOO SMALL WITH ARG=',2(1PD15.7)) + 6600 FORMAT(1H ,'--- SCC/TGS - ABC/TGS - EXC/TGS ---') + 6650 FORMAT(1H ,' STOP IN HJV') + 6700 FORMAT(1H ,'---- SCCRT --- ABCRT --- EXCRT ----') + 6710 FORMAT(1H ,' REFR. INDEX OF EXTERNAL MEDIUM=',1PD15.7) + 6714 FORMAT(1H ,' VK=',1PD15.7,', XI IS SCALE FACTOR FOR LENGTHS') + 6715 FORMAT(1H ,' VK=',1PD15.7,', XI=',1PD15.7) + 6716 FORMAT(1H ,' XI=',1PD15.7) + 6720 FORMAT(1H ,' TIDG=',1PD10.3,', PIDG=',1PD10.3, + 1', TSDG=',1PD10.3,', PSDG=',1PD10.3) + 6721 FORMAT(1H ,' CFMP=',1PD15.7,', SFMP=',1PD15.7) + 6722 FORMAT(1H ,' CFSP=',1PD15.7,', SFSP=',1PD15.7) + 6740 FORMAT(1H ,' SCAND=',1PD10.3) + 6750 FORMAT(1H ,' STOP IN DME') + 6800 FORMAT(1H ,1X,2('FSAC(',I1,',',I1,')=',2(1PD15.7),3X)) + 6810 FORMAT(1H ,1X,2(' SAC(',I1,',',I1,')=',2(1PD15.7),3X)) + 6850 FORMAT(1H ,1X,'RE(FSAC(',I1,',',I1,'))/RE(TFSAS)=',1PD15.7, + 1', IM(FSAC(',I1,',',I1,'))/IM(TFSAS)=',1PD15.7) + 6930 FORMAT(1H ,1X,'QSCHU=',1PD15.7,', PSCHU=',1PD15.7, + 1', S0MAG=',1PD15.7) + 6940 FORMAT(1H ,1X,'(RE(FSAC(1,1))-RE(FSAC(2,2)))/RE(FSAC(1,1))=', + 11PD15.7) + 6945 FORMAT(1H ,1X,'(IM(FSAC(1,1))-IM(FSAC(2,2)))/IM(FSAC(1,1))=', + 11PD15.7) + 6970 FORMAT(1H ,' COSAV=',1PD15.7,', RAPRS=',1PD15.7) + 6971 FORMAT(1H ,' Fx=',1PD15.7,', Fy=',1PD15.7,', Fz=',1PD15.7) + 6973 FORMAT(1H ,' Fl=',1PD15.7,', Fr=',1PD15.7,', Fk=',1PD15.7) + 6974 FORMAT(1H ,' Fk=',1PD15.7) + 6977 FORMAT(1H ,' IPO=',I2,', TQEk=',1PD15.7,', TQSk=',1PD15.7) + 6981 FORMAT + 1(1H ,' TQEx=',1PD15.7,', TQEy=',1PD15.7,', TQEz=',1PD15.7) + 6982 FORMAT + 1(1H ,' TQSx=',1PD15.7,', TQSy=',1PD15.7,', TQSz=',1PD15.7) + 6983 FORMAT + 1(1H ,' TQEl=',1PD15.7,', TQEr=',1PD15.7,', TQEk=',1PD15.7) + 6984 FORMAT + 1(1H ,' TQSl=',1PD15.7,', TQSr=',1PD15.7,', TQSk=',1PD15.7) + 6991 FORMAT('========== JXI =',I3,' ====================') + 6992 FORMAT('********** JTH =',I3,', JPH =',I3, + 1', JTHS =',I3,', JPHS =',I3,' ********************') + IR=5 + IW=6 + IT=7 + ITIN=17 +CCC +CCC OTHER COMMENTS IN FILE GLOBALCOMS +CCC +CCC +CCC CONSTANTS APPEAR AS (...).X(...)D0, OR (...).X(...)D+X(X), +CCC OR (...).X(...)D-X(X) +CCC +CCC +CCC MXNDM IS FIRST NUMERICAL DECLARED DIMENSION OF AM; +CCC NDIT=2*NDI; NDI=NSPH*NLIM +CCC +CCC +CCC VK*ROS(I) IS SIZE PARAMETER in vacuo +CCC +CCC +CCC OUTPUTS (NORMALIZED SCATTERING AMPLITUDE)*(2*PIG/(VK*VK)) IN m**3; +CCC OUTPUTS FORCE*(c/I0) IN m**2; +CCC OUTPUTS (EXT_TO_TORQUE) AND (SCA_TO_TORQUE) CONTRIBUTIONS +CCC *(c/I0)*(VK*EXRI)**3; (TORQUE OUTPUTS)/(EXDC*VK*VK) ARE IN m**2 +CCC +CCC +CCC ON A LINEAR BASIS, +CCC POLARIZATION (1), (1,ni), (ns,1) OR -1 IS PARALLE(l), +CCC POLARIZATION (2), (2,ni), (ns,2) OR 1 IS PERPENDICULA(r); +CCC ON A CIRCULAR BASIS, +CCC POLARIZATION (1), (1,ni), (ns,1) OR -1 IS (R)ight, +CCC POLARIZATION (2), (2,ni), (ns,2) OR 1 IS (L)eft; +CCC ns=SCATWAVE POLARIZATION, ni=INCWAVE POLARIZATION +CCC +CCC +CCC NV3J=(LM*LMPO*(LMT+7))/6; +CCC LM=MAX0(LI,LE) +CCC +CCC +CCC IAVM=0 --> RANDOM AVERAGES FOR AMPLITUDE AND CROSS SECTIONS; +CCC IAVM=1 --> SAME AS IAVM=0, PLUS RANDOM AVERAGES FOR INTENSITY +CCC +CCC +CCC ISAM<0 --> ARBITRARILY VARYING SCATTERING PLANE, +CCC AS IT IS UNDEFINED FOR FORWARD OR BACKWARD SCATTERING, +CCC MERIDIONAL PLANE FOR INCIDENCE ANGLES IS ASSUMED; +CCC ISAM=0 --> MERIDIONAL PLANES +CCC (I. E. REFERENCE PLANES ACROSS Z AXIS) +CCC AS DETERMINED BY INCIDENCE AND OBSERVATION ANGLES; +CCC ISAM=1 --> SCATTERING PLANE ACROSS THE Z AXIS; SCATTERING +CCC AS A FUNCTION OF INCIDENCE AND OF OBSERVATION ANGLES; +CCC NEEDS ONLY TH, PH, THS; THSLST GT 180 IF NECESSARY; +CCC ISAM>1 --> SCATTERING PLANE ACROSS THE Z AXIS; SCATTERING +CCC AS A FUNCTION OF INCIDENCE ANGLES +CCC FOR A FIXED SCATTERING ANGLE THSCA=THS-TH; +CCC NEEDS ONLY TH, PH, THS +CCC + OPEN(IR,FILE='DCLU',STATUS='OLD') + READ(IR,*)NSPH,LI,LE,MXNDM,INPOL,NPNT,NPNTTS,IAVM,ISAM + DO 101 I=1,NSPH + 101 READ(IR,*)RXX(I),RYY(I),RZZ(I) + READ(IR,*)TH,THSTP,THLST,THS,THSSTP,THSLST + READ(IR,*)PH,PHSTP,PHLST,PHS,PHSSTP,PHSLST + READ(IR,*)JWTM + CLOSE(IR) + OPEN(IW,FILE='OCLU',STATUS='UNKNOWN') + WRITE(IW,8015) + WRITE(IW,8010)NSPH,LI,LE,MXNDM,INPOL,NPNT,NPNTTS,IAVM,ISAM + WRITE(IW,8060) + WRITE(IW,8050)(RXX(I),RYY(I),RZZ(I),I=1,NSPH) + WRITE(IW,8068) + WRITE(IW,8170)TH,THSTP,THLST,THS,THSSTP,THSLST + WRITE(IW,8069) + WRITE(IW,8170)PH,PHSTP,PHLST,PHS,PHSSTP,PHSLST + WRITE(IW,8171) + WRITE(IW,8010)JWTM + OPEN(ITIN,FILE='TEDF',FORM='UNFORMATTED',STATUS='OLD') + READ(ITIN)NSPHT + IF(NSPHT.NE.NSPH)GO TO 497 + READ(ITIN)(IOG(I),I=1,NSPH) + READ(ITIN)EXDC,WP,XIP,IDFC,NXI + READ(ITIN)(XIV(I),I=1,NXI) + DO 103 I=1,NSPH + IF(IOG(I).LT.I)GO TO 103 + READ(ITIN)NSHL(I),ROS(I) + NSH=NSHL(I) + READ(ITIN)(RCF(I,NS),NS=1,NSH) + 103 CONTINUE + WRITE(IW,*)' READ(ITIN)NSPHT' + WRITE(IW,*)' READ(ITIN)(IOG(I),I=1,NSPH)' + WRITE(IW,*)' READ(ITIN)EXDC,WP,XIP,IDFC,NXI' + WRITE(IW,*)' READ(ITIN)(XIV(I),I=1,NXI)' + WRITE(IW,*)' READ(ITIN)NSHL(I),ROS(I)' + WRITE(IW,*)' READ(ITIN)(RCF(I,NS),NS=1,NSH)' + WRITE(IW,6000) + C0=0.0D0 + SML=1.0D-3 + IF(THSTP.EQ.C0)NTH=0 + IF(THSTP.NE.C0)NTH=IDINT((THLST-TH)/THSTP+SML) + NTH=NTH+1 + IF(PHSTP.EQ.C0)NPH=0 + IF(PHSTP.NE.C0)NPH=IDINT((PHLST-PH)/PHSTP+SML) + NPH=NPH+1 + IF(ISAM.LE.1)GO TO 110 + NTHS=1 + THSCA=THS-TH + GO TO 111 + 110 IF(THSSTP.EQ.C0)NTHS=0 + IF(THSSTP.NE.C0)NTHS=IDINT((THSLST-THS)/THSSTP+SML) + NTHS=NTHS+1 + IF(ISAM.LT.1)GO TO 112 + 111 NPHS=1 + GO TO 113 + 112 IF(PHSSTP.EQ.C0)NPHS=0 + IF(PHSSTP.NE.C0)NPHS=IDINT((PHSLST-PHS)/PHSSTP+SML) + NPHS=NPHS+1 + 113 NK=NTH*NPH + NKS=NTHS*NPHS + NKKS=NK*NKS + TH1=TH + PH1=PH + THS1=THS + PHS1=PHS + CALL STR(RCF) + LM=MAX0(LI,LE) + CALL THDPS(LM,ZPV) + EXRI=DSQRT(EXDC) + WRITE(IW,6710)EXRI + OPEN(IT,FILE='TPPOAN',FORM='UNFORMATTED',STATUS='UNKNOWN') + WRITE(IT)IAVM,ISAM,INPOL + WRITE(IT)NXI,NTH,NPH,NTHS,NPHS + +C + NLEMT=NLEM+NLEM +C + + WN=WP/3.0D08 + SQSFI=1.0D0 + IF(IDFC.GE.0)GO TO 118 + VK=XIP*WN + WRITE(IW,6714)VK + WRITE(IW,6000) + 118 DO 488 JXI=1,NXI + JAW=1 + WRITE(IW,6991)JXI + XI=XIV(JXI) + IF(IDFC.LT.0)GO TO 119 + VK=XI*WN + VKARG=VK + WRITE(IW,6715)VK,XI + GO TO 120 + 119 VKARG=XI*VK + SQSFI=1.0D0/(XI*XI) + WRITE(IW,6716)XI + 120 CALL HJV(EXRI,VKARG,JER,LCALC,ARG) + IF(JER.EQ.0)GO TO 122 + WRITE(IW,6650) + GO TO 490 + 122 DO 132 I=1,NSPH + IOGI=IOG(I) + IF(IOGI.EQ.I)GO TO 125 + DO 123 L=1,LI + RMI(L,I)=RMI(L,IOGI) + 123 REI(L,I)=REI(L,IOGI) + GO TO 132 + 125 NSH=NSHL(I) + ICI=(NSH+1)/2 + IF(IDFC.NE.0)GO TO 127 + READ(ITIN)(DC0(IC),IC=1,ICI) + GO TO 130 + 127 IF(JXI.EQ.1)READ(ITIN)(DC0M(I,IC),IC=1,ICI) + DO 128 IC=1,ICI + 128 DC0(IC)=DC0M(I,IC) + 130 IF(MOD(NSH,2).EQ.0)DC0(ICI+1)=EXDC + CALL DME(LI,I,NPNT,NPNTTS,VKARG,EXDC,EXRI,JER,LCALC,ARG) + IF(JER.EQ.0)GO TO 132 + WRITE(IW,6750) + GO TO 490 + 132 CONTINUE + CALL CMS(AM) + NDIT=2*NSPH*NLIM + CALL LUCIN(AM,MXNDM,NDIT,JER) + IF(JER.EQ.1)GO TO 495 + CALL ZTM(AM) + +C + IF(IDFC.LT.0)GO TO 156 + IF(JXI.NE.JWTM)GO TO 156 + IS=1 + ITS=8 + OPEN(ITS,FILE='TTMS',FORM='UNFORMATTED',STATUS='UNKNOWN') + WRITE(ITS)IS,LM + WRITE(ITS)VK,EXRI + WRITE(ITS)((AM0M(I,J),J=1,NLEMT),I=1,NLEMT) + CLOSE(ITS) + 156 CONTINUE +C + + IF(INPOL.NE.0)GO TO 158 + WRITE(IW,6066) + GO TO 160 + 158 WRITE(IW,6061) + 160 CS0=0.25D0*VK*VK*VK/DACOS(C0) + CALL SCR0(VK,EXRI) + SQK=VK*VK*EXDC + CALL APS(ZPV,LI,NSPH,IOG,RMI,REI,SQK,GAPS) + CALL RABAS(INPOL,LI,NSPH,IOG,RMI,REI,TQSE,TQSPE,TQSS,TQSPS) + IF(LI.NE.LE)WRITE(IW,6068) + DO 170 I=1,NSPH + IF(IOG(I).LT.I)GO TO 170 + ALBEDS=SSCS(I)/SEXS(I) + SQSCS(I)=SQSCS(I)*SQSFI + SQABS(I)=SQABS(I)*SQSFI + SQEXS(I)=SQEXS(I)*SQSFI + WRITE(IW,6070)I + IF(NSHL(I).EQ.1)GO TO 162 + WRITE(IW,6055)VSZ(I) + GO TO 164 + 162 WRITE(IW,6050)VSZ(I),VKT(I) + 164 WRITE(IW,6100) + WRITE(IW,6150)SSCS(I),SABS(I),SEXS(I),ALBEDS + WRITE(IW,6200) + WRITE(IW,6150)SQSCS(I),SQABS(I),SQEXS(I) + WRITE(IW,6240)FSAS(I) + CSCH=2.0D0*VK*SQSFI/GCSV(I) + S0=FSAS(I)*EXRI + QSCHU=DIMAG(S0)*CSCH + PSCHU=DREAL(S0)*CSCH + S0MAG=CDABS(S0)*CS0 + WRITE(IW,6930)QSCHU,PSCHU,S0MAG + RAPR=SEXS(I)-GAPS(I) + COSAV=GAPS(I)/SSCS(I) + WRITE(IW,6970)COSAV,RAPR + WRITE(IW,6977)1,TQSE(1,I),TQSS(1,I) + WRITE(IW,6977)2,TQSE(2,I),TQSS(2,I) + 170 CONTINUE + WRITE(IW,6250)TFSAS + CSCH=2.0D0*VK*SQSFI/GCS + S0=TFSAS*EXRI + QSCHU=DIMAG(S0)*CSCH + PSCHU=DREAL(S0)*CSCH + S0MAG=CDABS(S0)*CS0 + WRITE(IW,6930)QSCHU,PSCHU,S0MAG + WRITE(IT)VK + CALL PCRSM0(VK,EXRI,INPOL) + CALL APCRA(ZPV,LE,AM0M,INPOL,SQK,GAPM,GAPPM) + TH=TH1 + DO 486 JTH=1,NTH + PH=PH1 + DO 484 JPH=1,NPH + IF((NK.EQ.1).AND.(JXI.GT.1))GO TO 180 + CALL UPVMP(TH,PH,0,COST,SINT,COSP,SINP,U,UPMP,UNMP) + IF(ISAM.LT.0)GO TO 184 + CALL WMAMP + 1(0,COST,SINT,COSP,SINP,INPOL,LE,0,NSPH,ARGI,U,UPMP,UNMP) + GO TO 182 + 180 IF(ISAM.LT.0)GO TO 184 + 182 CALL APC(ZPV,LE,AM0M,W,SQK,GAP,GAPP) + CALL RABA(LE,AM0M,W,TQCE,TQCPE,TQCS,TQCPS) + JW=1 + 184 THSL=THS1 + DO 482 JTHS=1,NTHS + THS=THSL + ICSPNV=0 + IF(ISAM.GT.1)THS=TH+THSCA + IF(ISAM.LT.1)GO TO 186 + PHSPH=C0 + IF((THS.LT.C0).OR.(THS.GT.180.0D0))PHSPH=180.0D0 + IF(THS.LT.C0)THS=-THS + IF(THS.GT.180.0D0)THS=360.0D0-THS + IF(PHSPH.NE.C0)ICSPNV=1 + 186 PHS=PHS1 + DO 480 JPHS=1,NPHS + IF(ISAM.LT.1)GO TO 188 + PHS=PH+PHSPH + IF(PHS.GE.360.0D0)PHS=PHS-360.0D0 + 188 IF((NKS.EQ.1).AND.((JXI.GT.1).OR.(JTH.GT.1).OR.(JPH.GT.1))) + 1GO TO 190 + CALL UPVMP(THS,PHS,ICSPNV,COSTS,SINTS,COSPS,SINPS,US,UPSMP,UNSMP) + IF(ISAM.GE.0)CALL WMAMP + 1(2,COSTS,SINTS,COSPS,SINPS,INPOL,LE,0,NSPH,ARGS,US,UPSMP,UNSMP) + 190 IF((NKKS.EQ.1).AND.(JXI.GT.1))GO TO 194 + CALL UPVSP(U,UPMP,UNMP,US,UPSMP,UNSMP,UP,UN,UPS,UNS,DUK, + 1ISQ,IBF,SCAN,CFMP,SFMP,CFSP,SFSP) + IF(ISAM.GE.0)GO TO 192 + CALL WMASP(COST,SINT,COSP,SINP,COSTS,SINTS,COSPS,SINPS, + 1U,UP,UN,US,UPS,UNS,ISQ,IBF,INPOL,LE,0,NSPH,ARGI,ARGS) + GO TO 194 + 192 DO 193 I=1,3 + UP(I)=UPMP(I) + UN(I)=UNMP(I) + UPS(I)=UPSMP(I) + 193 UNS(I)=UNSMP(I) + 194 IF(IAVM.EQ.1)CALL CRSM1(VK,EXRI) + IF(ISAM.GE.0)GO TO 196 + CALL APC(ZPV,LE,AM0M,W,SQK,GAP,GAPP) + CALL RABA(LE,AM0M,W,TQCE,TQCPE,TQCS,TQCPS) + JW=1 + 196 WRITE(IT)TH,PH,THS,PHS + WRITE(IT)SCAN + IF(JAW.EQ.0)GO TO 212 + JAW=0 + CALL MEXTC(VK,EXRI,FSACM,CEXTLR,CEXT) + WRITE(IT)((CEXT(I,J),J=1,4),I=1,4) + WRITE(IT)(SCSCM(I),SCSCPM(I),ECSCM(I),ECSCPM(I),I=1,2) + WRITE(IT)((GAPM(I,J),GAPPM(I,J),J=1,2),I=1,3) + WRITE(IW,6460)IAVM + JLR=2 + DO 210 ILR=1,2 + IPOL=(-1)**ILR + IF(ILR.EQ.2)JLR=1 + EXTSM=ECSCM(ILR) + QEXTM=EXTSM*SQSFI/GCS + EXTRM=EXTSM/ECS + SCASM=SCSCM(ILR) + ALBDM=SCASM/EXTSM + QSCAM=SCASM*SQSFI/GCS + SCARM=SCASM/SCS + ABSSM=EXTSM-SCASM + QABSM=ABSSM*SQSFI/GCS + IF(DABS(ACS/ECS).GT.1.0D-06)GO TO 202 + ABSRM=1.0D0 + GO TO 204 + 202 ABSRM=ABSSM/ACS + 204 S0M=FSACM(ILR,ILR)*EXRI + QSCHUM=DIMAG(S0M)*CSCH + PSCHUM=DREAL(S0M)*CSCH + S0MAGM=CDABS(S0M)*CS0 + RFINRM=DREAL(FSACM(ILR,ILR))/DREAL(TFSAS) + EXTCRM=DIMAG(FSACM(ILR,ILR))/DIMAG(TFSAS) + IF(INPOL.NE.0)GO TO 206 + WRITE(IW,6065)IPOL + GO TO 208 + 206 WRITE(IW,6060)IPOL + 208 WRITE(IW,6500) + WRITE(IW,6150)SCASM,ABSSM,EXTSM,ALBDM + alam=2*3.14159265359/VK + if(IPOL.EQ.1)write(22,999)alam,SCASM,ABSSM,EXTSM + 999 format(4e15.4) + WRITE(IW,6600) + WRITE(IW,6150)QSCAM,QABSM,QEXTM + WRITE(IW,6700) + WRITE(IW,6150)SCARM,ABSRM,EXTRM + WRITE(IW,6800)ILR,ILR,FSACM(ILR,ILR),JLR,ILR,FSACM(JLR,ILR) + WRITE(IW,6850)ILR,ILR,RFINRM,ILR,ILR,EXTCRM + WRITE(IW,6930)QSCHUM,PSCHUM,S0MAGM + RAPR=ECSCM(ILR)-GAPM(3,ILR) + COSAV=GAPM(3,ILR)/SCSCM(ILR) + FZ=RAPR + WRITE(IW,6970)COSAV,RAPR + WRITE(IW,6974)FZ + 210 CONTINUE + RMBRIF=(DREAL(FSACM(1,1))-DREAL(FSACM(2,2)))/DREAL(FSACM(1,1)) + RMDCHR=(DIMAG(FSACM(1,1))-DIMAG(FSACM(2,2)))/DIMAG(FSACM(1,1)) + WRITE(IW,6940)RMBRIF + WRITE(IW,6945)RMDCHR + 212 WRITE(IW,6992)JTH,JPH,JTHS,JPHS + WRITE(IW,6720)TH,PH,THS,PHS + WRITE(IW,6740)SCAN + WRITE(IW,6721)CFMP,SFMP + WRITE(IW,6722)CFSP,SFSP + IF(ISAM.LT.0)GO TO 214 + WRITE(IW,6166)UN(1),UN(2),UN(3) + WRITE(IW,6167)UNS(1),UNS(2),UNS(3) + GO TO 220 + 214 WRITE(IW,6165)UN(1),UN(2),UN(3) + 220 IF(INPOL.NE.0)GO TO 222 + WRITE(IW,6066) + GO TO 224 + 222 WRITE(IW,6061) + 224 CALL SCR2(VK,VKARG,EXRI,DUK) + IF(LI.NE.LE)WRITE(IW,6069) + DO 226 I=1,NSPH + IF(IOG(I).LT.I)GO TO 226 + WRITE(IW,6070)I + WRITE(IW,6242)SAS(I,1,1),SAS(I,2,1) + WRITE(IW,6243)SAS(I,1,2),SAS(I,2,2) + DO 225 J=1,16 + 225 VINT(J)=VINTS(I,J) + CALL MMULC(VINT,CMULLR,CMUL) + WRITE(IW,6331) + WRITE(IW,6350)((CMUL(I1,J),J=1,4),I1=1,4) + WRITE(IW,6336) + WRITE(IW,6350)((CMULLR(I1,J),J=1,4),I1=1,4) + 226 CONTINUE + WRITE(IW,6252)TSAS(1,1),TSAS(2,1) + WRITE(IW,6253)TSAS(1,2),TSAS(2,2) + WRITE(IW,6080) + CALL PCROS(VK,EXRI) + CALL MEXTC(VK,EXRI,FSAC,CEXTLR,CEXT) + CALL MMULC(VINT,CMULLR,CMUL) + IF(JW.EQ.0)GO TO 254 + JW=0 + WRITE(IT)((CEXT(I,J),J=1,4),I=1,4) + WRITE(IT)(SCSC(I),SCSCP(I),ECSC(I),ECSCP(I),I=1,2) + WRITE(IT)((GAP(I,J),GAPP(I,J),J=1,2),I=1,3) + WRITE(IT)((TQCE(I,J),TQCPE(I,J),J=1,3),I=1,2) + WRITE(IT)((TQCS(I,J),TQCPS(I,J),J=1,3),I=1,2) + WRITE(IT)(U(I),UP(I),UN(I),I=1,3) + 254 WRITE(IT)(VINT(I),I=1,16) + WRITE(IT)((CMUL(I,J),J=1,4),I=1,4) + JLR=2 + DO 290 ILR=1,2 + IPOL=(-1)**ILR + IF(ILR.EQ.2)JLR=1 + EXTSEC=ECSC(ILR) + QEXT=EXTSEC*SQSFI/GCS + EXTRAT=EXTSEC/ECS + SCASEC=SCSC(ILR) + ALBEDC=SCASEC/EXTSEC + QSCA=SCASEC*SQSFI/GCS + SCARAT=SCASEC/SCS + ABSSEC=EXTSEC-SCASEC + QABS=ABSSEC*SQSFI/GCS + IF(DABS(ACS/ECS).GT.1.0D-06)GO TO 260 + ABSRAT=1.0D0 + GO TO 262 + 260 ABSRAT=ABSSEC/ACS + 262 S0=FSAC(ILR,ILR)*EXRI + QSCHU=DIMAG(S0)*CSCH + PSCHU=DREAL(S0)*CSCH + S0MAG=CDABS(S0)*CS0 + REFINR=DREAL(FSAC(ILR,ILR))/DREAL(TFSAS) + EXTCOR=DIMAG(FSAC(ILR,ILR))/DIMAG(TFSAS) + IF(INPOL.NE.0)GO TO 273 + WRITE(IW,6065)IPOL + GO TO 275 + 273 WRITE(IW,6060)IPOL + 275 WRITE(IW,6500) + WRITE(IW,6150)SCASEC,ABSSEC,EXTSEC,ALBEDC + if(ILR.EQ.1)write(31,999)alam,SCASEC,ABSSEC,EXTSEC + if(ILR.EQ.2)write(32,999)alam,SCASEC,ABSSEC,EXTSEC + WRITE(IW,6600) + WRITE(IW,6150)QSCA,QABS,QEXT + WRITE(IW,6700) + WRITE(IW,6150)SCARAT,ABSRAT,EXTRAT + WRITE(IW,6800)ILR,ILR,FSAC(ILR,ILR),JLR,ILR,FSAC(JLR,ILR) + WRITE(IW,6810)ILR,ILR,SAC(ILR,ILR),JLR,ILR,SAC(JLR,ILR) + WRITE(IW,6850)ILR,ILR,REFINR,ILR,ILR,EXTCOR + WRITE(IW,6930)QSCHU,PSCHU,S0MAG + IF((ISAM.GE.0).AND.((JTHS.GT.1).OR.(JPHS.GT.1)))GO TO 290 + GAPV(1)=GAP(1,ILR) + GAPV(2)=GAP(2,ILR) + GAPV(3)=GAP(3,ILR) + EXTINS=ECSC(ILR) + SCATTS=SCSC(ILR) + CALL RFTR + 1(U,UP,UN,GAPV,EXTINS,SCATTS,RAPR,COSAV,FP,FN,FK,FX,FY,FZ) + WRITE(IW,6970)COSAV,RAPR + WRITE(IW,6973)FP,FN,FK + WRITE(IW,6971)FX,FY,FZ + TQEV(1)=TQCE(ILR,1) + TQEV(2)=TQCE(ILR,2) + TQEV(3)=TQCE(ILR,3) + TQSV(1)=TQCS(ILR,1) + TQSV(2)=TQCS(ILR,2) + TQSV(3)=TQCS(ILR,3) + CALL TQR(U,UP,UN,TQEV,TQSV,TEP,TEN,TEK,TSP,TSN,TSK) + WRITE(IW,6983)TEP,TEN,TEK + WRITE(IW,6984)TSP,TSN,TSK + WRITE(IW,6981)TQCE(ILR,1),TQCE(ILR,2),TQCE(ILR,3) + WRITE(IW,6982)TQCS(ILR,1),TQCS(ILR,2),TQCS(ILR,3) + 290 CONTINUE + RBIRIF=(DREAL(FSAC(1,1))-DREAL(FSAC(2,2)))/DREAL(FSAC(1,1)) + RDICHR=(DIMAG(FSAC(1,1))-DIMAG(FSAC(2,2)))/DIMAG(FSAC(1,1)) + WRITE(IW,6940)RBIRIF + WRITE(IW,6945)RDICHR + WRITE(IW,6332) + WRITE(IW,6350)((CMUL(I,J),J=1,4),I=1,4) + WRITE(IW,6337) + WRITE(IW,6350)((CMULLR(I,J),J=1,4),I=1,4) + IF(IAVM.EQ.0)GO TO 420 + CALL MMULC(VINTM,CMULLR,CMUL) + WRITE(IT)(VINTM(I),I=1,16) + WRITE(IT)((CMUL(I,J),J=1,4),I=1,4) + WRITE(IW,6460)IAVM + IF(INPOL.NE.0)GO TO 316 + WRITE(IW,6066) + GO TO 318 + 316 WRITE(IW,6061) + 318 WRITE(IW,6332) + WRITE(IW,6350)((CMUL(I,J),J=1,4),I=1,4) + WRITE(IW,6337) + WRITE(IW,6350)((CMULLR(I,J),J=1,4),I=1,4) + 420 CONTINUE + 480 IF(ISAM.LT.1)PHS=PHS+PHSSTP + 482 IF(ISAM.LE.1)THSL=THSL+THSSTP + 484 PH=PH+PHSTP + 486 TH=TH+THSTP + 488 CONTINUE + GO TO 500 + 490 WRITE(IW,6550)JER,LCALC,ARG + GO TO 500 + 495 WRITE(IW,6300) + GO TO 500 + 497 WRITE(IW,*)' WRONG INPUT TAPE' + 500 CONTINUE + CLOSE(IW) + CLOSE(IT) + CLOSE(ITIN) + STOP + END + SUBROUTINE RABAS(INPOL,LI,NSPH,IOG,RMI,REI,TQSE,TQSPE,TQSS,TQSPS) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION IOG(NSPH),RMI(LI,NSPH),REI(LI,NSPH), +CCC 1TQSE(2,NSPH),TQSPE(2,NSPH),TQSS(2,NSPH),TQSPS(2,NSPH) + DIMENSION IOG(8),RMI(23,8),REI(23,8), + 1TQSE(2,8),TQSPE(2,8),TQSS(2,8),TQSPS(2,8) + COMPLEX*16 RMI,REI,TQSPE,TQSPS + COMPLEX*16 CC0,UIM,RM,RE,PCE,PCS + C0=0.0D0 + PIG2=DACOS(C0)*4.0D0 + CC0=(0.0D0,0.0D0) + UIM=(0.0D0,1.0D0) + DO 80 I=1,NSPH + IF(IOG(I).LT.I)GO TO 80 + TQSE(1,I)=C0 + TQSE(2,I)=C0 + TQSPE(1,I)=CC0 + TQSPE(2,I)=CC0 + TQSS(1,I)=C0 + TQSS(2,I)=C0 + TQSPS(1,I)=CC0 + TQSPS(2,I)=CC0 + DO 70 L=1,LI + FL=L+L+1 + RM=1.0D0/RMI(L,I) + RMM=DREAL(RM*DCONJG(RM)) + RE=1.0D0/REI(L,I) + REM=DREAL(RE*DCONJG(RE)) + IF(INPOL.NE.0)GO TO 40 + PCE=((RM+RE)*UIM)*FL + PCS=((RMM+REM)*FL)*UIM + TQSPE(1,I)=TQSPE(1,I)-PCE + TQSPE(2,I)=TQSPE(2,I)+PCE + TQSPS(1,I)=TQSPS(1,I)-PCS + TQSPS(2,I)=TQSPS(2,I)+PCS + GO TO 70 + 40 CE=DREAL(RM+RE)*FL + CS=(RMM+REM)*FL + TQSE(1,I)=TQSE(1,I)-CE + TQSE(2,I)=TQSE(2,I)+CE + TQSS(1,I)=TQSS(1,I)-CS + TQSS(2,I)=TQSS(2,I)+CS + 70 CONTINUE + IF(INPOL.NE.0)GO TO 75 + TQSPE(1,I)=TQSPE(1,I)*PIG2 + TQSPE(2,I)=TQSPE(2,I)*PIG2 + TQSPS(1,I)=TQSPS(1,I)*PIG2 + TQSPS(2,I)=TQSPS(2,I)*PIG2 + GO TO 80 + 75 TQSE(1,I)=TQSE(1,I)*PIG2 + TQSE(2,I)=TQSE(2,I)*PIG2 + TQSS(1,I)=TQSS(1,I)*PIG2 + TQSS(2,I)=TQSS(2,I)*PIG2 + 80 CONTINUE + RETURN + END + SUBROUTINE TQR(U,UP,UN,TQEV,TQSV,TEP,TEN,TEK,TSP,TSN,TSK) + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION U(3),UP(3),UN(3),TQEV(3),TQSV(3) + TEP=UP(1)*TQEV(1)+UP(2)*TQEV(2)+UP(3)*TQEV(3) + TEN=UN(1)*TQEV(1)+UN(2)*TQEV(2)+UN(3)*TQEV(3) + TEK=U(1)*TQEV(1)+U(2)*TQEV(2)+U(3)*TQEV(3) + TSP=UP(1)*TQSV(1)+UP(2)*TQSV(2)+UP(3)*TQSV(3) + TSN=UN(1)*TQSV(1)+UN(2)*TQSV(2)+UN(3)*TQSV(3) + TSK=U(1)*TQSV(1)+U(2)*TQSV(2)+U(3)*TQSV(3) + RETURN + END + SUBROUTINE RABA(LE,AM0M,W,TQCE,TQCPE,TQCS,TQCPS) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION AM0M(NLEMT,NLEMT),W(NLEMT,4) + DIMENSION AM0M(1150,1150),W(1150,4), + 1TQCE(2,3),TQCPE(2,3),TQCS(2,3),TQCPS(2,3) + COMPLEX*16 AM0M,W,TQCPE,TQCPS +CCC DIMENSION A(NLEMT,2) + DIMENSION A(1150,2),CTQCE(2,3),CTQCS(2,3) + COMPLEX*16 A,CTQCE,CTQCS + COMPLEX*16 CC0,UIM,ACW,ACWP,ACA,ACAP,C1,C2,C3 + CC0=(0.0D0,0.0D0) + UIM=(0.0D0,1.0D0) + SQ2I=1.0D0/DSQRT(2.0D0) + NLEM=LE*(LE+2) + NLEMT=NLEM+NLEM + DO 20 I=1,NLEMT + C1=CC0 + C2=CC0 + DO 10 J=1,NLEMT + C1=C1+AM0M(I,J)*W(J,1) + C2=C2+AM0M(I,J)*W(J,2) + 10 CONTINUE + A(I,1)=C1 + A(I,2)=C2 + 20 CONTINUE + JPO=2 + DO 70 IPO=1,2 + IF(IPO.EQ.2)JPO=1 + CTQCE(IPO,1)=CC0 + CTQCE(IPO,2)=CC0 + CTQCE(IPO,3)=CC0 + TQCPE(IPO,1)=CC0 + TQCPE(IPO,2)=CC0 + TQCPE(IPO,3)=CC0 + CTQCS(IPO,1)=CC0 + CTQCS(IPO,2)=CC0 + CTQCS(IPO,3)=CC0 + TQCPS(IPO,1)=CC0 + TQCPS(IPO,2)=CC0 + TQCPS(IPO,3)=CC0 + DO 60 L=1,LE + LPO=L+1 + IL=L*LPO + LTPO=L+LPO + DO 60 IM=1,LTPO + M=IM-LPO + I=M+IL + IE=I+NLEM + MMMU=M+1 + MMMMU=IABS(MMMU) + IF(MMMMU.GT.L)GO TO 30 + IMMU=MMMU+IL + IMMUE=IMMU+NLEM + RMU=(L+MMMU)*(L-M) + RMU=-DSQRT(RMU)*SQ2I + ACW=DCONJG(A(I,IPO))*W(IMMU,IPO)+DCONJG(A(IE,IPO))*W(IMMUE,IPO) + ACWP=DCONJG(A(I,IPO))*W(IMMU,JPO)+DCONJG(A(IE,IPO))*W(IMMUE,JPO) + ACA=DCONJG(A(I,IPO))*A(IMMU,IPO)+DCONJG(A(IE,IPO))*A(IMMUE,IPO) + ACAP=DCONJG(A(I,IPO))*A(IMMU,JPO)+DCONJG(A(IE,IPO))*A(IMMUE,JPO) + CTQCE(IPO,1)=CTQCE(IPO,1)+ACW*RMU + TQCPE(IPO,1)=TQCPE(IPO,1)+ACWP*RMU + CTQCS(IPO,1)=CTQCS(IPO,1)+ACA*RMU + TQCPS(IPO,1)=TQCPS(IPO,1)+ACAP*RMU + 30 RMU=-M + ACW=DCONJG(A(I,IPO))*W(I,IPO)+DCONJG(A(IE,IPO))*W(IE,IPO) + ACWP=DCONJG(A(I,IPO))*W(I,JPO)+DCONJG(A(IE,IPO))*W(IE,JPO) + ACA=DCONJG(A(I,IPO))*A(I,IPO)+DCONJG(A(IE,IPO))*A(IE,IPO) + ACAP=DCONJG(A(I,IPO))*A(I,JPO)+DCONJG(A(IE,IPO))*A(IE,JPO) + CTQCE(IPO,2)=CTQCE(IPO,2)+ACW*RMU + TQCPE(IPO,2)=TQCPE(IPO,2)+ACWP*RMU + CTQCS(IPO,2)=CTQCS(IPO,2)+ACA*RMU + TQCPS(IPO,2)=TQCPS(IPO,2)+ACAP*RMU + MMMU=M-1 + MMMMU=IABS(MMMU) + IF(MMMMU.GT.L)GO TO 50 + IMMU=MMMU+IL + IMMUE=IMMU+NLEM + RMU=(L-MMMU)*(L+M) + RMU=DSQRT(RMU)*SQ2I + ACW=DCONJG(A(I,IPO))*W(IMMU,IPO)+DCONJG(A(IE,IPO))*W(IMMUE,IPO) + ACWP=DCONJG(A(I,IPO))*W(IMMU,JPO)+DCONJG(A(IE,IPO))*W(IMMUE,JPO) + ACA=DCONJG(A(I,IPO))*A(IMMU,IPO)+DCONJG(A(IE,IPO))*A(IMMUE,IPO) + ACAP=DCONJG(A(I,IPO))*A(IMMU,JPO)+DCONJG(A(IE,IPO))*A(IMMUE,JPO) + CTQCE(IPO,3)=CTQCE(IPO,3)+ACW*RMU + TQCPE(IPO,3)=TQCPE(IPO,3)+ACWP*RMU + CTQCS(IPO,3)=CTQCS(IPO,3)+ACA*RMU + TQCPS(IPO,3)=TQCPS(IPO,3)+ACAP*RMU + 50 CONTINUE + 60 CONTINUE + 70 CONTINUE + DO 78 IPO=1,2 + TQCE(IPO,1)=DREAL(CTQCE(IPO,1)-CTQCE(IPO,3))*SQ2I + TQCE(IPO,2)=DREAL((CTQCE(IPO,1)+CTQCE(IPO,3))*UIM)*SQ2I + TQCE(IPO,3)=DREAL(CTQCE(IPO,2)) + C1=TQCPE(IPO,1) + C2=TQCPE(IPO,2) + C3=TQCPE(IPO,3) + TQCPE(IPO,1)=(C1-C3)*SQ2I + TQCPE(IPO,2)=(C1+C3)*(UIM*SQ2I) + TQCPE(IPO,3)=C2 + TQCS(IPO,1)=-DREAL(CTQCS(IPO,1)-CTQCS(IPO,3))*SQ2I + TQCS(IPO,2)=-DREAL((CTQCS(IPO,1)+CTQCS(IPO,3))*UIM)*SQ2I + TQCS(IPO,3)=-DREAL(CTQCS(IPO,2)) + C1=TQCPS(IPO,1) + C2=TQCPS(IPO,2) + C3=TQCPS(IPO,3) + TQCPS(IPO,1)=-(C1-C3)*SQ2I + TQCPS(IPO,2)=-(C1+C3)*(UIM*SQ2I) + TQCPS(IPO,3)=-C2 + 78 CONTINUE + RETURN + END + SUBROUTINE RFTR + 1(U,UP,UN,GAPV,EXTINS,SCATTS,RAPR,COSAV,FP,FN,FK,FX,FY,FZ) + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION U(3),UP(3),UN(3),GAPV(3) + FK=U(1)*GAPV(1)+U(2)*GAPV(2)+U(3)*GAPV(3) + RAPR=EXTINS-FK + COSAV=FK/SCATTS + FP=-(UP(1)*GAPV(1)+UP(2)*GAPV(2)+UP(3)*GAPV(3)) + FN=-(UN(1)*GAPV(1)+UN(2)*GAPV(2)+UN(3)*GAPV(3)) + FK=RAPR + FX=U(1)*EXTINS-GAPV(1) + FY=U(2)*EXTINS-GAPV(2) + FZ=U(3)*EXTINS-GAPV(3) + RETURN + END + SUBROUTINE MEXTC(VK,EXRI,FSAC,CEXTLR,CEXT) + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION FSAC(2,2),CEXTLR(4,4),CEXT(4,4) + COMPLEX*16 FSAC + FA11R=DREAL(FSAC(1,1)) + FA11I=DIMAG(FSAC(1,1)) + FA21R=DREAL(FSAC(2,1)) + FA21I=DIMAG(FSAC(2,1)) + FA12R=DREAL(FSAC(1,2)) + FA12I=DIMAG(FSAC(1,2)) + FA22R=DREAL(FSAC(2,2)) + FA22I=DIMAG(FSAC(2,2)) + CEXTLR(1,1)=FA11I*2.0D0 + CEXTLR(1,2)=0.0D0 + CEXTLR(1,3)=-FA12I + CEXTLR(1,4)=-FA12R + CEXTLR(2,1)=0.0D0 + CEXTLR(2,2)=FA22I*2.0D0 + CEXTLR(2,3)=-FA21I + CEXTLR(2,4)=FA21R + CEXTLR(3,1)=-FA21I*2.0D0 + CEXTLR(3,2)=-FA12I*2.0D0 + CEXTLR(3,3)=FA11I+FA22I + CEXTLR(3,4)=FA22R-FA11R + CEXTLR(4,1)=FA21R*2.0D0 + CEXTLR(4,2)=-FA12R*2.0D0 + CEXTLR(4,3)=FA11R-FA22R + CEXTLR(4,4)=CEXTLR(3,3) + CEXT(1,1)=CEXTLR(4,4) + CEXT(2,2)=CEXTLR(4,4) + CEXT(3,3)=CEXTLR(4,4) + CEXT(3,4)=CEXTLR(3,4) + CEXT(4,3)=CEXTLR(4,3) + CEXT(4,4)=CEXTLR(4,4) + CEXT(1,2)=FA11I-FA22I + CEXT(1,3)=-FA12I-FA21I + CEXT(1,4)=FA21R-FA12R + CEXT(2,1)=CEXT(1,2) + CEXT(2,3)=FA21I-FA12I + CEXT(4,2)=FA12R+FA21R + CEXT(2,4)=-CEXT(4,2) + CEXT(3,1)=CEXT(1,3) + CEXT(3,2)=-CEXT(2,3) + CEXT(4,1)=CEXT(1,4) + CKM=VK/EXRI + DO 10 I=1,4 + DO 10 J=1,4 + CEXTLR(I,J)=CEXTLR(I,J)*CKM + 10 CEXT(I,J)=CEXT(I,J)*CKM + RETURN + END + SUBROUTINE MMULC(VINT,CMULLR,CMUL) + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION VINT(16),CMULLR(4,4),CMUL(4,4) + COMPLEX*16 VINT + SM2=DREAL(VINT(1)) + S24=DREAL(VINT(2)) + D24=DIMAG(VINT(2)) + SM4=DREAL(VINT(6)) + S23=DREAL(VINT(9)) + D32=DIMAG(VINT(9)) + S34=DREAL(VINT(10)) + D34=DIMAG(VINT(10)) + SM3=DREAL(VINT(11)) + S31=DREAL(VINT(12)) + D31=DIMAG(VINT(12)) + S21=DREAL(VINT(13)) + D12=DIMAG(VINT(13)) + S41=DREAL(VINT(14)) + D14=DIMAG(VINT(14)) + SM1=DREAL(VINT(16)) + CMULLR(1,1)=SM2 + CMULLR(1,2)=SM3 + CMULLR(1,3)=-S23 + CMULLR(1,4)=-D32 + CMULLR(2,1)=SM4 + CMULLR(2,2)=SM1 + CMULLR(2,3)=-S41 + CMULLR(2,4)=-D14 + CMULLR(3,1)=-S24*2.0D0 + CMULLR(3,2)=-S31*2.0D0 + CMULLR(3,3)=S21+S34 + CMULLR(3,4)=D34+D12 + CMULLR(4,1)=-D24*2.0D0 + CMULLR(4,2)=-D31*2.0D0 + CMULLR(4,3)=D34-D12 + CMULLR(4,4)=S21-S34 + CMUL(1,1)=(SM2+SM3+SM4+SM1)*0.5D0 + CMUL(1,2)=(SM2-SM3+SM4-SM1)*0.5D0 + CMUL(1,3)=-S23-S41 + CMUL(1,4)=-D32-D14 + CMUL(2,1)=(SM2+SM3-SM4-SM1)*0.5D0 + CMUL(2,2)=(SM2-SM3-SM4+SM1)*0.5D0 + CMUL(2,3)=-S23+S41 + CMUL(2,4)=-D32+D14 + CMUL(3,1)=-S24-S31 + CMUL(3,2)=-S24+S31 + CMUL(3,3)=S21+S34 + CMUL(3,4)=D34+D12 + CMUL(4,1)=-D24-D31 + CMUL(4,2)=-D24+D31 + CMUL(4,3)=D34-D12 + CMUL(4,4)=S21-S34 + RETURN + END + SUBROUTINE SCR0(VK,EXRI) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C3/TFSAS,TSAS(2,2),GCS,SCS,ECS,ACS + COMPLEX*16 TFSAS,TSAS + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + COMPLEX*16 SUM21,RM,RE,CC0,CSAM + CC0=(0.0D0,0.0D0) + C0=0.0D0 + EXDC=EXRI*EXRI + CCS=4.0D0*DACOS(C0)/(VK*VK) + CCCS=CCS/EXDC + CSAM=-(CCS/(EXRI*VK))*(0.0D0,0.5D0) + SCS=C0 + ECS=C0 + ACS=C0 + TFSAS=CC0 + DO 14 I=1,NSPH + IOGI=IOG(I) + IF(IOGI.LT.I)GO TO 12 + SUMS=C0 + SUM21=CC0 + DO 10 L=1,LI + FL=L+L+1 + RM=1.0D0/RMI(L,I) + RE=1.0D0/REI(L,I) + SUMS=SUMS+DREAL(DCONJG(RM)*RM+DCONJG(RE)*RE)*FL + 10 SUM21=SUM21+(RM+RE)*FL + SUM21=-SUM21 + SCASEC=CCCS*SUMS + EXTSEC=-CCCS*DREAL(SUM21) + ABSSEC=EXTSEC-SCASEC + SSCS(I)=SCASEC + SEXS(I)=EXTSEC + SABS(I)=ABSSEC + GCSS=GCSV(I) + SQSCS(I)=SCASEC/GCSS + SQEXS(I)=EXTSEC/GCSS + SQABS(I)=ABSSEC/GCSS + FSAS(I)=SUM21*CSAM + 12 SCS=SCS+SSCS(IOGI) + ECS=ECS+SEXS(IOGI) + ACS=ACS+SABS(IOGI) + 14 TFSAS=TFSAS+FSAS(IOGI) + RETURN + END + SUBROUTINE SCR2(VK,VKARG,EXRI,DUK) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C3/TFSAS,TSAS(2,2),GCS,SCS,ECS,ACS + COMPLEX*16 TFSAS,TSAS + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + DIMENSION DUK(3) + COMPLEX*16 S11,S21,S12,S22,RM,RE,CC0,CSAM,CPH,PHAS,CC + CC0=(0.0D0,0.0D0) + C0=0.0D0 + CCS=1.0D0/(VK*VK) + CSAM=-(CCS/(EXRI*VK))*(0.0D0,0.5D0) + PIGFSQ=6.4D+1*DACOS(C0)**2 + CFSQ=4.0D0/(PIGFSQ*CCS*CCS) + CPH=(0.0D0,1.0D0)*(EXRI*VKARG) + LS=MIN0(LI,LE) + TSAS(1,1)=CC0 + TSAS(2,1)=CC0 + TSAS(1,2)=CC0 + TSAS(2,2)=CC0 + DO 14 I=1,NSPH + IOGI=IOG(I) + IF(IOGI.LT.I)GO TO 12 + K=0 + S11=CC0 + S21=CC0 + S12=CC0 + S22=CC0 + DO 10 L=1,LS + RM=1.0D0/RMI(L,I) + RE=1.0D0/REI(L,I) + LTPO=L+L+1 + DO 10 IM=1,LTPO + K=K+1 + KE=K+NLEM + S11=S11-W(K,3)*W(K,1)*RM-W(KE,3)*W(KE,1)*RE + S21=S21-W(K,4)*W(K,1)*RM-W(KE,4)*W(KE,1)*RE + S12=S12-W(K,3)*W(K,2)*RM-W(KE,3)*W(KE,2)*RE + 10 S22=S22-W(K,4)*W(K,2)*RM-W(KE,4)*W(KE,2)*RE + SAS(I,1,1)=S11*CSAM + SAS(I,2,1)=S21*CSAM + SAS(I,1,2)=S12*CSAM + SAS(I,2,2)=S22*CSAM + 12 PHAS=CDEXP(CPH*(DUK(1)*RXX(I)+DUK(2)*RYY(I)+DUK(3)*RZZ(I))) + TSAS(1,1)=TSAS(1,1)+SAS(IOGI,1,1)*PHAS + TSAS(2,1)=TSAS(2,1)+SAS(IOGI,2,1)*PHAS + TSAS(1,2)=TSAS(1,2)+SAS(IOGI,1,2)*PHAS + 14 TSAS(2,2)=TSAS(2,2)+SAS(IOGI,2,2)*PHAS + DO 24 I=1,NSPH + IOGI=IOG(I) + IF(IOGI.LT.I)GO TO 24 + J=0 + DO 22 IPO1=1,2 + DO 22 JPO1=1,2 + CC=DCONJG(SAS(I,JPO1,IPO1)) + DO 22 IPO2=1,2 + DO 22 JPO2=1,2 + J=J+1 + 22 VINTS(I,J)=SAS(I,JPO2,IPO2)*CC*CFSQ + 24 CONTINUE + J=0 + DO 32 IPO1=1,2 + DO 32 JPO1=1,2 + CC=DCONJG(TSAS(JPO1,IPO1)) + DO 32 IPO2=1,2 + DO 32 JPO2=1,2 + J=J+1 + 32 VINTT(J)=TSAS(JPO2,IPO2)*CC*CFSQ + RETURN + END + SUBROUTINE PCROS(VK,EXRI) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + COMPLEX*16 SUMP,SUM1,SUM2,SUM3,SUM4,AM,AMP,CC,CSAM,CC0 + CC0=(0.0D0,0.0D0) + C0=0.0D0 + EXDC=EXRI*EXRI + CCS=1.0D0/(VK*VK) + CCCS=CCS/EXDC + CSAM=-(CCS/(EXRI*VK))*(0.0D0,0.5D0) + PIGFSQ=6.4D+1*DACOS(C0)**2 + CFSQ=4.0D0/(PIGFSQ*CCS*CCS) + NLEMT=NLEM+NLEM + JPO=2 + DO 18 IPO=1,2 + IF(IPO.EQ.2)JPO=1 + IPOPT=IPO+2 + JPOPT=JPO+2 + SUM=C0 + SUMP=CC0 + SUM1=CC0 + SUM2=CC0 + SUM3=CC0 + SUM4=CC0 + DO 12 I=1,NLEMT + AM=CC0 + AMP=CC0 + DO 10 J=1,NLEMT + AM=AM+AM0M(I,J)*W(J,IPO) + 10 AMP=AMP+AM0M(I,J)*W(J,JPO) + SUM=SUM+DREAL(DCONJG(AM)*AM) + SUMP=SUMP+(DCONJG(AMP)*AM) + SUM1=SUM1+DCONJG(W(I,IPO))*AM + SUM2=SUM2+DCONJG(W(I,JPO))*AM + SUM3=SUM3+W(I,IPOPT)*AM + 12 SUM4=SUM4+W(I,JPOPT)*AM + SCSC(IPO)=CCCS*SUM + SCSCP(IPO)=CCCS*SUMP + ECSC(IPO)=-CCCS*DREAL(SUM1) + ECSCP(IPO)=-CCCS*SUM2 + FSAC(IPO,IPO)=CSAM*SUM1 + FSAC(JPO,IPO)=CSAM*SUM2 + SAC(IPO,IPO)=CSAM*SUM3 + 18 SAC(JPO,IPO)=CSAM*SUM4 + I=0 + DO 22 IPO1=1,2 + DO 22 JPO1=1,2 + CC=DCONJG(SAC(JPO1,IPO1)) + DO 22 IPO2=1,2 + DO 22 JPO2=1,2 + I=I+1 + 22 VINT(I)=SAC(JPO2,IPO2)*CC*CFSQ + RETURN + END + SUBROUTINE PCRSM0(VK,EXRI,INPOL) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + COMPLEX*16 SUM1,SUM2,SUM3,SUM4,SUMPD,SUMS1,SUMS2,SUMS3,SUMS4, + 1CSAM,CC0,UIM + CC0=(0.0D0,0.0D0) + UIM=(0.0D0,1.0D0) + C0=0.0D0 + EXDC=EXRI*EXRI + CCS=4.0D0*DACOS(C0)/(VK*VK) + CCCS=CCS/EXDC + CSAM=-(CCS/(EXRI*VK))*(0.0D0,0.5D0) + SUM2=CC0 + SUM3=CC0 + DO 14 I=1,NLEM + IE=I+NLEM + SUM2=SUM2+(AM0M(I,I)+AM0M(IE,IE)) + 14 SUM3=SUM3+(AM0M(I,IE)+AM0M(IE,I)) + SUMPI=C0 + SUMPD=CC0 + NLEMT=NLEM+NLEM + DO 16 I=1,NLEMT + DO 16 J=1,NLEM + JE=J+NLEM + SUMPI=SUMPI+DREAL + 1(DCONJG(AM0M(I,J))*AM0M(I,J)+DCONJG(AM0M(I,JE))*AM0M(I,JE)) + 16 SUMPD=SUMPD+ + 1(DCONJG(AM0M(I,J))*AM0M(I,JE)+DCONJG(AM0M(I,JE))*AM0M(I,J)) + IF(INPOL.NE.0)GO TO 18 + SUM1=SUM2 + SUM4=SUM3*UIM + SUM3=-SUM4 + SUMS1=SUMPI + SUMS2=SUMPI + SUMS3=SUMPD*UIM + SUMS4=-SUMS3 + GO TO 20 + 18 SUM1=SUM2+SUM3 + SUM2=SUM2-SUM3 + SUM3=CC0 + SUM4=CC0 + SUMS1=SUMPI-SUMPD + SUMS2=SUMPI+SUMPD + SUMS3=CC0 + SUMS4=CC0 + 20 ECSCM(1)=-CCCS*DREAL(SUM2) + ECSCM(2)=-CCCS*DREAL(SUM1) + ECSCPM(1)=-CCCS*SUM4 + ECSCPM(2)=-CCCS*SUM3 + FSACM(1,1)=CSAM*SUM2 + FSACM(2,1)=CSAM*SUM4 + FSACM(2,2)=CSAM*SUM1 + FSACM(1,2)=CSAM*SUM3 + SCSCM(1)=CCCS*DREAL(SUMS1) + SCSCM(2)=CCCS*DREAL(SUMS2) + SCSCPM(1)=CCCS*SUMS3 + SCSCPM(2)=CCCS*SUMS4 + RETURN + END + SUBROUTINE CRSM1(VK,EXRI) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + COMMON/C6/RAC3J(47) +CCC DIMENSION SVF(LE4PO,LE4PO,4),SVW(LE4PO,4,4),SVS(LE4PO,4) +CCC LE4PO=LE*4+1 + DIMENSION SVF(93,93,4),SVW(93,4,4),SVS(93,4) + COMPLEX*16 SVF,SVW,SVS + COMPLEX*16 CAM,CC0 + CC0=(0.0D0,0.0D0) + C0=0.0D0 + EXDC=EXRI*EXRI + CCS=1.0D0/(VK*VK) + PIGFSQ=6.4D+1*DACOS(C0)**2 + CINT=CCS/(PIGFSQ*EXDC) + LETPO=LE+LE+1 + DO 20 I=1,16 + 20 VINTM(I)=CC0 + DO 40 LPO=1,LETPO + L=LPO-1 + LTPO=LPO+L + IMMN=LETPO-L + IMMX=LETPO+L + DO 22 IMF=IMMN,IMMX + DO 22 IMS=IMMN,IMMX + DO 22 IPO=1,4 + 22 SVF(IMF,IMS,IPO)=CC0 + DO 34 L1=1,LE + IL1=L1*(L1+1) + DO 34 L2=1,LE + IF((L.LT.IABS(L2-L1)).OR.(L.GT.(L2+L1)))GO TO 34 + IL2=L2*(L2+1) + DO 24 IM=IMMN,IMMX + DO 24 IPA=1,4 + SVS(IM,IPA)=CC0 + DO 24 IPO=1,4 + 24 SVW(IM,IPA,IPO)=CC0 + DO 30 IM=IMMN,IMMX + M=IM-LETPO + CALL R3JMR(L,L1,L2,M) + M1MNMO=MAX0(-L1,-L2-M)-1 + NM1=MIN0(L1,L2-M)-M1MNMO + DO 30 IM1=1,NM1 + M1=-IM1-M1MNMO + ISN=1 + IF(MOD(M1,2).NE.0)ISN=-1 + CG3J=RAC3J(IM1)*ISN +CCC CG=(LTPO**(1/2))*CG3J + ILM1=IL1+M1 + ILM2=IL2+M1-M + IPA=0 + DO 30 IPA1=1,2 + I1=ILM1 + IF(IPA1.EQ.2)I1=ILM1+NLEM + DO 30 IPA2=1,2 + I2=ILM2 + IF(IPA2.EQ.2)I2=ILM2+NLEM + IPA=IPA+1 + SVS(IM,IPA)=SVS(IM,IPA)+AM0M(I1,I2)*CG3J + IPO=0 + DO 30 IPO2=1,2 + DO 30 IPO1=3,4 + IPO=IPO+1 + 30 SVW(IM,IPA,IPO)=SVW(IM,IPA,IPO)+W(I1,IPO1)*W(I2,IPO2)*CG3J + DO 32 IMF=IMMN,IMMX + DO 32 IMS=IMMN,IMMX + DO 32 IPO=1,4 + DO 32 IPA=1,4 + 32 SVF(IMF,IMS,IPO)=SVF(IMF,IMS,IPO)+SVW(IMF,IPA,IPO)*SVS(IMS,IPA) + 34 CONTINUE + DO 40 IMF=IMMN,IMMX + DO 40 IMS=IMMN,IMMX + I=0 + DO 40 IPO1=1,4 + CAM=DCONJG(SVF(IMF,IMS,IPO1)) + DO 40 IPO2=1,4 + I=I+1 + 40 VINTM(I)=VINTM(I)+(SVF(IMF,IMS,IPO2)*CAM)*LTPO + DO 42 I=1,16 + 42 VINTM(I)=VINTM(I)*CINT + RETURN + END + SUBROUTINE APS(ZPV,LI,NSPH,IOG,RMI,REI,SQK,GAPS) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION ZPV(LM,3,2,2),IOG(NSPH), +CCC 1RMI(LI,NSPH),REI(LI,NSPH),GAPS(NSPH) + DIMENSION ZPV(23,3,2,2),IOG(8),RMI(23,8),REI(23,8),GAPS(8) + COMPLEX*16 RMI,REI + COMPLEX*16 CC0,SUMM,SUME,SUEM,SUEE,SUM + CC0=(0.0D0,0.0D0) + C0=0.0D0 + PIGH=DACOS(C0) + COFS=PIGH*2.0D0/SQK + DO 40 I=1,NSPH + IF(IOG(I).LT.I)GO TO 40 + SUM=CC0 + DO 30 L=1,LI + LTPO=L+L+1 + DO 30 ILMP=1,3 + IF(((L.EQ.1).AND.(ILMP.EQ.1)).OR.((L.EQ.LI).AND.(ILMP.EQ.3))) + 1GO TO 30 + LMPML=ILMP-2 + LMP=L+LMPML + COFL=LTPO*(LMP+LMP+1) + COFL=DSQRT(COFL) + SUMM=ZPV(L,ILMP,1,1)/(DCONJG(RMI(L,I))*RMI(LMP,I)) + SUME=ZPV(L,ILMP,1,2)/(DCONJG(RMI(L,I))*REI(LMP,I)) + SUEM=ZPV(L,ILMP,2,1)/(DCONJG(REI(L,I))*RMI(LMP,I)) + SUEE=ZPV(L,ILMP,2,2)/(DCONJG(REI(L,I))*REI(LMP,I)) + SUM=SUM+(CG1(LMPML,0,L,-1)*(SUMM-SUME-SUEM+SUEE)+ + 1CG1(LMPML,0,L,1)*(SUMM+SUME+SUEM+SUEE))*COFL + 30 CONTINUE + GAPS(I)=DREAL(SUM)*COFS + 40 CONTINUE + RETURN + END + SUBROUTINE APC(ZPV,LE,AM0M,W,SQK,GAPR,GAPP) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION ZPV(LM,3,2,2),AM0M(NLEMT,NLEMT),W(NLEMT,4) + DIMENSION ZPV(23,3,2,2),AM0M(1150,1150),W(1150,4), + 1GAPR(3,2),GAPP(3,2) + COMPLEX*16 AM0M,W,GAPP +CCC DIMENSION AC(NLEMT,2) + DIMENSION AC(1150,2),GAP(3,2) + COMPLEX*16 AC,GAP + COMPLEX*16 CC0,UIM,UIMMP, + 1SUMM,SUME,SUEM,SUEE,SUMMP,SUMEP,SUEMP,SUEEP + CC0=(0.0D0,0.0D0) + UIM=(0.0D0,1.0D0) + COF=1.0D0/SQK + CIMU=COF/DSQRT(2.0D0) + NLEM=LE*(LE+2) + NLEMT=NLEM+NLEM + DO 45 J=1,NLEMT + AC(J,1)=CC0 + AC(J,2)=CC0 + DO 45 I=1,NLEMT + AC(J,1)=AC(J,1)+AM0M(J,I)*W(I,1) + AC(J,2)=AC(J,2)+AM0M(J,I)*W(I,2) + 45 CONTINUE + DO 90 IMU=1,3 + MU=IMU-2 + GAP(IMU,1)=CC0 + GAP(IMU,2)=CC0 + GAPP(IMU,1)=CC0 + GAPP(IMU,2)=CC0 + DO 80 L=1,LE + LPO=L+1 + LTPO=LPO+L + IMM=L*LPO + DO 80 ILMP=1,3 + IF(((L.EQ.1).AND.(ILMP.EQ.1)).OR.((L.EQ.LE).AND.(ILMP.EQ.3))) + 1GO TO 80 + LMPML=ILMP-2 + LMP=L+LMPML + UIMMP=-LMPML*UIM + IMPMMMP=LMP*(LMP+1) + DO 70 IM=1,LTPO + M=IM-LPO + MMP=M-MU + IF(IABS(MMP).GT.LMP)GO TO 70 + I=IMM+M + IE=I+NLEM + IMP=IMPMMMP+MMP + IMPE=IMP+NLEM + CGC=CG1(LMPML,MU,L,M) + JPO=2 + DO 60 IPO=1,2 + IF(IPO.EQ.2)JPO=1 + SUMM=DCONJG(AC(I,IPO))*AC(IMP,IPO) + SUME=DCONJG(AC(I,IPO))*AC(IMPE,IPO) + SUEM=DCONJG(AC(IE,IPO))*AC(IMP,IPO) + SUEE=DCONJG(AC(IE,IPO))*AC(IMPE,IPO) + SUMMP=DCONJG(AC(I,JPO))*AC(IMP,IPO) + SUMEP=DCONJG(AC(I,JPO))*AC(IMPE,IPO) + SUEMP=DCONJG(AC(IE,JPO))*AC(IMP,IPO) + SUEEP=DCONJG(AC(IE,JPO))*AC(IMPE,IPO) + IF(LMPML.EQ.0)GO TO 55 + SUMM=SUMM*UIMMP + SUME=SUME*UIMMP + SUEM=SUEM*UIMMP + SUEE=SUEE*UIMMP + SUMMP=SUMMP*UIMMP + SUMEP=SUMEP*UIMMP + SUEMP=SUEMP*UIMMP + SUEEP=SUEEP*UIMMP + 55 GAP(IMU,IPO)=GAP(IMU,IPO)+CGC* + 1(SUMM*ZPV(L,ILMP,1,1)+SUME*ZPV(L,ILMP,1,2)+ + 2SUEM*ZPV(L,ILMP,2,1)+SUEE*ZPV(L,ILMP,2,2)) + GAPP(IMU,IPO)=GAPP(IMU,IPO)+CGC* + 1(SUMMP*ZPV(L,ILMP,1,1)+SUMEP*ZPV(L,ILMP,1,2)+ + 2SUEMP*ZPV(L,ILMP,2,1)+SUEEP*ZPV(L,ILMP,2,2)) + 60 CONTINUE + 70 CONTINUE + 80 CONTINUE + 90 CONTINUE + DO 95 IPO=1,2 + SUME=GAP(1,IPO)*CIMU + SUEE=GAP(2,IPO)*COF + SUEM=GAP(3,IPO)*CIMU + GAPR(1,IPO)=DREAL(SUME-SUEM) + GAPR(2,IPO)=DREAL((SUME+SUEM)*UIM) + GAPR(3,IPO)=DREAL(SUEE) + SUMEP=GAPP(1,IPO)*CIMU + SUEEP=GAPP(2,IPO)*COF + SUEMP=GAPP(3,IPO)*CIMU + GAPP(1,IPO)=SUMEP-SUEMP + GAPP(2,IPO)=(SUMEP+SUEMP)*UIM + GAPP(3,IPO)=SUEEP + 95 CONTINUE + RETURN + END + SUBROUTINE APCRA(ZPV,LE,AM0M,INPOL,SQK,GAPRM,GAPPM) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION ZPV(LM,3,2,2),AM0M(NLEMT,NLEMT) + DIMENSION ZPV(23,3,2,2),AM0M(1150,1150),GAPRM(3,2),GAPPM(3,2) + COMPLEX*16 AM0M,GAPPM +CCC DIMENSION SVW(LE,3,2,2),SVS(LE,3,2,2) + DIMENSION SVW(23,3,2,2),SVS(23,3,2,2) + COMPLEX*16 SVS + COMPLEX*16 CC0,UIM,UIMTL,UIMTLS,FC, + 1CA11,CA12,CA21,CA22,A11,A12,A21,A22,SUM1,SUM2 + CC0=(0.0D0,0.0D0) + UIM=(0.0D0,1.0D0) + NLEM=LE*(LE+2) + DO 28 L=1,LE + LPO=L+1 + LTPO=LPO+L + FL=LTPO + FL=DSQRT(FL) + DO 26 ILMP=1,3 + IF(((L.EQ.1).AND.(ILMP.EQ.1)).OR.((L.EQ.LE).AND.(ILMP.EQ.3))) + 1GO TO 26 + LMPML=ILMP-2 + LMP=L+LMPML + FLMP=LMP+LMP+1 + FLMP=DSQRT(FLMP) + FLLMP=FLMP/FL + CGMMO=FLLMP*CG1(LMPML,0,L,1) + CGMPO=FLLMP*CG1(LMPML,0,L,-1) + IF(INPOL.NE.0)GO TO 22 + CGS=CGMPO+CGMMO + CGD=CGMPO-CGMMO + SVW(L,ILMP,1,1)=CGS + SVW(L,ILMP,1,2)=CGD + SVW(L,ILMP,2,1)=CGD + SVW(L,ILMP,2,2)=CGS + GO TO 26 + 22 SVW(L,ILMP,1,1)=CGMPO + SVW(L,ILMP,2,1)=CGMPO + SVW(L,ILMP,1,2)=-CGMMO + SVW(L,ILMP,2,2)=CGMMO + 26 CONTINUE + 28 CONTINUE + DO 30 L=1,LE + DO 30 ILMP=1,3 + DO 30 IPA=1,2 + DO 30 IPAMP=1,2 + SVS(L,ILMP,IPA,IPAMP)=CC0 + 30 CONTINUE + DO 58 L=1,LE + LPO=L+1 + LTPO=L+LPO + IMM=L*LPO + DO 56 ILMP=1,3 + IF(((L.EQ.1).AND.(ILMP.EQ.1)).OR.((L.EQ.LE).AND.(ILMP.EQ.3))) + 1GO TO 56 + LMPML=ILMP-2 + LMP=L+LMPML + IMPMM=LMP*(LMP+1) + UIMTL=LMPML*UIM + IF(LMPML.EQ.0)UIMTL=(1.0D0,0.0D0) + DO 54 IM=1,LTPO + M=IM-LPO + I=IMM+M + IE=I+NLEM + DO 52 IMU=1,3 + MU=IMU-2 + MMP=M-MU + IF(IABS(MMP).GT.LMP)GO TO 52 + IMP=IMPMM+MMP + IMPE=IMP+NLEM + CGC=CG1(LMPML,-MU,L,-M) + DO 48 LS=1,LE + LSPO=LS+1 + LSTPO=LS+LSPO + ISMM=LS*LSPO + DO 46 ILSMP=1,3 + IF(((LS.EQ.1).AND.(ILSMP.EQ.1)).OR.((LS.EQ.LE).AND.(ILSMP.EQ.3))) + 1GO TO 46 + LSMPML=ILSMP-2 + LSMP=LS+LSMPML + ISMPMM=LSMP*(LSMP+1) + UIMTLS=-LSMPML*UIM + IF(LSMPML.EQ.0)UIMTLS=(1.0D0,0.0D0) + DO 44 IMS=1,LSTPO + MS=IMS-LSPO + MSMP=MS-MU + IF(IABS(MSMP).GT.LSMP)GO TO 44 + IS=ISMM+MS + ISE=IS+NLEM + ISMP=ISMPMM+MSMP + ISMPE=ISMP+NLEM + CGCS=CG1(LSMPML,MU,LS,MS) + FC=(UIMTL*UIMTLS)*(CGC*CGCS) + CA11=DCONJG(AM0M(IS,I)) + CA12=DCONJG(AM0M(IS,IE)) + CA21=DCONJG(AM0M(ISE,I)) + CA22=DCONJG(AM0M(ISE,IE)) + A11=AM0M(ISMP,IMP) + A12=AM0M(ISMP,IMPE) + A21=AM0M(ISMPE,IMP) + A22=AM0M(ISMPE,IMPE) + Z11=ZPV(LS,ILSMP,1,1) + Z12=ZPV(LS,ILSMP,1,2) + Z21=ZPV(LS,ILSMP,2,1) + Z22=ZPV(LS,ILSMP,2,2) + SVS(L,ILMP,1,1)=SVS(L,ILMP,1,1)+ + 1(CA11*A11*Z11+CA11*A21*Z12+CA21*A11*Z21+CA21*A21*Z22)*FC + SVS(L,ILMP,1,2)=SVS(L,ILMP,1,2)+ + 1(CA11*A12*Z11+CA11*A22*Z12+CA21*A12*Z21+CA21*A22*Z22)*FC + SVS(L,ILMP,2,1)=SVS(L,ILMP,2,1)+ + 1(CA12*A11*Z11+CA12*A21*Z12+CA22*A11*Z21+CA22*A21*Z22)*FC + SVS(L,ILMP,2,2)=SVS(L,ILMP,2,2)+ + 1(CA12*A12*Z11+CA12*A22*Z12+CA22*A12*Z21+CA22*A22*Z22)*FC + 44 CONTINUE + 46 CONTINUE + 48 CONTINUE + 52 CONTINUE + 54 CONTINUE + 56 CONTINUE + 58 CONTINUE + SUM1=CC0 + SUM2=CC0 + DO 68 L=1,LE + LPO=L+1 + LTPO=L+LPO + IMM=L*LPO + DO 66 ILMP=1,3 + IF(((L.EQ.1).AND.(ILMP.EQ.1)).OR.((L.EQ.LE).AND.(ILMP.EQ.3))) + 1GO TO 66 + IF(INPOL.NE.0)GO TO 62 + SUM1=SUM1+ + 1SVW(L,ILMP,1,1)*SVS(L,ILMP,1,1)+SVW(L,ILMP,2,1)*SVS(L,ILMP,1,2)+ + 2SVW(L,ILMP,2,1)*SVS(L,ILMP,2,1)+SVW(L,ILMP,1,1)*SVS(L,ILMP,2,2) + SUM2=SUM2+ + 1SVW(L,ILMP,1,2)*SVS(L,ILMP,1,1)+SVW(L,ILMP,2,2)*SVS(L,ILMP,1,2)+ + 2SVW(L,ILMP,2,2)*SVS(L,ILMP,2,1)+SVW(L,ILMP,1,2)*SVS(L,ILMP,2,2) + GO TO 66 + 62 SUM1=SUM1+ + 1SVW(L,ILMP,2,1)*SVS(L,ILMP,1,1)+SVW(L,ILMP,1,1)*SVS(L,ILMP,1,2)+ + 2SVW(L,ILMP,1,1)*SVS(L,ILMP,2,1)+SVW(L,ILMP,2,1)*SVS(L,ILMP,2,2) + SUM2=SUM2+ + 1SVW(L,ILMP,2,2)*SVS(L,ILMP,1,1)+SVW(L,ILMP,1,2)*SVS(L,ILMP,1,2)+ + 2SVW(L,ILMP,1,2)*SVS(L,ILMP,2,1)+SVW(L,ILMP,2,2)*SVS(L,ILMP,2,2) + 66 CONTINUE + 68 CONTINUE + C0=0.0D0 + PIGH=DACOS(C0) + COFS=PIGH*2.0D0/SQK + GAPRM(1,1)=C0 + GAPRM(1,2)=C0 + GAPRM(2,1)=C0 + GAPRM(2,2)=C0 + GAPPM(1,1)=CC0 + GAPPM(1,2)=CC0 + GAPPM(2,1)=CC0 + GAPPM(2,2)=CC0 + IF(INPOL.NE.0)GO TO 72 + SUM1=SUM1*COFS + SUM2=SUM2*COFS + GAPRM(3,1)=DREAL(SUM1) + GAPRM(3,2)=DREAL(SUM1) + GAPPM(3,1)=SUM2*UIM + GAPPM(3,2)=-GAPPM(3,1) + RETURN + 72 COFS=COFS*2.0D0 + GAPRM(3,1)=DREAL(SUM1)*COFS + GAPRM(3,2)=DREAL(SUM2)*COFS + GAPPM(3,1)=CC0 + GAPPM(3,2)=CC0 + RETURN + END + SUBROUTINE THDPS(LM,ZPV) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION ZPV(LM,3,2,2) + DIMENSION ZPV(23,3,2,2) + C0=0.0D0 + DO 10 L=1,LM + DO 10 ILMP=1,3 + ZPV(L,ILMP,1,1)=C0 + ZPV(L,ILMP,1,2)=C0 + ZPV(L,ILMP,2,1)=C0 + ZPV(L,ILMP,2,2)=C0 + 10 CONTINUE + DO 15 L=1,LM + XD=L*(L+1) + ZP=-1.0D0/DSQRT(XD) + ZPV(L,2,1,2)=ZP + ZPV(L,2,2,1)=ZP + 15 CONTINUE + IF(LM.EQ.1)GO TO 30 + DO 20 L=2,LM + XN=(L-1)*(L+1) + XD=L*(L+L+1) + ZP=DSQRT(XN/XD) + ZPV(L,1,1,1)=ZP + ZPV(L,1,2,2)=ZP + 20 CONTINUE + LMMO=LM-1 + DO 25 L=1,LMMO + XN=L*(L+2) + XD=(L+1)*(L+L+1) + ZP=-DSQRT(XN/XD) + ZPV(L,3,1,1)=ZP + ZPV(L,3,2,2)=ZP + 25 CONTINUE + 30 CONTINUE + RETURN + END + REAL*8 FUNCTION CG1(LMPML,MU,L,M) +CCC CG1(LMPML,MU,L,M)=CLGO(1,LMP,L;MU,M-MU,M) + REAL*8 XD,XN + IF(LMPML)30,5,60 + 5 IF((M.NE.0).OR.(MU.NE.0))GO TO 10 + CG1=0.0D0 + RETURN + 10 IF(MU.EQ.0)GO TO 20 + XD=(L+1)*L*2 + IF(MU.GT.0)GO TO 15 + XN=(L-M)*(L+M+1) + CG1=-DSQRT(XN/XD) + RETURN + 15 XN=(L+M)*(L-M+1) + CG1=DSQRT(XN/XD) + RETURN + 20 XD=(L+1)*L + XN=-M + CG1=XN/DSQRT(XD) + RETURN + 30 XD=(L*2-1)*L*2 + IF(MU)35,40,45 + 35 XN=(L-1-M)*(L-M) + CG1=DSQRT(XN/XD) + RETURN + 40 XN=(L-M)*(L+M)*2 + CG1=DSQRT(XN/XD) + RETURN + 45 XN=(L-1+M)*(L+M) + CG1=DSQRT(XN/XD) + RETURN + 60 XD=(L*2+3)*(L+1)*2 + IF(MU)65,70,75 + 65 XN=(L+1+M)*(L+2+M) + CG1=DSQRT(XN/XD) + RETURN + 70 XN=(L+1-M)*(L+1+M)*2 + CG1=-DSQRT(XN/XD) + RETURN + 75 XN=(L+1-M)*(L+2-M) + CG1=DSQRT(XN/XD) + RETURN + END + SUBROUTINE UPVMP(THD,PHD,ICSPNV,COST,SINT,COSP,SINP,U,UP,UN) + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION U(3),UP(3),UN(3) + C0=0.0D0 + PIGH=DACOS(C0) + RDR=PIGH/9.0D+1 + TH=THD*RDR + PH=PHD*RDR + COST=DCOS(TH) + SINT=DSIN(TH) + COSP=DCOS(PH) + SINP=DSIN(PH) + U(1)=COSP*SINT + U(2)=SINP*SINT + U(3)=COST + UP(1)=COSP*COST + UP(2)=SINP*COST + UP(3)=-SINT + UN(1)=-SINP + UN(2)=COSP + UN(3)=C0 + IF(ICSPNV.EQ.0)RETURN + UP(1)=-UP(1) + UP(2)=-UP(2) + UP(3)=-UP(3) + UN(1)=-UN(1) + UN(2)=-UN(2) + RETURN + END + SUBROUTINE WMAMP + 1(IIS,COST,SINT,COSP,SINP,INPOL,LM,IDOT,NSPH,ARG,U,UP,UN) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION YLM(NLMM+2),ARG(NSPEF) +CCC NSPEF=1 CALLING WITH IDOT=0, NSPEF=NSPH OTHERWISE + DIMENSION YLM(2209),U(3),UP(3),UN(3),ARG(1) + COMPLEX*16 YLM + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + NLMP=LM*(LM+2)+2 + YLM(NLMP)=(0.0D0,0.0D0) + IF(IDOT.EQ.0)GO TO 65 + IF(IDOT.EQ.1)GO TO 45 + DO 40 N=1,NSPH + 40 ARG(N)=U(1)*RXX(N)+U(2)*RYY(N)+U(3)*RZZ(N) + GO TO 55 + 45 DO 50 N=1,NSPH + 50 ARG(N)=COST*RZZ(N) + 55 IF(IIS.NE.2)GO TO 65 + DO 60 N=1,NSPH + 60 ARG(N)=-ARG(N) + 65 CALL SPHAR(COST,SINT,COSP,SINP,LM,YLM) + CALL PWMA(UP,UN,YLM,INPOL,LM,IIS) + RETURN + END + SUBROUTINE UPVSP(U,UPMP,UNMP,US,UPSMP,UNSMP,UP,UN,UPS,UNS,DUK, + 1ISQ,IBF,SCAND,CFMP,SFMP,CFSP,SFSP) + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION U(3),UPMP(3),UNMP(3),US(3),UPSMP(3),UNSMP(3), + 1UP(3),UN(3),UPS(3),UNS(3),DUK(3) + C0=0.0D0 + RDR=DACOS(C0)/9.0D+1 + SML=1.0D-6 + ISQ=0 + SCAND=U(1)*US(1)+U(2)*US(2)+U(3)*US(3) + IF(DABS(SCAND-1.0D0).LT.SML)GO TO 10 + IF(DABS(SCAND+1.0D0).LT.SML)GO TO 15 + SCAND=DACOS(SCAND)/RDR + DUK(1)=U(1)-US(1) + DUK(2)=U(2)-US(2) + DUK(3)=U(3)-US(3) + IBF=0 + GO TO 25 + 10 SCAND=C0 + DUK(1)=C0 + DUK(2)=C0 + DUK(3)=C0 + IBF=-1 + ISQ=-1 + UPS(1)=UPSMP(1) + UPS(2)=UPSMP(2) + UPS(3)=UPSMP(3) + UNS(1)=UNSMP(1) + UNS(2)=UNSMP(2) + UNS(3)=UNSMP(3) + GO TO 20 + 15 SCAND=180.0D0 + DUK(1)=U(1)*2.0D0 + DUK(2)=U(2)*2.0D0 + DUK(3)=U(3)*2.0D0 + IBF=1 + UPS(1)=-UPSMP(1) + UPS(2)=-UPSMP(2) + UPS(3)=-UPSMP(3) + UNS(1)=-UNSMP(1) + UNS(2)=-UNSMP(2) + UNS(3)=-UNSMP(3) + 20 UP(1)=UPMP(1) + UP(2)=UPMP(2) + UP(3)=UPMP(3) + UN(1)=UNMP(1) + UN(2)=UNMP(2) + UN(3)=UNMP(3) + GO TO 85 + 25 CALL ORUNVE(U,US,UN,-1,SML) + UNS(1)=UN(1) + UNS(2)=UN(2) + UNS(3)=UN(3) + CALL ORUNVE(UN,U,UP,1,SML) + CALL ORUNVE(UNS,US,UPS,1,SML) + 85 CFMP=UPMP(1)*UP(1)+UPMP(2)*UP(2)+UPMP(3)*UP(3) + SFMP=UNMP(1)*UP(1)+UNMP(2)*UP(2)+UNMP(3)*UP(3) + CFSP=UPS(1)*UPSMP(1)+UPS(2)*UPSMP(2)+UPS(3)*UPSMP(3) + SFSP=UNS(1)*UPSMP(1)+UNS(2)*UPSMP(2)+UNS(3)*UPSMP(3) + RETURN + END + SUBROUTINE WMASP(COST,SINT,COSP,SINP,COSTS,SINTS,COSPS,SINPS, + 1U,UP,UN,US,UPS,UNS,ISQ,IBF,INPOL,LM,IDOT,NSPH,ARGI,ARGS) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION YLM(NLMM+2),ARGI(NSPEF),ARGS(NSPEF) +CCC NSPEF=1 CALLING WITH IDOT=0, NSPEF=NSPH OTHERWISE + DIMENSION YLM(2209),ARGI(1),ARGS(1), + 1U(3),UP(3),UN(3),US(3),UPS(3),UNS(3) + COMPLEX*16 YLM + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + NLMP=LM*(LM+2)+2 + YLM(NLMP)=(0.0D0,0.0D0) + IF(IDOT.EQ.0)GO TO 75 + IF(IDOT.EQ.1)GO TO 50 + DO 40 N=1,NSPH + ARGI(N)=U(1)*RXX(N)+U(2)*RYY(N)+U(3)*RZZ(N) + IF(IBF.EQ.0)GO TO 35 + ARGS(N)=ARGI(N)*IBF + GO TO 40 + 35 ARGS(N)=-(US(1)*RXX(N)+US(2)*RYY(N)+US(3)*RZZ(N)) + 40 CONTINUE + GO TO 75 + 50 DO 60 N=1,NSPH + ARGI(N)=COST*RZZ(N) + IF(IBF.EQ.0)GO TO 55 + ARGS(N)=ARGI(N)*IBF + GO TO 60 + 55 ARGS(N)=-COSTS*RZZ(N) + 60 CONTINUE + 75 CALL SPHAR(COST,SINT,COSP,SINP,LM,YLM) + CALL PWMA(UP,UN,YLM,INPOL,LM,ISQ) + IF(IBF.LT.0)RETURN + CALL SPHAR(COSTS,SINTS,COSPS,SINPS,LM,YLM) + CALL PWMA(UPS,UNS,YLM,INPOL,LM,2) + RETURN + END + SUBROUTINE STR(RCF) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION RCF(NSPH,NSHL),YLM(MAX0(LITPOS,LMTPOS)) + DIMENSION RCF(8,8),YLM(2209) + COMPLEX*16 YLM + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C3/TFSAS,TSAS(2,2),GCS,SCS,ECS,ACS + COMPLEX*16 TFSAS,TSAS + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + COMMON/C6/RAC3J(47) + C0=0.0D0 + PIGH=DACOS(C0) + PIG=PIGH*2.0D0 + GCS=C0 + DO 18 I=1,NSPH + IOGI=IOG(I) + IF(IOGI.LT.I)GO TO 18 + GCSS=PIG*ROS(I)*ROS(I) + GCSV(I)=GCSS + NSH=NSHL(I) + DO 16 J=1,NSH + 16 RC(I,J)=RCF(I,J)*ROS(I) + 18 GCS=GCS+GCSV(IOGI) + LITPO=LI+LI+1 + LITPOS=LITPO*LITPO + LMTPO=LI+LE+1 + LMTPOS=LMTPO*LMTPO + NLIM=LI*(LI+2) + NLEM=LE*(LE+2) + LM=MAX0(LI,LE) + LMPO=LM+1 + I=0 + DO 28 L1PO=1,LMPO + L1=L1PO-1 + DO 28 L2=1,LM + CALL R3J000(L1,L2) + IND3J(L1PO,L2)=I + LMNPO=IABS(L2-L1)+1 + LMXPO=L2+L1+1 + IL=0 + DO 28 LPO=LMNPO,LMXPO,2 + I=I+1 + IL=IL+1 + 28 V3J0(I)=RAC3J(IL) + NSPHMO=NSPH-1 + LIT=LI+LI + IVY=0 + DO 40 NF=1,NSPHMO + NFPO=NF+1 + DO 40 NS=NFPO,NSPH + RX=RXX(NF)-RXX(NS) + RY=RYY(NF)-RYY(NS) + RZ=RZZ(NF)-RZZ(NS) + CALL POLAR(RX,RY,RZ,RR,CRTH,SRTH,CRPH,SRPH) + CALL SPHAR(CRTH,SRTH,CRPH,SRPH,LIT,YLM) + DO 38 IV=1,LITPOS + 38 VYHJ(IV+IVY)=DCONJG(YLM(IV)) + 40 IVY=IVY+LITPOS + LMT=LI+LE + IVY=0 + DO 50 NF=1,NSPH + RX=RXX(NF) + RY=RYY(NF) + RZ=RZZ(NF) + IF(RX.EQ.C0.AND.RY.EQ.C0.AND.RZ.EQ.C0)GO TO 50 + CALL POLAR(RX,RY,RZ,RR,CRTH,SRTH,CRPH,SRPH) + CALL SPHAR(CRTH,SRTH,CRPH,SRPH,LMT,YLM) + DO 48 IV=1,LMTPOS + 48 VYJ0(IV+IVY)=DCONJG(YLM(IV)) + 50 IVY=IVY+LMTPOS + RETURN + END + SUBROUTINE HJV(EXRI,VK,JER,LCALC,ARG) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION RFJ(MAX0(LIT,LMT)),RFN(LITPO) + DIMENSION RFJ(46),RFN(47) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + COMPLEX*16 ARG,UIM + JER=0 + C0=0.0D0 + UIM=(0.0D0,1.0D0) + NSPHMO=NSPH-1 + LIT=LI+LI + IVHB=0 + DO 40 NF=1,NSPHMO + NFPO=NF+1 + DO 40 NS=NFPO,NSPH + RX=RXX(NF)-RXX(NS) + RY=RYY(NF)-RYY(NS) + RZ=RZZ(NF)-RZZ(NS) + RR=DSQRT(RX*RX+RY*RY+RZ*RZ) + RARG=RR*VK*EXRI + ARG=RARG + CALL RBF(LIT,RARG,LCALC,RFJ) + IF(LCALC.GE.LIT)GO TO 35 + JER=1 + RETURN + 35 CALL RNF(LIT,RARG,LCALC,RFN) + IF(LCALC.GE.LIT)GO TO 37 + JER=2 + RETURN + 37 DO 38 LPO=1,LITPO + 38 VH(LPO+IVHB)=RFJ(LPO)+UIM*RFN(LPO) + 40 IVHB=IVHB+LITPO + LMT=LI+LE + IVHB=0 + DO 50 NF=1,NSPH + RX=RXX(NF) + RY=RYY(NF) + RZ=RZZ(NF) + IF(RX.EQ.C0.AND.RY.EQ.C0.AND.RZ.EQ.C0)GO TO 50 + RR=DSQRT(RX*RX+RY*RY+RZ*RZ) + RARG=RR*VK*EXRI + CALL RBF(LMT,RARG,LCALC,RFJ) + IF(LCALC.GE.LMT)GO TO 45 + JER=3 + ARG=RARG + RETURN + 45 DO 47 LPO=1,LMTPO + 47 VJ0(LPO+IVHB)=RFJ(LPO) + 50 IVHB=IVHB+LMTPO + RETURN + END + SUBROUTINE PWMA(UP,UN,YLM,INPOL,LW,ISQ) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION YLM(NLWM+2) + DIMENSION YLM(2209),UP(3),UN(3) + COMPLEX*16 YLM + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMPLEX*16 CP1,CM1,C1,CP2,CM2,C2,UIM,CL + PI4=DACOS(0.0D0)*8.0D0 + IS=ISQ + IF(ISQ.EQ.-1)IS=0 + ISPO=IS+1 + ISPT=IS+2 + NLWM=LW*(LW+2) + NLWMT=NLWM+NLWM + SQRTWI=1.0D0/DSQRT(2.0D0) + UIM=(0.0D0,1.0D0) + CM1=.5D0*DCMPLX(UP(1),UP(2)) + CP1=.5D0*DCMPLX(UP(1),-UP(2)) + CZ1=UP(3) + CM2=.5D0*DCMPLX(UN(1),UN(2)) + CP2=.5D0*DCMPLX(UN(1),-UN(2)) + CZ2=UN(3) + DO 20 L=1,LW + LF=L+1 + LFTL=LF*L + X=LFTL + CL=(PI4/DSQRT(X))*UIM**L + MV=L+LF + M=-LF + DO 20 MF=1,MV + M=M+1 + K=LFTL+M + X=LFTL-M*(M+1) + CP=DSQRT(X) + X=LFTL-M*(M-1) + CM=DSQRT(X) + CZ=M + W(K,ISPO)=DCONJG(CP1*CP*YLM(K+2)+CM1*CM*YLM(K)+CZ1*CZ*YLM(K+1))*CL + 20 W(K,ISPT)=DCONJG(CP2*CP*YLM(K+2)+CM2*CM*YLM(K)+CZ2*CZ*YLM(K+1))*CL + DO 30 K=1,NLWM + I=K+NLWM + W(I,ISPO)=UIM*W(K,ISPT) + 30 W(I,ISPT)=-UIM*W(K,ISPO) + IF(INPOL.EQ.0)GO TO 42 + DO 40 K=1,NLWM + I=K+NLWM + C1=(W(K,ISPO)+UIM*W(K,ISPT))*SQRTWI + C2=(W(K,ISPO)-UIM*W(K,ISPT))*SQRTWI + W(K,ISPO)=C2 + W(I,ISPO)=-C2 + W(K,ISPT)=C1 + 40 W(I,ISPT)=C1 + 42 IF(ISQ.EQ.0)RETURN + DO 50 I=1,2 + IPT=I+2 + IPIS=I+IS + DO 50 K=1,NLWMT + 50 W(K,IPT)=DCONJG(W(K,IPIS)) + RETURN + END + SUBROUTINE ORUNVE(U1,U2,U3,IORTH,TORTH) + IMPLICIT REAL*8(A-H,O-Z) + DIMENSION U1(3),U2(3),U3(3) + IF(IORTH.GT.0)GO TO 10 + CP=U1(1)*U2(1)+U1(2)*U2(2)+U1(3)*U2(3) + IF((IORTH.LT.0).AND.(DABS(CP).LT.TORTH))GO TO 10 + FN=1.0D0/DSQRT(1.0D0-CP*CP) + U3(1)=(U1(2)*U2(3)-U1(3)*U2(2))*FN + U3(2)=(U1(3)*U2(1)-U1(1)*U2(3))*FN + U3(3)=(U1(1)*U2(2)-U1(2)*U2(1))*FN + RETURN + 10 U3(1)=U1(2)*U2(3)-U1(3)*U2(2) + U3(2)=U1(3)*U2(1)-U1(1)*U2(3) + U3(3)=U1(1)*U2(2)-U1(2)*U2(1) + RETURN + END + SUBROUTINE CMS(AM) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH +CCC DIMENSION AM(MXNDM,MXNDM) +CCC NDIT.LE.MXNDM + DIMENSION AM(9200,9200) + COMPLEX*16 AM + COMPLEX*16 DM,DE,CGH,CGK,GHIT,CC0 + CC0=(0.0D0,0.0D0) + NDI=NSPH*NLIM + NBL=0 + NSPHMO=NSPH-1 + DO 26 N1=1,NSPHMO + IN1=(N1-1)*NLIM + N1PO=N1+1 + DO 26 N2=N1PO,NSPH + IN2=(N2-1)*NLIM + NBL=NBL+1 + DO 24 L1=1,LI + L1PO=L1+1 + IL1=L1PO*L1 + L1TPO=L1PO+L1 + DO 24 IM1=1,L1TPO + M1=IM1-L1PO + ILM1=IL1+M1 + ILM1E=ILM1+NDI + I1=IN1+ILM1 + I1E=IN1+ILM1E + J1=IN2+ILM1 + J1E=IN2+ILM1E + DO 24 L2=1,LI + L2PO=L2+1 + IL2=L2PO*L2 + L2TPO=L2PO+L2 + ISH=(-1)**(L2+L1) + ISK=-ISH + DO 24 IM2=1,L2TPO + M2=IM2-L2PO + ILM2=IL2+M2 + ILM2E=ILM2+NDI + I2=IN2+ILM2 + I2E=IN2+ILM2E + J2=IN1+ILM2 + J2E=IN1+ILM2E + CGH=GHIT(0,0,NBL,L1,M1,L2,M2) + CGK=GHIT(0,1,NBL,L1,M1,L2,M2) + AM(I1,I2)=CGH + AM(I1,I2E)=CGK + AM(I1E,I2)=CGK + AM(I1E,I2E)=CGH + AM(J1,J2)=CGH*ISH + AM(J1,J2E)=CGK*ISK + AM(J1E,J2)=CGK*ISK + AM(J1E,J2E)=CGH*ISH + 24 CONTINUE + 26 CONTINUE + DO 30 N1=1,NSPH + IN1=(N1-1)*NLIM + DO 30 L1=1,LI + DM=RMI(L1,N1) + DE=REI(L1,N1) + L1PO=L1+1 + IL1=L1PO*L1 + L1TPO=L1PO+L1 + DO 30 IM1=1,L1TPO + M1=IM1-L1PO + ILM1=IL1+M1 + I1=IN1+ILM1 + I1E=I1+NDI + DO 28 ILM2=1,NLIM + I2=IN1+ILM2 + I2E=I2+NDI + AM(I1,I2)=CC0 + AM(I1,I2E)=CC0 + AM(I1E,I2)=CC0 + 28 AM(I1E,I2E)=CC0 + AM(I1,I1)=DM + 30 AM(I1E,I1E)=DE + RETURN + END + SUBROUTINE ZTM(AM) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + COMMON/C9/GIS(4600,575),GLS(4600,575),SAM(9200,1150) + COMPLEX*16 GIS,GLS,SAM +CCC DIMENSION AM(MXNDM,MXNDM) +CCC NDIT.LE.MXNDM + DIMENSION AM(9200,9200) + COMPLEX*16 AM + COMPLEX*16 GIE,GLE,GHIT,A1,A2,A3,A4, + 1SUM1,SUM2,SUM3,SUM4,CC0 + CC0=(0.0D0,0.0D0) + NDI=NSPH*NLIM + I2=0 + DO 15 N2=1,NSPH + DO 15 L2=1,LI + L2TPO=L2+L2+1 + M2=-L2-1 + DO 15 IM2=1,L2TPO + M2=M2+1 + I2=I2+1 + I3=0 + DO 15 L3=1,LE + L3TPO=L3+L3+1 + M3=-L3-1 + DO 15 IM3=1,L3TPO + M3=M3+1 + I3=I3+1 + GIS(I2,I3)=GHIT(2,0,N2,L2,M2,L3,M3) + 15 GLS(I2,I3)=GHIT(2,1,N2,L2,M2,L3,M3) + DO 25 I1=1,NDI + I1E=I1+NDI + DO 25 I3=1,NLEM + I3E=I3+NLEM + SUM1=CC0 + SUM2=CC0 + SUM3=CC0 + SUM4=CC0 + DO 20 I2=1,NDI + I2E=I2+NDI + GIE=GIS(I2,I3) + GLE=GLS(I2,I3) + A1=AM(I1,I2) + A2=AM(I1,I2E) + A3=AM(I1E,I2) + A4=AM(I1E,I2E) + SUM1=SUM1+A1*GIE+A2*GLE + SUM2=SUM2+A1*GLE+A2*GIE + SUM3=SUM3+A3*GIE+A4*GLE + 20 SUM4=SUM4+A3*GLE+A4*GIE + SAM(I1,I3)=SUM1 + SAM(I1,I3E)=SUM2 + SAM(I1E,I3)=SUM3 + 25 SAM(I1E,I3E)=SUM4 + DO 35 I1=1,NDI + DO 35 I0=1,NLEM + GIS(I1,I0)=DCONJG(GIS(I1,I0)) + 35 GLS(I1,I0)=DCONJG(GLS(I1,I0)) + NLEMT=NLEM+NLEM + DO 45 I0=1,NLEM + I0E=I0+NLEM + DO 45 I3=1,NLEMT + SUM1=CC0 + SUM2=CC0 + DO 40 I1=1,NDI + I1E=I1+NDI + A1=SAM(I1,I3) + A2=SAM(I1E,I3) + GIE=GIS(I1,I0) + GLE=GLS(I1,I0) + SUM1=SUM1+A1*GIE+A2*GLE + 40 SUM2=SUM2+A1*GLE+A2*GIE + AM0M(I0,I3)=-SUM1 + 45 AM0M(I0E,I3)=-SUM2 + RETURN + END + COMPLEX*16 FUNCTION GHIT(IHI,IPAMO,NBL,L1,M1,L2,M2) +CCC NBL INDIVIDUATES TRANSFER VECTOR GOING FROM N2 TO N1; +CCC IHI=0 FOR HANKEL, IHI=1 FOR BESSEL, IHI=2 FOR BESSEL FROM ORIGIN; +CCC DEPENDING ON IHI, IPAMO=0 GIVES H OR I, IPAMO=1 GIVES K OR L + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C4/LITPO,LITPOS,LMTPO,LMTPOS,LI,NLIM,LE,NLEM,NSPH + COMMON/C6/RAC3J(47) + COMPLEX*16 CSUM,CC0,UIM,CFUN + CC0=(0.0D0,0.0D0) + GHIT=CC0 + IF(IHI.NE.2)GO TO 10 + C0=0.0D0 + IF(RXX(NBL).NE.C0.OR.RYY(NBL).NE.C0.OR.RZZ(NBL).NE.C0)GO TO 10 + IF(IPAMO.NE.0)RETURN + IF(L1.EQ.L2.AND.M1.EQ.M2)GHIT=(1.0D0,0.0D0) + RETURN + 10 L1MP=L1-IPAMO + L1PO=L1+1 + M1MM2=M1-M2 + M1MM2M=IABS(M1MM2)+1 + LMINPO=IABS(L2-L1MP)+1 + LMAXPO=L2+L1MP+1 + I3J0IN=IND3J(L1MP+1,L2) + ILIN=-1 + IF((M1MM2M.GT.LMINPO).AND.(MOD(M1MM2M-LMINPO,2).NE.0))ILIN=0 + ISN=1 + IF(MOD(M1,2).NE.0)ISN=-ISN + IF(MOD(LMINPO,2).NE.0)GO TO 12 + ISN=-ISN + IF(L2.GT.L1MP)ISN=-ISN + 12 NBLMO=NBL-1 + IF(IHI.EQ.2)GO TO 50 + NBHJ=NBLMO*LITPO + NBY=NBLMO*LITPOS + IF(IHI.EQ.1)GO TO 30 + DO 24 JM=1,3 + CSUM=CC0 + MU=JM-2 + MUPM1=MU+M1 + MUPM2=MU+M2 + IF(MUPM1.LT.-L1MP.OR.MUPM1.GT.L1MP.OR.MUPM2.LT.-L2.OR.MUPM2.GT.L2) + 1GO TO 24 + JSN=-ISN + IF(MU.EQ.0)JSN=ISN + CR=CGEV(IPAMO,MU,L1,M1)*CGEV(0,MU,L2,M2) + I3J0=I3J0IN + IF((MUPM1.NE.0).OR.(MUPM2.NE.0))GO TO 16 + DO 14 LT=LMINPO,LMAXPO,2 + I3J0=I3J0+1 + L3=LT-1 + NY=L3*L3+LT + AORS=L3+LT + F3J=(V3J0(I3J0)*V3J0(I3J0)*DSQRT(AORS))*JSN + CFUN=(VH(NBHJ+LT)*VYHJ(NBY+NY))*F3J + CSUM=CSUM+CFUN + 14 JSN=-JSN + GO TO 22 + 16 CALL R3JJR(L1MP,L2,-MUPM1,MUPM2) + IL=ILIN + DO 20 LT=LMINPO,LMAXPO,2 + I3J0=I3J0+1 + IF(M1MM2M.GT.LT)GO TO 20 + IL=IL+2 + L3=LT-1 + NY=L3*L3+LT+M1MM2 + AORS=L3+LT + F3J=(RAC3J(IL)*V3J0(I3J0)*DSQRT(AORS))*JSN + CFUN=(VH(NBHJ+LT)*VYHJ(NBY+NY))*F3J + CSUM=CSUM+CFUN + 20 JSN=-JSN + 22 CSUM=CSUM*CR + GHIT=GHIT+CSUM + 24 CONTINUE + GO TO 70 + 30 DO 44 JM=1,3 + CSUM=CC0 + MU=JM-2 + MUPM1=MU+M1 + MUPM2=MU+M2 + IF(MUPM1.LT.-L1MP.OR.MUPM1.GT.L1MP.OR.MUPM2.LT.-L2.OR.MUPM2.GT.L2) + 1GO TO 44 + JSN=-ISN + IF(MU.EQ.0)JSN=ISN + CR=CGEV(IPAMO,MU,L1,M1)*CGEV(0,MU,L2,M2) + I3J0=I3J0IN + IF((MUPM1.NE.0).OR.(MUPM2.NE.0))GO TO 36 + DO 34 LT=LMINPO,LMAXPO,2 + I3J0=I3J0+1 + L3=LT-1 + NY=L3*L3+LT + AORS=L3+LT + F3J=(V3J0(I3J0)*V3J0(I3J0)*DSQRT(AORS))*JSN + CFUN=(VJ(NBHJ+LT)*VYHJ(NBY+NY))*F3J + CSUM=CSUM+CFUN + 34 JSN=-JSN + GO TO 42 + 36 CALL R3JJR(L1MP,L2,-MUPM1,MUPM2) + IL=ILIN + DO 40 LT=LMINPO,LMAXPO,2 + I3J0=I3J0+1 + IF(M1MM2M.GT.LT)GO TO 40 + IL=IL+2 + L3=LT-1 + NY=L3*L3+LT+M1MM2 + AORS=L3+LT + F3J=(RAC3J(IL)*V3J0(I3J0)*DSQRT(AORS))*JSN + CFUN=(VJ(NBHJ+LT)*VYHJ(NBY+NY))*F3J + CSUM=CSUM+CFUN + 40 JSN=-JSN + 42 CSUM=CSUM*CR + GHIT=GHIT+CSUM + 44 CONTINUE + GO TO 70 + 50 NBHJ=NBLMO*LMTPO + NBY=NBLMO*LMTPOS + DO 64 JM=1,3 + CSUM=CC0 + MU=JM-2 + MUPM1=MU+M1 + MUPM2=MU+M2 + IF(MUPM1.LT.-L1MP.OR.MUPM1.GT.L1MP.OR.MUPM2.LT.-L2.OR.MUPM2.GT.L2) + 1GO TO 64 + JSN=-ISN + IF(MU.EQ.0)JSN=ISN + CR=CGEV(IPAMO,MU,L1,M1)*CGEV(0,MU,L2,M2) + I3J0=I3J0IN + IF((MUPM1.NE.0).OR.(MUPM2.NE.0))GO TO 56 + DO 54 LT=LMINPO,LMAXPO,2 + I3J0=I3J0+1 + L3=LT-1 + NY=L3*L3+LT + AORS=L3+LT + F3J=(V3J0(I3J0)*V3J0(I3J0)*DSQRT(AORS))*JSN + CFUN=(VJ0(NBHJ+LT)*VYJ0(NBY+NY))*F3J + CSUM=CSUM+CFUN + 54 JSN=-JSN + GO TO 62 + 56 CALL R3JJR(L1MP,L2,-MUPM1,MUPM2) + IL=ILIN + DO 60 LT=LMINPO,LMAXPO,2 + I3J0=I3J0+1 + IF(M1MM2M.GT.LT)GO TO 60 + IL=IL+2 + L3=LT-1 + NY=L3*L3+LT+M1MM2 + AORS=L3+LT + F3J=(RAC3J(IL)*V3J0(I3J0)*DSQRT(AORS))*JSN + CFUN=(VJ0(NBHJ+LT)*VYJ0(NBY+NY))*F3J + CSUM=CSUM+CFUN + 60 JSN=-JSN + 62 CSUM=CSUM*CR + GHIT=GHIT+CSUM + 64 CONTINUE + 70 PI4=DACOS(0.0D0)*8.0D0 + IF(IPAMO.EQ.1)GO TO 90 + CR=PI4*(L1+L1PO)*(L2+L2+1) + CR=DSQRT(CR) + GHIT=GHIT*CR + RETURN + 90 UIM=(0.0D0,1.0D0) + CR=L1PO + CR=(PI4*(L1+L1MP)*(L1+L1PO)*(L2+L2+1))/CR + CR=DSQRT(CR) + GHIT=GHIT*(CR*UIM) + RETURN + END + REAL*8 FUNCTION CGEV(IPAMO,MU,L,M) +CCC CGEV(IPAMO,MU,L,M)=CLGO(1,L-IPAMO,L;-MU,MU+M,M) + REAL*8 XD,XN + IF(IPAMO.NE.0)GO TO 30 + IF((M.NE.0).OR.(MU.NE.0))GO TO 10 + CGEV=0.0D0 + RETURN + 10 IF(MU.EQ.0)GO TO 20 + XD=(L+1)*L*2 + IF(MU.GT.0)GO TO 15 + XN=(L+M)*(L-M+1) + CGEV=DSQRT(XN/XD) + RETURN + 15 XN=(L-M)*(L+M+1) + CGEV=-DSQRT(XN/XD) + RETURN + 20 XD=(L+1)*L + XN=-M + CGEV=XN/DSQRT(XD) + RETURN + 30 XD=(L*2-1)*L*2 + IF(MU)35,40,45 + 35 XN=(L-1+M)*(L+M) + GO TO 50 + 40 XN=(L-M)*(L+M)*2 + GO TO 50 + 45 XN=(L-1-M)*(L-M) + 50 CGEV=DSQRT(XN/XD) + RETURN + END + SUBROUTINE R3J000(J2,J3) +CCC 3j(J,J2,J3;0,0,0) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C6/RAC3J(47) + ONE=1.0D0 + JMX=J3+J2 + IF(JMX.GT.0)GO TO 10 + RAC3J(1)=ONE + RETURN + 10 JMN=IABS(J3-J2) + NJMO=(JMX-JMN)/2 + JF=JMX+JMX+1 + ISN=1 + IF(MOD(JMN,2).NE.0)ISN=-1 + IF(NJMO.GT.0)GO TO 15 + SJ=JF + CNR=(ONE/DSQRT(SJ))*ISN + RAC3J(1)=CNR + RETURN + 15 SJR=JF + JMXPOS=(JMX+1)*(JMX+1) + JMNS=JMN*JMN + J1MO=JMX-1 + J1S=(J1MO+1)*(J1MO+1) + CJ=(JMXPOS-J1S)*(J1S-JMNS) + CJ=DSQRT(CJ) + J1MOS=J1MO*J1MO + CJMO=(JMXPOS-J1MOS)*(J1MOS-JMNS) + CJMO=DSQRT(CJMO) + IF(NJMO.GT.1)GO TO 20 + RAC3J(1)=-CJ/CJMO + SJ=SJR+(RAC3J(1)*RAC3J(1))*(JF-4) + CNR=(ONE/DSQRT(SJ))*ISN + RAC3J(2)=CNR + RAC3J(1)=RAC3J(1)*CNR + RETURN + 20 NJ=NJMO+1 + NMAT=(NJ+1)/2 + RAC3J(NJ)=ONE + RAC3J(NJMO)=-CJ/CJMO + IF(NMAT.EQ.NJMO)GO TO 50 + NBR=NJMO-NMAT + DO 45 IBR=1,NBR + IRR=NJ-IBR + JF=JF-4 + J1MO=J1MO-2 + J1S=(J1MO+1)*(J1MO+1) + CJ=(JMXPOS-J1S)*(J1S-JMNS) + CJ=DSQRT(CJ) + J1MOS=J1MO*J1MO + CJMO=(JMXPOS-J1MOS)*(J1MOS-JMNS) + CJMO=DSQRT(CJMO) + RAC3J(IRR-1)=RAC3J(IRR)*(-CJ/CJMO) + 45 SJR=SJR+(RAC3J(IRR)*RAC3J(IRR))*JF + 50 RACMAT=RAC3J(NMAT) + SJR=SJR+(RACMAT*RACMAT)*(JF-4) + RAC3J(1)=ONE + JF=JMN+JMN+1 + SJL=JF + J1PT=JMN+2 + J1POS=(J1PT-1)*(J1PT-1) + CJPO=(JMXPOS-J1POS)*(J1POS-JMNS) + CJPO=DSQRT(CJPO) + J1PTS=J1PT*J1PT + CJPT=(JMXPOS-J1PTS)*(J1PTS-JMNS) + CJPT=DSQRT(CJPT) + RAC3J(2)=-CJPO/CJPT + NMATMO=NMAT-1 + IF(NMATMO.LT.2)GO TO 75 + DO 70 IRL=2,NMATMO + JF=JF+4 + J1PT=J1PT+2 + J1POS=(J1PT-1)*(J1PT-1) + CJPO=(JMXPOS-J1POS)*(J1POS-JMNS) + CJPO=DSQRT(CJPO) + J1PTS=J1PT*J1PT + CJPT=(JMXPOS-J1PTS)*(J1PTS-JMNS) + CJPT=DSQRT(CJPT) + RAC3J(IRL+1)=RAC3J(IRL)*(-CJPO/CJPT) + 70 SJL=SJL+(RAC3J(IRL)*RAC3J(IRL))*JF + 75 RATRAC=RACMAT/RAC3J(NMAT) + RATS=RATRAC*RATRAC + SJ=SJR+SJL*RATS + RAC3J(NMAT)=RACMAT + CNR=(ONE/DSQRT(SJ))*ISN + DO 80 IRR=NMAT,NJ + 80 RAC3J(IRR)=RAC3J(IRR)*CNR + CNL=CNR*RATRAC + DO 85 IRL=1,NMATMO + 85 RAC3J(IRL)=RAC3J(IRL)*CNL + RETURN + END + SUBROUTINE R3JJR(J2,J3,M2,M3) +CCC 3j(J,J2,J3;-M2-M3,M2,M3) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C6/RAC3J(47) + ONE=1.0D0 + JMX=J3+J2 + JDF=J3-J2 + M1=-M2-M3 + JMN=MAX0(IABS(JDF),IABS(M1)) + NJMO=JMX-JMN + JF=JMX+JMX+1 + ISN=1 + IF(MOD(JDF+M1,2).NE.0)ISN=-1 + IF(NJMO.GT.0)GO TO 15 + SJ=JF + CNR=(ONE/DSQRT(SJ))*ISN + RAC3J(1)=CNR + RETURN + 15 SJT=ONE + SJR=JF + JSMPOS=(JMX+1)*(JMX+1) + JDFS=JDF*JDF + M1S=M1*M1 + MDF=M3-M2 + IDJC=M1*(J3*(J3+1)-J2*(J2+1)) + J1=JMX + J1S=J1*J1 + J1PO=J1+1 + CCJ=(J1S-JDFS)*(J1S-M1S) + CJ=CCJ*(JSMPOS-J1S) + CJ=DSQRT(CJ) + DJ=JF*(J1*J1PO*MDF+IDJC) + IF(NJMO.GT.1)GO TO 20 + RAC3J(1)=-DJ/(CJ*J1PO) + SJ=SJR+(RAC3J(1)*RAC3J(1))*(JF-2) + CNR=(ONE/DSQRT(SJ))*ISN + RAC3J(2)=CNR + RAC3J(1)=RAC3J(1)*CNR + RETURN + 20 NJ=NJMO+1 + NMAT=(NJ+1)/2 + RAC3J(NJ)=ONE + RAC3J(NJMO)=-DJ/(CJ*J1PO) + IF(NMAT.EQ.NJMO)GO TO 50 + NBR=NJMO-NMAT + DO 45 IBR=1,NBR + IRR=NJ-IBR + JF=JF-2 + J1=J1-1 + J1S=J1*J1 + J1PO=J1+1 + CJP=CJ + CCJ=(J1S-JDFS)*(J1S-M1S) + CJ=CCJ*(JSMPOS-J1S) + CJ=DSQRT(CJ) + SJT=RAC3J(IRR)*RAC3J(IRR) + DJ=JF*(J1*J1PO*MDF+IDJC) + RAC3J(IRR-1)=-(RAC3J(IRR)*DJ+RAC3J(IRR+1)*(CJP*J1))/(CJ*J1PO) + 45 SJR=SJR+SJT*JF + 50 OSJT=SJT + SJT=RAC3J(NMAT)*RAC3J(NMAT) + IF(SJT.LT.OSJT)GO TO 55 + SJR=SJR+SJT*(JF-2) + GO TO 60 + 55 NMAT=NMAT+1 + 60 RACMAT=RAC3J(NMAT) + RAC3J(1)=ONE + JF=JMN+JMN+1 + SJL=JF + J1=JMN + IF(J1.EQ.0)GO TO 62 + J1PO=J1+1 + J1POS=J1PO*J1PO + CCJP=(J1POS-JDFS)*(J1POS-M1S) + CJP=CCJP*(JSMPOS-J1POS) + CJP=DSQRT(CJP) + DJ=JF*(J1*J1PO*MDF+IDJC) + RAC3J(2)=-DJ/(CJP*J1) + GO TO 63 + 62 CJP=JSMPOS-1 + CJP=DSQRT(CJP) + DJ=MDF + RAC3J(2)=-DJ/CJP + 63 NMATMO=NMAT-1 + IF(NMATMO.LT.2)GO TO 75 + DO 70 IRL=2,NMATMO + JF=JF+2 + J1=J1+1 + J1PO=J1+1 + J1POS=J1PO*J1PO + CJ=CJP + CCJP=(J1POS-JDFS)*(J1POS-M1S) + CJP=CCJP*(JSMPOS-J1POS) + CJP=DSQRT(CJP) + SJT=RAC3J(IRL)*RAC3J(IRL) + DJ=JF*(J1*J1PO*MDF+IDJC) + RAC3J(IRL+1)=-(RAC3J(IRL)*DJ+RAC3J(IRL-1)*(CJ*J1PO))/(CJP*J1) + 70 SJL=SJL+SJT*JF + 75 RATRAC=RACMAT/RAC3J(NMAT) + RATS=RATRAC*RATRAC + SJ=SJR+SJL*RATS + RAC3J(NMAT)=RACMAT + CNR=(ONE/DSQRT(SJ))*ISN + DO 80 IRR=NMAT,NJ + 80 RAC3J(IRR)=RAC3J(IRR)*CNR + CNL=CNR*RATRAC + DO 85 IRL=1,NMATMO + 85 RAC3J(IRL)=RAC3J(IRL)*CNL + RETURN + END + SUBROUTINE R3JMR(J1,J2,J3,M1) +CCC 3j(J1,J2,J3;M1,M,-M1-M) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C6/RAC3J(47) + ONE=1.0D0 + MMX=MIN0(J2,J3-M1) + MMN=MAX0(-J2,-J3-M1) + NMMO=MMX-MMN + J1PO=J1+1 + J1TPO=J1PO+J1 + ISN=1 + IF(MOD(J2-J3-M1,2).NE.0)ISN=-1 + IF(NMMO.GT.0)GO TO 15 + SJ=J1TPO + CNR=(ONE/DSQRT(SJ))*ISN + RAC3J(1)=CNR + RETURN + 15 J1S=J1*J1PO + J2PO=J2+1 + J2S=J2*J2PO + J3PO=J3+1 + J3S=J3*J3PO + ID=J1S-J2S-J3S + M2=MMX + M3=M1+M2 + CM=(J2PO-M2)*(J2+M2)*(J3PO-M3)*(J3+M3) + CM=DSQRT(CM) + DM=ID+M2*M3*2 + IF(NMMO.GT.1)GO TO 20 + RAC3J(1)=DM/CM + SJ=(ONE+RAC3J(1)*RAC3J(1))*J1TPO + CNR=(ONE/DSQRT(SJ))*ISN + RAC3J(2)=CNR + RAC3J(1)=RAC3J(1)*CNR + RETURN + 20 NM=NMMO+1 + NMAT=(NM+1)/2 + RAC3J(NM)=ONE + RAC3J(NMMO)=DM/CM + SJT=ONE + SJR=ONE + IF(NMAT.EQ.NMMO)GO TO 50 + NBR=NMMO-NMAT + DO 45 IBR=1,NBR + IRR=NM-IBR + M2=M2-1 + M3=M1+M2 + CMP=CM + CM=(J2PO-M2)*(J2+M2)*(J3PO-M3)*(J3+M3) + CM=DSQRT(CM) + SJT=RAC3J(IRR)*RAC3J(IRR) + DM=ID+M2*M3*2 + RAC3J(IRR-1)=(RAC3J(IRR)*DM-RAC3J(IRR+1)*CMP)/CM + 45 SJR=SJR+SJT + 50 OSJT=SJT + SJT=RAC3J(NMAT)*RAC3J(NMAT) + IF(SJT.LT.OSJT)GO TO 55 + SJR=SJR+SJT + GO TO 60 + 55 NMAT=NMAT+1 + 60 RACMAT=RAC3J(NMAT) + RAC3J(1)=ONE + M2=MMN + M3=M1+M2 + CMP=(J2-M2)*(J2PO+M2)*(J3-M3)*(J3PO+M3) + CMP=DSQRT(CMP) + DM=ID+M2*M3*2 + RAC3J(2)=DM/CMP + SJL=ONE + NMATMO=NMAT-1 + IF(NMATMO.LT.2)GO TO 75 + DO 70 IRL=2,NMATMO + M2=M2+1 + M3=M1+M2 + CM=CMP + CMP=(J2-M2)*(J2PO+M2)*(J3-M3)*(J3PO+M3) + CMP=DSQRT(CMP) + SJT=RAC3J(IRL)*RAC3J(IRL) + DM=ID+M2*M3*2 + RAC3J(IRL+1)=(RAC3J(IRL)*DM-RAC3J(IRL-1)*CM)/CMP + 70 SJL=SJL+SJT + 75 RATRAC=RACMAT/RAC3J(NMAT) + RATS=RATRAC*RATRAC + SJ=(SJR+SJL*RATS)*J1TPO + RAC3J(NMAT)=RACMAT + CNR=(ONE/DSQRT(SJ))*ISN + DO 80 IRR=NMAT,NM + 80 RAC3J(IRR)=RAC3J(IRR)*CNR + CNL=CNR*RATRAC + DO 85 IRL=1,NMATMO + 85 RAC3J(IRL)=RAC3J(IRL)*CNL + RETURN + END + SUBROUTINE DME(LI,I,NPNT,NPNTTS,VK,EXDC,EXRI,JER,LCALC,ARG) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION CFJ(LIPT),RFJ(LIPT),RFN(LIPT), +CCC 1FBI(LIPT),FB(LIPT),FN(LIPT), +CCC 2RMF(LI),DRMF(LI),REF(LI),DREF(LI) + DIMENSION CFJ(25),RFJ(25),RFN(25), + 1FBI(25),FB(25),FN(25),RMF(23),DRMF(23),REF(23),DREF(23) + COMPLEX*16 CFJ,FBI,FB,FN,RMF,DRMF,REF,DREF + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C2/RIS(999),DLRI(999),DC0(5),VKT(8),VSZ(8) + COMPLEX*16 RIS,DLRI,DC0,VKT + COMPLEX*16 DFBI,DFB,DFN,CCNA,CCNB,CCNC,CCND, + 1Y1,DY1,Y2,DY2,ARIN,ARG,CRI,UIM + JER=0 + UIM=(0.0D0,1.0D0) + NSTP=NPNT-1 + NSTPTS=NPNTTS-1 + LIPO=LI+1 + LIPT=LI+2 + SZ=VK*ROS(I) + VSZ(I)=SZ + VKR1=VK*RC(I,1) + NSH=NSHL(I) + VKT(I)=CDSQRT(DC0(1)) + ARG=VKR1*VKT(I) + ARIN=ARG + IF(DIMAG(ARG).EQ.0.0D0)GO TO 26 + CALL CBF(LIPO,ARG,LCALC,CFJ) + IF(LCALC.GE.LIPO)GO TO 22 + JER=5 + RETURN + 22 DO 24 J=1,LIPT + 24 FBI(J)=CFJ(J) + GO TO 32 + 26 RARG=DREAL(ARG) + CALL RBF(LIPO,RARG,LCALC,RFJ) + IF(LCALC.GE.LIPO)GO TO 28 + JER=5 + RETURN + 28 DO 30 J=1,LIPT + 30 FBI(J)=RFJ(J) + 32 AREX=SZ*EXRI + ARG=AREX + RARG=AREX + CALL RBF(LIPO,RARG,LCALC,RFJ) + IF(LCALC.GE.LIPO)GO TO 40 + JER=7 + RETURN + 40 CALL RNF(LIPO,RARG,LCALC,RFN) + IF(LCALC.GE.LIPO)GO TO 42 + JER=8 + RETURN + 42 DO 43 J=1,LIPT + FB(J)=RFJ(J) + 43 FN(J)=RFN(J) + IF(NSH.GT.1)GO TO 65 + CRI=DC0(1)/EXDC + DO 60 L=1,LI + LPO=L+1 + LTPO=LPO+L + LPT=LPO+1 + DFBI=(L*FBI(L)-LPO*FBI(LPT))*ARIN+FBI(LPO)*LTPO + DFB=(L*FB(L)-LPO*FB(LPT))*AREX+FB(LPO)*LTPO + DFN=(L*FN(L)-LPO*FN(LPT))*AREX+FN(LPO)*LTPO + CCNA=FBI(LPO)*DFN + CCNB=FN(LPO)*DFBI + CCNC=FBI(LPO)*DFB + CCND=FB(LPO)*DFBI + RMI(L,I)=1.0D0+UIM*(CCNA-CCNB)/(CCNC-CCND) + 60 REI(L,I)=1.0D0+UIM*(CRI*CCNA-CCNB)/(CRI*CCNC-CCND) + RETURN + 65 DO 80 L=1,LI + LPO=L+1 + LTPO=LPO+L + LPT=LPO+1 + DLTPO=LTPO +cccccccccccccccccccccc + Y1=FBI(LPO) + DY1=(L*FBI(L)-LPO*FBI(LPT))*VKT(I)/DLTPO +cccccccccccccccccccccc + Y2=Y1 + DY2=DY1 + IC=1 + DO 76 NS=2,NSH + NSMO=NS-1 + VKR=VK*RC(I,NSMO) + IF(MOD(NS,2).EQ.0)GO TO 70 + IC=IC+1 + STEP=NSTP + STEP=VK*(RC(I,NS)-RC(I,NSMO))/STEP + ARG=DC0(IC) + CALL RKC(NSTP,STEP,ARG,VKR,LPO,Y1,Y2,DY1,DY2) + GO TO 76 + 70 CALL DIEL(NSTPTS,NSMO,I,IC,VK) + STEPTS=NSTPTS + STEPTS=VK*(RC(I,NS)-RC(I,NSMO))/STEPTS + CALL RKT(NSTPTS,STEPTS,VKR,LPO,Y1,Y2,DY1,DY2) + 76 CONTINUE + RMF(L)=Y1*SZ + DRMF(L)=DY1*SZ+Y1 + REF(L)=Y2*SZ + 80 DREF(L)=DY2*SZ+Y2 + CRI=(1.0D0,0.0D0) + IF(MOD(NSH,2).NE.0)CRI=DC0(IC)/EXDC + DO 90 L=1,LI + LPO=L+1 + LTPO=LPO+L + LPT=LPO+1 + DFB=(L*FB(L)-LPO*FB(LPT))*AREX+FB(LPO)*LTPO + DFN=(L*FN(L)-LPO*FN(LPT))*AREX+FN(LPO)*LTPO + CCNA=RMF(L)*DFN + CCNB=DRMF(L)*FN(LPO)*SZ*LTPO + CCNC=RMF(L)*DFB + CCND=DRMF(L)*FB(LPO)*SZ*LTPO + RMI(L,I)=1.0D0+UIM*(CCNA-CCNB)/(CCNC-CCND) + CCNA=REF(L)*DFN + CCNB=DREF(L)*FN(LPO)*SZ*LTPO + CCNC=REF(L)*DFB + CCND=DREF(L)*FB(LPO)*SZ*LTPO + 90 REI(L,I)=1.0D0+UIM*(CRI*CCNA-CCNB)/(CRI*CCNC-CCND) + RETURN + END + SUBROUTINE RKT(NPNTMO,STEP,X,LPO,Y1,Y2,DY1,DY2) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C2/RIS(999),DLRI(999),DC0(5),VKT(8),VSZ(8) + COMPLEX*16 RIS,DLRI,DC0,VKT + COMPLEX*16 Y1,DY1,Y2,DY2,CY1,CDY1,C11, + 1CY23,CDY23,YC2,C12,C13,CY4,CDY4,YY,C14,C21,C22,C23,C24 + HSTEP=.5D0*STEP + CL=LPO*(LPO-1) + DO 60 IPNT=1,NPNTMO + JPNT=IPNT+IPNT-1 + CY1=CL/(X*X)-RIS(JPNT) + CDY1=-2.0D0/X + C11=(CY1*Y1+CDY1*DY1)*STEP + XH=X+HSTEP + JPNTPO=JPNT+1 + CY23=CL/(XH*XH)-RIS(JPNTPO) + CDY23=-2.0D0/XH + YC2=Y1+DY1*HSTEP + C12=(CY23*YC2+CDY23*(DY1+.5D0*C11))*STEP + C13=(CY23*(YC2+.25D0*C11*STEP)+CDY23*(DY1+.5D0*C12))*STEP + XN=X+STEP + JPNTPT=JPNT+2 + CY4=CL/(XN*XN)-RIS(JPNTPT) + CDY4=-2.0D0/XN + YY=Y1+DY1*STEP + C14=(CY4*(YY+.5D0*C12*STEP)+CDY4*(DY1+C13))*STEP + Y1=YY+(C11+C12+C13)*STEP/6.0D0 + DY1=DY1+(.5D0*C11+C12+C13+.5D0*C14)/3.0D0 + CY1=CY1-CDY1*DLRI(JPNT) + CDY1=CDY1+2.0D0*DLRI(JPNT) + C21=(CY1*Y2+CDY1*DY2)*STEP + CY23=CY23-CDY23*DLRI(JPNTPO) + CDY23=CDY23+2.0D0*DLRI(JPNTPO) + YC2=Y2+DY2*HSTEP + C22=(CY23*YC2+CDY23*(DY2+.5D0*C21))*STEP + C23=(CY23*(YC2+.25D0*C21*STEP)+CDY23*(DY2+.5D0*C22))*STEP + CY4=CY4-CDY4*DLRI(JPNTPT) + CDY4=CDY4+2.0D0*DLRI(JPNTPT) + YY=Y2+DY2*STEP + C24=(CY4*(YC2+.5D0*C22*STEP)+CDY4*(DY2+C23))*STEP + Y2=YY+(C21+C22+C23)*STEP/6.0D0 + DY2=DY2+(.5D0*C21+C22+C23+.5D0*C24)/3.0D0 + 60 X=XN + RETURN + END + SUBROUTINE RKC(NPNTMO,STEP,DCC,X,LPO,Y1,Y2,DY1,DY2) + IMPLICIT REAL*8(A-H,O-Z) + COMPLEX*16 Y1,DY1,Y2,DY2,CY1,CDY1,C11, + 1CY23,YC2,C12,C13,CY4,YY,C14,C21,C22,C23,C24,DCC + HSTEP=.5D0*STEP + CL=LPO*(LPO-1) + DO 60 IPNT=1,NPNTMO + CY1=CL/(X*X)-DCC + CDY1=-2.0D0/X + C11=(CY1*Y1+CDY1*DY1)*STEP + XH=X+HSTEP + CY23=CL/(XH*XH)-DCC + CDY23=-2.0D0/XH + YC2=Y1+DY1*HSTEP + C12=(CY23*YC2+CDY23*(DY1+.5D0*C11))*STEP + C13=(CY23*(YC2+.25D0*C11*STEP)+CDY23*(DY1+.5D0*C12))*STEP + XN=X+STEP + CY4=CL/(XN*XN)-DCC + CDY4=-2.0D0/XN + YY=Y1+DY1*STEP + C14=(CY4*(YY+.5D0*C12*STEP)+CDY4*(DY1+C13))*STEP + Y1=YY+(C11+C12+C13)*STEP/6.0D0 + DY1=DY1+(.5D0*C11+C12+C13+.5D0*C14)/3.0D0 + C21=(CY1*Y2+CDY1*DY2)*STEP + YC2=Y2+DY2*HSTEP + C22=(CY23*YC2+CDY23*(DY2+.5D0*C21))*STEP + C23=(CY23*(YC2+.25D0*C21*STEP)+CDY23*(DY2+.5D0*C22))*STEP + YY=Y2+DY2*STEP + C24=(CY4*(YC2+.5D0*C22*STEP)+CDY4*(DY2+C23))*STEP + Y2=YY+(C21+C22+C23)*STEP/6.0D0 + DY2=DY2+(.5D0*C21+C22+C23+.5D0*C24)/3.0D0 + 60 X=XN + RETURN + END + SUBROUTINE DIEL(NPNTMO,NS,I,IC,VK) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C1/VH(1316),VJ0(376),VYHJ(61852),VYJ0(17672),VJ(1), + 1RMI(23,8),REI(23,8),W(1150,4),AM0M(1150,1150), + 2FSAS(8),SAS(8,2,2),VINTS(8,16),VINTT(16), + 3FSAC(2,2),SAC(2,2),FSACM(2,2), + 4VINT(16),VINTM(16),SCSCP(2),ECSCP(2),SCSCPM(2),ECSCPM(2), + 5V3J0(4876),SCSC(2),ECSC(2),SCSCM(2),ECSCM(2), + 6SSCS(8),SEXS(8),SABS(8),SQSCS(8),SQEXS(8),SQABS(8), + 7GCSV(8),RXX(8),RYY(8),RZZ(8),ROS(8),RC(8,8), + 8IND3J(24,23),IOG(8),NSHL(8) + COMPLEX*16 VH,VJ0,VYHJ,VYJ0,VJ,RMI,REI,W,AM0M,FSAS,SAS, + 1VINTS,VINTT,FSAC,SAC,FSACM,VINT,VINTM,SCSCP,ECSCP,SCSCPM,ECSCPM + COMMON/C2/RIS(999),DLRI(999),DC0(5),VKT(8),VSZ(8) + COMPLEX*16 RIS,DLRI,DC0,VKT + COMPLEX*16 DEL + DIF=RC(I,NS+1)-RC(I,NS) + HSTEP=NPNTMO + HSTEP=.5D0*DIF/HSTEP + RR=RC(I,NS) + DEL=DC0(IC+1)-DC0(IC) + KPNT=NPNTMO+NPNTMO + RIS(KPNT+1)=DC0(IC+1) + DLRI(KPNT+1)=(0.0D0,0.0D0) + DO 90 NP=1,KPNT + FF=(RR-RC(I,NS))/DIF + RIS(NP)=DEL*FF*FF*(-2.0D0*FF+3.0D0)+DC0(IC) + DLRI(NP)=3.0D0*DEL*FF*(1.0D0-FF)/(DIF*VK*RIS(NP)) + 90 RR=RR+HSTEP + RETURN + END + SUBROUTINE RBF(N,X,NM,SJ) +C +C FROM SPHJ OF LIBRARY specfun +C +C ======================================================= +C Purpose: Compute spherical Bessel functions j +C Input : X --- Argument of j +C N --- Order of j ( N = 0,1,2,... ) +C Output: SJ(N+1) --- j +C NM --- Highest order computed +C Routines called: +C MSTA1 and MSTA2 for computing the starting +C point for backward recurrence +C ======================================================= +C + IMPLICIT REAL*8 (A-H,O-Z) + DIMENSION SJ(N+1) + A0=DABS(X) + NM=N + IF(A0.LT.1.0D-60)THEN + DO K=2,N+1 + SJ(K)=0.0D0 + ENDDO + SJ(1)=1.0D0 + RETURN + ENDIF + SJ(1)=DSIN(X)/X + IF(N.EQ.0)RETURN + SJ(2)=(SJ(1)-DCOS(X))/X + IF(N.EQ.1)RETURN + SA=SJ(1) + SB=SJ(2) + M=MSTA1(A0,200) + IF(M.LT.N)THEN + NM=M + ELSE + M=MSTA2(A0,N,15) + ENDIF + F0=0.0D0 + F1=1.0D0-100 + DO K=M,0,-1 + F=(2.0D0*K+3.0D0)*F1/X-F0 + IF(K.LE.NM)SJ(K+1)=F + F0=F1 + F1=F + ENDDO + IF(DABS(SA).GT.DABS(SB))CS=SA/F + IF(DABS(SA).LE.DABS(SB))CS=SB/F0 + DO K=1,NM+1 + SJ(K)=CS*SJ(K) + ENDDO + END + SUBROUTINE CBF(N,Z,NM,CSJ) +C +C FROM CSPHJY OF LIBRARY specfun +C +C ========================================================== +C Purpose: Compute spherical Bessel functions j +C Input : Z --- Complex argument of j +C N --- Order of j ( N = 0,1,2,... ) +C Output: CSJ(N+1) --- j +C NM --- Highest order computed +C Routines called: +C MSTA1 and MSTA2 for computing the starting +C point for backward recurrence +C ========================================================== +C + IMPLICIT COMPLEX*16 (C,Z) + REAL*8 A0 + DIMENSION CSJ(N+1) + A0=CDABS(Z) + NM=N + IF(A0.LT.1.0D-60)THEN + DO K=2,N+1 + CSJ(K)=0.0D0 + ENDDO + CSJ(1)=(1.0D0,0.0D0) + RETURN + ENDIF + CSJ(1)=CDSIN(Z)/Z + IF(N.EQ.0)RETURN + CSJ(2)=(CSJ(1)-CDCOS(Z))/Z + IF(N.EQ.1)RETURN + CSA=CSJ(1) + CSB=CSJ(2) + M=MSTA1(A0,200) + IF(M.LT.N)THEN + NM=M + ELSE + M=MSTA2(A0,N,15) + ENDIF + CF0=0.0D0 + CF1=1.0D0-100 + DO K=M,0,-1 + CF=(2.0D0*K+3.0D0)*CF1/Z-CF0 + IF(K.LE.NM)CSJ(K+1)=CF + CF0=CF1 + CF1=CF + ENDDO + IF(CDABS(CSA).GT.CDABS(CSB))CS=CSA/CF + IF(CDABS(CSA).LE.CDABS(CSB))CS=CSB/CF0 + DO K=1,NM+1 + CSJ(K)=CS*CSJ(K) + ENDDO + END + INTEGER FUNCTION MSTA1(X,MP) +C +C =================================================== +C Purpose: Determine the starting point for backward +C recurrence such that the magnitude of all +C J or j at that point is about 10**(-MP) +C Input : X --- Abs of argument of J or j +C MP --- Value of magnitude +C Output: MSTA1 --- Starting point +C =================================================== +C + IMPLICIT DOUBLE PRECISION (A-H,O-Z) + A0=DABS(X) + N0=INT(1.1*A0)+1 + F0=ENVJ(N0,A0)-MP + N1=N0+5 + F1=ENVJ(N1,A0)-MP + DO 10 IT=1,20 + NN=N1-IDINT((N1-N0)/(1.0D0-F0/F1)) + F=ENVJ(NN,A0)-MP + IF(ABS(NN-N1).LT.1)GO TO 20 + N0=N1 + F0=F1 + N1=NN + 10 F1=F + 20 MSTA1=NN + RETURN + END + INTEGER FUNCTION MSTA2(X,N,MP) +C +C =================================================== +C Purpose: Determine the starting point for backward +C recurrence such that all J or j +C have MP significant digits +C Input : X --- Abs of argument of J or j +C N --- Order of J or j +C MP --- Significant digit +C Output: MSTA2 --- Starting point +C =================================================== +C + IMPLICIT DOUBLE PRECISION (A-H,O-Z) + A0=DABS(X) + HMP=0.5D0*MP + EJN=ENVJ(N,A0) + IF(EJN.LE.HMP)THEN + OBJ=MP +C + N0=INT(1.1*A0)+1 +C + ELSE + OBJ=HMP+EJN + N0=N + ENDIF + F0=ENVJ(N0,A0)-OBJ + N1=N0+5 + F1=ENVJ(N1,A0)-OBJ + DO 10 IT=1,20 + NN=N1-IDINT((N1-N0)/(1.0D0-F0/F1)) + F=ENVJ(NN,A0)-OBJ + IF(ABS(NN-N1).LT.1)GO TO 20 + N0=N1 + F0=F1 + N1=NN + 10 F1=F + 20 MSTA2=NN+10 + RETURN + END + REAL*8 FUNCTION ENVJ(N,X) + DOUBLE PRECISION X,XN +C + IF(N.EQ.0)THEN + XN=1.0D-100 + ENVJ=0.5D0*DLOG10(6.28D0*XN)-XN*DLOG10(1.36D0*X/XN) + ELSE +C + ENVJ=0.5D0*DLOG10(6.28D0*N)-N*DLOG10(1.36D0*X/N) +C + ENDIF +C + RETURN + END + SUBROUTINE RNF(N,X,NM,SY) +C +C FROM SPHJY OF LIBRARY specfun +C +C +C ====================================================== +C Purpose: Compute spherical Bessel functions y +C Input : X --- Argument of y ( X > 0 ) +C N --- Order of y ( N = 0,1,2,... ) +C Output: SY(N+1) --- y +C NM --- Highest order computed +C ====================================================== +C + IMPLICIT REAL*8 (A-H,O-Z) + DIMENSION SY(N+1) + IF(X.LT.1.0D-60)THEN + DO K=1,N+1 + SY(K)=-1.0D+300 + ENDDO + RETURN + ENDIF + SY(1)=-DCOS(X)/X + IF(N.EQ.0)RETURN + SY(2)=(SY(1)-DSIN(X))/X + IF(N.EQ.1)RETURN + F0=SY(1) + F1=SY(2) + DO K=2,N + F=(2.0D0*K-1.0D0)*F1/X-F0 + SY(K+1)=F + IF(DABS(F).GE.1.0D+300)GO TO 20 + F0=F1 + F1=F + ENDDO + RETURN + 20 NM=K + RETURN + END + SUBROUTINE POLAR(X,Y,Z,R,CTH,STH,CPH,SPH) + IMPLICIT REAL*8(A-H,O-Z) + LOGICAL ONX,ONY,ONZ + ONE=1.0D0 + C0=0.0D0 + ONX=Y.EQ.C0 + ONY=X.EQ.C0 + ONZ=ONX.AND.ONY + IF(ONZ)GO TO 10 + IF(ONX)GO TO 15 + IF(ONY)GO TO 20 + RHOS=X*X+Y*Y + RHO=DSQRT(RHOS) + CPH=X/RHO + SPH=Y/RHO + GO TO 25 + 10 CPH=ONE + SPH=C0 + GO TO 25 + 15 RHOS=X*X + RHO=DABS(X) + CPH=DSIGN(ONE,X) + SPH=C0 + GO TO 25 + 20 RHOS=Y*Y + RHO=DABS(Y) + CPH=C0 + SPH=DSIGN(ONE,Y) + 25 IF(Z.NE.C0)GO TO 35 + IF(ONZ)GO TO 30 + R=RHO + CTH=C0 + STH=ONE + RETURN + 30 R=C0 + CTH=ONE + STH=C0 + RETURN + 35 IF(ONZ)GO TO 40 + R=DSQRT(RHOS+Z*Z) + CTH=Z/R + STH=RHO/R + RETURN + 40 R=DABS(Z) + CTH=DSIGN(ONE,Z) + STH=C0 + RETURN + END + SUBROUTINE SPHAR(COSRTH,SINRTH,COSRPH,SINRPH,LL,YLM) + IMPLICIT REAL*8(A-H,O-Z) +CCC DIMENSION SINRMP(LL),COSRMP(LL),PLEGN((LLPO*LL)/2+LLPO), +CCC 1YLM(LLPO*LLPO) +CCC LL=MAX0(LIT,LMT) + DIMENSION SINRMP(46),COSRMP(46),PLEGN(1128),YLM(2209) + COMPLEX*16 YLM + PI4=DACOS(0.0D0)*8.0D0 + PI4IRS=1.0D0/DSQRT(PI4) + X=COSRTH + Y=DABS(SINRTH) + CLLMO=3.0D0 + CLL=1.5D0 + YTOL=Y + PLEGN(1)=1.0D0 + PLEGN(2)=X*DSQRT(CLLMO) + PLEGN(3)=YTOL*DSQRT(CLL) + SINRMP(1)=SINRPH + COSRMP(1)=COSRPH + IF(LL.LT.2)GO TO 30 + K=3 + DO 20 L=2,LL + LMO=L-1 + LTPO=L+L+1 + LTMO=LTPO-2 + LTS=LTPO*LTMO + CN=LTS + DO 10 MPO=1,LMO + M=MPO-1 + MPOPK=MPO+K + LS=(L+M)*(L-M) + CD=LS + CNM=LTPO*(LMO+M)*(L-MPO) + CDM=(LTMO-2)*LS + 10 PLEGN(MPOPK)=PLEGN(MPOPK-L)*X*DSQRT(CN/CD)- + 1PLEGN(MPOPK-LTMO)*DSQRT(CNM/CDM) + LPK=L+K + CLTPO=LTPO + PLEGN(LPK)=PLEGN(K)*X*DSQRT(CLTPO) + K=LPK+1 + CLT=LTPO-1 + CLL=CLL*(CLTPO/CLT) + YTOL=YTOL*Y + PLEGN(K)=YTOL*DSQRT(CLL) + SINRMP(L)=SINRPH*COSRMP(LMO)+COSRPH*SINRMP(LMO) + 20 COSRMP(L)=COSRPH*COSRMP(LMO)-SINRPH*SINRMP(LMO) + 30 L=0 + 40 M=0 + K=L*(L+1) + L0Y=K+1 + L0P=K/2+1 + YLM(L0Y)=PI4IRS*PLEGN(L0P) + GO TO 45 + 44 LMP=L0P+M + SAVE=PI4IRS*PLEGN(LMP) + LMY=L0Y+M + YLM(LMY)=SAVE*DCMPLX(COSRMP(M),SINRMP(M)) + IF(MOD(M,2).NE.0)YLM(LMY)=-YLM(LMY) + LMY=L0Y-M + YLM(LMY)=SAVE*DCMPLX(COSRMP(M),-SINRMP(M)) + 45 IF(M.GE.L)GO TO 47 + M=M+1 + GO TO 44 + 47 IF(L.GE.LL) RETURN + L=L+1 + GO TO 40 + END + SUBROUTINE LUCIN(AM,NDDMST,N,IER) +C +C NDDMST FIRST DIMENSION OF AM AS DECLARED IN DIMENSION +C STATEMENT. +C N NUMBER OF ROWS IN AM. +C IER IS REPLACED BY 1 FOR SINGULARITY. +C +C +C CALLS COMPLEX INNER PRODUCT FUNCTION CDTP. +C + IMPLICIT REAL*8 (A-H,O-Z) +CCC DIMENSION AM(NDDMST,NDDMST),V(NDDMST) + DIMENSION AM(9200,9200),V(9200) + COMPLEX*16 AM + COMPLEX*16 CTEMP,CDTP + IER=0 + NMINUS=N-1 +C +C 1.2 DEAL WITH THE SPECIAL CASE N=1. +C +C1200 IF(N.NE.1)GO TO 1300 +C CTEMP=AM(1,1) +C IF(CTEMP.EQ.(0.0D0,0.0D0))GO TO 5200 +C AM(1,1)=1.0D0/CTEMP +C RETURN +C +C 1.3 SET V(I)=1/R(I)**2, WHERE R(I) IS THE LENGTH OF ROW I. +C +C1300 DO 1309 I=1,N + DO 1309 I=1,N + SUM=0.0D0 + DO 1319 J=1,N + SUM=SUM+DREAL(AM(I,J))**2+DIMAG(AM(I,J))**2 + 1319 CONTINUE + V(I)=1.0D0/SUM + 1309 CONTINUE +C +C 2. REPLACE AM BY TRIANGULAR MATRICES (L,U) WHERE AM=L*U. +C REPLACE L(I,I) BY 1/L(I,I), READY FOR SECTION 4. +C (ROW INTERCHANGES TAKE PLACE, AND THE INDICES OF THE PIVOTAL ROWS +C ARE PLACED IN V.) +C + DO 2019 K=1,N + KPLUS=K+1 + KMINUS=K-1 + L=K + PSQMAX=0.0D0 + DO 2029 I=K,N + CTEMP=-CDTP(-AM(I,K),AM,I,1,K,KMINUS,NDDMST) + AM(I,K)=CTEMP + PSQ=V(I)*(DREAL(CTEMP)**2+DIMAG(CTEMP)**2) + IF(PSQ.LE.PSQMAX)GO TO 2029 + PSQMAX=PSQ + L=I + 2029 CONTINUE + IF(L.EQ.K)GO TO 2011 + DO 2049 J=1,N + CTEMP=AM(K,J) + AM(K,J)=AM(L,J) + AM(L,J)=CTEMP + 2049 CONTINUE + V(L)=V(K) + 2011 V(K)=L + IF(PSQMAX.EQ.0.0D0)GO TO 5200 + CTEMP=1.0D0/AM(K,K) + AM(K,K)=CTEMP + IF(KPLUS.GT.N)GO TO 2019 + DO 2059 J=KPLUS,N + AM(K,J)=-CTEMP*CDTP(-AM(K,J),AM,K,1,J,KMINUS,NDDMST) + 2059 CONTINUE + 2019 CONTINUE +C +C 4. REPLACE AM BY ITS INVERSE AMINV. +C +C +C 4.1 REPLACE L AND U BY THEIR INVERSES LINV AND UINV. +C + DO 4109 K=1,NMINUS + KPLUS=K+1 + DO 4119 I=KPLUS,N + AM(I,K)=-AM(I,I)*CDTP((0.0D0,0.0D0),AM,I,K,K,I-K, + 1NDDMST) + AM(K,I)=-CDTP(AM(K,I),AM,K,KPLUS,I,I-K-1,NDDMST) + 4119 CONTINUE + 4109 CONTINUE +C +C 4.2 FORM AMINV=UINV*LINV. +C + DO 4209 K=1,N + DO 4219 I=1,N + IF(I.GE.K)GO TO 4212 + AM(I,K)=CDTP((0.0D0,0.0D0),AM,I,K,K,N-K+1,NDDMST) + GO TO 4219 + 4212 AM(I,K)=CDTP(AM(I,K),AM,I,I+1,K,N-I,NDDMST) + 4219 CONTINUE + 4209 CONTINUE +C +C 4.3 INTERCHANGE COLUMNS OF AMINV AS SPECIFIED BY V, BUT IN REVERSE +C ORDER. +C + DO 4309 L=1,N + K=N-L+1 + KCOL=IDINT(V(K)) + IF(KCOL.EQ.K)GO TO 4309 + DO 4319 I=1,N + CTEMP=AM(I,K) + AM(I,K)=AM(I,KCOL) + AM(I,KCOL)=CTEMP + 4319 CONTINUE + 4309 CONTINUE + RETURN + 5200 IER=1 + RETURN + END + COMPLEX*16 FUNCTION CDTP(Z,AV,I,JF,K,NJ,ISTEP) +CCC DIMENSION AV(NDDMST*NDDMST) + DIMENSION AV(84640000) + COMPLEX*16 AV,Z + CDTP=Z + IF(NJ.LE.0) RETURN + JL=JF+NJ-1 + IR=(K-1)*ISTEP + DO 3 J=JF,JL + 3 CDTP=CDTP+AV((J-1)*ISTEP+I)*AV(J+IR) + RETURN + END +CCC \ No newline at end of file diff --git a/test_data/cluster/case_3/edfb300.f b/test_data/cluster/case_3/edfb300.f new file mode 100644 index 0000000000000000000000000000000000000000..07240d9b1e92f264351243cfa10f7039571f74ef --- /dev/null +++ b/test_data/cluster/case_3/edfb300.f @@ -0,0 +1,330 @@ + PROGRAM EDFB +CCC 100930,110228 +CCC IES=1 FOR SURROUNDING EXTERNAL SPHERE CENTERED AT ORIGIN; +CCC HOMOGENEOUS MATERIAL WITHIN THE EXT. SPHERE IS READ IN +CCC AS THAT OF THE (NSHL+1)-TH LAYER OF THE 1-ST SPHERE: +CCC RCF(1,NSHL)=1.0D0, RCF(1,NSHL+1)>1.0D0 AND +CCC ROS(1) IS RADIUS OF SPHERE 1 +CCC +CCC READ DATA FOR BUILDING VECTOR XIV FROM WITHIN SUB INXI +CCC +CCC IDFC>0 WHEN ALL DIEL. FUNCT. OF SPHERES ARE CONSTANTS; +CCC IDFC=0 WHEN DIEL. FUNCT. OF SPHERES DEPEND ON XI; +CCC IDFC<0 WHEN DIEL. FUNCT. OF SPHERES ARE AT XIP VALUE ONLY AND +CCC XI IS SCALE FACTOR FOR DIMENSIONS +CCC INSN CHOOSES THE VARIABLE THE DIEL. FUNCT. DEPEND ON: +CCC (INSN=1)=XI; +CCC (INSN=2)=WN (THE WAVENUMBER, IN m**-1); +CCC (INSN=3)=WL (THE WAVELENGTH, IN m); +CCC (INSN=4)=PU (THE ANGULAR FREQUENCY, IN s**-1); +CCC (INSN=5)=EV (THE PHOTON ENERGY, IN ev); +CCC INSTPC>0 WHEN IN CASE IDFC>=0 +CCC VARIABLE INCREASES WITH A CONSTANT STEP; +CCC INSTPC=0 WHEN IN CASE IDFC>=0 +CCC VALUES OF VARIABLE ARE SAVED IN A VECTOR YOU READ BEFORE +CCC SUPPORTS EXPERIMENTAL DIELECTRIC FUNCTIONS ONLY +CCC NSPH=300 + IMPLICIT REAL*8(A-H,O-Z) +CCC COMMON/C1/DC0(NSHL-NTL+1),DC0M(NSHL-NTL+1,NSPH,NXI), +CCC 1ROS(NSPH),RCF(NSPH,NSHL+1),IOG(NSPH),NSHL(NSPH) + COMMON/C1/DC0(5),DC0M(5,300,2000), + 1ROS(300),RCF(300,9),IOG(300),NSHL(300) + COMPLEX*16 DC0,DC0M +CCC COMMON/C3/XIV(NXI),WNS(NXI),WLS(NXI),PUS(NXI),EVS(NXI), +CCC 1VSS(NXI),VNS(5) + COMMON/C3/XIV(2000),WNS(2000),WLS(2000),PUS(2000),EVS(2000), + 1VSS(2000),VNS(5) + CHARACTER*3 VNS + 5010 FORMAT(16I5) + 6005 FORMAT(' SPHERE N.',I4) + 6009 FORMAT(' NONTRANSITION LAYER N.',I2,', SCALE = ',A3) + 6010 FORMAT(I5,1X,1PD12.4,1PD12.4) + IR=5 + IW=6 + IT=7 +CCC +CCC SIZE(I)=VK*ROS(I) IS SIZE PARAMETER in vacuo +CCC +CCC +CCC READING OF DIELECTRIC FUNCTIONS DRIVEN BY ICI DEFINED BELOW +CCC + OPEN(IR,FILE='DEDFB',STATUS='OLD') + READ(IR,*)NSPH,IES + IF(IES.NE.0)IES=1 + READ(IR,*)EXDC,WP,XIP,IDFC,NXI,INSTPC,INSN + OPEN(IW,FILE='OEDFB',STATUS='UNKNOWN') + CALL INXI(IR,IW,WP,XIP,IDFC,NXI,INSTPC,INSN) + READ(IR,5010)(IOG(I),I=1,NSPH) + DO 113 I=1,NSPH + IF(IOG(I).LT.I)GO TO 113 + READ(IR,*)NSHL(I),ROS(I) + NSH=NSHL(I) + IF(I.EQ.1)NSH=NSH+IES + DO 112 NS=1,NSH + 112 READ(IR,*)RCF(I,NS) + 113 CONTINUE + OPEN(IT,FILE='TEDF',FORM='UNFORMATTED',STATUS='UNKNOWN') + WRITE(IT)NSPH + WRITE(IT)(IOG(I),I=1,NSPH) + WRITE(IT)EXDC,WP,XIP,IDFC,NXI + WRITE(IT)(XIV(I),I=1,NXI) + DO 115 I=1,NSPH + IF(IOG(I).LT.I)GO TO 115 + WRITE(IT)NSHL(I),ROS(I) + NSH=NSHL(I) + IF(I.EQ.1)NSH=NSH+IES + WRITE(IT)(RCF(I,NS),NS=1,NSH) + 115 CONTINUE + DO 468 JXI=1,NXI + IF((IDFC.NE.0).AND.(JXI.GT.1))GO TO 468 + DO 162 I=1,NSPH + IF(IOG(I).LT.I)GO TO 162 +CCC + NSH=NSHL(I) + ICI=(NSH+1)/2 + IF(I.EQ.1)ICI=ICI+IES + DO 157 IC=1,ICI + READ(IR,*)DC0(IC) + 157 DC0M(IC,I,JXI)=DC0(IC) +CCC + WRITE(IT)(DC0(IC),IC=1,ICI) + 162 CONTINUE + 468 CONTINUE + IF(IDFC.EQ.0)GO TO 474 + WRITE(IW,*)' DIELECTRIC CONSTANTS' + DO 473 I=1,NSPH + IF(IOG(I).NE.I)GO TO 473 + ICI=(NSHL(I)+1)/2 + IF(I.EQ.1)ICI=ICI+IES + WRITE(IW,6005)I + DO 472 IC=1,ICI + WRITE(IW,6010)IC,DC0M(IC,I,1) + 472 CONTINUE + 473 CONTINUE + GO TO 499 + 474 WRITE(IW,*)' DIELECTRIC FUNCTIONS' + DO 478 I=1,NSPH + IF(IOG(I).NE.I)GO TO 478 + ICI=(NSHL(I)+1)/2 + IF(I.EQ.1)ICI=ICI+IES + WRITE(IW,6005)I + DO 477 IC=1,ICI + WRITE(IW,6009)IC,VNS(INSN) + DO 476 JXI=1,NXI + WRITE(IW,6010)JXI,DC0M(IC,I,JXI) + 476 CONTINUE + 477 CONTINUE + 478 CONTINUE + 499 CLOSE(IR) + CLOSE(IW) + CLOSE(IT) + STOP + END + SUBROUTINE INXI(IR,IW,WP,XIP,IDFC,NXI,INSTPC,INSN) + IMPLICIT REAL*8(A-H,O-Z) + COMMON/C3/XIV(2000),WNS(2000),WLS(2000),PUS(2000),EVS(2000), + 1VSS(2000),VNS(5) + CHARACTER*3 VNS + PIGT=DACOS(0.0D0)*4.0D0 + EVC=6.5821188D-16 + IF(IDFC.LT.0)GO TO 300 + IF(INSTPC.EQ.0)GO TO 200 +CCC VLST=V+(NXI-1)*VSTP + GO TO(105,125,145,165,185),INSN + RETURN + 105 READ(IR,*)XI,XISTP + DO 110 JXI=1,NXI + PU=XI*WP + WN=PU/3.0D08 + VNS(INSN)='XIV' + VSS(JXI)=XI + XIV(JXI)=XI + PUS(JXI)=PU + EVS(JXI)=PU*EVC + WNS(JXI)=WN + WLS(JXI)=PIGT/WN + 110 XI=XI+XISTP + WRITE(IW,6601) + 6601 FORMAT + 1(2X,'JXI',5X,'XIV',10X,'WNS',10X,'WLS',10X,'PUS',10X,'EVS') + WRITE(IW,6600) + 1(JXI,XIV(JXI),WNS(JXI),WLS(JXI),PUS(JXI),EVS(JXI),JXI=1,NXI) + 6600 FORMAT((I5,5(1PD13.4))) + RETURN + 125 READ(IR,*)WN,WNSTP + DO 130 JXI=1,NXI + XI=3.0D08*WN/WP + PU=XI*WP + VNS(INSN)='WNS' + VSS(JXI)=WN + WNS(JXI)=WN + WLS(JXI)=PIGT/WN + XIV(JXI)=XI + PUS(JXI)=PU + EVS(JXI)=PU*EVC + 130 WN=WN+WNSTP + WRITE(IW,6602) + 6602 FORMAT + 1(2X,'JXI',5X,'WNS',10X,'WLS',10X,'PUS',10X,'EVS',10X,'XIV') + WRITE(IW,6600) + 1(JXI,WNS(JXI),WLS(JXI),PUS(JXI),EVS(JXI),XIV(JXI),JXI=1,NXI) + RETURN + 145 READ(IR,*)WL,WLSTP + DO 150 JXI=1,NXI + WN=PIGT/WL + XI=3.0D08*WN/WP + PU=XI*WP + VNS(INSN)='WLS' + VSS(JXI)=WL + WLS(JXI)=WL + WNS(JXI)=WN + XIV(JXI)=XI + PUS(JXI)=PU + EVS(JXI)=PU*EVC + 150 WL=WL+WLSTP + WRITE(IW,6603) + 6603 FORMAT + 1(2X,'JXI',5X,'WLS',10X,'WNS',10X,'PUS',10X,'EVS',10X,'XIV') + WRITE(IW,6600) + 1(JXI,WLS(JXI),WNS(JXI),PUS(JXI),EVS(JXI),XIV(JXI),JXI=1,NXI) + RETURN + 165 READ(IR,*)PU,PUSTP + DO 170 JXI=1,NXI + XI=PU/WP + WN=PU/3.0D08 + VNS(INSN)='PUS' + VSS(JXI)=PU + PUS(JXI)=PU + XIV(JXI)=XI + WNS(JXI)=WN + WLS(JXI)=PIGT/WN + EVS(JXI)=PU*EVC + 170 PU=PU+PUSTP + WRITE(IW,6604) + 6604 FORMAT + 1(2X,'JXI',5X,'PUS',10X,'WNS',10X,'WLS',10X,'EVS',10X,'XIV') + WRITE(IW,6600) + 1(JXI,PUS(JXI),WNS(JXI),WLS(JXI),EVS(JXI),XIV(JXI),JXI=1,NXI) + RETURN + 185 READ(IR,*)EV,EVSTP + DO 190 JXI=1,NXI + PU=EV/EVC + XI=PU/WP + WN=PU/3.0D08 + VNS(INSN)='EVS' + VSS(JXI)=EV + EVS(JXI)=EV + PUS(JXI)=PU + XIV(JXI)=XI + WNS(JXI)=WN + WLS(JXI)=PIGT/WN + 190 EV=EV+EVSTP + WRITE(IW,6605) + 6605 FORMAT + 1(2X,'JXI',5X,'EVS',10X,'WNS',10X,'WLS',10X,'PUS',10X,'XIV') + WRITE(IW,6600) + 1(JXI,EVS(JXI),WNS(JXI),WLS(JXI),PUS(JXI),XIV(JXI),JXI=1,NXI) + RETURN + 200 GO TO(205,225,245,265,285),INSN + RETURN + 205 DO 210 JXI=1,NXI + READ(IR,*)XI + PU=XI*WP + WN=PU/3.0D08 + VNS(INSN)='XIV' + VSS(JXI)=XI + XIV(JXI)=XI + PUS(JXI)=PU + EVS(JXI)=PU*EVC + WNS(JXI)=WN + WLS(JXI)=PIGT/WN + 210 CONTINUE + WRITE(IW,6601) + WRITE(IW,6600) + 1(JXI,XIV(JXI),WNS(JXI),WLS(JXI),PUS(JXI),EVS(JXI),JXI=1,NXI) + RETURN + 225 DO 230 JXI=1,NXI + READ(IR,*)WN + XI=3.0D08*WN/WP + PU=XI*WP + VNS(INSN)='WNS' + VSS(JXI)=WN + WNS(JXI)=WN + WLS(JXI)=PIGT/WN + XIV(JXI)=XI + PUS(JXI)=PU + EVS(JXI)=PU*EVC + 230 CONTINUE + WRITE(IW,6602) + WRITE(IW,6600) + 1(JXI,WNS(JXI),WLS(JXI),PUS(JXI),EVS(JXI),XIV(JXI),JXI=1,NXI) + RETURN + 245 DO 250 JXI=1,NXI + READ(IR,*)WL + WN=PIGT/WL + XI=3.0D08*WN/WP + PU=XI*WP + VNS(INSN)='WLS' + VSS(JXI)=WL + WLS(JXI)=WL + WNS(JXI)=WN + XIV(JXI)=XI + PUS(JXI)=PU + EVS(JXI)=PU*EVC + 250 CONTINUE + WRITE(IW,6603) + WRITE(IW,6600) + 1(JXI,WLS(JXI),WNS(JXI),PUS(JXI),EVS(JXI),XIV(JXI),JXI=1,NXI) + RETURN + 265 DO 270 JXI=1,NXI + READ(IR,*)PU + XI=PU/WP + WN=PU/3.0D08 + VNS(INSN)='PUS' + VSS(JXI)=PU + PUS(JXI)=PU + XIV(JXI)=XI + WNS(JXI)=WN + WLS(JXI)=PIGT/WN + EVS(JXI)=PU*EVC + 270 CONTINUE + WRITE(IW,6604) + WRITE(IW,6600) + 1(JXI,PUS(JXI),WNS(JXI),WLS(JXI),EVS(JXI),XIV(JXI),JXI=1,NXI) + RETURN + 285 DO 290 JXI=1,NXI + READ(IR,*)EV + PU=EV/EVC + XI=PU/WP + WN=PU/3.0D08 + VNS(INSN)='EVS' + VSS(JXI)=EV + EVS(JXI)=EV + PUS(JXI)=PU + XIV(JXI)=XI + WNS(JXI)=WN + WLS(JXI)=PIGT/WN + 290 CONTINUE + WRITE(IW,6605) + WRITE(IW,6600) + 1(JXI,EVS(JXI),WNS(JXI),WLS(JXI),PUS(JXI),XIV(JXI),JXI=1,NXI) + RETURN + 300 DO 310 JXI=1,NXI + READ(IR,*)XI + VNS(INSN)='XIV' + VSS(JXI)=XI + XIV(JXI)=XI + 310 CONTINUE + PU=XIP*WP + WN=PU/3.0D08 + WRITE(IW,6611) + 6611 FORMAT + 1(10X,'XIP',10X,'WN ',10X,'WL ',10X,'PU ',10X,'EV') + WRITE(IW,6610)XIP,WN,PIGT/WN,PU,PU*EVC + 6610 FORMAT((5X,5(1PD13.4))) + WRITE(IW,*)' SCALE FACTORS XI' + WRITE(IW,6612)(JXI,XIV(JXI),JXI=1,NXI) + 6612 FORMAT(I5,1PD13.4) + RETURN + END +CCC \ No newline at end of file