From d08bf9d0ab129ca58e66d8fd216e34ecf4ed415d Mon Sep 17 00:00:00 2001 From: gianlum33 <g.marcozzi@fu-berlin.de> Date: Mon, 2 Sep 2024 16:31:42 +0200 Subject: [PATCH] Bsweep trEPR with new defin of lw --- from_bittl/src/p2 | Bin 0 -> 41096 bytes from_bittl/src/p2.c | 752 +++++++++++++++++++ from_bittl/src/p2.h | 52 ++ from_bittl/src/p2.txt | 40 + from_bittl/src/p2_utils.c | 155 ++++ from_bittl/src/test2_Pabs.asc | 1024 ++++++++++++++++++++++++++ from_bittl/src/test2_Pem.asc | 1024 ++++++++++++++++++++++++++ from_bittl/src/test2_Qabs.asc | 1024 ++++++++++++++++++++++++++ from_bittl/src/test2_Qem.asc | 1024 ++++++++++++++++++++++++++ from_bittl/src/test2_spec.asc | 1024 ++++++++++++++++++++++++++ from_bittl/src/test2_sum.asc | 1024 ++++++++++++++++++++++++++ trEPR_spectrumIntegral.asv | 256 +++++++ trEPR_spectrumIntegral.m | 257 +++++++ zech_psiOopEseem_trEPRstickSpectra.m | 484 +++++++++--- 14 files changed, 8049 insertions(+), 91 deletions(-) create mode 100755 from_bittl/src/p2 create mode 100755 from_bittl/src/p2.c create mode 100755 from_bittl/src/p2.h create mode 100755 from_bittl/src/p2.txt create mode 100755 from_bittl/src/p2_utils.c create mode 100755 from_bittl/src/test2_Pabs.asc create mode 100755 from_bittl/src/test2_Pem.asc create mode 100755 from_bittl/src/test2_Qabs.asc create mode 100755 from_bittl/src/test2_Qem.asc create mode 100755 from_bittl/src/test2_spec.asc create mode 100755 from_bittl/src/test2_sum.asc create mode 100644 trEPR_spectrumIntegral.asv create mode 100644 trEPR_spectrumIntegral.m diff --git a/from_bittl/src/p2 b/from_bittl/src/p2 new file mode 100755 index 0000000000000000000000000000000000000000..f237429ab78f673f9726e77f882a18909d0f9b83 GIT binary patch literal 41096 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 UcWnBXg9<hV1_miK4QN~j03pSF=Kufz literal 0 HcmV?d00001 diff --git a/from_bittl/src/p2.c b/from_bittl/src/p2.c new file mode 100755 index 0000000..b81b82d --- /dev/null +++ b/from_bittl/src/p2.c @@ -0,0 +1,752 @@ +/*************************************************************** +* p2.c * +* cc p2.c -o p2 -lm * +**************************************************************** +* Versions: +* - ESEEM_FTs and Tr EPR Spectra! (21.08.98 SZ) +* - ESEEM with or without Hfc's (27.08.98 SZ) +* - Whole program derived vom p2k.c (version 31.08.98) +* +****************************************************************/ + +#include <stdio.h> +#include <ctype.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <math.h> +#include "p2.h" +#include "p2_utils.c" + + +int ReadInput() +{ + short i, k; + FILE *fp, *fopen(); + + if ((fp = fopen("p2.txt","r")) == NULL) { + printf("file p2.txt cannot be opened"); + return(-1); + } + fscanf(fp,"%lf %*s %lf %lf %d %*s %d %d %*s", &fmw, &h1, &h2, + &NumOfPoints, &nt, &np); + dh = (h2-h1)/(NumOfPoints-1); + for (i=0;i<=2;i++) + for (k=0;k<=2;k++) + fscanf(fp, "%lf ", &gP[i][k]); + NewLine(fp); + fscanf(fp,"%lf", &hbP); + NewLine(fp); + for(i=0;i<=2;i++) + for (k=0;k<=2;k++) + fscanf(fp, "%lf", &gA1[i][k]); + NewLine(fp); + fscanf(fp, "%lf", &hbA1); + NewLine(fp); + reference_syst=getc(fp); + NewLine(fp); + switch (toupper(reference_syst)) { + case 'Q': + fscanf(fp, "%lf %lf %*s",&phi1,&theta1); + fscanf(fp, "%lf %lf %lf %*s",&euler_PQ[0],&euler_PQ[1],&euler_PQ[2]); + break; +/* + case 'Z': + fscanf(fp, "%lf %lf %lf %*s",&euler_zP[0],&euler_zP[1],&euler_zP[2]); + fscanf(fp, "%lf %lf %lf %*s",&euler_zQ[0],&euler_zQ[1],&euler_zQ[2]); + break; + case 'P': + fscanf(fp, "%lf %lf %*s",&phi1,&theta1); + fscanf(fp, "%lf %lf %lf %*s",&euler_PQ[0],&euler_PQ[1],&euler_PQ[2]); + break; +*/ + default: + printf("Up to now, only Q as reference system possible (SORRY!) "); + fclose(fp); + return -1; + } + fscanf(fp, "%lf %lf %*s", &J, &d); + NewLine(fp); + print_orient = getc(fp); + NewLine(fp); + print_Powder = getc(fp); + NewLine(fp); + print_ESEEM_FT = getc(fp); + NewLine(fp); + fscanf(fp, "%20s %*s", outfile); + fscanf(fp, "%lf %d %*s", &max_freq, &num_freq_points); + fscanf(fp, "%d %*s", &delta_w_steps); + fscanf(fp, "%lf %*s", &lorentz_hb); + fscanf(fp,"%d %*s",&number_of_protons); + for(i=0;i<=2;i++) + for (k=0;k<=2;k++) + fscanf(fp, "%lf", &aA1[i][k]); + fscanf(fp,"%d %*s",&n_protons_p); + for(i=0;i<=2;i++) + for (k=0;k<=2;k++) + fscanf(fp, "%lf", &aP[i][k]); + fclose(fp); + return(0); +} + + +void WriteInput() +{ + short i, k; + + printf("CCRP simulation for P+Q- powder spectra\n"); + printf("Microwave frequency: %.2f MHz \n",fmw); + printf("Magnetic field: from %.2f to %.2f Gauss in steps of %.4f Gauss\n" + ,h1,h2,dh); + printf("\nNumber of Fieldpoints = %d \n",NumOfPoints); + printf("Theta steps: %d Phi steps: %d\n",nt,np); + printf("\n ANGLES:\n"); + printf("zPQ_gQ: Phi1: %f Theta1: %f\n ",phi1, theta1); + printf("Euler(gP_gQ) %f, %f, %f\n ",euler_PQ[0],euler_PQ[1], euler_PQ[2]); + PrintMatrix(gP,"g-Tensor for P+"); + PrintMatrix(gA1,"g-Tensor for A1-"); + printf("Linewidth P: %.2f Q: %.2f\n",hbP,hbA1); + printf("Dipol-Dipol-Coupling %.3f Exchange Coupling %.3f\n", d,J); + if (number_of_protons != 0) { + printf("Acceptor Q has %d aequivalent protons\n",number_of_protons); + PrintMatrix(aA1,"Hyperfine tensor"); + } + if (n_protons_p != 0) { + printf("Donor P has %d aequivalent protons\n",n_protons_p); + PrintMatrix(aP,"Hyperfine tensor"); + } + printf("Output filename %-20s\n",outfile); +} + +void PrintOutRelOrntPQ(o_sys) + char o_sys; +{ + printf("\n RELATIVE ORIENTATION PQ \n"); + PrintMatrix(rPQ,"Transformation matrix P->Q"); + PrintMatrix(rtPQ,"Transformation matrix Q->P"); + printf("in g%c system:\n",reference_syst); + printf(" alpha = %.2f\n",euler_PQ[0]*deg); + printf(" beta = %.2f\n",euler_PQ[1]*deg); + printf(" gamma = %.2f\n",euler_PQ[2]*deg); + printf("in g%c system:\n",o_sys); + printf(" alpha = %.2f \n",180-euler_PQ[2]*deg); + printf(" beta = %.2f \n",euler_PQ[1]*deg); + printf(" gamma = %.2f \n",180-euler_PQ[0]*deg); +} + +void PrintOutAngles_zPQ(sys, theta, phi, vec) + char sys; + DataT theta, phi; + vector vec; +{ + char axis[9]; + + switch (toupper(sys)){ + case 'Q': + strncpy(axis, "zPQ", sizeof(axis)); + printf("\n ORIENTATION of Dipolar Vector relative to g%c\n",sys); + break; + case 'P': + strncpy(axis, "zPQ", sizeof(axis)); + printf("\n ORIENTATION of Dipolar Vector relative to g%c\n",sys); + break; +/* + case 'C': + strncpy(axis, "c-axis", sizeof(axis)); + sys = 'Q'; + printf("\n ORIENTATION of crystall c-axis relative to g%c\n",sys); + break; + case 'D': + strncpy(axis, "c-axis", sizeof(axis)); + sys = 'P'; + printf("\n ORIENTATION of crystall c-axis relative to g%c\n",sys); + break; +*/ + case 'B': + strncpy(axis, "B0-field", sizeof(axis)); + sys = 'Q'; + printf("\n ORIENTATION of B0-field relative to g%c\n",sys); + break; + default: + return; + } + printf(" theta = %.2f (%.2f) phi = %.2f (%.2f) \n", + theta*deg,180-theta*deg,phi*deg,180-phi*deg); + printf(" Angle: %s g%cx = %.2f (%.2f)\n", axis, sys, + vec[0]*deg,180-vec[0]*deg); + printf(" Angle: %s g%cy = %.2f (%.2f)\n", axis, sys, + vec[1]*deg,180-vec[1]*deg); + printf(" Angle: %s g%cz = %.2f (%.2f)\n", axis, sys, + vec[2]*deg,180-vec[2]*deg); +} + + +/* calcu. rotation matrix from Euler anlges + R = Rz(gamma) Ry(beta) Rz(alpha) */ +void GetR(r,euler) + matrix r; + vector euler; +{ + matrix a, b, c; + + RotationMatrix(a,euler[0]*deg,'z'); + RotationMatrix(b,euler[1]*deg,'y'); + RotationMatrix(c,euler[2]*deg,'z'); + MulMat(r,c,b); + MulMat(r,r,a); +} + +/* Dipolar axis in Q axis system + rpA1 = Rz(phi) Ry(theta) (0,0,1) */ +void GetrpA1() +{ + rpA1[0] = -sin(theta1) * cos(phi1); + rpA1[1] = sin(theta1) * sin(phi1); + rpA1[2] = cos(theta1); +} + +/* Angle between dipolar axis and Q axes system */ +void GetzQ() +{ + zQ[0] = acos(rpA1[0]); + zQ[1] = acos(rpA1[1]); + zQ[2] = theta1; +} + +/* Angle between dipolar axis and P axes system */ +void GetzP() +{ + matrix r; + short i,k; + + GetR(r,euler_PQ); + Transpose(r,r); + for(i=0;i<3;i++) { + for(zP[i]=0.0, k=0; k<3; k++) + zP[i] += r[i][k]*rpA1[k]; + zP[i] = acos(zP[i]); + } +} + +void GetAngles() +{ + short i; + char other_sys; + float phiP, phiC; + + if (reference_syst == 'P') + other_sys = 'Q'; + else + other_sys = 'P'; + GetrpA1(); /* ----> zPQ in gQ axis system */ + GetzQ(); + GetzP(); + PrintOutAngles_zPQ('Q',theta1,phi1,zQ); + phiP = atan(-cos(zP[1])/cos(zP[0])); + PrintOutAngles_zPQ('P',zP[2],phiP,zP); + PrintOutRelOrntPQ(other_sys); +} + + +/* Transf. gP in gQ axis system */ +void RotateGP() +{ + PrintMatrix(gP," gP in gP"); + GetR(rPQ, euler_PQ); + Transpose(rtPQ, rPQ); + MulMat(gP,gP,rtPQ); + MulMat(gP,rPQ,gP); + PrintMatrix(gP," gP in gQ"); +} + + +void GetHyperfineProbs(hyperfine_prob,np) +vector10 hyperfine_prob; +int np; +{ + vector10 b; + double hnorm; + short i, j; + + for(i=0; i<=np+1; i++) + hyperfine_prob[i] = 0.0; + hyperfine_prob[1] = 1.0; + if (np != 0 ) { + for (b[0] = 0,i=1; i<=np+1; i++) { + for (j=1; j<=i; j++) + b[j] = hyperfine_prob[j] + hyperfine_prob[j-1]; + for (j=1; j<=i; j++) + hyperfine_prob[j] = b[j]; + } + for (hnorm=0,i=0;i<10;i++) + hnorm += hyperfine_prob[i]; + for (i=0;i<10;i++) + hyperfine_prob[i] /= hnorm; + } +} + +void RotDipolarMatrix() +{ + short i, j; + matrix Rd, Rdt, Rdz, Rdy; /*, Djunk1, Djunk2; */ + + for (i=0; i<3; i++) + for(j=0; j<3; j++) + Dm[i][j] = 0.0; + Dm[0][0] = -d/3.0; + Dm[1][1] = -d/3.0; + Dm[2][2] = 2*d/3.0; + PrintMatrix(Dm, "Dipol-Tensor vor Drehung"); + /* Rotationsmatrix: 1. Rot. um y-Achse um theta, 2. Rot. um z um phi + D' = Rz(phi) Ry(theta) D Ryt(theta) Rzt(phi) */ + RotationMatrix(Rdy, theta1 * deg, 'y'); + RotationMatrix(Rdz, phi1 * deg, 'z'); + MulMat(Rd, Rdz, Rdy); + Transpose(Rdt,Rd); + MulMat(Dm, Rd, Dm); + MulMat(Dm, Dm, Rdt); +/* vandenBrink et al. 1995 wieder gel�scht. SZ 20/08/98 + for(i=0; i<3; i++) + for(j=0; j<3; j++) + Djunk1[i][j] = 0.0; + MulMat(Djunk1, gA12, Dm); + MulMat(Djunk1, Djunk1, gP2); + for(i=0; i<3; i++) + for(j=0; j<3; j++) + Djunk2[i][j] = 0.0; + MulMat(Djunk2, gP2, Dm); + MulMat(Djunk2, Djunk2, gA12); + for (i=0; i<3; i++) + for(j=0; j<3; j++) + Dm[i][j] = (Djunk1[i][j] + Djunk2[i][j])/2.0; + PrintMatrix(Dm, "Dipol-Tensor 1/2 (gA2 D gP2 + gP2 D gA2"); + MulMat(Dm, gA12, Dm); + MulMat(Dm, Dm, gP2); + PrintMatrix(Dm, "Dipol-Tensor nach g-Mat. mult."); +*/ +} + +/* Calc. actual dipolar coupling: deff = Bvec D Bvec */ +double Get_deff(B0vector) +vector B0vector; +{ + short i, j; + double deff; /*, teiler; */ + + /* teiler = geffA1*geffP*4.0092053; */ + for (deff=0.0, i=0; i<3; i++) + for (j=0; j<3; j++) + deff += B0vector[i] * B0vector[j] * Dm[i][j]; + return(deff); + /* Bei Multiplikation mit G-tensoren: Normierung + return(deff/teiler); + */ +} + + + +void InitPar() +{ + double ct, st, sp, cp; + short i; + matrix gPt, gA1t; + + step_size = nt*np; + J = GBETA*J; + d = GBETA*d; + hbP = 0.5*SQR(GBETA*hbP); + hbA1 = 0.5*SQR(GBETA*hbA1); + hbPA1 = (hbP + hbA1)/2.0; + theta1 = theta1 * rad; + phi1 = phi1 * rad; + for (i=0; i<3; i++){ + euler_PQ[i] *= rad; + } + RotateGP(); + GetAngles(); + Transpose(gPt, gP); + Transpose(gA1t, gA1); + MulMat(gP2,gP,gPt); + MulMat(gA12,gA1,gA1t); + RotDipolarMatrix(); + PrintMatrix(gP2,"g-Tensor fuer P2+"); + PrintMatrix(gA12,"g-Tensor fuer A12"); + if (number_of_protons != 0) { + MulMat(ga2,gA1,aA1); + MulMat(ga2,ga2,ga2); + } + if (n_protons_p != 0) { + MulMat(gaP2,gP,aP); + MulMat(gaP2,gaP2,gaP2); + } + GetHyperfineProbs(hyperfine_prob_P,n_protons_p); + PrintVec10(hyperfine_prob_P," Hyperfein-Wahrscheinlichkeiten fuer P"); + GetHyperfineProbs(hyperfine_prob_A1,number_of_protons); + PrintVec10(hyperfine_prob_A1," Hyperfein-Wahrscheinlichkeiten fuer A1"); +} + +void Getgeff(B0vector) +vector B0vector; +{ + double deff; + short i, k; + + for (geffA1=geffP=0,i=0; i<3; i++) { + for (k=0; k<3; k++) + geffA1 += B0vector[i] * B0vector[k] * gA12[i][k]; + for (k=0; k<3; k++) + geffP += B0vector[i] * B0vector[k] * gP2[i][k]; + } + geffP = sqrt(geffP); + geffA1 = sqrt(geffA1); + if (number_of_protons != 0) { + for (aeffA1=0,i=0; i<3; i++) + for (k=0; k<3; k++) + aeffA1 += B0vector[i] * B0vector[k] * ga2[i][k]; + aeffA1 = sqrt(aeffA1)/geffA1; + } + if (n_protons_p != 0) { + for (aeffP=0,i=0; i<3; i++) + for (k=0; k<3; k++) + aeffP += B0vector[i] * B0vector[k] * gaP2[i][k]; + aeffP = sqrt(aeffP)/geffP; + } + deff = Get_deff(B0vector); + Jpd = J + deff/2.0; + Jmd = J - deff; +} + + +void GetTransitionFrequencies(h) +double h; +{ + double w0, q, inten, p_character, hb12, hb34, norm12, norm34, x; + + w0 = BE * h * (geffA1 + geffP) / 2.0 + + miA1 * aeffA1/2.0 + miP * aeffP/2.0; + q = BE * h * (geffP-geffA1)/2.0 + -miA1 * aeffA1/2.0 + miP * aeffP/2.0; + + x = sqrt(Jpd*Jpd + q*q)*q/fabs(q); + p_character = 0.5 * (1 + q/x); + hb12 = p_character * hbP + (1. - p_character) * hbA1; + hb34 = p_character * hbA1 + (1. - p_character) * hbP; + trans[0] = -SQR(-fmw + w0 + Jmd + x)/hb12; + trans[1] = -SQR(-fmw + w0 - Jmd + x)/hb12; + trans[2] = -SQR(-fmw + w0 + Jmd - x)/hb34; + trans[3] = -SQR(-fmw + w0 - Jmd - x)/hb34; + inten = q*q/(4 * (Jpd*Jpd + q*q)) + * hyperfine_prob_A1[imiA1] * hyperfine_prob_P[imiP]; + intens[0] = -inten * FACTOR / hb12; + intens[1] = inten * FACTOR / hb12; + intens[2] = -inten * FACTOR / hb34; + intens[3] = inten * FACTOR / hb34; +} + + +void SingleOrientationSpectrum(B0vector) +vector B0vector; +{ + double h; + short field_pt, k; + + Getgeff(B0vector); + for (miA1 = -number_of_protons/2.0,imiA1 = 1; + imiA1 <= number_of_protons + 1; imiA1++) { + for (miP = -n_protons_p/2.0, imiP = 1; + imiP <= n_protons_p + 1; imiP++) { + for (h=h1,field_pt=0; field_pt < NumOfPoints; field_pt++) { + GetTransitionFrequencies(h); + if ((imiA1 == 1) && (imiP == 1)) + orient_spec[field_pt] = 0.0; + for (k = 0; k < 4; k++) { + if (trans[k] > -15.0) { + Transpec[k][field_pt] += intens[k]* exp(trans[k])/step_size; + orient_spec[field_pt] += intens[k]* exp(trans[k])/step_size; + } + } + if ((imiA1 == number_of_protons + 1) && (imiP == n_protons_p +1)) + spec[field_pt] += orient_spec[field_pt]; + h += dh; + } + miP += 1.0; + } + miA1 += 1.0; + } +} + + + +/* Direction of B0 in Q axes system */ +void GetB0vector(B0vector, cos_theta_B0, phi_B0) + vector B0vector; + double cos_theta_B0, phi_B0; +{ + double sin_theta_B0; + + sin_theta_B0 = Compliment(cos_theta_B0); + B0vector[0] = sin_theta_B0 * cos(phi_B0); + B0vector[1] = sin_theta_B0 * sin(phi_B0); + B0vector[2] = cos_theta_B0; +} + + +void MakeTensorWithHfc(B0vector) +vector B0vector; +{ + double freq, faktor, A, B, breite, delta_w, delta_w_i, R_2, R; + double exponent, y, inten; + long int freq_point, i; + + Getgeff(B0vector); + A = 2*Jmd; + B = 2*Jpd; + delta_w = BE * 0.5*(h1+h2) * (geffP - geffA1); + breite = sqrt(2*hbPA1); + for (delta_w_i = delta_w - 3*breite ; delta_w_i <= delta_w + 3*breite; + delta_w_i += 6*breite/delta_w_steps) { + exponent = -SQR(delta_w - delta_w_i)/hbPA1; + inten = exp(exponent); + R_2 = SQR(delta_w_i) + SQR(B); + if (delta_w_i != delta_w) + R = sqrt(R_2) * (delta_w_i-delta_w)/fabs(delta_w_i-delta_w); + else + R = sqrt(R_2); + if (R_2 != 0.0) + faktor = SQR(delta_w_i) * SQR(B) / SQR(R_2); + for (freq_point = 0, freq = - max_freq ; + freq_point < num_freq_points; freq_point++) { + if ((y = SQR((A-freq)/lorentz_hb)) < 1e+03) { + tens[0][freq_point] += faktor/(1 + y); + tensor[freq_point] += faktor/(1 + y); + } + if ((y = SQR((A-R-freq)/lorentz_hb)) < 1e+03) { + tens[1][freq_point] += -0.5*inten*faktor/(1 + y); + tensor[freq_point] += - 0.5*inten*faktor/(1 + y); + } + if ((y = SQR((A+R-freq)/lorentz_hb)) < 1e+03) { + tens[2][freq_point] += -0.5*inten*faktor/(1 + y); + tensor[freq_point] += -0.5*inten*faktor/(1 + y); + } + + freq += 2*max_freq/(num_freq_points-1); + } + } +} + +/* ESEEM FTs without consideration of Hfc's ot G-anisotropy -- + only dipolar and exchange interaction Gamma = 2 (J - d) + with Lorentzian broadening */ + +void MakeTensor(B0vector) +vector B0vector; +{ + double freq, Gamma, y; + long int freq_point, i; + + Getgeff(B0vector); + Gamma = 2*Jmd; + + for (freq_point = 0, freq = - max_freq ; freq_point < num_freq_points; + freq_point++) { + if ((y = SQR((Gamma-freq)/lorentz_hb)) < 1e+03) { + tensor[freq_point] += 1/(1 + y); + } + freq += 2*max_freq/(num_freq_points-1); + } +} + +/* Add Gamma and -Gamma contribution (Point Symmetry of SFT) */ +void MakeESEEMFourier() +{ + double *temp; + int i, k; + + if ((temp = (double *)malloc(num_freq_points*sizeof(double))) == NULL) { + printf("Couldn't allocate memory for TEMP\n"); + } + + for (i=0; i<num_freq_points; i++) + temp[i] = tensor[num_freq_points - 1 - i]; + for (i=0; i<num_freq_points; i++) + tensor[i] -= temp[i]; +} + +void MakeESEEMFourierWithHfc() +{ + double *temp; + int i, k; + + if ((temp = (double *)malloc(num_freq_points*sizeof(double))) == NULL) { + printf("Couldn't allocate memory for TEMP\n"); + } + + for (i=0; i<num_freq_points; i++) + temp[i] = tensor[num_freq_points - 1 - i]; + for (i=0; i<num_freq_points; i++) { + tensor[i] -= temp[i]; + /* + tensor[i] /= delta_w_steps; + */ + } + for (k=0; k<3; k++) { + for (i=0; i<num_freq_points; i++) + temp[i] = tens[k][num_freq_points - 1 - i]; + for (i=0; i<num_freq_points; i++) { + tens[k][i] -= temp[i]; + /* + tens[k][i] /= delta_w_steps; + */ + } + } +} + +void Write_FT_Files() +{ + char spec_fn[20]; + + sprintf(spec_fn, "%s_ten", outfile); + printf("%s\n", spec_fn); + WriteSpec(-max_freq, max_freq, tensor, num_freq_points, spec_fn); + sprintf(spec_fn, "%s_A", outfile); + WriteSpec(-max_freq, max_freq, tens[0], num_freq_points, spec_fn); + sprintf(spec_fn, "%s_AmR", outfile); + WriteSpec(-max_freq, max_freq, tens[1], num_freq_points, spec_fn); + sprintf(spec_fn, "%s_ApR", outfile); + WriteSpec(-max_freq, max_freq, tens[2], num_freq_points, spec_fn); +} + +void Write_TrEPR_Files() +{ + int i,k; + char spec_fn[20]; + + sprintf(spec_fn, "%s_spec", outfile); + printf("%s\n", spec_fn); + WriteSpec(h1, h2, spec, NumOfPoints, spec_fn); + sprintf(spec_fn, "%s_Pem", outfile); + WriteSpec(h1, h2, Transpec[0], NumOfPoints, spec_fn); + sprintf(spec_fn, "%s_Pabs", outfile); + WriteSpec(h1, h2, Transpec[1], NumOfPoints, spec_fn); + sprintf(spec_fn, "%s_Qem", outfile); + WriteSpec(h1, h2, Transpec[2], NumOfPoints, spec_fn); + sprintf(spec_fn, "%s_Qabs", outfile); + WriteSpec(h1, h2, Transpec[3], NumOfPoints, spec_fn); + for (i = 0; i < NumOfPoints; i++) { + spec[i] = 0.; + for (k = 0; k < 4; k++) spec[i] += Transpec[k][i]; + } + sprintf(spec_fn, "%s_sum", outfile); + WriteSpec(h1, h2, spec, NumOfPoints, spec_fn); +} + +void MakeSpec() +{ + double cos_theta_B0, phi_B0, delta_cos_theta, delta_phi; + vector B0vector; + short i, i_cos_theta, i_phi; + + delta_cos_theta = 2.0/nt; + delta_phi = PI/np; + + for (cos_theta_B0 = 1 - delta_cos_theta/2, i_cos_theta = 1; + i_cos_theta <= nt; i_cos_theta++) { + printf("%d\t%f\n", nt - i_cos_theta, cos_theta_B0); fflush(stdout); + for (phi_B0 = 0.0, i_phi=1; i_phi <= np; i_phi++) { + GetB0vector(B0vector, cos_theta_B0, phi_B0); + if (tolower(print_Powder) == 'y') + SingleOrientationSpectrum(B0vector); + if (tolower(print_ESEEM_FT) == 'y') { + if (delta_w_steps == 0) { + MakeTensor(B0vector); + } + else { + MakeTensorWithHfc(B0vector); + } + } + phi_B0 += delta_phi; + } + cos_theta_B0 -= delta_cos_theta; + } + if (tolower(print_Powder) == 'y') + Write_TrEPR_Files(); + if (tolower(print_ESEEM_FT) == 'y') { + if (delta_w_steps == 0) + MakeESEEMFourier(); + else + MakeESEEMFourierWithHfc(); + Write_FT_Files(); + } +} + +void RingBell(n) +int n; +{ + short i; + + for (i=1; i<=n; i++) { + printf("\7 \n"); + } + printf("Fertig! \n"); +} + + +void InitVariables(NumOfPoints, FreqPkt) +int NumOfPoints, FreqPkt; +{ + int i, k; + + + if ((tensor = (double *)malloc(FreqPkt*sizeof(double))) == NULL) + printf("Couldn't allocate memory for TENSOR\n"); + + if ((tens = (void *)malloc(3*sizeof(double *))) == NULL) + printf("No Memory for TENS-Pointer\n"); + + for (k=0; k<3; k++) { + if ((tens[k] = (double *)malloc(FreqPkt*sizeof(double))) == NULL) + printf("Couldn't allocate memory for Tens\n"); + for (i=0; i<FreqPkt; i++) + tens[k][i] = 0.0; + } + + for (i = 0; i < FreqPkt; i++) + tensor[i] = 0.0; + + if ((Transpec = (void *)malloc(4*sizeof(double *))) == NULL) + printf("No Memory for Transpec-Pointer\n"); + + + for (k=0; k < 4; k++) { + if ((Transpec[k] = (double *)malloc(NumOfPoints*sizeof(double))) == NULL) + printf("Couldn't allocate memory for Transpec\n"); + for (i=0; i < NumOfPoints; i++) + Transpec[k][i] = 0.0; + } + + if ((spec = (double *)malloc(NumOfPoints*sizeof(double))) == NULL) + printf("Couldn't allocate memory for SPEC\n"); + if ((orient_spec = (double *)malloc(NumOfPoints*sizeof(double))) == NULL) + printf("Couldn't allocate memory for ORIENT_SPEC\n"); + for (i=0; i < NumOfPoints; i++) { + spec[i] = 0.0; + orient_spec[i] = 0.0; + } +} + +int main() { + + int k; + + if (ReadInput() == 0) { + WriteInput(); + InitVariables(NumOfPoints, num_freq_points); + InitPar(); + MakeSpec(); + /* + WriteGnuInput(); + */ + RingBell(1); + } +} + diff --git a/from_bittl/src/p2.h b/from_bittl/src/p2.h new file mode 100755 index 0000000..45aab17 --- /dev/null +++ b/from_bittl/src/p2.h @@ -0,0 +1,52 @@ +#define PI M_PI +#define DataT double +#define MAX_NUMBER_POINTS 32 +#define BE 1.399624167 /* beta/h; (vorher 1.39968) SZ 9/8/96 */ +#define GBETA (2.0023193*BE) +#define FACTOR 0.398942 /*(1/sqrt(2*PI))*/ +#define SQR(x) ((x)*(x)) +#define asc ".asc\0" +#define deg (180.0/PI) +#define rad (PI/180.0) +/*#define register short*/ /* SZ 26/8/95 */ + +typedef DataT + vector[3], + vector4[4], + vector10[10]; + +typedef vector + matrix[3]; + +typedef char + strg[16]; + +strg filename[9], orient_name[3]; + +double *spec, **Transpec, **tens, *orient_spec; + +double *tensor; + +matrix aA1, aP, gP, gP2, gA1, gA12, gaP2, ga2, Dm, + rPQ, rtPQ, rCQ, rtCQ, rBC, rtBC, Ra, + Rz180, Rz120, Rz240; + +vector rpA1, euler_PQ, euler_zP, euler_zQ, zP, zQ; + + +vector4 intens, trans; + +vector10 hyperfine_prob_P, hyperfine_prob_A1; + +DataT fmw, h1, h2, dh, phi1, theta1, J, d, Jpd, Jmd, geffP, + geffA1, aeffP, aeffA1, hbP, hbA1, hbPA1, miA1, miP, + lorentz_hb, max_freq; + +int imiA1, imiP, nt, np, step_size, number_of_protons, + n_protons_p, NumOfPoints, delta_w_steps, num_freq_points, + alpha_step, astep, num_spec; + +char reference_syst, print_orient, print_Powder, + print_ESEEM_FT, outfile[20]; + + diff --git a/from_bittl/src/p2.txt b/from_bittl/src/p2.txt new file mode 100755 index 0000000..0b3d5fb --- /dev/null +++ b/from_bittl/src/p2.txt @@ -0,0 +1,40 @@ +9700. MIKROWELLEN-FREQUENZ +3450. 3470. 1024 MAGNETFELD +181 181 GENAUIGKEIT +2.00300 0.00000 0.00000 +0.00000 2.00260 0.00000 +0.00000 0.00000 2.00230 G-TENSOR P700+ +0.2 LINIENBREITE P +2.00620 0.00000 0.00000 +0.00000 2.00510 0.00000 +0.00000 0.00000 2.00220 G-TENSOR Qb- +0.2 LINIENBREITE Q +Q REFERENZSYSTEM +0.0 90.0 PHI,THETA +83.0 128.0 10.0 ALPHA,BETA,GAMMA ++0.01 -1.7 J,D +Y ORIENTIERUNGSSPEKTREN? +Y PULVERSPEKTRUM? +N ESEEM_FT? +test2 OUTPUT_FILENAME +31.25 512 MAX.ESEEM-FT-FREQUENZ,FREQ-PUNKTE +256 HYPERFEIN_SCHRITTE +0. LORENTZ_BREITE(MHz) +3 ANZAHL_DER_PROTONEN_AM_A1- +-10.25 -1.472 0.000 +-1.472 -11.95 0.000 +0.000 0.000 -9.000 +0 ANZAHL_DER_PROTONEN_AM_P+ + 0.1 0.0 0.0 + 0.0 0.1 0.0 + 0.0 0.0 0.1 + +10.25 1.472 0.000 + 1.472 11.95 0.000 + 0.000 0.000 9.000 + +-4.5 0.0 0.0 + 0.0 -4.0 0.0 + 0.0 0.0 -3.5 + + HFC Tensor A1- (9.4,12.8,9.0) 30 grd gedreht. diff --git a/from_bittl/src/p2_utils.c b/from_bittl/src/p2_utils.c new file mode 100755 index 0000000..3f8be1b --- /dev/null +++ b/from_bittl/src/p2_utils.c @@ -0,0 +1,155 @@ +void PrintMatrix(a,title) +matrix a; +char title[]; +{ + int i, j; + + printf("\n %s \n",title); + for (i=0;i<=2;i++) { + printf(" "); + for (j=0;j<=2;j++) + printf("%9.5f%c",a[i][j],' '); + printf("\n"); + } +} + +void PrintVec(a,title) +vector a; +char title[]; +{ + int i; + + printf("\n %s \n",title); + for (i=0;i<=2;i++) + printf("%9.5f%c",a[i],' '); + printf("\n"); +} + +void PrintVec10(a,title) +vector10 a; +char title[]; +{ + int i; + + printf("\n %s \n",title); + for (i=0;i<=4;i++) + printf("%9.5f%c",a[i],' '); + printf("\n"); + for (i=5;i<=9;i++) + printf("%9.5f%c",a[i],' '); + printf("\n"); + printf("\n"); +} + +void CopyMatrix (a,b) +matrix a, b; +{ + short i, j; + + for (i=0; i<3; i++) + for (j=0; j<3; j++) + a[i][j] = b[i][j]; +} + +void MulMat(a,b,c) +matrix a, b, c; +{ + double dummy; + matrix d, e; + short i, j, k; + + CopyMatrix(d,b); + CopyMatrix(e,c); + for (i=0; i<3; i++) + for (j=0; j<3; j++) { + for (dummy=0, k=0; k<3; k++) + dummy += d[i][k] * e[k][j]; + a[i][j] = dummy; + } +} + +void Transpose (a,b) +matrix a, b; +{ + short i, j; + matrix c; + + CopyMatrix(c,b); + for (i=0; i<3; i++) + for (j=0; j<3; j++) + a[j][i] = c[i][j]; +} + +void RotationMatrix(a,winkel,axis) +matrix a; +double winkel; +char axis; +{ + short i, j, k; + + winkel = winkel * PI /180.0; + for (i=0; i<3; i++) + for (j=0; j<3; j++) + a[i][j] = 0.0; + switch (axis) { + case 'x': + i=0; + j=1; + k=2; + break; + case 'y': + i=1; + j=2; + k=0; + break; + case 'z': + i=2; + j=0; + k=1; + break; + } + a[i][i] = 1.0; + a[j][j] = cos(winkel); + a[k][k] = cos(winkel); + a[j][k] = sin(winkel); + a[k][j] = -sin(winkel); +} + +void NewLine(fp) +FILE *fp; +{ + char c; + + while ((c = getc(fp)) != '\n'); +} + + +double Compliment(a) +double a; +{ + if (a*a > 1.0) { + printf(" Warning: Function \"Compliment\" called with a value greater than 1.0!! Returns a value of 0.0 "); + return 0.0; + } + else + return sqrt(1.0 - a*a); +} + +void WriteSpec(low, high, sp, n,name) +double low, high, *sp; +int n; +char name[]; +{ + int i; + FILE *fp, *fopen(); + double range; + + range = high - low; + strncat(name,asc,sizeof(asc)); + if ((fp = fopen(name,"w")) == NULL) + printf("file %s cannot be opened",name); + for (i=0; i<n; i++) + fprintf(fp,"%.3f\t%.9f\n",low + i*range/(n-1), sp[i]); + fclose(fp); +} + diff --git a/from_bittl/src/test2_Pabs.asc b/from_bittl/src/test2_Pabs.asc new file mode 100755 index 0000000..f65f2fa --- /dev/null +++ b/from_bittl/src/test2_Pabs.asc @@ -0,0 +1,1024 @@ +3450.000 0.000000000 +3450.020 0.000000000 +3450.039 0.000000000 +3450.059 0.000000000 +3450.078 0.000000000 +3450.098 0.000000000 +3450.117 0.000000000 +3450.137 0.000000000 +3450.156 0.000000000 +3450.176 0.000000000 +3450.196 0.000000000 +3450.215 0.000000000 +3450.235 0.000000000 +3450.254 0.000000000 +3450.274 0.000000000 +3450.293 0.000000000 +3450.313 0.000000000 +3450.332 0.000000000 +3450.352 0.000000000 +3450.371 0.000000000 +3450.391 0.000000000 +3450.411 0.000000000 +3450.430 0.000000000 +3450.450 0.000000000 +3450.469 0.000000000 +3450.489 0.000000000 +3450.508 0.000000000 +3450.528 0.000000000 +3450.547 0.000000000 +3450.567 0.000000000 +3450.587 0.000000000 +3450.606 0.000000000 +3450.626 0.000000000 +3450.645 0.000000000 +3450.665 0.000000000 +3450.684 0.000000000 +3450.704 0.000000000 +3450.723 0.000000000 +3450.743 0.000000000 +3450.762 0.000000000 +3450.782 0.000000000 +3450.802 0.000000000 +3450.821 0.000000000 +3450.841 0.000000000 +3450.860 0.000000000 +3450.880 0.000000000 +3450.899 0.000000000 +3450.919 0.000000000 +3450.938 0.000000000 +3450.958 0.000000000 +3450.978 0.000000000 +3450.997 0.000000000 +3451.017 0.000000000 +3451.036 0.000000000 +3451.056 0.000000000 +3451.075 0.000000000 +3451.095 0.000000000 +3451.114 0.000000000 +3451.134 0.000000000 +3451.153 0.000000000 +3451.173 0.000000000 +3451.193 0.000000000 +3451.212 0.000000000 +3451.232 0.000000000 +3451.251 0.000000000 +3451.271 0.000000000 +3451.290 0.000000000 +3451.310 0.000000000 +3451.329 0.000000000 +3451.349 0.000000000 +3451.369 0.000000000 +3451.388 0.000000000 +3451.408 0.000000000 +3451.427 0.000000000 +3451.447 0.000000000 +3451.466 0.000000000 +3451.486 0.000000000 +3451.505 0.000000000 +3451.525 0.000000000 +3451.544 0.000000000 +3451.564 0.000000000 +3451.584 0.000000000 +3451.603 0.000000000 +3451.623 0.000000000 +3451.642 0.000000000 +3451.662 0.000000000 +3451.681 0.000000000 +3451.701 0.000000000 +3451.720 0.000000000 +3451.740 0.000000000 +3451.760 0.000000000 +3451.779 0.000000000 +3451.799 0.000000000 +3451.818 0.000000000 +3451.838 0.000000000 +3451.857 0.000000000 +3451.877 0.000000000 +3451.896 0.000000000 +3451.916 0.000000000 +3451.935 0.000000000 +3451.955 0.000000000 +3451.975 0.000000000 +3451.994 0.000000000 +3452.014 0.000000000 +3452.033 0.000000000 +3452.053 0.000000000 +3452.072 0.000000000 +3452.092 0.000000000 +3452.111 0.000000000 +3452.131 0.000000000 +3452.151 0.000000000 +3452.170 0.000000000 +3452.190 0.000000000 +3452.209 0.000000000 +3452.229 0.000000000 +3452.248 0.000000000 +3452.268 0.000000000 +3452.287 0.000000000 +3452.307 0.000000000 +3452.326 0.000000000 +3452.346 0.000000000 +3452.366 0.000000000 +3452.385 0.000000000 +3452.405 0.000000000 +3452.424 0.000000000 +3452.444 0.000000000 +3452.463 0.000000000 +3452.483 0.000000000 +3452.502 0.000000000 +3452.522 0.000000000 +3452.542 0.000000000 +3452.561 0.000000000 +3452.581 0.000000000 +3452.600 0.000000000 +3452.620 0.000000000 +3452.639 0.000000000 +3452.659 0.000000000 +3452.678 0.000000000 +3452.698 0.000000000 +3452.717 0.000000000 +3452.737 0.000000000 +3452.757 0.000000000 +3452.776 0.000000000 +3452.796 0.000000000 +3452.815 0.000000000 +3452.835 0.000000000 +3452.854 0.000000000 +3452.874 0.000000000 +3452.893 0.000000000 +3452.913 0.000000000 +3452.933 0.000000000 +3452.952 0.000000000 +3452.972 0.000000000 +3452.991 0.000000000 +3453.011 0.000000000 +3453.030 0.000000000 +3453.050 0.000000000 +3453.069 0.000000000 +3453.089 0.000000000 +3453.109 0.000000000 +3453.128 0.000000000 +3453.148 0.000000000 +3453.167 0.000000000 +3453.187 0.000000000 +3453.206 0.000000000 +3453.226 0.000000000 +3453.245 0.000000000 +3453.265 0.000000000 +3453.284 0.000000000 +3453.304 0.000000000 +3453.324 0.000000000 +3453.343 0.000000000 +3453.363 0.000000000 +3453.382 0.000000000 +3453.402 0.000000000 +3453.421 0.000000000 +3453.441 0.000000000 +3453.460 0.000000000 +3453.480 0.000000000 +3453.500 0.000000000 +3453.519 0.000000000 +3453.539 0.000000000 +3453.558 0.000000000 +3453.578 0.000000000 +3453.597 0.000000000 +3453.617 0.000000000 +3453.636 0.000000000 +3453.656 0.000000000 +3453.675 0.000000000 +3453.695 0.000000000 +3453.715 0.000000000 +3453.734 0.000000000 +3453.754 0.000000000 +3453.773 0.000000000 +3453.793 0.000000000 +3453.812 0.000000000 +3453.832 0.000000000 +3453.851 0.000000000 +3453.871 0.000000000 +3453.891 0.000000000 +3453.910 0.000000000 +3453.930 0.000000000 +3453.949 0.000000000 +3453.969 0.000000000 +3453.988 0.000000000 +3454.008 0.000000000 +3454.027 0.000000000 +3454.047 0.000000000 +3454.066 0.000000000 +3454.086 0.000000000 +3454.106 0.000000000 +3454.125 0.000000000 +3454.145 0.000000000 +3454.164 0.000000000 +3454.184 0.000000000 +3454.203 0.000000000 +3454.223 0.000000000 +3454.242 0.000000000 +3454.262 0.000000000 +3454.282 0.000000000 +3454.301 0.000000000 +3454.321 0.000000000 +3454.340 0.000000000 +3454.360 0.000000000 +3454.379 0.000000000 +3454.399 0.000000000 +3454.418 0.000000000 +3454.438 0.000000000 +3454.457 0.000000000 +3454.477 0.000000000 +3454.497 0.000000000 +3454.516 0.000000000 +3454.536 0.000000000 +3454.555 0.000000000 +3454.575 0.000000000 +3454.594 0.000000000 +3454.614 0.000000000 +3454.633 0.000000000 +3454.653 0.000000000 +3454.673 0.000000000 +3454.692 0.000000000 +3454.712 0.000000000 +3454.731 0.000000000 +3454.751 0.000000000 +3454.770 0.000000000 +3454.790 0.000000000 +3454.809 0.000000000 +3454.829 0.000000000 +3454.848 0.000000000 +3454.868 0.000000000 +3454.888 0.000000000 +3454.907 0.000000000 +3454.927 0.000000000 +3454.946 0.000000000 +3454.966 0.000000000 +3454.985 0.000000000 +3455.005 0.000000000 +3455.024 0.000000000 +3455.044 0.000000000 +3455.064 0.000000000 +3455.083 0.000000000 +3455.103 0.000000000 +3455.122 0.000000000 +3455.142 0.000000000 +3455.161 0.000000000 +3455.181 0.000000000 +3455.200 0.000000000 +3455.220 0.000000000 +3455.239 0.000000000 +3455.259 0.000000000 +3455.279 0.000000000 +3455.298 0.000000000 +3455.318 0.000000000 +3455.337 0.000000000 +3455.357 0.000000000 +3455.376 0.000000000 +3455.396 0.000000000 +3455.415 0.000000000 +3455.435 0.000000000 +3455.455 0.000000000 +3455.474 0.000000000 +3455.494 0.000000000 +3455.513 0.000000000 +3455.533 0.000000000 +3455.552 0.000000000 +3455.572 0.000000000 +3455.591 0.000000000 +3455.611 0.000000000 +3455.630 0.000000000 +3455.650 0.000000000 +3455.670 0.000000000 +3455.689 0.000000000 +3455.709 0.000000000 +3455.728 0.000000000 +3455.748 0.000000000 +3455.767 0.000000000 +3455.787 0.000000000 +3455.806 0.000000000 +3455.826 0.000000000 +3455.846 0.000000000 +3455.865 0.000000000 +3455.885 0.000000000 +3455.904 0.000000000 +3455.924 0.000000000 +3455.943 0.000000000 +3455.963 0.000000000 +3455.982 0.000000000 +3456.002 0.000000000 +3456.022 0.000000000 +3456.041 0.000000000 +3456.061 0.000000000 +3456.080 0.000000000 +3456.100 0.000000000 +3456.119 0.000000000 +3456.139 0.000000000 +3456.158 0.000000000 +3456.178 0.000000000 +3456.197 0.000000000 +3456.217 0.000000000 +3456.237 0.000000000 +3456.256 0.000000000 +3456.276 0.000000000 +3456.295 0.000000000 +3456.315 0.000000000 +3456.334 0.000000000 +3456.354 0.000000000 +3456.373 0.000000000 +3456.393 0.000000000 +3456.413 0.000000000 +3456.432 0.000000000 +3456.452 0.000000000 +3456.471 0.000000000 +3456.491 0.000000000 +3456.510 0.000000000 +3456.530 0.000000000 +3456.549 0.000000000 +3456.569 0.000000000 +3456.588 0.000000000 +3456.608 0.000000000 +3456.628 0.000000000 +3456.647 0.000000000 +3456.667 0.000000000 +3456.686 0.000000000 +3456.706 0.000000000 +3456.725 0.000000000 +3456.745 0.000000000 +3456.764 0.000000000 +3456.784 0.000000000 +3456.804 0.000000000 +3456.823 0.000000000 +3456.843 0.000000000 +3456.862 0.000000000 +3456.882 0.000000000 +3456.901 0.000000000 +3456.921 0.000000000 +3456.940 0.000000000 +3456.960 0.000000000 +3456.979 0.000000000 +3456.999 0.000000000 +3457.019 0.000000000 +3457.038 0.000000000 +3457.058 0.000000000 +3457.077 0.000000000 +3457.097 0.000000000 +3457.116 0.000000000 +3457.136 0.000000000 +3457.155 0.000000000 +3457.175 0.000000000 +3457.195 0.000000000 +3457.214 0.000000000 +3457.234 0.000000000 +3457.253 0.000000000 +3457.273 0.000000000 +3457.292 0.000000000 +3457.312 0.000000000 +3457.331 0.000000000 +3457.351 0.000000000 +3457.370 0.000000000 +3457.390 0.000000000 +3457.410 0.000000000 +3457.429 0.000000000 +3457.449 0.000000000 +3457.468 0.000000000 +3457.488 0.000000000 +3457.507 0.000000000 +3457.527 0.000000000 +3457.546 0.000000000 +3457.566 0.000000000 +3457.586 0.000000000 +3457.605 0.000000000 +3457.625 0.000000000 +3457.644 0.000000000 +3457.664 0.000000000 +3457.683 0.000000000 +3457.703 0.000000000 +3457.722 0.000000000 +3457.742 0.000000000 +3457.761 0.000000000 +3457.781 0.000000000 +3457.801 0.000000000 +3457.820 0.000000000 +3457.840 0.000000000 +3457.859 0.000000000 +3457.879 0.000000000 +3457.898 0.000000000 +3457.918 0.000000000 +3457.937 0.000000000 +3457.957 0.000000000 +3457.977 0.000000000 +3457.996 0.000000000 +3458.016 0.000000000 +3458.035 0.000000000 +3458.055 0.000000000 +3458.074 0.000000000 +3458.094 0.000000000 +3458.113 0.000000000 +3458.133 0.000000000 +3458.152 0.000000000 +3458.172 0.000000000 +3458.192 0.000000000 +3458.211 0.000000000 +3458.231 0.000000000 +3458.250 0.000000000 +3458.270 0.000000000 +3458.289 0.000000000 +3458.309 0.000000000 +3458.328 0.000000000 +3458.348 0.000000000 +3458.368 0.000000000 +3458.387 0.000000000 +3458.407 0.000000000 +3458.426 0.000000000 +3458.446 0.000000000 +3458.465 0.000000000 +3458.485 0.000000000 +3458.504 0.000000000 +3458.524 0.000000000 +3458.543 0.000000000 +3458.563 0.000000000 +3458.583 0.000000000 +3458.602 0.000000000 +3458.622 0.000000000 +3458.641 0.000000000 +3458.661 0.000000000 +3458.680 0.000000000 +3458.700 0.000000000 +3458.719 0.000000000 +3458.739 0.000000000 +3458.759 0.000000000 +3458.778 0.000000000 +3458.798 0.000000000 +3458.817 0.000000000 +3458.837 0.000000000 +3458.856 0.000000000 +3458.876 0.000000000 +3458.895 0.000000000 +3458.915 0.000000000 +3458.935 0.000000000 +3458.954 0.000000000 +3458.974 0.000000001 +3458.993 0.000000005 +3459.013 0.000000015 +3459.032 0.000000040 +3459.052 0.000000104 +3459.071 0.000000255 +3459.091 0.000000604 +3459.110 0.000001378 +3459.130 0.000003037 +3459.150 0.000006465 +3459.169 0.000013301 +3459.189 0.000026454 +3459.208 0.000050876 +3459.228 0.000094629 +3459.247 0.000170275 +3459.267 0.000296496 +3459.286 0.000499758 +3459.306 0.000815678 +3459.326 0.001289611 +3459.345 0.001975876 +3459.365 0.002935101 +3459.384 0.004229362 +3459.404 0.005915202 +3459.423 0.008035162 +3459.443 0.010609011 +3459.462 0.013626313 +3459.482 0.017042013 +3459.501 0.020776478 +3459.521 0.024720601 +3459.541 0.028745614 +3459.560 0.032716204 +3459.580 0.036504735 +3459.599 0.040004166 +3459.619 0.043137515 +3459.638 0.045862554 +3459.658 0.048171455 +3459.677 0.050086104 +3459.697 0.051650532 +3459.717 0.052922193 +3459.736 0.053963670 +3459.756 0.054835950 +3459.775 0.055593853 +3459.795 0.056283634 +3459.814 0.056942409 +3459.834 0.057598880 +3459.853 0.058274785 +3459.873 0.058986629 +3459.892 0.059747368 +3459.912 0.060567907 +3459.932 0.061458327 +3459.951 0.062428871 +3459.971 0.063490695 +3459.990 0.064656370 +3460.010 0.065940075 +3460.029 0.067357358 +3460.049 0.068924276 +3460.068 0.070655755 +3460.088 0.072563043 +3460.108 0.074650289 +3460.127 0.076910492 +3460.147 0.079321363 +3460.166 0.081841841 +3460.186 0.084410191 +3460.205 0.086944523 +3460.225 0.089346318 +3460.244 0.091507044 +3460.264 0.093317355 +3460.283 0.094677758 +3460.303 0.095509212 +3460.323 0.095762020 +3460.342 0.095421538 +3460.362 0.094509767 +3460.381 0.093082595 +3460.401 0.091223177 +3460.420 0.089032597 +3460.440 0.086619321 +3460.459 0.084089015 +3460.479 0.081536096 +3460.499 0.079037903 +3460.518 0.076651837 +3460.538 0.074415250 +3460.557 0.072347506 +3460.577 0.070453384 +3460.596 0.068726999 +3460.616 0.067155585 +3460.635 0.065722678 +3460.655 0.064410516 +3460.674 0.063201642 +3460.694 0.062079860 +3460.714 0.061030716 +3460.733 0.060041687 +3460.753 0.059102213 +3460.772 0.058203677 +3460.792 0.057339348 +3460.811 0.056504316 +3460.831 0.055695409 +3460.850 0.054911078 +3460.870 0.054151243 +3460.890 0.053417081 +3460.909 0.052710766 +3460.929 0.052035120 +3460.948 0.051393204 +3460.968 0.050787821 +3460.987 0.050220991 +3461.007 0.049693433 +3461.026 0.049204136 +3461.046 0.048750099 +3461.065 0.048326311 +3461.085 0.047926005 +3461.105 0.047541149 +3461.124 0.047163133 +3461.144 0.046783524 +3461.163 0.046394779 +3461.183 0.045990830 +3461.202 0.045567470 +3461.222 0.045122536 +3461.241 0.044655912 +3461.261 0.044169385 +3461.281 0.043666409 +3461.300 0.043151785 +3461.320 0.042631276 +3461.339 0.042111173 +3461.359 0.041597799 +3461.378 0.041097012 +3461.398 0.040613743 +3461.417 0.040151618 +3461.437 0.039712733 +3461.457 0.039297587 +3461.476 0.038905187 +3461.496 0.038533278 +3461.515 0.038178663 +3461.535 0.037837563 +3461.554 0.037505968 +3461.574 0.037179976 +3461.593 0.036856099 +3461.613 0.036531544 +3461.632 0.036204450 +3461.652 0.035874082 +3461.672 0.035540919 +3461.691 0.035206638 +3461.711 0.034873942 +3461.730 0.034546256 +3461.750 0.034227305 +3461.769 0.033920653 +3461.789 0.033629267 +3461.808 0.033355173 +3461.828 0.033099243 +3461.848 0.032861113 +3461.867 0.032639192 +3461.887 0.032430670 +3461.906 0.032231434 +3461.926 0.032035799 +3461.945 0.031835984 +3461.965 0.031621333 +3461.984 0.031377362 +3462.004 0.031084820 +3462.023 0.030719060 +3462.043 0.030250088 +3462.063 0.029643689 +3462.082 0.028863901 +3462.102 0.027876903 +3462.121 0.026656007 +3462.141 0.025187091 +3462.160 0.023473439 +3462.180 0.021538862 +3462.199 0.019428110 +3462.219 0.017204044 +3462.239 0.014941738 +3462.258 0.012720386 +3462.278 0.010614434 +3462.297 0.008685599 +3462.317 0.006977193 +3462.336 0.005511616 +3462.356 0.004291154 +3462.375 0.003301487 +3462.395 0.002516830 +3462.414 0.001905500 +3462.434 0.001434828 +3462.454 0.001074757 +3462.473 0.000799868 +3462.493 0.000590014 +3462.512 0.000429937 +3462.532 0.000308344 +3462.551 0.000216846 +3462.571 0.000149035 +3462.590 0.000099812 +3462.610 0.000064980 +3462.630 0.000041044 +3462.649 0.000025115 +3462.669 0.000014869 +3462.688 0.000008510 +3462.708 0.000004705 +3462.727 0.000002511 +3462.747 0.000001293 +3462.766 0.000000642 +3462.786 0.000000308 +3462.805 0.000000142 +3462.825 0.000000063 +3462.845 0.000000027 +3462.864 0.000000011 +3462.884 0.000000004 +3462.903 0.000000002 +3462.923 0.000000001 +3462.942 0.000000000 +3462.962 0.000000000 +3462.981 0.000000000 +3463.001 0.000000000 +3463.021 0.000000000 +3463.040 0.000000000 +3463.060 0.000000000 +3463.079 0.000000000 +3463.099 0.000000000 +3463.118 0.000000000 +3463.138 0.000000000 +3463.157 0.000000000 +3463.177 0.000000000 +3463.196 0.000000000 +3463.216 0.000000000 +3463.236 0.000000000 +3463.255 0.000000000 +3463.275 0.000000000 +3463.294 0.000000000 +3463.314 0.000000000 +3463.333 0.000000000 +3463.353 0.000000000 +3463.372 0.000000000 +3463.392 0.000000000 +3463.412 0.000000000 +3463.431 0.000000000 +3463.451 0.000000000 +3463.470 0.000000000 +3463.490 0.000000000 +3463.509 0.000000000 +3463.529 0.000000000 +3463.548 0.000000000 +3463.568 0.000000000 +3463.587 0.000000000 +3463.607 0.000000000 +3463.627 0.000000000 +3463.646 0.000000000 +3463.666 0.000000000 +3463.685 0.000000000 +3463.705 0.000000000 +3463.724 0.000000000 +3463.744 0.000000000 +3463.763 0.000000000 +3463.783 0.000000000 +3463.803 0.000000000 +3463.822 0.000000000 +3463.842 0.000000000 +3463.861 0.000000000 +3463.881 0.000000000 +3463.900 0.000000000 +3463.920 0.000000000 +3463.939 0.000000000 +3463.959 0.000000000 +3463.978 0.000000000 +3463.998 0.000000000 +3464.018 0.000000000 +3464.037 0.000000000 +3464.057 0.000000000 +3464.076 0.000000000 +3464.096 0.000000000 +3464.115 0.000000000 +3464.135 0.000000000 +3464.154 0.000000000 +3464.174 0.000000000 +3464.194 0.000000000 +3464.213 0.000000000 +3464.233 0.000000000 +3464.252 0.000000000 +3464.272 0.000000000 +3464.291 0.000000000 +3464.311 0.000000000 +3464.330 0.000000000 +3464.350 0.000000000 +3464.370 0.000000000 +3464.389 0.000000000 +3464.409 0.000000000 +3464.428 0.000000000 +3464.448 0.000000000 +3464.467 0.000000000 +3464.487 0.000000000 +3464.506 0.000000000 +3464.526 0.000000000 +3464.545 0.000000000 +3464.565 0.000000000 +3464.585 0.000000000 +3464.604 0.000000000 +3464.624 0.000000000 +3464.643 0.000000000 +3464.663 0.000000000 +3464.682 0.000000000 +3464.702 0.000000000 +3464.721 0.000000000 +3464.741 0.000000000 +3464.761 0.000000000 +3464.780 0.000000000 +3464.800 0.000000000 +3464.819 0.000000000 +3464.839 0.000000000 +3464.858 0.000000000 +3464.878 0.000000000 +3464.897 0.000000000 +3464.917 0.000000000 +3464.936 0.000000000 +3464.956 0.000000000 +3464.976 0.000000000 +3464.995 0.000000000 +3465.015 0.000000000 +3465.034 0.000000000 +3465.054 0.000000000 +3465.073 0.000000000 +3465.093 0.000000000 +3465.112 0.000000000 +3465.132 0.000000000 +3465.152 0.000000000 +3465.171 0.000000000 +3465.191 0.000000000 +3465.210 0.000000000 +3465.230 0.000000000 +3465.249 0.000000000 +3465.269 0.000000000 +3465.288 0.000000000 +3465.308 0.000000000 +3465.327 0.000000000 +3465.347 0.000000000 +3465.367 0.000000000 +3465.386 0.000000000 +3465.406 0.000000000 +3465.425 0.000000000 +3465.445 0.000000000 +3465.464 0.000000000 +3465.484 0.000000000 +3465.503 0.000000000 +3465.523 0.000000000 +3465.543 0.000000000 +3465.562 0.000000000 +3465.582 0.000000000 +3465.601 0.000000000 +3465.621 0.000000000 +3465.640 0.000000000 +3465.660 0.000000000 +3465.679 0.000000000 +3465.699 0.000000000 +3465.718 0.000000000 +3465.738 0.000000000 +3465.758 0.000000000 +3465.777 0.000000000 +3465.797 0.000000000 +3465.816 0.000000000 +3465.836 0.000000000 +3465.855 0.000000000 +3465.875 0.000000000 +3465.894 0.000000000 +3465.914 0.000000000 +3465.934 0.000000000 +3465.953 0.000000000 +3465.973 0.000000000 +3465.992 0.000000000 +3466.012 0.000000000 +3466.031 0.000000000 +3466.051 0.000000000 +3466.070 0.000000000 +3466.090 0.000000000 +3466.109 0.000000000 +3466.129 0.000000000 +3466.149 0.000000000 +3466.168 0.000000000 +3466.188 0.000000000 +3466.207 0.000000000 +3466.227 0.000000000 +3466.246 0.000000000 +3466.266 0.000000000 +3466.285 0.000000000 +3466.305 0.000000000 +3466.325 0.000000000 +3466.344 0.000000000 +3466.364 0.000000000 +3466.383 0.000000000 +3466.403 0.000000000 +3466.422 0.000000000 +3466.442 0.000000000 +3466.461 0.000000000 +3466.481 0.000000000 +3466.500 0.000000000 +3466.520 0.000000000 +3466.540 0.000000000 +3466.559 0.000000000 +3466.579 0.000000000 +3466.598 0.000000000 +3466.618 0.000000000 +3466.637 0.000000000 +3466.657 0.000000000 +3466.676 0.000000000 +3466.696 0.000000000 +3466.716 0.000000000 +3466.735 0.000000000 +3466.755 0.000000000 +3466.774 0.000000000 +3466.794 0.000000000 +3466.813 0.000000000 +3466.833 0.000000000 +3466.852 0.000000000 +3466.872 0.000000000 +3466.891 0.000000000 +3466.911 0.000000000 +3466.931 0.000000000 +3466.950 0.000000000 +3466.970 0.000000000 +3466.989 0.000000000 +3467.009 0.000000000 +3467.028 0.000000000 +3467.048 0.000000000 +3467.067 0.000000000 +3467.087 0.000000000 +3467.107 0.000000000 +3467.126 0.000000000 +3467.146 0.000000000 +3467.165 0.000000000 +3467.185 0.000000000 +3467.204 0.000000000 +3467.224 0.000000000 +3467.243 0.000000000 +3467.263 0.000000000 +3467.283 0.000000000 +3467.302 0.000000000 +3467.322 0.000000000 +3467.341 0.000000000 +3467.361 0.000000000 +3467.380 0.000000000 +3467.400 0.000000000 +3467.419 0.000000000 +3467.439 0.000000000 +3467.458 0.000000000 +3467.478 0.000000000 +3467.498 0.000000000 +3467.517 0.000000000 +3467.537 0.000000000 +3467.556 0.000000000 +3467.576 0.000000000 +3467.595 0.000000000 +3467.615 0.000000000 +3467.634 0.000000000 +3467.654 0.000000000 +3467.674 0.000000000 +3467.693 0.000000000 +3467.713 0.000000000 +3467.732 0.000000000 +3467.752 0.000000000 +3467.771 0.000000000 +3467.791 0.000000000 +3467.810 0.000000000 +3467.830 0.000000000 +3467.849 0.000000000 +3467.869 0.000000000 +3467.889 0.000000000 +3467.908 0.000000000 +3467.928 0.000000000 +3467.947 0.000000000 +3467.967 0.000000000 +3467.986 0.000000000 +3468.006 0.000000000 +3468.025 0.000000000 +3468.045 0.000000000 +3468.065 0.000000000 +3468.084 0.000000000 +3468.104 0.000000000 +3468.123 0.000000000 +3468.143 0.000000000 +3468.162 0.000000000 +3468.182 0.000000000 +3468.201 0.000000000 +3468.221 0.000000000 +3468.240 0.000000000 +3468.260 0.000000000 +3468.280 0.000000000 +3468.299 0.000000000 +3468.319 0.000000000 +3468.338 0.000000000 +3468.358 0.000000000 +3468.377 0.000000000 +3468.397 0.000000000 +3468.416 0.000000000 +3468.436 0.000000000 +3468.456 0.000000000 +3468.475 0.000000000 +3468.495 0.000000000 +3468.514 0.000000000 +3468.534 0.000000000 +3468.553 0.000000000 +3468.573 0.000000000 +3468.592 0.000000000 +3468.612 0.000000000 +3468.631 0.000000000 +3468.651 0.000000000 +3468.671 0.000000000 +3468.690 0.000000000 +3468.710 0.000000000 +3468.729 0.000000000 +3468.749 0.000000000 +3468.768 0.000000000 +3468.788 0.000000000 +3468.807 0.000000000 +3468.827 0.000000000 +3468.847 0.000000000 +3468.866 0.000000000 +3468.886 0.000000000 +3468.905 0.000000000 +3468.925 0.000000000 +3468.944 0.000000000 +3468.964 0.000000000 +3468.983 0.000000000 +3469.003 0.000000000 +3469.022 0.000000000 +3469.042 0.000000000 +3469.062 0.000000000 +3469.081 0.000000000 +3469.101 0.000000000 +3469.120 0.000000000 +3469.140 0.000000000 +3469.159 0.000000000 +3469.179 0.000000000 +3469.198 0.000000000 +3469.218 0.000000000 +3469.238 0.000000000 +3469.257 0.000000000 +3469.277 0.000000000 +3469.296 0.000000000 +3469.316 0.000000000 +3469.335 0.000000000 +3469.355 0.000000000 +3469.374 0.000000000 +3469.394 0.000000000 +3469.413 0.000000000 +3469.433 0.000000000 +3469.453 0.000000000 +3469.472 0.000000000 +3469.492 0.000000000 +3469.511 0.000000000 +3469.531 0.000000000 +3469.550 0.000000000 +3469.570 0.000000000 +3469.589 0.000000000 +3469.609 0.000000000 +3469.629 0.000000000 +3469.648 0.000000000 +3469.668 0.000000000 +3469.687 0.000000000 +3469.707 0.000000000 +3469.726 0.000000000 +3469.746 0.000000000 +3469.765 0.000000000 +3469.785 0.000000000 +3469.804 0.000000000 +3469.824 0.000000000 +3469.844 0.000000000 +3469.863 0.000000000 +3469.883 0.000000000 +3469.902 0.000000000 +3469.922 0.000000000 +3469.941 0.000000000 +3469.961 0.000000000 +3469.980 0.000000000 +3470.000 0.000000000 diff --git a/from_bittl/src/test2_Pem.asc b/from_bittl/src/test2_Pem.asc new file mode 100755 index 0000000..5a30571 --- /dev/null +++ b/from_bittl/src/test2_Pem.asc @@ -0,0 +1,1024 @@ +3450.000 0.000000000 +3450.020 0.000000000 +3450.039 0.000000000 +3450.059 0.000000000 +3450.078 0.000000000 +3450.098 0.000000000 +3450.117 0.000000000 +3450.137 0.000000000 +3450.156 0.000000000 +3450.176 0.000000000 +3450.196 0.000000000 +3450.215 0.000000000 +3450.235 0.000000000 +3450.254 0.000000000 +3450.274 0.000000000 +3450.293 0.000000000 +3450.313 0.000000000 +3450.332 0.000000000 +3450.352 0.000000000 +3450.371 0.000000000 +3450.391 0.000000000 +3450.411 0.000000000 +3450.430 0.000000000 +3450.450 0.000000000 +3450.469 0.000000000 +3450.489 0.000000000 +3450.508 0.000000000 +3450.528 0.000000000 +3450.547 0.000000000 +3450.567 0.000000000 +3450.587 0.000000000 +3450.606 0.000000000 +3450.626 0.000000000 +3450.645 0.000000000 +3450.665 0.000000000 +3450.684 0.000000000 +3450.704 0.000000000 +3450.723 0.000000000 +3450.743 0.000000000 +3450.762 0.000000000 +3450.782 0.000000000 +3450.802 0.000000000 +3450.821 0.000000000 +3450.841 0.000000000 +3450.860 0.000000000 +3450.880 0.000000000 +3450.899 0.000000000 +3450.919 0.000000000 +3450.938 0.000000000 +3450.958 0.000000000 +3450.978 0.000000000 +3450.997 0.000000000 +3451.017 0.000000000 +3451.036 0.000000000 +3451.056 0.000000000 +3451.075 0.000000000 +3451.095 0.000000000 +3451.114 0.000000000 +3451.134 0.000000000 +3451.153 0.000000000 +3451.173 0.000000000 +3451.193 0.000000000 +3451.212 0.000000000 +3451.232 0.000000000 +3451.251 0.000000000 +3451.271 0.000000000 +3451.290 0.000000000 +3451.310 0.000000000 +3451.329 0.000000000 +3451.349 0.000000000 +3451.369 0.000000000 +3451.388 0.000000000 +3451.408 0.000000000 +3451.427 0.000000000 +3451.447 0.000000000 +3451.466 0.000000000 +3451.486 0.000000000 +3451.505 0.000000000 +3451.525 0.000000000 +3451.544 0.000000000 +3451.564 0.000000000 +3451.584 0.000000000 +3451.603 0.000000000 +3451.623 0.000000000 +3451.642 0.000000000 +3451.662 0.000000000 +3451.681 0.000000000 +3451.701 0.000000000 +3451.720 0.000000000 +3451.740 0.000000000 +3451.760 0.000000000 +3451.779 0.000000000 +3451.799 0.000000000 +3451.818 0.000000000 +3451.838 0.000000000 +3451.857 0.000000000 +3451.877 0.000000000 +3451.896 0.000000000 +3451.916 0.000000000 +3451.935 0.000000000 +3451.955 0.000000000 +3451.975 0.000000000 +3451.994 0.000000000 +3452.014 0.000000000 +3452.033 0.000000000 +3452.053 0.000000000 +3452.072 0.000000000 +3452.092 0.000000000 +3452.111 0.000000000 +3452.131 0.000000000 +3452.151 0.000000000 +3452.170 0.000000000 +3452.190 0.000000000 +3452.209 0.000000000 +3452.229 0.000000000 +3452.248 0.000000000 +3452.268 0.000000000 +3452.287 0.000000000 +3452.307 0.000000000 +3452.326 0.000000000 +3452.346 0.000000000 +3452.366 0.000000000 +3452.385 0.000000000 +3452.405 0.000000000 +3452.424 0.000000000 +3452.444 0.000000000 +3452.463 0.000000000 +3452.483 0.000000000 +3452.502 0.000000000 +3452.522 0.000000000 +3452.542 0.000000000 +3452.561 0.000000000 +3452.581 0.000000000 +3452.600 0.000000000 +3452.620 0.000000000 +3452.639 0.000000000 +3452.659 0.000000000 +3452.678 0.000000000 +3452.698 0.000000000 +3452.717 0.000000000 +3452.737 0.000000000 +3452.757 0.000000000 +3452.776 0.000000000 +3452.796 0.000000000 +3452.815 0.000000000 +3452.835 0.000000000 +3452.854 0.000000000 +3452.874 0.000000000 +3452.893 0.000000000 +3452.913 0.000000000 +3452.933 0.000000000 +3452.952 0.000000000 +3452.972 0.000000000 +3452.991 0.000000000 +3453.011 0.000000000 +3453.030 0.000000000 +3453.050 0.000000000 +3453.069 0.000000000 +3453.089 0.000000000 +3453.109 0.000000000 +3453.128 0.000000000 +3453.148 0.000000000 +3453.167 0.000000000 +3453.187 0.000000000 +3453.206 0.000000000 +3453.226 0.000000000 +3453.245 0.000000000 +3453.265 0.000000000 +3453.284 0.000000000 +3453.304 0.000000000 +3453.324 0.000000000 +3453.343 0.000000000 +3453.363 0.000000000 +3453.382 0.000000000 +3453.402 0.000000000 +3453.421 0.000000000 +3453.441 0.000000000 +3453.460 0.000000000 +3453.480 0.000000000 +3453.500 0.000000000 +3453.519 0.000000000 +3453.539 0.000000000 +3453.558 0.000000000 +3453.578 0.000000000 +3453.597 0.000000000 +3453.617 0.000000000 +3453.636 0.000000000 +3453.656 0.000000000 +3453.675 0.000000000 +3453.695 0.000000000 +3453.715 0.000000000 +3453.734 0.000000000 +3453.754 0.000000000 +3453.773 0.000000000 +3453.793 0.000000000 +3453.812 0.000000000 +3453.832 0.000000000 +3453.851 0.000000000 +3453.871 0.000000000 +3453.891 0.000000000 +3453.910 0.000000000 +3453.930 0.000000000 +3453.949 0.000000000 +3453.969 0.000000000 +3453.988 0.000000000 +3454.008 0.000000000 +3454.027 0.000000000 +3454.047 0.000000000 +3454.066 0.000000000 +3454.086 0.000000000 +3454.106 0.000000000 +3454.125 0.000000000 +3454.145 0.000000000 +3454.164 0.000000000 +3454.184 0.000000000 +3454.203 0.000000000 +3454.223 0.000000000 +3454.242 0.000000000 +3454.262 0.000000000 +3454.282 0.000000000 +3454.301 0.000000000 +3454.321 0.000000000 +3454.340 0.000000000 +3454.360 0.000000000 +3454.379 0.000000000 +3454.399 0.000000000 +3454.418 0.000000000 +3454.438 0.000000000 +3454.457 0.000000000 +3454.477 0.000000000 +3454.497 0.000000000 +3454.516 0.000000000 +3454.536 0.000000000 +3454.555 0.000000000 +3454.575 0.000000000 +3454.594 0.000000000 +3454.614 0.000000000 +3454.633 0.000000000 +3454.653 0.000000000 +3454.673 0.000000000 +3454.692 0.000000000 +3454.712 0.000000000 +3454.731 0.000000000 +3454.751 0.000000000 +3454.770 0.000000000 +3454.790 0.000000000 +3454.809 0.000000000 +3454.829 0.000000000 +3454.848 0.000000000 +3454.868 0.000000000 +3454.888 0.000000000 +3454.907 0.000000000 +3454.927 0.000000000 +3454.946 0.000000000 +3454.966 0.000000000 +3454.985 0.000000000 +3455.005 0.000000000 +3455.024 0.000000000 +3455.044 0.000000000 +3455.064 0.000000000 +3455.083 0.000000000 +3455.103 0.000000000 +3455.122 0.000000000 +3455.142 0.000000000 +3455.161 0.000000000 +3455.181 0.000000000 +3455.200 0.000000000 +3455.220 0.000000000 +3455.239 0.000000000 +3455.259 0.000000000 +3455.279 0.000000000 +3455.298 0.000000000 +3455.318 0.000000000 +3455.337 0.000000000 +3455.357 0.000000000 +3455.376 0.000000000 +3455.396 0.000000000 +3455.415 0.000000000 +3455.435 0.000000000 +3455.455 0.000000000 +3455.474 0.000000000 +3455.494 0.000000000 +3455.513 0.000000000 +3455.533 0.000000000 +3455.552 0.000000000 +3455.572 0.000000000 +3455.591 0.000000000 +3455.611 0.000000000 +3455.630 0.000000000 +3455.650 0.000000000 +3455.670 0.000000000 +3455.689 0.000000000 +3455.709 0.000000000 +3455.728 0.000000000 +3455.748 0.000000000 +3455.767 0.000000000 +3455.787 0.000000000 +3455.806 0.000000000 +3455.826 0.000000000 +3455.846 0.000000000 +3455.865 0.000000000 +3455.885 0.000000000 +3455.904 0.000000000 +3455.924 0.000000000 +3455.943 0.000000000 +3455.963 0.000000000 +3455.982 0.000000000 +3456.002 0.000000000 +3456.022 0.000000000 +3456.041 0.000000000 +3456.061 0.000000000 +3456.080 0.000000000 +3456.100 0.000000000 +3456.119 0.000000000 +3456.139 0.000000000 +3456.158 0.000000000 +3456.178 0.000000000 +3456.197 0.000000000 +3456.217 0.000000000 +3456.237 0.000000000 +3456.256 0.000000000 +3456.276 0.000000000 +3456.295 0.000000000 +3456.315 0.000000000 +3456.334 0.000000000 +3456.354 0.000000000 +3456.373 0.000000000 +3456.393 0.000000000 +3456.413 0.000000000 +3456.432 0.000000000 +3456.452 0.000000000 +3456.471 0.000000000 +3456.491 0.000000000 +3456.510 0.000000000 +3456.530 0.000000000 +3456.549 0.000000000 +3456.569 0.000000000 +3456.588 0.000000000 +3456.608 0.000000000 +3456.628 0.000000000 +3456.647 0.000000000 +3456.667 0.000000000 +3456.686 0.000000000 +3456.706 0.000000000 +3456.725 0.000000000 +3456.745 0.000000000 +3456.764 0.000000000 +3456.784 0.000000000 +3456.804 0.000000000 +3456.823 0.000000000 +3456.843 0.000000000 +3456.862 0.000000000 +3456.882 0.000000000 +3456.901 0.000000000 +3456.921 0.000000000 +3456.940 0.000000000 +3456.960 0.000000000 +3456.979 0.000000000 +3456.999 0.000000000 +3457.019 0.000000000 +3457.038 0.000000000 +3457.058 0.000000000 +3457.077 0.000000000 +3457.097 0.000000000 +3457.116 0.000000000 +3457.136 0.000000000 +3457.155 0.000000000 +3457.175 0.000000000 +3457.195 0.000000000 +3457.214 0.000000000 +3457.234 0.000000000 +3457.253 0.000000000 +3457.273 0.000000000 +3457.292 0.000000000 +3457.312 0.000000000 +3457.331 0.000000000 +3457.351 0.000000000 +3457.370 0.000000000 +3457.390 0.000000000 +3457.410 0.000000000 +3457.429 0.000000000 +3457.449 0.000000000 +3457.468 0.000000000 +3457.488 0.000000000 +3457.507 0.000000000 +3457.527 0.000000000 +3457.546 0.000000000 +3457.566 0.000000000 +3457.586 0.000000000 +3457.605 0.000000000 +3457.625 0.000000000 +3457.644 0.000000000 +3457.664 0.000000000 +3457.683 0.000000000 +3457.703 0.000000000 +3457.722 0.000000000 +3457.742 0.000000000 +3457.761 0.000000000 +3457.781 0.000000000 +3457.801 0.000000000 +3457.820 0.000000000 +3457.840 0.000000000 +3457.859 0.000000000 +3457.879 0.000000000 +3457.898 0.000000000 +3457.918 0.000000000 +3457.937 0.000000000 +3457.957 0.000000000 +3457.977 0.000000000 +3457.996 0.000000000 +3458.016 0.000000000 +3458.035 0.000000000 +3458.055 0.000000000 +3458.074 0.000000000 +3458.094 0.000000000 +3458.113 0.000000000 +3458.133 0.000000000 +3458.152 0.000000000 +3458.172 0.000000000 +3458.192 0.000000000 +3458.211 0.000000000 +3458.231 0.000000000 +3458.250 0.000000000 +3458.270 0.000000000 +3458.289 0.000000000 +3458.309 0.000000000 +3458.328 0.000000000 +3458.348 0.000000000 +3458.368 0.000000000 +3458.387 0.000000000 +3458.407 0.000000000 +3458.426 0.000000000 +3458.446 0.000000000 +3458.465 0.000000000 +3458.485 0.000000000 +3458.504 0.000000000 +3458.524 0.000000000 +3458.543 0.000000000 +3458.563 0.000000000 +3458.583 0.000000000 +3458.602 0.000000000 +3458.622 0.000000000 +3458.641 0.000000000 +3458.661 0.000000000 +3458.680 0.000000000 +3458.700 0.000000000 +3458.719 -0.000000000 +3458.739 -0.000000000 +3458.759 -0.000000000 +3458.778 -0.000000000 +3458.798 -0.000000000 +3458.817 -0.000000000 +3458.837 -0.000000000 +3458.856 -0.000000000 +3458.876 -0.000000000 +3458.895 -0.000000000 +3458.915 -0.000000000 +3458.935 -0.000000001 +3458.954 -0.000000001 +3458.974 -0.000000003 +3458.993 -0.000000006 +3459.013 -0.000000011 +3459.032 -0.000000022 +3459.052 -0.000000042 +3459.071 -0.000000078 +3459.091 -0.000000140 +3459.110 -0.000000246 +3459.130 -0.000000418 +3459.150 -0.000000694 +3459.169 -0.000001124 +3459.189 -0.000001776 +3459.208 -0.000002743 +3459.228 -0.000004144 +3459.247 -0.000006129 +3459.267 -0.000008885 +3459.286 -0.000012643 +3459.306 -0.000017678 +3459.326 -0.000024328 +3459.345 -0.000033012 +3459.365 -0.000044276 +3459.384 -0.000058873 +3459.404 -0.000077920 +3459.423 -0.000103170 +3459.443 -0.000137467 +3459.462 -0.000185460 +3459.482 -0.000254669 +3459.501 -0.000356929 +3459.521 -0.000510232 +3459.541 -0.000740786 +3459.560 -0.001084993 +3459.580 -0.001590816 +3459.599 -0.002317832 +3459.619 -0.003335237 +3459.638 -0.004717215 +3459.658 -0.006535484 +3459.677 -0.008849490 +3459.697 -0.011695490 +3459.717 -0.015076424 +3459.736 -0.018954814 +3459.756 -0.023250711 +3459.775 -0.027845917 +3459.795 -0.032594444 +3459.814 -0.037337751 +3459.834 -0.041922194 +3459.853 -0.046215533 +3459.873 -0.050119630 +3459.892 -0.053577354 +3459.912 -0.056573075 +3459.932 -0.059127484 +3459.951 -0.061288455 +3459.971 -0.063120182 +3459.990 -0.064692661 +3460.010 -0.066073087 +3460.029 -0.067320002 +3460.049 -0.068480308 +3460.068 -0.069588765 +3460.088 -0.070669244 +3460.108 -0.071737005 +3460.127 -0.072801300 +3460.147 -0.073867799 +3460.166 -0.074940561 +3460.186 -0.076023401 +3460.205 -0.077120715 +3460.225 -0.078237849 +3460.244 -0.079381201 +3460.264 -0.080558210 +3460.283 -0.081777376 +3460.303 -0.083048422 +3460.323 -0.084382638 +3460.342 -0.085793418 +3460.362 -0.087296924 +3460.381 -0.088912756 +3460.401 -0.090664418 +3460.420 -0.092579268 +3460.440 -0.094687590 +3460.459 -0.097020346 +3460.479 -0.099605245 +3460.499 -0.102460979 +3460.518 -0.105589823 +3460.538 -0.108969371 +3460.557 -0.112544726 +3460.577 -0.116223013 +3460.596 -0.119872206 +3460.616 -0.123325966 +3460.635 -0.126395282 +3460.655 -0.128886277 +3460.674 -0.130622046 +3460.694 -0.131464993 +3460.714 -0.131335589 +3460.733 -0.130223815 +3460.753 -0.128190878 +3460.772 -0.125360833 +3460.792 -0.121903827 +3460.811 -0.118014357 +3460.831 -0.113888665 +3460.850 -0.109705116 +3460.870 -0.105610286 +3460.890 -0.101711908 +3460.909 -0.098078301 +3460.929 -0.094742780 +3460.948 -0.091711041 +3460.968 -0.088969519 +3460.987 -0.086493200 +3461.007 -0.084251955 +3461.026 -0.082215051 +3461.046 -0.080353942 +3461.065 -0.078643666 +3461.085 -0.077063248 +3461.105 -0.075595435 +3461.124 -0.074226028 +3461.144 -0.072942893 +3461.163 -0.071734708 +3461.183 -0.070589417 +3461.202 -0.069492393 +3461.222 -0.068424383 +3461.241 -0.067359386 +3461.261 -0.066262799 +3461.281 -0.065090254 +3461.300 -0.063787666 +3461.320 -0.062293003 +3461.339 -0.060540097 +3461.359 -0.058464530 +3461.378 -0.056011175 +3461.398 -0.053142511 +3461.417 -0.049846445 +3461.437 -0.046142189 +3461.457 -0.042082875 +3461.476 -0.037754019 +3461.496 -0.033267647 +3461.515 -0.028752710 +3461.535 -0.024343090 +3461.554 -0.020165002 +3461.574 -0.016325664 +3461.593 -0.012904823 +3461.613 -0.009950162 +3461.632 -0.007476853 +3461.652 -0.005470838 +3461.672 -0.003894846 +3461.691 -0.002695882 +3461.711 -0.001812902 +3461.730 -0.001183628 +3461.750 -0.000749798 +3461.769 -0.000460570 +3461.789 -0.000274170 +3461.808 -0.000158082 +3461.828 -0.000088240 +3461.848 -0.000047661 +3461.867 -0.000024899 +3461.887 -0.000012576 +3461.906 -0.000006139 +3461.926 -0.000002895 +3461.945 -0.000001318 +3461.965 -0.000000579 +3461.984 -0.000000245 +3462.004 -0.000000100 +3462.023 -0.000000039 +3462.043 -0.000000014 +3462.063 -0.000000005 +3462.082 -0.000000001 +3462.102 -0.000000000 +3462.121 0.000000000 +3462.141 0.000000000 +3462.160 0.000000000 +3462.180 0.000000000 +3462.199 0.000000000 +3462.219 0.000000000 +3462.239 0.000000000 +3462.258 0.000000000 +3462.278 0.000000000 +3462.297 0.000000000 +3462.317 0.000000000 +3462.336 0.000000000 +3462.356 0.000000000 +3462.375 0.000000000 +3462.395 0.000000000 +3462.414 0.000000000 +3462.434 0.000000000 +3462.454 0.000000000 +3462.473 0.000000000 +3462.493 0.000000000 +3462.512 0.000000000 +3462.532 0.000000000 +3462.551 0.000000000 +3462.571 0.000000000 +3462.590 0.000000000 +3462.610 0.000000000 +3462.630 0.000000000 +3462.649 0.000000000 +3462.669 0.000000000 +3462.688 0.000000000 +3462.708 0.000000000 +3462.727 0.000000000 +3462.747 0.000000000 +3462.766 0.000000000 +3462.786 0.000000000 +3462.805 0.000000000 +3462.825 0.000000000 +3462.845 0.000000000 +3462.864 0.000000000 +3462.884 0.000000000 +3462.903 0.000000000 +3462.923 0.000000000 +3462.942 0.000000000 +3462.962 0.000000000 +3462.981 0.000000000 +3463.001 0.000000000 +3463.021 0.000000000 +3463.040 0.000000000 +3463.060 0.000000000 +3463.079 0.000000000 +3463.099 0.000000000 +3463.118 0.000000000 +3463.138 0.000000000 +3463.157 0.000000000 +3463.177 0.000000000 +3463.196 0.000000000 +3463.216 0.000000000 +3463.236 0.000000000 +3463.255 0.000000000 +3463.275 0.000000000 +3463.294 0.000000000 +3463.314 0.000000000 +3463.333 0.000000000 +3463.353 0.000000000 +3463.372 0.000000000 +3463.392 0.000000000 +3463.412 0.000000000 +3463.431 0.000000000 +3463.451 0.000000000 +3463.470 0.000000000 +3463.490 0.000000000 +3463.509 0.000000000 +3463.529 0.000000000 +3463.548 0.000000000 +3463.568 0.000000000 +3463.587 0.000000000 +3463.607 0.000000000 +3463.627 0.000000000 +3463.646 0.000000000 +3463.666 0.000000000 +3463.685 0.000000000 +3463.705 0.000000000 +3463.724 0.000000000 +3463.744 0.000000000 +3463.763 0.000000000 +3463.783 0.000000000 +3463.803 0.000000000 +3463.822 0.000000000 +3463.842 0.000000000 +3463.861 0.000000000 +3463.881 0.000000000 +3463.900 0.000000000 +3463.920 0.000000000 +3463.939 0.000000000 +3463.959 0.000000000 +3463.978 0.000000000 +3463.998 0.000000000 +3464.018 0.000000000 +3464.037 0.000000000 +3464.057 0.000000000 +3464.076 0.000000000 +3464.096 0.000000000 +3464.115 0.000000000 +3464.135 0.000000000 +3464.154 0.000000000 +3464.174 0.000000000 +3464.194 0.000000000 +3464.213 0.000000000 +3464.233 0.000000000 +3464.252 0.000000000 +3464.272 0.000000000 +3464.291 0.000000000 +3464.311 0.000000000 +3464.330 0.000000000 +3464.350 0.000000000 +3464.370 0.000000000 +3464.389 0.000000000 +3464.409 0.000000000 +3464.428 0.000000000 +3464.448 0.000000000 +3464.467 0.000000000 +3464.487 0.000000000 +3464.506 0.000000000 +3464.526 0.000000000 +3464.545 0.000000000 +3464.565 0.000000000 +3464.585 0.000000000 +3464.604 0.000000000 +3464.624 0.000000000 +3464.643 0.000000000 +3464.663 0.000000000 +3464.682 0.000000000 +3464.702 0.000000000 +3464.721 0.000000000 +3464.741 0.000000000 +3464.761 0.000000000 +3464.780 0.000000000 +3464.800 0.000000000 +3464.819 0.000000000 +3464.839 0.000000000 +3464.858 0.000000000 +3464.878 0.000000000 +3464.897 0.000000000 +3464.917 0.000000000 +3464.936 0.000000000 +3464.956 0.000000000 +3464.976 0.000000000 +3464.995 0.000000000 +3465.015 0.000000000 +3465.034 0.000000000 +3465.054 0.000000000 +3465.073 0.000000000 +3465.093 0.000000000 +3465.112 0.000000000 +3465.132 0.000000000 +3465.152 0.000000000 +3465.171 0.000000000 +3465.191 0.000000000 +3465.210 0.000000000 +3465.230 0.000000000 +3465.249 0.000000000 +3465.269 0.000000000 +3465.288 0.000000000 +3465.308 0.000000000 +3465.327 0.000000000 +3465.347 0.000000000 +3465.367 0.000000000 +3465.386 0.000000000 +3465.406 0.000000000 +3465.425 0.000000000 +3465.445 0.000000000 +3465.464 0.000000000 +3465.484 0.000000000 +3465.503 0.000000000 +3465.523 0.000000000 +3465.543 0.000000000 +3465.562 0.000000000 +3465.582 0.000000000 +3465.601 0.000000000 +3465.621 0.000000000 +3465.640 0.000000000 +3465.660 0.000000000 +3465.679 0.000000000 +3465.699 0.000000000 +3465.718 0.000000000 +3465.738 0.000000000 +3465.758 0.000000000 +3465.777 0.000000000 +3465.797 0.000000000 +3465.816 0.000000000 +3465.836 0.000000000 +3465.855 0.000000000 +3465.875 0.000000000 +3465.894 0.000000000 +3465.914 0.000000000 +3465.934 0.000000000 +3465.953 0.000000000 +3465.973 0.000000000 +3465.992 0.000000000 +3466.012 0.000000000 +3466.031 0.000000000 +3466.051 0.000000000 +3466.070 0.000000000 +3466.090 0.000000000 +3466.109 0.000000000 +3466.129 0.000000000 +3466.149 0.000000000 +3466.168 0.000000000 +3466.188 0.000000000 +3466.207 0.000000000 +3466.227 0.000000000 +3466.246 0.000000000 +3466.266 0.000000000 +3466.285 0.000000000 +3466.305 0.000000000 +3466.325 0.000000000 +3466.344 0.000000000 +3466.364 0.000000000 +3466.383 0.000000000 +3466.403 0.000000000 +3466.422 0.000000000 +3466.442 0.000000000 +3466.461 0.000000000 +3466.481 0.000000000 +3466.500 0.000000000 +3466.520 0.000000000 +3466.540 0.000000000 +3466.559 0.000000000 +3466.579 0.000000000 +3466.598 0.000000000 +3466.618 0.000000000 +3466.637 0.000000000 +3466.657 0.000000000 +3466.676 0.000000000 +3466.696 0.000000000 +3466.716 0.000000000 +3466.735 0.000000000 +3466.755 0.000000000 +3466.774 0.000000000 +3466.794 0.000000000 +3466.813 0.000000000 +3466.833 0.000000000 +3466.852 0.000000000 +3466.872 0.000000000 +3466.891 0.000000000 +3466.911 0.000000000 +3466.931 0.000000000 +3466.950 0.000000000 +3466.970 0.000000000 +3466.989 0.000000000 +3467.009 0.000000000 +3467.028 0.000000000 +3467.048 0.000000000 +3467.067 0.000000000 +3467.087 0.000000000 +3467.107 0.000000000 +3467.126 0.000000000 +3467.146 0.000000000 +3467.165 0.000000000 +3467.185 0.000000000 +3467.204 0.000000000 +3467.224 0.000000000 +3467.243 0.000000000 +3467.263 0.000000000 +3467.283 0.000000000 +3467.302 0.000000000 +3467.322 0.000000000 +3467.341 0.000000000 +3467.361 0.000000000 +3467.380 0.000000000 +3467.400 0.000000000 +3467.419 0.000000000 +3467.439 0.000000000 +3467.458 0.000000000 +3467.478 0.000000000 +3467.498 0.000000000 +3467.517 0.000000000 +3467.537 0.000000000 +3467.556 0.000000000 +3467.576 0.000000000 +3467.595 0.000000000 +3467.615 0.000000000 +3467.634 0.000000000 +3467.654 0.000000000 +3467.674 0.000000000 +3467.693 0.000000000 +3467.713 0.000000000 +3467.732 0.000000000 +3467.752 0.000000000 +3467.771 0.000000000 +3467.791 0.000000000 +3467.810 0.000000000 +3467.830 0.000000000 +3467.849 0.000000000 +3467.869 0.000000000 +3467.889 0.000000000 +3467.908 0.000000000 +3467.928 0.000000000 +3467.947 0.000000000 +3467.967 0.000000000 +3467.986 0.000000000 +3468.006 0.000000000 +3468.025 0.000000000 +3468.045 0.000000000 +3468.065 0.000000000 +3468.084 0.000000000 +3468.104 0.000000000 +3468.123 0.000000000 +3468.143 0.000000000 +3468.162 0.000000000 +3468.182 0.000000000 +3468.201 0.000000000 +3468.221 0.000000000 +3468.240 0.000000000 +3468.260 0.000000000 +3468.280 0.000000000 +3468.299 0.000000000 +3468.319 0.000000000 +3468.338 0.000000000 +3468.358 0.000000000 +3468.377 0.000000000 +3468.397 0.000000000 +3468.416 0.000000000 +3468.436 0.000000000 +3468.456 0.000000000 +3468.475 0.000000000 +3468.495 0.000000000 +3468.514 0.000000000 +3468.534 0.000000000 +3468.553 0.000000000 +3468.573 0.000000000 +3468.592 0.000000000 +3468.612 0.000000000 +3468.631 0.000000000 +3468.651 0.000000000 +3468.671 0.000000000 +3468.690 0.000000000 +3468.710 0.000000000 +3468.729 0.000000000 +3468.749 0.000000000 +3468.768 0.000000000 +3468.788 0.000000000 +3468.807 0.000000000 +3468.827 0.000000000 +3468.847 0.000000000 +3468.866 0.000000000 +3468.886 0.000000000 +3468.905 0.000000000 +3468.925 0.000000000 +3468.944 0.000000000 +3468.964 0.000000000 +3468.983 0.000000000 +3469.003 0.000000000 +3469.022 0.000000000 +3469.042 0.000000000 +3469.062 0.000000000 +3469.081 0.000000000 +3469.101 0.000000000 +3469.120 0.000000000 +3469.140 0.000000000 +3469.159 0.000000000 +3469.179 0.000000000 +3469.198 0.000000000 +3469.218 0.000000000 +3469.238 0.000000000 +3469.257 0.000000000 +3469.277 0.000000000 +3469.296 0.000000000 +3469.316 0.000000000 +3469.335 0.000000000 +3469.355 0.000000000 +3469.374 0.000000000 +3469.394 0.000000000 +3469.413 0.000000000 +3469.433 0.000000000 +3469.453 0.000000000 +3469.472 0.000000000 +3469.492 0.000000000 +3469.511 0.000000000 +3469.531 0.000000000 +3469.550 0.000000000 +3469.570 0.000000000 +3469.589 0.000000000 +3469.609 0.000000000 +3469.629 0.000000000 +3469.648 0.000000000 +3469.668 0.000000000 +3469.687 0.000000000 +3469.707 0.000000000 +3469.726 0.000000000 +3469.746 0.000000000 +3469.765 0.000000000 +3469.785 0.000000000 +3469.804 0.000000000 +3469.824 0.000000000 +3469.844 0.000000000 +3469.863 0.000000000 +3469.883 0.000000000 +3469.902 0.000000000 +3469.922 0.000000000 +3469.941 0.000000000 +3469.961 0.000000000 +3469.980 0.000000000 +3470.000 0.000000000 diff --git a/from_bittl/src/test2_Qabs.asc b/from_bittl/src/test2_Qabs.asc new file mode 100755 index 0000000..e101310 --- /dev/null +++ b/from_bittl/src/test2_Qabs.asc @@ -0,0 +1,1024 @@ +3450.000 0.003851992 +3450.020 0.003875720 +3450.039 0.003900325 +3450.059 0.003925869 +3450.078 0.003952418 +3450.098 0.003980049 +3450.117 0.004008848 +3450.137 0.004038912 +3450.156 0.004070350 +3450.176 0.004103288 +3450.196 0.004137874 +3450.215 0.004174277 +3450.235 0.004212702 +3450.254 0.004253392 +3450.274 0.004296642 +3450.293 0.004342818 +3450.313 0.004392369 +3450.332 0.004445854 +3450.352 0.004503959 +3450.371 0.004567508 +3450.391 0.004637458 +3450.411 0.004714860 +3450.430 0.004800769 +3450.450 0.004896089 +3450.469 0.005001351 +3450.489 0.005116426 +3450.508 0.005240208 +3450.528 0.005370326 +3450.547 0.005502964 +3450.567 0.005632857 +3450.587 0.005753547 +3450.606 0.005857903 +3450.626 0.005938861 +3450.645 0.005990291 +3450.665 0.006007832 +3450.684 0.005989520 +3450.704 0.005936089 +3450.723 0.005850866 +3450.743 0.005739299 +3450.762 0.005608192 +3450.782 0.005464843 +3450.802 0.005316205 +3450.821 0.005168252 +3450.841 0.005025576 +3450.860 0.004891276 +3450.880 0.004767054 +3450.899 0.004653465 +3450.919 0.004550231 +3450.938 0.004456557 +3450.958 0.004371393 +3450.978 0.004293621 +3450.997 0.004222185 +3451.017 0.004156151 +3451.036 0.004094730 +3451.056 0.004037269 +3451.075 0.003983242 +3451.095 0.003932219 +3451.114 0.003883854 +3451.134 0.003837861 +3451.153 0.003794003 +3451.173 0.003752081 +3451.193 0.003711923 +3451.212 0.003673385 +3451.232 0.003636338 +3451.251 0.003600670 +3451.271 0.003566282 +3451.290 0.003533086 +3451.310 0.003501002 +3451.329 0.003469959 +3451.349 0.003439894 +3451.369 0.003410749 +3451.388 0.003382469 +3451.408 0.003355007 +3451.427 0.003328319 +3451.447 0.003302363 +3451.466 0.003277102 +3451.486 0.003252502 +3451.505 0.003228531 +3451.525 0.003205158 +3451.544 0.003182357 +3451.564 0.003160100 +3451.584 0.003138366 +3451.603 0.003117130 +3451.623 0.003096372 +3451.642 0.003076072 +3451.662 0.003056212 +3451.681 0.003036774 +3451.701 0.003017743 +3451.720 0.002999102 +3451.740 0.002980837 +3451.760 0.002962934 +3451.779 0.002945380 +3451.799 0.002928163 +3451.818 0.002911272 +3451.838 0.002894695 +3451.857 0.002878421 +3451.877 0.002862441 +3451.896 0.002846745 +3451.916 0.002831323 +3451.935 0.002816169 +3451.955 0.002801272 +3451.975 0.002786626 +3451.994 0.002772222 +3452.014 0.002758054 +3452.033 0.002744114 +3452.053 0.002730396 +3452.072 0.002716895 +3452.092 0.002703602 +3452.111 0.002690514 +3452.131 0.002677624 +3452.151 0.002664927 +3452.170 0.002652418 +3452.190 0.002640092 +3452.209 0.002627944 +3452.229 0.002615969 +3452.248 0.002604164 +3452.268 0.002592524 +3452.287 0.002581044 +3452.307 0.002569722 +3452.326 0.002558553 +3452.346 0.002547533 +3452.366 0.002536659 +3452.385 0.002525927 +3452.405 0.002515335 +3452.424 0.002504879 +3452.444 0.002494556 +3452.463 0.002484363 +3452.483 0.002474297 +3452.502 0.002464355 +3452.522 0.002454535 +3452.542 0.002444834 +3452.561 0.002435249 +3452.581 0.002425778 +3452.600 0.002416419 +3452.620 0.002407169 +3452.639 0.002398026 +3452.659 0.002388988 +3452.678 0.002380052 +3452.698 0.002371218 +3452.717 0.002362482 +3452.737 0.002353842 +3452.757 0.002345298 +3452.776 0.002336846 +3452.796 0.002328486 +3452.815 0.002320215 +3452.835 0.002312032 +3452.854 0.002303936 +3452.874 0.002295923 +3452.893 0.002287994 +3452.913 0.002280146 +3452.933 0.002272379 +3452.952 0.002264690 +3452.972 0.002257079 +3452.991 0.002249545 +3453.011 0.002242089 +3453.030 0.002234718 +3453.050 0.002227443 +3453.069 0.002220299 +3453.089 0.002213357 +3453.109 0.002206770 +3453.128 0.002200849 +3453.148 0.002196189 +3453.167 0.002193884 +3453.187 0.002195853 +3453.206 0.002205311 +3453.226 0.002227391 +3453.245 0.002269892 +3453.265 0.002344063 +3453.284 0.002465252 +3453.304 0.002653190 +3453.324 0.002931608 +3453.343 0.003326930 +3453.363 0.003865879 +3453.382 0.004572081 +3453.402 0.005462008 +3453.421 0.006540925 +3453.441 0.007799702 +3453.460 0.009213317 +3453.480 0.010741704 +3453.500 0.012333063 +3453.519 0.013929279 +3453.539 0.015472504 +3453.558 0.016911728 +3453.578 0.018208125 +3453.597 0.019338299 +3453.617 0.020295041 +3453.636 0.021085804 +3453.656 0.021729504 +3453.675 0.022252524 +3453.695 0.022684755 +3453.715 0.023056303 +3453.734 0.023395170 +3453.754 0.023725918 +3453.773 0.024069057 +3453.793 0.024440814 +3453.812 0.024852917 +3453.832 0.025312128 +3453.851 0.025819460 +3453.871 0.026369160 +3453.891 0.026947795 +3453.910 0.027533835 +3453.930 0.028098188 +3453.949 0.028606008 +3453.969 0.029019823 +3453.988 0.029303710 +3454.008 0.029427893 +3454.027 0.029372926 +3454.047 0.029132617 +3454.066 0.028715052 +3454.086 0.028141495 +3454.106 0.027443395 +3454.125 0.026658134 +3454.145 0.025824381 +3454.164 0.024977899 +3454.184 0.024148442 +3454.203 0.023358072 +3454.223 0.022620849 +3454.242 0.021943637 +3454.262 0.021327586 +3454.282 0.020769863 +3454.301 0.020265288 +3454.321 0.019807661 +3454.340 0.019390688 +3454.360 0.019008546 +3454.379 0.018656146 +3454.399 0.018329206 +3454.418 0.018024202 +3454.438 0.017738277 +3454.457 0.017469117 +3454.477 0.017214838 +3454.497 0.016973884 +3454.516 0.016744942 +3454.536 0.016526888 +3454.555 0.016318753 +3454.575 0.016119702 +3454.594 0.015929019 +3454.614 0.015746084 +3454.633 0.015570350 +3454.653 0.015401320 +3454.673 0.015238531 +3454.692 0.015081555 +3454.712 0.014930007 +3454.731 0.014783550 +3454.751 0.014641897 +3454.770 0.014504794 +3454.790 0.014372003 +3454.809 0.014243286 +3454.829 0.014118405 +3454.848 0.013997132 +3454.868 0.013879269 +3454.888 0.013764654 +3454.907 0.013653156 +3454.927 0.013544659 +3454.946 0.013439037 +3454.966 0.013336144 +3454.985 0.013235827 +3455.005 0.013137939 +3455.024 0.013042367 +3455.044 0.012949033 +3455.064 0.012857887 +3455.083 0.012768874 +3455.103 0.012681916 +3455.122 0.012596906 +3455.142 0.012513721 +3455.161 0.012432255 +3455.181 0.012352441 +3455.200 0.012274256 +3455.220 0.012197694 +3455.239 0.012122737 +3455.259 0.012049330 +3455.279 0.011977374 +3455.298 0.011906758 +3455.318 0.011837394 +3455.337 0.011769246 +3455.357 0.011702327 +3455.376 0.011636670 +3455.396 0.011572281 +3455.415 0.011509114 +3455.435 0.011447068 +3455.455 0.011386026 +3455.474 0.011325906 +3455.494 0.011266690 +3455.513 0.011208426 +3455.533 0.011151181 +3455.552 0.011094986 +3455.572 0.011039799 +3455.591 0.010985505 +3455.611 0.010931967 +3455.630 0.010879088 +3455.650 0.010826850 +3455.670 0.010775305 +3455.689 0.010724507 +3455.709 0.010674415 +3455.728 0.010624809 +3455.748 0.010575241 +3455.767 0.010525028 +3455.787 0.010473259 +3455.806 0.010418768 +3455.826 0.010360066 +3455.846 0.010295248 +3455.865 0.010221969 +3455.885 0.010137565 +3455.904 0.010039382 +3455.924 0.009925310 +3455.943 0.009794396 +3455.963 0.009647378 +3455.982 0.009486939 +3456.002 0.009317582 +3456.022 0.009145100 +3456.041 0.008975771 +3456.061 0.008815455 +3456.080 0.008668819 +3456.100 0.008538850 +3456.119 0.008426710 +3456.139 0.008331923 +3456.158 0.008252787 +3456.178 0.008186872 +3456.197 0.008131498 +3456.217 0.008084103 +3456.237 0.008042475 +3456.256 0.008004856 +3456.276 0.007969940 +3456.295 0.007936816 +3456.315 0.007904885 +3456.334 0.007873771 +3456.354 0.007843249 +3456.373 0.007813190 +3456.393 0.007783523 +3456.413 0.007754207 +3456.432 0.007725220 +3456.452 0.007696548 +3456.471 0.007668181 +3456.491 0.007640112 +3456.510 0.007612336 +3456.530 0.007584845 +3456.549 0.007557635 +3456.569 0.007530700 +3456.588 0.007504035 +3456.608 0.007477635 +3456.628 0.007451494 +3456.647 0.007425609 +3456.667 0.007399974 +3456.686 0.007374584 +3456.706 0.007349436 +3456.725 0.007324523 +3456.745 0.007299843 +3456.764 0.007275390 +3456.784 0.007251162 +3456.804 0.007227153 +3456.823 0.007203361 +3456.843 0.007179785 +3456.862 0.007156427 +3456.882 0.007133298 +3456.901 0.007110428 +3456.921 0.007087886 +3456.940 0.007065814 +3456.960 0.007044501 +3456.979 0.007024487 +3456.999 0.007006750 +3457.019 0.006992974 +3457.038 0.006985918 +3457.058 0.006989893 +3457.077 0.007011303 +3457.097 0.007059164 +3457.116 0.007145473 +3457.136 0.007285234 +3457.155 0.007495945 +3457.175 0.007796394 +3457.195 0.008204714 +3457.214 0.008735816 +3457.234 0.009398566 +3457.253 0.010193187 +3457.273 0.011109503 +3457.292 0.012126550 +3457.312 0.013213833 +3457.331 0.014334205 +3457.351 0.015447916 +3457.370 0.016517116 +3457.390 0.017509997 +3457.410 0.018403813 +3457.429 0.019186353 +3457.449 0.019855745 +3457.468 0.020418896 +3457.488 0.020889043 +3457.507 0.021283012 +3457.527 0.021618703 +3457.546 0.021913136 +3457.566 0.022181211 +3457.586 0.022435145 +3457.605 0.022684442 +3457.625 0.022936209 +3457.644 0.023195639 +3457.664 0.023466529 +3457.683 0.023751751 +3457.703 0.024053648 +3457.722 0.024374341 +3457.742 0.024715980 +3457.761 0.025080915 +3457.781 0.025471808 +3457.801 0.025891629 +3457.820 0.026343500 +3457.840 0.026830294 +3457.859 0.027353939 +3457.879 0.027914405 +3457.898 0.028508410 +3457.918 0.029128037 +3457.937 0.029759521 +3457.957 0.030382601 +3457.977 0.030970782 +3457.996 0.031492792 +3458.016 0.031915279 +3458.035 0.032206476 +3458.055 0.032340293 +3458.074 0.032300073 +3458.094 0.032081241 +3458.113 0.031692250 +3458.133 0.031153606 +3458.152 0.030495143 +3458.172 0.029752142 +3458.192 0.028961051 +3458.211 0.028155604 +3458.231 0.027363935 +3458.250 0.026606993 +3458.270 0.025898238 +3458.289 0.025244372 +3458.309 0.024646707 +3458.328 0.024102770 +3458.348 0.023607833 +3458.368 0.023156153 +3458.387 0.022741862 +3458.407 0.022359510 +3458.426 0.022004332 +3458.446 0.021672315 +3458.465 0.021360155 +3458.485 0.021065159 +3458.504 0.020785131 +3458.524 0.020518271 +3458.543 0.020263085 +3458.563 0.020018321 +3458.583 0.019782912 +3458.602 0.019555935 +3458.622 0.019336581 +3458.641 0.019124136 +3458.661 0.018917964 +3458.680 0.018717492 +3458.700 0.018522205 +3458.719 0.018331627 +3458.739 0.018145319 +3458.759 0.017962866 +3458.778 0.017783875 +3458.798 0.017607960 +3458.817 0.017434719 +3458.837 0.017263696 +3458.856 0.017094324 +3458.876 0.016925830 +3458.895 0.016757118 +3458.915 0.016586587 +3458.935 0.016411926 +3458.954 0.016229889 +3458.974 0.016036113 +3458.993 0.015825070 +3459.013 0.015590231 +3459.032 0.015324523 +3459.052 0.015021131 +3459.071 0.014674580 +3459.091 0.014281967 +3459.110 0.013844090 +3459.130 0.013366186 +3459.150 0.012857999 +3459.169 0.012333054 +3459.189 0.011807174 +3459.208 0.011296525 +3459.228 0.010815569 +3459.247 0.010375377 +3459.267 0.009982606 +3459.286 0.009639301 +3459.306 0.009343437 +3459.326 0.009089981 +3459.345 0.008872161 +3459.365 0.008682677 +3459.384 0.008514639 +3459.404 0.008362163 +3459.423 0.008220626 +3459.443 0.008086668 +3459.462 0.007958021 +3459.482 0.007833271 +3459.501 0.007711615 +3459.521 0.007592645 +3459.541 0.007476189 +3459.560 0.007362192 +3459.580 0.007250643 +3459.599 0.007141534 +3459.619 0.007034833 +3459.638 0.006930480 +3459.658 0.006828388 +3459.677 0.006728444 +3459.697 0.006630516 +3459.717 0.006534464 +3459.736 0.006440144 +3459.756 0.006347414 +3459.775 0.006256137 +3459.795 0.006166188 +3459.814 0.006077454 +3459.834 0.005989833 +3459.853 0.005903242 +3459.873 0.005817613 +3459.892 0.005732902 +3459.912 0.005649085 +3459.932 0.005566170 +3459.951 0.005484196 +3459.971 0.005403241 +3459.990 0.005323423 +3460.010 0.005244905 +3460.029 0.005167891 +3460.049 0.005092630 +3460.068 0.005019402 +3460.088 0.004948516 +3460.108 0.004880299 +3460.127 0.004815084 +3460.147 0.004753199 +3460.166 0.004694960 +3460.186 0.004640657 +3460.205 0.004590554 +3460.225 0.004544889 +3460.244 0.004503885 +3460.264 0.004467767 +3460.283 0.004436801 +3460.303 0.004411343 +3460.323 0.004391912 +3460.342 0.004379265 +3460.362 0.004374479 +3460.381 0.004379010 +3460.401 0.004394706 +3460.420 0.004423745 +3460.440 0.004468475 +3460.459 0.004531150 +3460.479 0.004613573 +3460.499 0.004716701 +3460.518 0.004840282 +3460.538 0.004982595 +3460.557 0.005140386 +3460.577 0.005309025 +3460.596 0.005482880 +3460.616 0.005655847 +3460.635 0.005821943 +3460.655 0.005975838 +3460.674 0.006113259 +3460.694 0.006231186 +3460.714 0.006327869 +3460.733 0.006402701 +3460.753 0.006456013 +3460.772 0.006488869 +3460.792 0.006502900 +3460.811 0.006500208 +3460.831 0.006483325 +3460.850 0.006455202 +3460.870 0.006419193 +3460.890 0.006379002 +3460.909 0.006338579 +3460.929 0.006301943 +3460.948 0.006272961 +3460.968 0.006255087 +3460.987 0.006251100 +3461.007 0.006262876 +3461.026 0.006291235 +3461.046 0.006335884 +3461.065 0.006395472 +3461.085 0.006467755 +3461.105 0.006549841 +3461.124 0.006638484 +3461.144 0.006730394 +3461.163 0.006822500 +3461.183 0.006912170 +3461.202 0.006997344 +3461.222 0.007076589 +3461.241 0.007149083 +3461.261 0.007214547 +3461.281 0.007273138 +3461.300 0.007325326 +3461.320 0.007371781 +3461.339 0.007413266 +3461.359 0.007450563 +3461.378 0.007484413 +3461.398 0.007515490 +3461.417 0.007544383 +3461.437 0.007571599 +3461.457 0.007597564 +3461.476 0.007622635 +3461.496 0.007647105 +3461.515 0.007671211 +3461.535 0.007695139 +3461.554 0.007719029 +3461.574 0.007742975 +3461.593 0.007767036 +3461.613 0.007791238 +3461.632 0.007815582 +3461.652 0.007840053 +3461.672 0.007864626 +3461.691 0.007889274 +3461.711 0.007913975 +3461.730 0.007938714 +3461.750 0.007963490 +3461.769 0.007988314 +3461.789 0.008013209 +3461.808 0.008038216 +3461.828 0.008063388 +3461.848 0.008088799 +3461.867 0.008114550 +3461.887 0.008140780 +3461.906 0.008167692 +3461.926 0.008195574 +3461.945 0.008224845 +3461.965 0.008256099 +3461.984 0.008290153 +3462.004 0.008328089 +3462.023 0.008371271 +3462.043 0.008421337 +3462.063 0.008480124 +3462.082 0.008549546 +3462.102 0.008631413 +3462.121 0.008727201 +3462.141 0.008837811 +3462.160 0.008963345 +3462.180 0.009102933 +3462.199 0.009254621 +3462.219 0.009415335 +3462.239 0.009580894 +3462.258 0.009746047 +3462.278 0.009904520 +3462.297 0.010049089 +3462.317 0.010171732 +3462.336 0.010263947 +3462.356 0.010317324 +3462.375 0.010324437 +3462.395 0.010279976 +3462.414 0.010181977 +3462.434 0.010032837 +3462.454 0.009839777 +3462.473 0.009614459 +3462.493 0.009371657 +3462.512 0.009127119 +3462.532 0.008895041 +3462.551 0.008685721 +3462.571 0.008503970 +3462.590 0.008348676 +3462.610 0.008213607 +3462.630 0.008089219 +3462.649 0.007964977 +3462.669 0.007831615 +3462.688 0.007682833 +3462.708 0.007516132 +3462.727 0.007332745 +3462.747 0.007136849 +3462.766 0.006934364 +3462.786 0.006731686 +3462.805 0.006534626 +3462.825 0.006347713 +3462.845 0.006173899 +3462.864 0.006014592 +3462.884 0.005869929 +3462.903 0.005739140 +3462.923 0.005620917 +3462.942 0.005513724 +3462.962 0.005416022 +3462.981 0.005326395 +3463.001 0.005243622 +3463.021 0.005166682 +3463.040 0.005094745 +3463.060 0.005027138 +3463.079 0.004963322 +3463.099 0.004902858 +3463.118 0.004845387 +3463.138 0.004790611 +3463.157 0.004738277 +3463.177 0.004688172 +3463.196 0.004640111 +3463.216 0.004593934 +3463.236 0.004549499 +3463.255 0.004506682 +3463.275 0.004465372 +3463.294 0.004425469 +3463.314 0.004386885 +3463.333 0.004349539 +3463.353 0.004313358 +3463.372 0.004278275 +3463.392 0.004244231 +3463.412 0.004211168 +3463.431 0.004179038 +3463.451 0.004147791 +3463.470 0.004117385 +3463.490 0.004087781 +3463.509 0.004058940 +3463.529 0.004030827 +3463.548 0.004003412 +3463.568 0.003976663 +3463.587 0.003950553 +3463.607 0.003925055 +3463.627 0.003900144 +3463.646 0.003875798 +3463.666 0.003851994 +3463.685 0.003828712 +3463.705 0.003805933 +3463.724 0.003783639 +3463.744 0.003761811 +3463.763 0.003740435 +3463.783 0.003719493 +3463.803 0.003698973 +3463.822 0.003678859 +3463.842 0.003659139 +3463.861 0.003639799 +3463.881 0.003620829 +3463.900 0.003602216 +3463.920 0.003583950 +3463.939 0.003566021 +3463.959 0.003548418 +3463.978 0.003531132 +3463.998 0.003514155 +3464.018 0.003497476 +3464.037 0.003481089 +3464.057 0.003464986 +3464.076 0.003449158 +3464.096 0.003433598 +3464.115 0.003418300 +3464.135 0.003403257 +3464.154 0.003388462 +3464.174 0.003373910 +3464.194 0.003359594 +3464.213 0.003345508 +3464.233 0.003331648 +3464.252 0.003318007 +3464.272 0.003304581 +3464.291 0.003291366 +3464.311 0.003278355 +3464.330 0.003265545 +3464.350 0.003252932 +3464.370 0.003240511 +3464.389 0.003228277 +3464.409 0.003216228 +3464.428 0.003204360 +3464.448 0.003192668 +3464.467 0.003181149 +3464.487 0.003169800 +3464.506 0.003158618 +3464.526 0.003147599 +3464.545 0.003136741 +3464.565 0.003126040 +3464.585 0.003115493 +3464.604 0.003105098 +3464.624 0.003094853 +3464.643 0.003084753 +3464.663 0.003074798 +3464.682 0.003064985 +3464.702 0.003055311 +3464.721 0.003045774 +3464.741 0.003036372 +3464.761 0.003027103 +3464.780 0.003017965 +3464.800 0.003008956 +3464.819 0.003000073 +3464.839 0.002991316 +3464.858 0.002982683 +3464.878 0.002974171 +3464.897 0.002965779 +3464.917 0.002957506 +3464.936 0.002949350 +3464.956 0.002941310 +3464.976 0.002933384 +3464.995 0.002925571 +3465.015 0.002917869 +3465.034 0.002910278 +3465.054 0.002902797 +3465.073 0.002895423 +3465.093 0.002888157 +3465.112 0.002880996 +3465.132 0.002873941 +3465.152 0.002866990 +3465.171 0.002860142 +3465.191 0.002853396 +3465.210 0.002846751 +3465.230 0.002840206 +3465.249 0.002833757 +3465.269 0.002827398 +3465.288 0.002821118 +3465.308 0.002814890 +3465.327 0.002808664 +3465.347 0.002802342 +3465.367 0.002795748 +3465.386 0.002788568 +3465.406 0.002780278 +3465.425 0.002770047 +3465.445 0.002756616 +3465.464 0.002738189 +3465.484 0.002712342 +3465.503 0.002676016 +3465.523 0.002625621 +3465.543 0.002557303 +3465.562 0.002467381 +3465.582 0.002352921 +3465.601 0.002212381 +3465.621 0.002046182 +3465.640 0.001857076 +3465.660 0.001650182 +3465.679 0.001432629 +3465.699 0.001212819 +3465.718 0.000999461 +3465.738 0.000800525 +3465.758 0.000622354 +3465.777 0.000469080 +3465.797 0.000342423 +3465.816 0.000241885 +3465.836 0.000165222 +3465.855 0.000109059 +3465.875 0.000069527 +3465.894 0.000042792 +3465.914 0.000025415 +3465.934 0.000014562 +3465.953 0.000008047 +3465.973 0.000004288 +3465.992 0.000002202 +3466.012 0.000001090 +3466.031 0.000000520 +3466.051 0.000000239 +3466.070 0.000000106 +3466.090 0.000000045 +3466.109 0.000000019 +3466.129 0.000000007 +3466.149 0.000000003 +3466.168 0.000000001 +3466.188 0.000000000 +3466.207 0.000000000 +3466.227 0.000000000 +3466.246 0.000000000 +3466.266 0.000000000 +3466.285 0.000000000 +3466.305 0.000000000 +3466.325 0.000000000 +3466.344 0.000000000 +3466.364 0.000000000 +3466.383 0.000000000 +3466.403 0.000000000 +3466.422 0.000000000 +3466.442 0.000000000 +3466.461 0.000000000 +3466.481 0.000000000 +3466.500 0.000000000 +3466.520 0.000000000 +3466.540 0.000000000 +3466.559 0.000000000 +3466.579 0.000000000 +3466.598 0.000000000 +3466.618 0.000000000 +3466.637 0.000000000 +3466.657 0.000000000 +3466.676 0.000000000 +3466.696 0.000000000 +3466.716 0.000000000 +3466.735 0.000000000 +3466.755 0.000000000 +3466.774 0.000000000 +3466.794 0.000000000 +3466.813 0.000000000 +3466.833 0.000000000 +3466.852 0.000000000 +3466.872 0.000000000 +3466.891 0.000000000 +3466.911 0.000000000 +3466.931 0.000000000 +3466.950 0.000000000 +3466.970 0.000000000 +3466.989 0.000000000 +3467.009 0.000000000 +3467.028 0.000000000 +3467.048 0.000000000 +3467.067 0.000000000 +3467.087 0.000000000 +3467.107 0.000000000 +3467.126 0.000000000 +3467.146 0.000000000 +3467.165 0.000000000 +3467.185 0.000000000 +3467.204 0.000000000 +3467.224 0.000000000 +3467.243 0.000000000 +3467.263 0.000000000 +3467.283 0.000000000 +3467.302 0.000000000 +3467.322 0.000000000 +3467.341 0.000000000 +3467.361 0.000000000 +3467.380 0.000000000 +3467.400 0.000000000 +3467.419 0.000000000 +3467.439 0.000000000 +3467.458 0.000000000 +3467.478 0.000000000 +3467.498 0.000000000 +3467.517 0.000000000 +3467.537 0.000000000 +3467.556 0.000000000 +3467.576 0.000000000 +3467.595 0.000000000 +3467.615 0.000000000 +3467.634 0.000000000 +3467.654 0.000000000 +3467.674 0.000000000 +3467.693 0.000000000 +3467.713 0.000000000 +3467.732 0.000000000 +3467.752 0.000000000 +3467.771 0.000000000 +3467.791 0.000000000 +3467.810 0.000000000 +3467.830 0.000000000 +3467.849 0.000000000 +3467.869 0.000000000 +3467.889 0.000000000 +3467.908 0.000000000 +3467.928 0.000000000 +3467.947 0.000000000 +3467.967 0.000000000 +3467.986 0.000000000 +3468.006 0.000000000 +3468.025 0.000000000 +3468.045 0.000000000 +3468.065 0.000000000 +3468.084 0.000000000 +3468.104 0.000000000 +3468.123 0.000000000 +3468.143 0.000000000 +3468.162 0.000000000 +3468.182 0.000000000 +3468.201 0.000000000 +3468.221 0.000000000 +3468.240 0.000000000 +3468.260 0.000000000 +3468.280 0.000000000 +3468.299 0.000000000 +3468.319 0.000000000 +3468.338 0.000000000 +3468.358 0.000000000 +3468.377 0.000000000 +3468.397 0.000000000 +3468.416 0.000000000 +3468.436 0.000000000 +3468.456 0.000000000 +3468.475 0.000000000 +3468.495 0.000000000 +3468.514 0.000000000 +3468.534 0.000000000 +3468.553 0.000000000 +3468.573 0.000000000 +3468.592 0.000000000 +3468.612 0.000000000 +3468.631 0.000000000 +3468.651 0.000000000 +3468.671 0.000000000 +3468.690 0.000000000 +3468.710 0.000000000 +3468.729 0.000000000 +3468.749 0.000000000 +3468.768 0.000000000 +3468.788 0.000000000 +3468.807 0.000000000 +3468.827 0.000000000 +3468.847 0.000000000 +3468.866 0.000000000 +3468.886 0.000000000 +3468.905 0.000000000 +3468.925 0.000000000 +3468.944 0.000000000 +3468.964 0.000000000 +3468.983 0.000000000 +3469.003 0.000000000 +3469.022 0.000000000 +3469.042 0.000000000 +3469.062 0.000000000 +3469.081 0.000000000 +3469.101 0.000000000 +3469.120 0.000000000 +3469.140 0.000000000 +3469.159 0.000000000 +3469.179 0.000000000 +3469.198 0.000000000 +3469.218 0.000000000 +3469.238 0.000000000 +3469.257 0.000000000 +3469.277 0.000000000 +3469.296 0.000000000 +3469.316 0.000000000 +3469.335 0.000000000 +3469.355 0.000000000 +3469.374 0.000000000 +3469.394 0.000000000 +3469.413 0.000000000 +3469.433 0.000000000 +3469.453 0.000000000 +3469.472 0.000000000 +3469.492 0.000000000 +3469.511 0.000000000 +3469.531 0.000000000 +3469.550 0.000000000 +3469.570 0.000000000 +3469.589 0.000000000 +3469.609 0.000000000 +3469.629 0.000000000 +3469.648 0.000000000 +3469.668 0.000000000 +3469.687 0.000000000 +3469.707 0.000000000 +3469.726 0.000000000 +3469.746 0.000000000 +3469.765 0.000000000 +3469.785 0.000000000 +3469.804 0.000000000 +3469.824 0.000000000 +3469.844 0.000000000 +3469.863 0.000000000 +3469.883 0.000000000 +3469.902 0.000000000 +3469.922 0.000000000 +3469.941 0.000000000 +3469.961 0.000000000 +3469.980 0.000000000 +3470.000 0.000000000 diff --git a/from_bittl/src/test2_Qem.asc b/from_bittl/src/test2_Qem.asc new file mode 100755 index 0000000..bd95999 --- /dev/null +++ b/from_bittl/src/test2_Qem.asc @@ -0,0 +1,1024 @@ +3450.000 -0.002780817 +3450.020 -0.002801588 +3450.039 -0.002822999 +3450.059 -0.002845090 +3450.078 -0.002867907 +3450.098 -0.002891499 +3450.117 -0.002915921 +3450.137 -0.002941236 +3450.156 -0.002967513 +3450.176 -0.002994829 +3450.196 -0.003023275 +3450.215 -0.003052951 +3450.235 -0.003083977 +3450.254 -0.003116489 +3450.274 -0.003150650 +3450.293 -0.003186655 +3450.313 -0.003224742 +3450.332 -0.003265201 +3450.352 -0.003308391 +3450.371 -0.003354756 +3450.391 -0.003404843 +3450.411 -0.003459308 +3450.430 -0.003518915 +3450.450 -0.003584507 +3450.469 -0.003656933 +3450.489 -0.003736935 +3450.508 -0.003824968 +3450.528 -0.003920975 +3450.547 -0.004024136 +3450.567 -0.004132639 +3450.587 -0.004243523 +3450.606 -0.004352672 +3450.626 -0.004454998 +3450.645 -0.004544846 +3450.665 -0.004616572 +3450.684 -0.004665226 +3450.704 -0.004687217 +3450.723 -0.004680826 +3450.743 -0.004646463 +3450.762 -0.004586605 +3450.782 -0.004505437 +3450.802 -0.004408263 +3450.821 -0.004300823 +3450.841 -0.004188630 +3450.860 -0.004076452 +3450.880 -0.003967992 +3450.899 -0.003865775 +3450.919 -0.003771220 +3450.938 -0.003684828 +3450.958 -0.003606432 +3450.978 -0.003535439 +3450.997 -0.003471046 +3451.017 -0.003412392 +3451.036 -0.003358664 +3451.056 -0.003309151 +3451.075 -0.003263279 +3451.095 -0.003220626 +3451.114 -0.003180951 +3451.134 -0.003144232 +3451.153 -0.003110748 +3451.173 -0.003081184 +3451.193 -0.003056794 +3451.212 -0.003039589 +3451.232 -0.003032529 +3451.251 -0.003039678 +3451.271 -0.003066249 +3451.290 -0.003118465 +3451.310 -0.003203162 +3451.329 -0.003327122 +3451.349 -0.003496146 +3451.369 -0.003713986 +3451.388 -0.003981314 +3451.408 -0.004294954 +3451.427 -0.004647579 +3451.447 -0.005028035 +3451.466 -0.005422297 +3451.486 -0.005814940 +3451.505 -0.006190856 +3451.525 -0.006536921 +3451.544 -0.006843293 +3451.564 -0.007104134 +3451.584 -0.007317693 +3451.603 -0.007485807 +3451.623 -0.007613023 +3451.642 -0.007705529 +3451.662 -0.007770139 +3451.681 -0.007813461 +3451.701 -0.007841338 +3451.720 -0.007858555 +3451.740 -0.007868784 +3451.760 -0.007874681 +3451.779 -0.007878061 +3451.799 -0.007880109 +3451.818 -0.007881560 +3451.838 -0.007882849 +3451.857 -0.007884217 +3451.877 -0.007885787 +3451.896 -0.007887616 +3451.916 -0.007889726 +3451.935 -0.007892127 +3451.955 -0.007894825 +3451.975 -0.007897826 +3451.994 -0.007901131 +3452.014 -0.007904737 +3452.033 -0.007908631 +3452.053 -0.007912801 +3452.072 -0.007917242 +3452.092 -0.007921953 +3452.111 -0.007926939 +3452.131 -0.007932209 +3452.151 -0.007937760 +3452.170 -0.007943584 +3452.190 -0.007949668 +3452.209 -0.007956002 +3452.229 -0.007962584 +3452.248 -0.007969421 +3452.268 -0.007976524 +3452.287 -0.007983901 +3452.307 -0.007991549 +3452.326 -0.007999453 +3452.346 -0.008007601 +3452.366 -0.008015984 +3452.385 -0.008024606 +3452.405 -0.008033481 +3452.424 -0.008042626 +3452.444 -0.008052045 +3452.463 -0.008061732 +3452.483 -0.008071670 +3452.502 -0.008081843 +3452.522 -0.008092246 +3452.542 -0.008102891 +3452.561 -0.008113797 +3452.581 -0.008124984 +3452.600 -0.008136456 +3452.620 -0.008148203 +3452.639 -0.008160203 +3452.659 -0.008172439 +3452.678 -0.008184910 +3452.698 -0.008197631 +3452.717 -0.008210630 +3452.737 -0.008223930 +3452.757 -0.008237536 +3452.776 -0.008251435 +3452.796 -0.008265599 +3452.815 -0.008280010 +3452.835 -0.008294666 +3452.854 -0.008309588 +3452.874 -0.008324812 +3452.893 -0.008340366 +3452.913 -0.008356258 +3452.933 -0.008372474 +3452.952 -0.008388982 +3452.972 -0.008405756 +3452.991 -0.008422795 +3453.011 -0.008440122 +3453.030 -0.008457780 +3453.050 -0.008475808 +3453.069 -0.008494221 +3453.089 -0.008513005 +3453.109 -0.008532125 +3453.128 -0.008551548 +3453.148 -0.008571264 +3453.167 -0.008591298 +3453.187 -0.008611698 +3453.206 -0.008632518 +3453.226 -0.008653786 +3453.245 -0.008675496 +3453.265 -0.008697610 +3453.284 -0.008720087 +3453.304 -0.008742905 +3453.324 -0.008766080 +3453.343 -0.008789668 +3453.363 -0.008813733 +3453.382 -0.008838326 +3453.402 -0.008863459 +3453.421 -0.008889101 +3453.441 -0.008915203 +3453.460 -0.008941725 +3453.480 -0.008968670 +3453.500 -0.008996084 +3453.519 -0.009024048 +3453.539 -0.009052639 +3453.558 -0.009081899 +3453.578 -0.009111819 +3453.597 -0.009142352 +3453.617 -0.009173443 +3453.636 -0.009205067 +3453.656 -0.009237255 +3453.675 -0.009270089 +3453.695 -0.009303672 +3453.715 -0.009338089 +3453.734 -0.009373376 +3453.754 -0.009409510 +3453.773 -0.009446432 +3453.793 -0.009484093 +3453.812 -0.009522491 +3453.832 -0.009561691 +3453.851 -0.009601812 +3453.871 -0.009642988 +3453.891 -0.009685318 +3453.910 -0.009728840 +3453.930 -0.009773528 +3453.949 -0.009819328 +3453.969 -0.009866207 +3453.988 -0.009914197 +3454.008 -0.009963409 +3454.027 -0.010014015 +3454.047 -0.010066195 +3454.066 -0.010120090 +3454.086 -0.010175766 +3454.106 -0.010233225 +3454.125 -0.010292446 +3454.145 -0.010353442 +3454.164 -0.010416310 +3454.184 -0.010481249 +3454.203 -0.010548529 +3454.223 -0.010618443 +3454.242 -0.010691247 +3454.262 -0.010767128 +3454.282 -0.010846212 +3454.301 -0.010928623 +3454.321 -0.011014549 +3454.340 -0.011104306 +3454.360 -0.011198375 +3454.379 -0.011297380 +3454.399 -0.011402053 +3454.418 -0.011513193 +3454.438 -0.011631654 +3454.457 -0.011758394 +3454.477 -0.011894570 +3454.497 -0.012041664 +3454.516 -0.012201577 +3454.536 -0.012376650 +3454.555 -0.012569558 +3454.575 -0.012783048 +3454.594 -0.013019503 +3454.614 -0.013280365 +3454.633 -0.013565451 +3454.653 -0.013872238 +3454.673 -0.014195244 +3454.692 -0.014525631 +3454.712 -0.014851210 +3454.731 -0.015156970 +3454.751 -0.015426208 +3454.770 -0.015642194 +3454.790 -0.015790190 +3454.809 -0.015859497 +3454.829 -0.015845163 +3454.848 -0.015749016 +3454.868 -0.015579795 +3454.888 -0.015352368 +3454.907 -0.015086182 +3454.927 -0.014803238 +3454.946 -0.014525948 +3454.966 -0.014275172 +3454.985 -0.014068626 +3455.005 -0.013919747 +3455.024 -0.013836988 +3455.044 -0.013823499 +3455.064 -0.013877150 +3455.083 -0.013990878 +3455.103 -0.014153406 +3455.122 -0.014350322 +3455.142 -0.014565479 +3455.161 -0.014782590 +3455.181 -0.014986827 +3455.200 -0.015166181 +3455.220 -0.015312383 +3455.239 -0.015421266 +3455.259 -0.015492537 +3455.279 -0.015529069 +3455.298 -0.015535877 +3455.318 -0.015519014 +3455.337 -0.015484579 +3455.357 -0.015437987 +3455.376 -0.015383580 +3455.396 -0.015324553 +3455.415 -0.015263110 +3455.435 -0.015200742 +3455.455 -0.015138506 +3455.474 -0.015077227 +3455.494 -0.015017578 +3455.513 -0.014960070 +3455.533 -0.014904992 +3455.552 -0.014852358 +3455.572 -0.014801916 +3455.591 -0.014753231 +3455.611 -0.014705833 +3455.630 -0.014659369 +3455.650 -0.014613727 +3455.670 -0.014569056 +3455.689 -0.014525697 +3455.709 -0.014484029 +3455.728 -0.014444296 +3455.748 -0.014406486 +3455.767 -0.014370306 +3455.787 -0.014335272 +3455.806 -0.014300879 +3455.826 -0.014266777 +3455.846 -0.014232894 +3455.865 -0.014199457 +3455.885 -0.014166892 +3455.904 -0.014135660 +3455.924 -0.014106071 +3455.943 -0.014078159 +3455.963 -0.014051655 +3455.982 -0.014026068 +3456.002 -0.014000843 +3456.022 -0.013975559 +3456.041 -0.013950077 +3456.061 -0.013924602 +3456.080 -0.013899615 +3456.100 -0.013875704 +3456.119 -0.013853337 +3456.139 -0.013832674 +3456.158 -0.013813483 +3456.178 -0.013795200 +3456.197 -0.013777134 +3456.217 -0.013758715 +3456.237 -0.013739713 +3456.256 -0.013720330 +3456.276 -0.013701130 +3456.295 -0.013682827 +3456.315 -0.013666026 +3456.334 -0.013650993 +3456.354 -0.013637555 +3456.373 -0.013625155 +3456.393 -0.013613035 +3456.413 -0.013600500 +3456.432 -0.013587149 +3456.452 -0.013573030 +3456.471 -0.013558630 +3456.491 -0.013544729 +3456.510 -0.013532140 +3456.530 -0.013521422 +3456.549 -0.013512665 +3456.569 -0.013505420 +3456.588 -0.013498823 +3456.608 -0.013491883 +3456.628 -0.013483833 +3456.647 -0.013474428 +3456.667 -0.013464069 +3456.686 -0.013453694 +3456.706 -0.013444456 +3456.725 -0.013437307 +3456.745 -0.013432633 +3456.764 -0.013430074 +3456.784 -0.013428618 +3456.804 -0.013426925 +3456.823 -0.013423783 +3456.843 -0.013418513 +3456.862 -0.013411168 +3456.882 -0.013402434 +3456.901 -0.013393221 +3456.921 -0.013384073 +3456.940 -0.013374587 +3456.960 -0.013363038 +3456.979 -0.013346386 +3456.999 -0.013320710 +3457.019 -0.013282005 +3457.038 -0.013227147 +3457.058 -0.013154765 +3457.077 -0.013065796 +3457.097 -0.012963547 +3457.116 -0.012853251 +3457.136 -0.012741222 +3457.155 -0.012633825 +3457.175 -0.012536501 +3457.195 -0.012453077 +3457.214 -0.012385466 +3457.234 -0.012333771 +3457.253 -0.012296696 +3457.273 -0.012272107 +3457.292 -0.012257577 +3457.312 -0.012250791 +3457.331 -0.012249771 +3457.351 -0.012252927 +3457.370 -0.012259022 +3457.390 -0.012267101 +3457.410 -0.012276448 +3457.429 -0.012286580 +3457.449 -0.012297241 +3457.468 -0.012308374 +3457.488 -0.012320057 +3457.507 -0.012332396 +3457.527 -0.012345440 +3457.546 -0.012359132 +3457.566 -0.012373333 +3457.586 -0.012387894 +3457.605 -0.012402743 +3457.625 -0.012417930 +3457.644 -0.012433609 +3457.664 -0.012449962 +3457.683 -0.012467106 +3457.703 -0.012485028 +3457.722 -0.012503598 +3457.742 -0.012522635 +3457.761 -0.012542014 +3457.781 -0.012561742 +3457.801 -0.012581963 +3457.820 -0.012602898 +3457.840 -0.012624731 +3457.859 -0.012647521 +3457.879 -0.012671170 +3457.898 -0.012695482 +3457.918 -0.012720268 +3457.937 -0.012745462 +3457.957 -0.012771163 +3457.977 -0.012797608 +3457.996 -0.012825057 +3458.016 -0.012853672 +3458.035 -0.012883440 +3458.055 -0.012914188 +3458.074 -0.012945680 +3458.094 -0.012977753 +3458.113 -0.013010421 +3458.133 -0.013043893 +3458.152 -0.013078493 +3458.172 -0.013114528 +3458.192 -0.013152159 +3458.211 -0.013191368 +3458.231 -0.013232022 +3458.250 -0.013274037 +3458.270 -0.013317556 +3458.289 -0.013363076 +3458.309 -0.013411459 +3458.328 -0.013463835 +3458.348 -0.013521447 +3458.368 -0.013585487 +3458.387 -0.013657004 +3458.407 -0.013736873 +3458.426 -0.013825801 +3458.446 -0.013924309 +3458.465 -0.014032635 +3458.485 -0.014150564 +3458.504 -0.014277240 +3458.524 -0.014411056 +3458.543 -0.014549712 +3458.563 -0.014690482 +3458.583 -0.014830649 +3458.602 -0.014967998 +3458.622 -0.015101212 +3458.641 -0.015230074 +3458.661 -0.015355409 +3458.680 -0.015478824 +3458.700 -0.015602382 +3458.719 -0.015728316 +3458.739 -0.015858917 +3458.759 -0.015996574 +3458.778 -0.016143914 +3458.798 -0.016303887 +3458.817 -0.016479671 +3458.837 -0.016674308 +3458.856 -0.016890082 +3458.876 -0.017127722 +3458.895 -0.017385604 +3458.915 -0.017659120 +3458.935 -0.017940366 +3458.954 -0.018218259 +3458.974 -0.018479126 +3458.993 -0.018707746 +3459.013 -0.018888750 +3459.032 -0.019008242 +3459.052 -0.019055439 +3459.071 -0.019024071 +3459.091 -0.018913330 +3459.110 -0.018728126 +3459.130 -0.018478582 +3459.150 -0.018178792 +3459.169 -0.017845046 +3459.189 -0.017493825 +3459.208 -0.017139948 +3459.228 -0.016795194 +3459.247 -0.016467621 +3459.267 -0.016161606 +3459.286 -0.015878490 +3459.306 -0.015617558 +3459.326 -0.015377044 +3459.345 -0.015154919 +3459.365 -0.014949305 +3459.384 -0.014758542 +3459.404 -0.014581023 +3459.423 -0.014414994 +3459.443 -0.014258483 +3459.462 -0.014109427 +3459.482 -0.013965964 +3459.501 -0.013826743 +3459.521 -0.013691119 +3459.541 -0.013559100 +3459.560 -0.013431064 +3459.580 -0.013307340 +3459.599 -0.013187843 +3459.619 -0.013071911 +3459.638 -0.012958422 +3459.658 -0.012846149 +3459.677 -0.012734172 +3459.697 -0.012622187 +3459.717 -0.012510541 +3459.736 -0.012399991 +3459.756 -0.012291273 +3459.775 -0.012184678 +3459.795 -0.012079820 +3459.814 -0.011975708 +3459.834 -0.011871093 +3459.853 -0.011764935 +3459.873 -0.011656796 +3459.892 -0.011546968 +3459.912 -0.011436267 +3459.932 -0.011325580 +3459.951 -0.011215337 +3459.971 -0.011105148 +3459.990 -0.010993740 +3460.010 -0.010879207 +3460.029 -0.010759420 +3460.049 -0.010632360 +3460.068 -0.010496146 +3460.088 -0.010348676 +3460.108 -0.010187017 +3460.127 -0.010006838 +3460.147 -0.009802256 +3460.166 -0.009566389 +3460.186 -0.009292634 +3460.205 -0.008976401 +3460.225 -0.008616836 +3460.244 -0.008217953 +3460.264 -0.007788775 +3460.283 -0.007342375 +3460.303 -0.006894027 +3460.323 -0.006458953 +3460.342 -0.006050218 +3460.362 -0.005677242 +3460.381 -0.005345159 +3460.401 -0.005055015 +3460.420 -0.004804588 +3460.440 -0.004589534 +3460.459 -0.004404543 +3460.479 -0.004244302 +3460.499 -0.004104147 +3460.518 -0.003980375 +3460.538 -0.003870289 +3460.557 -0.003772049 +3460.577 -0.003684435 +3460.596 -0.003606611 +3460.616 -0.003537946 +3460.635 -0.003477919 +3460.655 -0.003426091 +3460.674 -0.003382095 +3460.694 -0.003345634 +3460.714 -0.003316437 +3460.733 -0.003294189 +3460.753 -0.003278460 +3460.772 -0.003268665 +3460.792 -0.003264058 +3460.811 -0.003263771 +3460.831 -0.003266871 +3460.850 -0.003272406 +3460.870 -0.003279435 +3460.890 -0.003287044 +3460.909 -0.003294356 +3460.929 -0.003300573 +3460.948 -0.003305038 +3460.968 -0.003307311 +3460.987 -0.003307237 +3461.007 -0.003304981 +3461.026 -0.003301017 +3461.046 -0.003296089 +3461.065 -0.003291168 +3461.085 -0.003287417 +3461.105 -0.003286166 +3461.124 -0.003288898 +3461.144 -0.003297204 +3461.163 -0.003312704 +3461.183 -0.003336920 +3461.202 -0.003371137 +3461.222 -0.003416272 +3461.241 -0.003472800 +3461.261 -0.003540744 +3461.281 -0.003619722 +3461.300 -0.003709026 +3461.320 -0.003807706 +3461.339 -0.003914629 +3461.359 -0.004028524 +3461.378 -0.004148017 +3461.398 -0.004271680 +3461.417 -0.004398102 +3461.437 -0.004525970 +3461.457 -0.004654140 +3461.476 -0.004781667 +3461.496 -0.004907785 +3461.515 -0.005031846 +3461.535 -0.005153250 +3461.554 -0.005271398 +3461.574 -0.005385701 +3461.593 -0.005495636 +3461.613 -0.005600820 +3461.632 -0.005701071 +3461.652 -0.005796406 +3461.672 -0.005886983 +3461.691 -0.005973007 +3461.711 -0.006054640 +3461.730 -0.006131964 +3461.750 -0.006205001 +3461.769 -0.006273795 +3461.789 -0.006338490 +3461.808 -0.006399366 +3461.828 -0.006456811 +3461.848 -0.006511236 +3461.867 -0.006562964 +3461.887 -0.006612168 +3461.906 -0.006658870 +3461.926 -0.006703026 +3461.945 -0.006744633 +3461.965 -0.006783823 +3461.984 -0.006820880 +3462.004 -0.006856177 +3462.023 -0.006890055 +3462.043 -0.006922716 +3462.063 -0.006954168 +3462.082 -0.006984276 +3462.102 -0.007012872 +3462.121 -0.007039897 +3462.141 -0.007065479 +3462.160 -0.007089918 +3462.180 -0.007113589 +3462.199 -0.007136786 +3462.219 -0.007159610 +3462.239 -0.007181943 +3462.258 -0.007203527 +3462.278 -0.007224118 +3462.297 -0.007243640 +3462.317 -0.007262253 +3462.336 -0.007280311 +3462.356 -0.007298217 +3462.375 -0.007316250 +3462.395 -0.007334441 +3462.414 -0.007352568 +3462.434 -0.007370274 +3462.454 -0.007387255 +3462.473 -0.007403432 +3462.493 -0.007419012 +3462.512 -0.007434421 +3462.532 -0.007450122 +3462.551 -0.007466406 +3462.571 -0.007483263 +3462.590 -0.007500385 +3462.610 -0.007517319 +3462.630 -0.007533695 +3462.649 -0.007549418 +3462.669 -0.007564747 +3462.688 -0.007580197 +3462.708 -0.007596326 +3462.727 -0.007613483 +3462.747 -0.007631649 +3462.766 -0.007650449 +3462.786 -0.007669327 +3462.805 -0.007687822 +3462.825 -0.007705803 +3462.845 -0.007723571 +3462.864 -0.007741758 +3462.884 -0.007761064 +3462.903 -0.007781965 +3462.923 -0.007804497 +3462.942 -0.007828252 +3462.962 -0.007852576 +3462.981 -0.007876890 +3463.001 -0.007901004 +3463.021 -0.007925267 +3463.040 -0.007950476 +3463.060 -0.007977589 +3463.079 -0.008007351 +3463.099 -0.008040012 +3463.118 -0.008075268 +3463.138 -0.008112477 +3463.157 -0.008151066 +3463.177 -0.008190944 +3463.196 -0.008232766 +3463.216 -0.008277884 +3463.236 -0.008328022 +3463.255 -0.008384773 +3463.275 -0.008449122 +3463.294 -0.008521177 +3463.314 -0.008600152 +3463.333 -0.008684534 +3463.353 -0.008772227 +3463.372 -0.008860457 +3463.392 -0.008945320 +3463.412 -0.009021047 +3463.431 -0.009079287 +3463.451 -0.009108804 +3463.470 -0.009095992 +3463.490 -0.009026379 +3463.509 -0.008886977 +3463.529 -0.008669014 +3463.548 -0.008370334 +3463.568 -0.007996809 +3463.587 -0.007562273 +3463.607 -0.007086934 +3463.627 -0.006594577 +3463.646 -0.006109235 +3463.666 -0.005652052 +3463.685 -0.005238963 +3463.705 -0.004879567 +3463.724 -0.004577185 +3463.744 -0.004329871 +3463.763 -0.004131957 +3463.783 -0.003975731 +3463.803 -0.003852896 +3463.822 -0.003755649 +3463.842 -0.003677311 +3463.861 -0.003612575 +3463.881 -0.003557476 +3463.900 -0.003509199 +3463.920 -0.003465822 +3463.939 -0.003426067 +3463.959 -0.003389094 +3463.978 -0.003354352 +3463.998 -0.003321472 +3464.018 -0.003290201 +3464.037 -0.003260365 +3464.057 -0.003231826 +3464.076 -0.003204473 +3464.096 -0.003178205 +3464.115 -0.003152927 +3464.135 -0.003128560 +3464.154 -0.003105036 +3464.174 -0.003082304 +3464.194 -0.003060323 +3464.213 -0.003039054 +3464.233 -0.003018455 +3464.252 -0.002998477 +3464.272 -0.002979073 +3464.291 -0.002960204 +3464.311 -0.002941843 +3464.330 -0.002923975 +3464.350 -0.002906589 +3464.370 -0.002889668 +3464.389 -0.002873184 +3464.409 -0.002857103 +3464.428 -0.002841392 +3464.448 -0.002826030 +3464.467 -0.002811009 +3464.487 -0.002796332 +3464.506 -0.002781999 +3464.526 -0.002768000 +3464.545 -0.002754310 +3464.565 -0.002740900 +3464.585 -0.002727743 +3464.604 -0.002714826 +3464.624 -0.002702156 +3464.643 -0.002689744 +3464.663 -0.002677599 +3464.682 -0.002665710 +3464.702 -0.002654054 +3464.721 -0.002642598 +3464.741 -0.002631319 +3464.761 -0.002620212 +3464.780 -0.002609290 +3464.800 -0.002598576 +3464.819 -0.002588080 +3464.839 -0.002577795 +3464.858 -0.002567691 +3464.878 -0.002557735 +3464.897 -0.002547902 +3464.917 -0.002538192 +3464.936 -0.002528626 +3464.956 -0.002519232 +3464.976 -0.002510027 +3464.995 -0.002501006 +3465.015 -0.002492135 +3465.034 -0.002483374 +3465.054 -0.002474696 +3465.073 -0.002466101 +3465.093 -0.002457615 +3465.112 -0.002449277 +3465.132 -0.002441112 +3465.152 -0.002433114 +3465.171 -0.002425251 +3465.191 -0.002417475 +3465.210 -0.002409749 +3465.230 -0.002402070 +3465.249 -0.002394469 +3465.269 -0.002386992 +3465.288 -0.002379676 +3465.308 -0.002372526 +3465.327 -0.002365507 +3465.347 -0.002358564 +3465.367 -0.002351649 +3465.386 -0.002344746 +3465.406 -0.002337885 +3465.425 -0.002331121 +3465.445 -0.002324508 +3465.464 -0.002318065 +3465.484 -0.002311764 +3465.503 -0.002305544 +3465.523 -0.002299340 +3465.543 -0.002293117 +3465.562 -0.002286894 +3465.582 -0.002280731 +3465.601 -0.002274701 +3465.621 -0.002268846 +3465.640 -0.002263157 +3465.660 -0.002257573 +3465.679 -0.002252010 +3465.699 -0.002246407 +3465.718 -0.002240759 +3465.738 -0.002235118 +3465.758 -0.002229574 +3465.777 -0.002224201 +3465.797 -0.002219023 +3465.816 -0.002213993 +3465.836 -0.002209019 +3465.855 -0.002204005 +3465.875 -0.002198904 +3465.894 -0.002193745 +3465.914 -0.002188618 +3465.934 -0.002183633 +3465.953 -0.002178862 +3465.973 -0.002174298 +3465.992 -0.002169855 +3466.012 -0.002165410 +3466.031 -0.002160863 +3466.051 -0.002156188 +3466.070 -0.002151453 +3466.090 -0.002146788 +3466.109 -0.002142320 +3466.129 -0.002138110 +3466.149 -0.002134115 +3466.168 -0.002130207 +3466.188 -0.002126233 +3466.207 -0.002122089 +3466.227 -0.002117779 +3466.246 -0.002113416 +3466.266 -0.002109171 +3466.285 -0.002105191 +3466.305 -0.002101518 +3466.325 -0.002098070 +3466.344 -0.002094665 +3466.364 -0.002091115 +3466.383 -0.002087313 +3466.403 -0.002083291 +3466.422 -0.002079203 +3466.442 -0.002075240 +3466.461 -0.002071506 +3466.481 -0.002067907 +3466.500 -0.002064099 +3466.520 -0.002059488 +3466.540 -0.002053282 +3466.559 -0.002044509 +3466.579 -0.002031984 +3466.598 -0.002014182 +3466.618 -0.001989095 +3466.637 -0.001954132 +3466.657 -0.001906200 +3466.676 -0.001842019 +3466.696 -0.001758677 +3466.716 -0.001654333 +3466.735 -0.001528878 +3466.755 -0.001384377 +3466.774 -0.001225126 +3466.794 -0.001057266 +3466.813 -0.000888024 +3466.833 -0.000724751 +3466.852 -0.000573954 +3466.872 -0.000440547 +3466.891 -0.000327434 +3466.911 -0.000235467 +3466.931 -0.000163732 +3466.950 -0.000110027 +3466.970 -0.000071423 +3466.989 -0.000044769 +3467.009 -0.000027089 +3467.028 -0.000015818 +3467.048 -0.000008912 +3467.067 -0.000004844 +3467.087 -0.000002539 +3467.107 -0.000001283 +3467.126 -0.000000625 +3467.146 -0.000000294 +3467.165 -0.000000133 +3467.185 -0.000000058 +3467.204 -0.000000024 +3467.224 -0.000000010 +3467.243 -0.000000004 +3467.263 -0.000000001 +3467.283 -0.000000000 +3467.302 -0.000000000 +3467.322 0.000000000 +3467.341 0.000000000 +3467.361 0.000000000 +3467.380 0.000000000 +3467.400 0.000000000 +3467.419 0.000000000 +3467.439 0.000000000 +3467.458 0.000000000 +3467.478 0.000000000 +3467.498 0.000000000 +3467.517 0.000000000 +3467.537 0.000000000 +3467.556 0.000000000 +3467.576 0.000000000 +3467.595 0.000000000 +3467.615 0.000000000 +3467.634 0.000000000 +3467.654 0.000000000 +3467.674 0.000000000 +3467.693 0.000000000 +3467.713 0.000000000 +3467.732 0.000000000 +3467.752 0.000000000 +3467.771 0.000000000 +3467.791 0.000000000 +3467.810 0.000000000 +3467.830 0.000000000 +3467.849 0.000000000 +3467.869 0.000000000 +3467.889 0.000000000 +3467.908 0.000000000 +3467.928 0.000000000 +3467.947 0.000000000 +3467.967 0.000000000 +3467.986 0.000000000 +3468.006 0.000000000 +3468.025 0.000000000 +3468.045 0.000000000 +3468.065 0.000000000 +3468.084 0.000000000 +3468.104 0.000000000 +3468.123 0.000000000 +3468.143 0.000000000 +3468.162 0.000000000 +3468.182 0.000000000 +3468.201 0.000000000 +3468.221 0.000000000 +3468.240 0.000000000 +3468.260 0.000000000 +3468.280 0.000000000 +3468.299 0.000000000 +3468.319 0.000000000 +3468.338 0.000000000 +3468.358 0.000000000 +3468.377 0.000000000 +3468.397 0.000000000 +3468.416 0.000000000 +3468.436 0.000000000 +3468.456 0.000000000 +3468.475 0.000000000 +3468.495 0.000000000 +3468.514 0.000000000 +3468.534 0.000000000 +3468.553 0.000000000 +3468.573 0.000000000 +3468.592 0.000000000 +3468.612 0.000000000 +3468.631 0.000000000 +3468.651 0.000000000 +3468.671 0.000000000 +3468.690 0.000000000 +3468.710 0.000000000 +3468.729 0.000000000 +3468.749 0.000000000 +3468.768 0.000000000 +3468.788 0.000000000 +3468.807 0.000000000 +3468.827 0.000000000 +3468.847 0.000000000 +3468.866 0.000000000 +3468.886 0.000000000 +3468.905 0.000000000 +3468.925 0.000000000 +3468.944 0.000000000 +3468.964 0.000000000 +3468.983 0.000000000 +3469.003 0.000000000 +3469.022 0.000000000 +3469.042 0.000000000 +3469.062 0.000000000 +3469.081 0.000000000 +3469.101 0.000000000 +3469.120 0.000000000 +3469.140 0.000000000 +3469.159 0.000000000 +3469.179 0.000000000 +3469.198 0.000000000 +3469.218 0.000000000 +3469.238 0.000000000 +3469.257 0.000000000 +3469.277 0.000000000 +3469.296 0.000000000 +3469.316 0.000000000 +3469.335 0.000000000 +3469.355 0.000000000 +3469.374 0.000000000 +3469.394 0.000000000 +3469.413 0.000000000 +3469.433 0.000000000 +3469.453 0.000000000 +3469.472 0.000000000 +3469.492 0.000000000 +3469.511 0.000000000 +3469.531 0.000000000 +3469.550 0.000000000 +3469.570 0.000000000 +3469.589 0.000000000 +3469.609 0.000000000 +3469.629 0.000000000 +3469.648 0.000000000 +3469.668 0.000000000 +3469.687 0.000000000 +3469.707 0.000000000 +3469.726 0.000000000 +3469.746 0.000000000 +3469.765 0.000000000 +3469.785 0.000000000 +3469.804 0.000000000 +3469.824 0.000000000 +3469.844 0.000000000 +3469.863 0.000000000 +3469.883 0.000000000 +3469.902 0.000000000 +3469.922 0.000000000 +3469.941 0.000000000 +3469.961 0.000000000 +3469.980 0.000000000 +3470.000 0.000000000 diff --git a/from_bittl/src/test2_spec.asc b/from_bittl/src/test2_spec.asc new file mode 100755 index 0000000..1d8f4b3 --- /dev/null +++ b/from_bittl/src/test2_spec.asc @@ -0,0 +1,1024 @@ +3450.000 0.001071175 +3450.020 0.001074132 +3450.039 0.001077327 +3450.059 0.001080779 +3450.078 0.001084511 +3450.098 0.001088551 +3450.117 0.001092927 +3450.137 0.001097676 +3450.156 0.001102837 +3450.176 0.001108459 +3450.196 0.001114599 +3450.215 0.001121326 +3450.235 0.001128726 +3450.254 0.001136903 +3450.274 0.001145993 +3450.293 0.001156162 +3450.313 0.001167626 +3450.332 0.001180653 +3450.352 0.001195567 +3450.371 0.001212751 +3450.391 0.001232615 +3450.411 0.001255553 +3450.430 0.001281854 +3450.450 0.001311582 +3450.469 0.001344418 +3450.489 0.001379491 +3450.508 0.001415240 +3450.528 0.001449352 +3450.547 0.001478827 +3450.567 0.001500217 +3450.587 0.001510024 +3450.606 0.001505232 +3450.626 0.001483863 +3450.645 0.001445445 +3450.665 0.001391260 +3450.684 0.001324294 +3450.704 0.001248871 +3450.723 0.001170040 +3450.743 0.001092836 +3450.762 0.001021588 +3450.782 0.000959406 +3450.802 0.000907942 +3450.821 0.000867429 +3450.841 0.000836946 +3450.860 0.000814824 +3450.880 0.000799062 +3450.899 0.000787689 +3450.919 0.000779011 +3450.938 0.000771729 +3450.958 0.000764960 +3450.978 0.000758181 +3450.997 0.000751139 +3451.017 0.000743759 +3451.036 0.000736066 +3451.056 0.000728118 +3451.075 0.000719963 +3451.095 0.000711593 +3451.114 0.000702903 +3451.134 0.000693629 +3451.153 0.000683255 +3451.173 0.000670897 +3451.193 0.000655129 +3451.212 0.000633796 +3451.232 0.000603809 +3451.251 0.000560993 +3451.271 0.000500033 +3451.290 0.000414621 +3451.310 0.000297840 +3451.329 0.000142837 +3451.349 -0.000056252 +3451.369 -0.000303237 +3451.388 -0.000598845 +3451.408 -0.000939947 +3451.427 -0.001319260 +3451.447 -0.001725672 +3451.466 -0.002145195 +3451.486 -0.002562437 +3451.505 -0.002962325 +3451.525 -0.003331763 +3451.544 -0.003660936 +3451.564 -0.003944034 +3451.584 -0.004179327 +3451.603 -0.004368677 +3451.623 -0.004516651 +3451.642 -0.004629457 +3451.662 -0.004713927 +3451.681 -0.004776687 +3451.701 -0.004823595 +3451.720 -0.004859453 +3451.740 -0.004887948 +3451.760 -0.004911747 +3451.779 -0.004932681 +3451.799 -0.004951946 +3451.818 -0.004970288 +3451.838 -0.004988154 +3451.857 -0.005005796 +3451.877 -0.005023346 +3451.896 -0.005040872 +3451.916 -0.005058403 +3451.935 -0.005075958 +3451.955 -0.005093553 +3451.975 -0.005111200 +3451.994 -0.005128909 +3452.014 -0.005146683 +3452.033 -0.005164517 +3452.053 -0.005182405 +3452.072 -0.005200347 +3452.092 -0.005218350 +3452.111 -0.005236425 +3452.131 -0.005254584 +3452.151 -0.005272832 +3452.170 -0.005291166 +3452.190 -0.005309576 +3452.209 -0.005328058 +3452.229 -0.005346614 +3452.248 -0.005365257 +3452.268 -0.005384001 +3452.287 -0.005402857 +3452.307 -0.005421827 +3452.326 -0.005440901 +3452.346 -0.005460068 +3452.366 -0.005479325 +3452.385 -0.005498678 +3452.405 -0.005518146 +3452.424 -0.005537746 +3452.444 -0.005557489 +3452.463 -0.005577369 +3452.483 -0.005597373 +3452.502 -0.005617488 +3452.522 -0.005637711 +3452.542 -0.005658057 +3452.561 -0.005678548 +3452.581 -0.005699206 +3452.600 -0.005720037 +3452.620 -0.005741034 +3452.639 -0.005762177 +3452.659 -0.005783452 +3452.678 -0.005804858 +3452.698 -0.005826414 +3452.717 -0.005848149 +3452.737 -0.005870088 +3452.757 -0.005892239 +3452.776 -0.005914589 +3452.796 -0.005937113 +3452.815 -0.005959795 +3452.835 -0.005982633 +3452.854 -0.006005652 +3452.874 -0.006028888 +3452.893 -0.006052372 +3452.913 -0.006076112 +3452.933 -0.006100095 +3452.952 -0.006124292 +3452.972 -0.006148677 +3452.991 -0.006173250 +3453.011 -0.006198032 +3453.030 -0.006223062 +3453.050 -0.006248364 +3453.069 -0.006273922 +3453.089 -0.006299648 +3453.109 -0.006325355 +3453.128 -0.006350698 +3453.148 -0.006375075 +3453.167 -0.006397414 +3453.187 -0.006415845 +3453.206 -0.006427207 +3453.226 -0.006426395 +3453.245 -0.006405603 +3453.265 -0.006353547 +3453.284 -0.006254835 +3453.304 -0.006089715 +3453.324 -0.005834472 +3453.343 -0.005462738 +3453.363 -0.004947854 +3453.382 -0.004266245 +3453.402 -0.003401451 +3453.421 -0.002348176 +3453.441 -0.001115501 +3453.460 0.000271592 +3453.480 0.001773034 +3453.500 0.003336979 +3453.519 0.004905231 +3453.539 0.006419865 +3453.558 0.007829829 +3453.578 0.009096306 +3453.597 0.010195947 +3453.617 0.011121599 +3453.636 0.011880737 +3453.656 0.012492249 +3453.675 0.012982435 +3453.695 0.013381083 +3453.715 0.013718213 +3453.734 0.014021794 +3453.754 0.014316408 +3453.773 0.014622625 +3453.793 0.014956721 +3453.812 0.015330426 +3453.832 0.015750438 +3453.851 0.016217648 +3453.871 0.016726172 +3453.891 0.017262477 +3453.910 0.017804995 +3453.930 0.018324659 +3453.949 0.018786679 +3453.969 0.019153616 +3453.988 0.019389513 +3454.008 0.019464484 +3454.027 0.019358912 +3454.047 0.019066422 +3454.066 0.018594962 +3454.086 0.017965729 +3454.106 0.017210170 +3454.125 0.016365688 +3454.145 0.015470939 +3454.164 0.014561588 +3454.184 0.013667194 +3454.203 0.012809543 +3454.223 0.012002406 +3454.242 0.011252390 +3454.262 0.010560458 +3454.282 0.009923651 +3454.301 0.009336665 +3454.321 0.008793112 +3454.340 0.008286382 +3454.360 0.007810171 +3454.379 0.007358766 +3454.399 0.006927152 +3454.418 0.006511009 +3454.438 0.006106623 +3454.457 0.005710723 +3454.477 0.005320268 +3454.497 0.004932220 +3454.516 0.004543365 +3454.536 0.004150238 +3454.555 0.003749195 +3454.575 0.003336654 +3454.594 0.002909516 +3454.614 0.002465719 +3454.633 0.002004900 +3454.653 0.001529082 +3454.673 0.001043287 +3454.692 0.000555924 +3454.712 0.000078797 +3454.731 -0.000373420 +3454.751 -0.000784311 +3454.770 -0.001137400 +3454.790 -0.001418187 +3454.809 -0.001616211 +3454.829 -0.001726759 +3454.848 -0.001751884 +3454.868 -0.001700526 +3454.888 -0.001587715 +3454.907 -0.001433026 +3454.927 -0.001258578 +3454.946 -0.001086911 +3454.966 -0.000939028 +3454.985 -0.000832800 +3455.005 -0.000781808 +3455.024 -0.000794621 +3455.044 -0.000874466 +3455.064 -0.001019263 +3455.083 -0.001222004 +3455.103 -0.001471490 +3455.122 -0.001753416 +3455.142 -0.002051758 +3455.161 -0.002350335 +3455.181 -0.002634386 +3455.200 -0.002891926 +3455.220 -0.003114690 +3455.239 -0.003298529 +3455.259 -0.003443207 +3455.279 -0.003551695 +3455.298 -0.003629119 +3455.318 -0.003681620 +3455.337 -0.003715333 +3455.357 -0.003735659 +3455.376 -0.003746910 +3455.396 -0.003752272 +3455.415 -0.003753996 +3455.435 -0.003753674 +3455.455 -0.003752480 +3455.474 -0.003751322 +3455.494 -0.003750887 +3455.513 -0.003751644 +3455.533 -0.003753811 +3455.552 -0.003757372 +3455.572 -0.003762117 +3455.591 -0.003767727 +3455.611 -0.003773866 +3455.630 -0.003780282 +3455.650 -0.003786877 +3455.670 -0.003793751 +3455.689 -0.003801190 +3455.709 -0.003809613 +3455.728 -0.003819486 +3455.748 -0.003831245 +3455.767 -0.003845278 +3455.787 -0.003862014 +3455.806 -0.003882111 +3455.826 -0.003906711 +3455.846 -0.003937646 +3455.865 -0.003977487 +3455.885 -0.004029327 +3455.904 -0.004096278 +3455.924 -0.004180761 +3455.943 -0.004283762 +3455.963 -0.004404277 +3455.982 -0.004539129 +3456.002 -0.004683261 +3456.022 -0.004830458 +3456.041 -0.004974306 +3456.061 -0.005109147 +3456.080 -0.005230796 +3456.100 -0.005336854 +3456.119 -0.005426628 +3456.139 -0.005500752 +3456.158 -0.005560696 +3456.178 -0.005608328 +3456.197 -0.005645636 +3456.217 -0.005674612 +3456.237 -0.005697238 +3456.256 -0.005715474 +3456.276 -0.005731190 +3456.295 -0.005746011 +3456.315 -0.005761141 +3456.334 -0.005777222 +3456.354 -0.005794306 +3456.373 -0.005811964 +3456.393 -0.005829512 +3456.413 -0.005846292 +3456.432 -0.005861929 +3456.452 -0.005876482 +3456.471 -0.005890449 +3456.491 -0.005904616 +3456.510 -0.005919804 +3456.530 -0.005936577 +3456.549 -0.005955030 +3456.569 -0.005974720 +3456.588 -0.005994788 +3456.608 -0.006014248 +3456.628 -0.006032338 +3456.647 -0.006048819 +3456.667 -0.006064095 +3456.686 -0.006079110 +3456.706 -0.006095020 +3456.725 -0.006112784 +3456.745 -0.006132790 +3456.764 -0.006154683 +3456.784 -0.006177456 +3456.804 -0.006199772 +3456.823 -0.006220422 +3456.843 -0.006238728 +3456.862 -0.006254742 +3456.882 -0.006269137 +3456.901 -0.006282793 +3456.921 -0.006296187 +3456.940 -0.006308772 +3456.960 -0.006318537 +3456.979 -0.006321899 +3456.999 -0.006313959 +3457.019 -0.006289031 +3457.038 -0.006241229 +3457.058 -0.006164872 +3457.077 -0.006054493 +3457.097 -0.005904382 +3457.116 -0.005707777 +3457.136 -0.005455989 +3457.155 -0.005137880 +3457.175 -0.004740107 +3457.195 -0.004248364 +3457.214 -0.003649650 +3457.234 -0.002935205 +3457.253 -0.002103509 +3457.273 -0.001162604 +3457.292 -0.000131027 +3457.312 0.000963041 +3457.331 0.002084435 +3457.351 0.003194989 +3457.370 0.004258094 +3457.390 0.005242896 +3457.410 0.006127365 +3457.429 0.006899772 +3457.449 0.007558504 +3457.468 0.008110522 +3457.488 0.008568986 +3457.507 0.008950615 +3457.527 0.009273262 +3457.546 0.009554004 +3457.566 0.009807878 +3457.586 0.010047251 +3457.605 0.010281699 +3457.625 0.010518279 +3457.644 0.010762030 +3457.664 0.011016567 +3457.683 0.011284645 +3457.703 0.011568619 +3457.722 0.011870744 +3457.742 0.012193345 +3457.761 0.012538901 +3457.781 0.012910066 +3457.801 0.013309666 +3457.820 0.013740602 +3457.840 0.014205563 +3457.859 0.014706419 +3457.879 0.015243235 +3457.898 0.015812929 +3457.918 0.016407768 +3457.937 0.017014060 +3457.957 0.017611438 +3457.977 0.018173174 +3457.996 0.018667735 +3458.016 0.019061608 +3458.035 0.019323036 +3458.055 0.019426105 +3458.074 0.019354393 +3458.094 0.019103487 +3458.113 0.018681829 +3458.133 0.018109714 +3458.152 0.017416650 +3458.172 0.016637615 +3458.192 0.015808892 +3458.211 0.014964236 +3458.231 0.014131914 +3458.250 0.013332956 +3458.270 0.012580682 +3458.289 0.011881296 +3458.309 0.011235248 +3458.328 0.010638935 +3458.348 0.010086386 +3458.368 0.009570665 +3458.387 0.009084857 +3458.407 0.008622637 +3458.426 0.008178531 +3458.446 0.007748006 +3458.465 0.007327520 +3458.485 0.006914595 +3458.504 0.006507891 +3458.524 0.006107214 +3458.543 0.005713373 +3458.563 0.005327839 +3458.583 0.004952263 +3458.602 0.004587937 +3458.622 0.004235369 +3458.641 0.003894062 +3458.661 0.003562555 +3458.680 0.003238668 +3458.700 0.002919823 +3458.719 0.002603311 +3458.739 0.002286402 +3458.759 0.001966291 +3458.778 0.001639961 +3458.798 0.001304073 +3458.817 0.000955048 +3458.837 0.000589388 +3458.856 0.000204241 +3458.876 -0.000201891 +3458.895 -0.000628486 +3458.915 -0.001072534 +3458.935 -0.001528440 +3458.954 -0.001988371 +3458.974 -0.002443014 +3458.993 -0.002882676 +3459.013 -0.003298515 +3459.032 -0.003683701 +3459.052 -0.004034246 +3459.071 -0.004349314 +3459.091 -0.004630900 +3459.110 -0.004882904 +3459.130 -0.005109777 +3459.150 -0.005315022 +3459.169 -0.005499815 +3459.189 -0.005661973 +3459.208 -0.005795291 +3459.228 -0.005889140 +3459.247 -0.005928098 +3459.267 -0.005891389 +3459.286 -0.005752074 +3459.306 -0.005476121 +3459.326 -0.005021781 +3459.345 -0.004339894 +3459.365 -0.003375803 +3459.384 -0.002073413 +3459.404 -0.000381577 +3459.423 0.001737624 +3459.443 0.004299730 +3459.462 0.007289446 +3459.482 0.010654652 +3459.501 0.014304422 +3459.521 0.018111896 +3459.541 0.021921918 +3459.560 0.025562339 +3459.580 0.028857222 +3459.599 0.031640025 +3459.619 0.033765200 +3459.638 0.035117397 +3459.658 0.035618211 +3459.677 0.035230886 +3459.697 0.033963372 +3459.717 0.031869693 +3459.736 0.029049009 +3459.756 0.025641379 +3459.775 0.021819396 +3459.795 0.017775559 +3459.814 0.013706403 +3459.834 0.009795426 +3459.853 0.006197559 +3459.873 0.003027816 +3459.892 0.000355949 +3459.912 -0.001792350 +3459.932 -0.003428567 +3459.951 -0.004590724 +3459.971 -0.005331394 +3459.990 -0.005706608 +3460.010 -0.005767314 +3460.029 -0.005554172 +3460.049 -0.005095763 +3460.068 -0.004409754 +3460.088 -0.003506360 +3460.108 -0.002393435 +3460.127 -0.001082562 +3460.147 0.000404507 +3460.166 0.002029850 +3460.186 0.003734812 +3460.205 0.005437961 +3460.225 0.007036522 +3460.244 0.008411775 +3460.264 0.009438138 +3460.283 0.009994808 +3460.303 0.009978107 +3460.323 0.009312342 +3460.342 0.007957167 +3460.362 0.005910080 +3460.381 0.003203689 +3460.401 -0.000101550 +3460.420 -0.003927514 +3460.440 -0.008189328 +3460.459 -0.012804724 +3460.479 -0.017699879 +3460.499 -0.022810520 +3460.518 -0.028078079 +3460.538 -0.033441815 +3460.557 -0.038828882 +3460.577 -0.044145039 +3460.596 -0.049268937 +3460.616 -0.054052480 +3460.635 -0.058328580 +3460.655 -0.061926013 +3460.674 -0.064689240 +3460.694 -0.066499581 +3460.714 -0.067293441 +3460.733 -0.067073616 +3460.753 -0.065911112 +3460.772 -0.063936952 +3460.792 -0.061325638 +3460.811 -0.058273606 +3460.831 -0.054976803 +3460.850 -0.051611241 +3460.870 -0.048319285 +3460.890 -0.045202868 +3460.909 -0.042323312 +3460.929 -0.039706291 +3460.948 -0.037349914 +3460.968 -0.035233921 +3460.987 -0.033328346 +3461.007 -0.031600627 +3461.026 -0.030020696 +3461.046 -0.028564048 +3461.065 -0.027213051 +3461.085 -0.025956905 +3461.105 -0.024790612 +3461.124 -0.023713308 +3461.144 -0.022726179 +3461.163 -0.021830133 +3461.183 -0.021023337 +3461.202 -0.020298717 +3461.222 -0.019641530 +3461.241 -0.019027191 +3461.261 -0.018419611 +3461.281 -0.017770428 +3461.300 -0.017019581 +3461.320 -0.016097651 +3461.339 -0.014930286 +3461.359 -0.013444692 +3461.378 -0.011577767 +3461.398 -0.009284959 +3461.417 -0.006548546 +3461.437 -0.003383827 +3461.457 0.000158136 +3461.476 0.003992137 +3461.496 0.008004951 +3461.515 0.012065318 +3461.535 0.016036363 +3461.554 0.019788597 +3461.574 0.023211586 +3461.593 0.026222676 +3461.613 0.028771799 +3461.632 0.030842109 +3461.652 0.032446892 +3461.672 0.033623716 +3461.691 0.034427024 +3461.711 0.034920375 +3461.730 0.035169378 +3461.750 0.035235996 +3461.769 0.035174601 +3461.789 0.035029817 +3461.808 0.034835941 +3461.828 0.034617579 +3461.848 0.034391015 +3461.867 0.034165879 +3461.887 0.033946706 +3461.906 0.033734117 +3461.926 0.033525452 +3461.945 0.033314878 +3461.965 0.033093030 +3461.984 0.032846390 +3462.004 0.032556633 +3462.023 0.032200238 +3462.043 0.031748695 +3462.063 0.031169639 +3462.082 0.030429171 +3462.102 0.029495444 +3462.121 0.028343311 +3462.141 0.026959423 +3462.160 0.025346866 +3462.180 0.023528207 +3462.199 0.021545945 +3462.219 0.019459769 +3462.239 0.017340690 +3462.258 0.015262906 +3462.278 0.013294835 +3462.297 0.011491048 +3462.317 0.009886672 +3462.336 0.008495251 +3462.356 0.007310261 +3462.375 0.006309674 +3462.395 0.005462365 +3462.414 0.004734909 +3462.434 0.004097392 +3462.454 0.003527278 +3462.473 0.003010895 +3462.493 0.002542659 +3462.512 0.002122636 +3462.532 0.001753264 +3462.551 0.001436162 +3462.571 0.001169743 +3462.590 0.000948103 +3462.610 0.000761268 +3462.630 0.000596568 +3462.649 0.000440673 +3462.669 0.000281737 +3462.688 0.000111146 +3462.708 -0.000075490 +3462.727 -0.000278226 +3462.747 -0.000493506 +3462.766 -0.000715443 +3462.786 -0.000937334 +3462.805 -0.001153054 +3462.825 -0.001358026 +3462.845 -0.001549645 +3462.864 -0.001727154 +3462.884 -0.001891130 +3462.903 -0.002042823 +3462.923 -0.002183579 +3462.942 -0.002314528 +3462.962 -0.002436554 +3462.981 -0.002550494 +3463.001 -0.002657383 +3463.021 -0.002758585 +3463.040 -0.002855731 +3463.060 -0.002950451 +3463.079 -0.003044029 +3463.099 -0.003137154 +3463.118 -0.003229880 +3463.138 -0.003321867 +3463.157 -0.003412789 +3463.177 -0.003502772 +3463.196 -0.003592654 +3463.216 -0.003683950 +3463.236 -0.003778523 +3463.255 -0.003878091 +3463.275 -0.003983750 +3463.294 -0.004095708 +3463.314 -0.004213267 +3463.333 -0.004334995 +3463.353 -0.004458869 +3463.372 -0.004582182 +3463.392 -0.004701089 +3463.412 -0.004809879 +3463.431 -0.004900250 +3463.451 -0.004961013 +3463.470 -0.004978607 +3463.490 -0.004938598 +3463.509 -0.004828038 +3463.529 -0.004638186 +3463.548 -0.004366922 +3463.568 -0.004020146 +3463.587 -0.003611721 +3463.607 -0.003161879 +3463.627 -0.002694433 +3463.646 -0.002233438 +3463.666 -0.001800058 +3463.685 -0.001410250 +3463.705 -0.001073633 +3463.724 -0.000793546 +3463.744 -0.000568059 +3463.763 -0.000391522 +3463.783 -0.000256237 +3463.803 -0.000153923 +3463.822 -0.000076790 +3463.842 -0.000018172 +3463.861 0.000027224 +3463.881 0.000063353 +3463.900 0.000093017 +3463.920 0.000118129 +3463.939 0.000139954 +3463.959 0.000159324 +3463.978 0.000176780 +3463.998 0.000192683 +3464.018 0.000207275 +3464.037 0.000220725 +3464.057 0.000233160 +3464.076 0.000244685 +3464.096 0.000255394 +3464.115 0.000265373 +3464.135 0.000274697 +3464.154 0.000283426 +3464.174 0.000291606 +3464.194 0.000299271 +3464.213 0.000306454 +3464.233 0.000313192 +3464.252 0.000319530 +3464.272 0.000325508 +3464.291 0.000331162 +3464.311 0.000336513 +3464.330 0.000341570 +3464.350 0.000346343 +3464.370 0.000350843 +3464.389 0.000355094 +3464.409 0.000359126 +3464.428 0.000362968 +3464.448 0.000366638 +3464.467 0.000370140 +3464.487 0.000373469 +3464.506 0.000376619 +3464.526 0.000379600 +3464.545 0.000382430 +3464.565 0.000385140 +3464.585 0.000387751 +3464.604 0.000390272 +3464.624 0.000392697 +3464.643 0.000395009 +3464.663 0.000397200 +3464.682 0.000399275 +3464.702 0.000401257 +3464.721 0.000403176 +3464.741 0.000405054 +3464.761 0.000406892 +3464.780 0.000408675 +3464.800 0.000410380 +3464.819 0.000411993 +3464.839 0.000413521 +3464.858 0.000414991 +3464.878 0.000416436 +3464.897 0.000417877 +3464.917 0.000419314 +3464.936 0.000420725 +3464.956 0.000422078 +3464.976 0.000423356 +3464.995 0.000424565 +3465.015 0.000425735 +3465.034 0.000426905 +3465.054 0.000428101 +3465.073 0.000429322 +3465.093 0.000430541 +3465.112 0.000431719 +3465.132 0.000432829 +3465.152 0.000433875 +3465.171 0.000434890 +3465.191 0.000435921 +3465.210 0.000437002 +3465.230 0.000438135 +3465.249 0.000439288 +3465.269 0.000440406 +3465.288 0.000441441 +3465.308 0.000442363 +3465.327 0.000443156 +3465.347 0.000443778 +3465.367 0.000444099 +3465.386 0.000443821 +3465.406 0.000442393 +3465.425 0.000438925 +3465.445 0.000432108 +3465.464 0.000420124 +3465.484 0.000400578 +3465.503 0.000370472 +3465.523 0.000326282 +3465.543 0.000264186 +3465.562 0.000180487 +3465.582 0.000072190 +3465.601 -0.000062319 +3465.621 -0.000222664 +3465.640 -0.000406081 +3465.660 -0.000607390 +3465.679 -0.000819381 +3465.699 -0.001033588 +3465.718 -0.001241298 +3465.738 -0.001434594 +3465.758 -0.001607219 +3465.777 -0.001755121 +3465.797 -0.001876600 +3465.816 -0.001972108 +3465.836 -0.002043798 +3465.855 -0.002094947 +3465.875 -0.002129377 +3465.894 -0.002150953 +3465.914 -0.002163203 +3465.934 -0.002169071 +3465.953 -0.002170815 +3465.973 -0.002170010 +3465.992 -0.002167653 +3466.012 -0.002164320 +3466.031 -0.002160342 +3466.051 -0.002155949 +3466.070 -0.002151347 +3466.090 -0.002146743 +3466.109 -0.002142302 +3466.129 -0.002138103 +3466.149 -0.002134112 +3466.168 -0.002130206 +3466.188 -0.002126233 +3466.207 -0.002122089 +3466.227 -0.002117779 +3466.246 -0.002113416 +3466.266 -0.002109171 +3466.285 -0.002105191 +3466.305 -0.002101518 +3466.325 -0.002098070 +3466.344 -0.002094665 +3466.364 -0.002091115 +3466.383 -0.002087313 +3466.403 -0.002083291 +3466.422 -0.002079203 +3466.442 -0.002075240 +3466.461 -0.002071506 +3466.481 -0.002067907 +3466.500 -0.002064099 +3466.520 -0.002059488 +3466.540 -0.002053282 +3466.559 -0.002044509 +3466.579 -0.002031984 +3466.598 -0.002014182 +3466.618 -0.001989095 +3466.637 -0.001954132 +3466.657 -0.001906200 +3466.676 -0.001842019 +3466.696 -0.001758677 +3466.716 -0.001654333 +3466.735 -0.001528878 +3466.755 -0.001384377 +3466.774 -0.001225126 +3466.794 -0.001057266 +3466.813 -0.000888024 +3466.833 -0.000724751 +3466.852 -0.000573954 +3466.872 -0.000440547 +3466.891 -0.000327434 +3466.911 -0.000235467 +3466.931 -0.000163732 +3466.950 -0.000110027 +3466.970 -0.000071423 +3466.989 -0.000044769 +3467.009 -0.000027089 +3467.028 -0.000015818 +3467.048 -0.000008912 +3467.067 -0.000004844 +3467.087 -0.000002539 +3467.107 -0.000001283 +3467.126 -0.000000625 +3467.146 -0.000000294 +3467.165 -0.000000133 +3467.185 -0.000000058 +3467.204 -0.000000024 +3467.224 -0.000000010 +3467.243 -0.000000004 +3467.263 -0.000000001 +3467.283 -0.000000000 +3467.302 -0.000000000 +3467.322 0.000000000 +3467.341 0.000000000 +3467.361 0.000000000 +3467.380 0.000000000 +3467.400 0.000000000 +3467.419 0.000000000 +3467.439 0.000000000 +3467.458 0.000000000 +3467.478 0.000000000 +3467.498 0.000000000 +3467.517 0.000000000 +3467.537 0.000000000 +3467.556 0.000000000 +3467.576 0.000000000 +3467.595 0.000000000 +3467.615 0.000000000 +3467.634 0.000000000 +3467.654 0.000000000 +3467.674 0.000000000 +3467.693 0.000000000 +3467.713 0.000000000 +3467.732 0.000000000 +3467.752 0.000000000 +3467.771 0.000000000 +3467.791 0.000000000 +3467.810 0.000000000 +3467.830 0.000000000 +3467.849 0.000000000 +3467.869 0.000000000 +3467.889 0.000000000 +3467.908 0.000000000 +3467.928 0.000000000 +3467.947 0.000000000 +3467.967 0.000000000 +3467.986 0.000000000 +3468.006 0.000000000 +3468.025 0.000000000 +3468.045 0.000000000 +3468.065 0.000000000 +3468.084 0.000000000 +3468.104 0.000000000 +3468.123 0.000000000 +3468.143 0.000000000 +3468.162 0.000000000 +3468.182 0.000000000 +3468.201 0.000000000 +3468.221 0.000000000 +3468.240 0.000000000 +3468.260 0.000000000 +3468.280 0.000000000 +3468.299 0.000000000 +3468.319 0.000000000 +3468.338 0.000000000 +3468.358 0.000000000 +3468.377 0.000000000 +3468.397 0.000000000 +3468.416 0.000000000 +3468.436 0.000000000 +3468.456 0.000000000 +3468.475 0.000000000 +3468.495 0.000000000 +3468.514 0.000000000 +3468.534 0.000000000 +3468.553 0.000000000 +3468.573 0.000000000 +3468.592 0.000000000 +3468.612 0.000000000 +3468.631 0.000000000 +3468.651 0.000000000 +3468.671 0.000000000 +3468.690 0.000000000 +3468.710 0.000000000 +3468.729 0.000000000 +3468.749 0.000000000 +3468.768 0.000000000 +3468.788 0.000000000 +3468.807 0.000000000 +3468.827 0.000000000 +3468.847 0.000000000 +3468.866 0.000000000 +3468.886 0.000000000 +3468.905 0.000000000 +3468.925 0.000000000 +3468.944 0.000000000 +3468.964 0.000000000 +3468.983 0.000000000 +3469.003 0.000000000 +3469.022 0.000000000 +3469.042 0.000000000 +3469.062 0.000000000 +3469.081 0.000000000 +3469.101 0.000000000 +3469.120 0.000000000 +3469.140 0.000000000 +3469.159 0.000000000 +3469.179 0.000000000 +3469.198 0.000000000 +3469.218 0.000000000 +3469.238 0.000000000 +3469.257 0.000000000 +3469.277 0.000000000 +3469.296 0.000000000 +3469.316 0.000000000 +3469.335 0.000000000 +3469.355 0.000000000 +3469.374 0.000000000 +3469.394 0.000000000 +3469.413 0.000000000 +3469.433 0.000000000 +3469.453 0.000000000 +3469.472 0.000000000 +3469.492 0.000000000 +3469.511 0.000000000 +3469.531 0.000000000 +3469.550 0.000000000 +3469.570 0.000000000 +3469.589 0.000000000 +3469.609 0.000000000 +3469.629 0.000000000 +3469.648 0.000000000 +3469.668 0.000000000 +3469.687 0.000000000 +3469.707 0.000000000 +3469.726 0.000000000 +3469.746 0.000000000 +3469.765 0.000000000 +3469.785 0.000000000 +3469.804 0.000000000 +3469.824 0.000000000 +3469.844 0.000000000 +3469.863 0.000000000 +3469.883 0.000000000 +3469.902 0.000000000 +3469.922 0.000000000 +3469.941 0.000000000 +3469.961 0.000000000 +3469.980 0.000000000 +3470.000 0.000000000 diff --git a/from_bittl/src/test2_sum.asc b/from_bittl/src/test2_sum.asc new file mode 100755 index 0000000..1d8f4b3 --- /dev/null +++ b/from_bittl/src/test2_sum.asc @@ -0,0 +1,1024 @@ +3450.000 0.001071175 +3450.020 0.001074132 +3450.039 0.001077327 +3450.059 0.001080779 +3450.078 0.001084511 +3450.098 0.001088551 +3450.117 0.001092927 +3450.137 0.001097676 +3450.156 0.001102837 +3450.176 0.001108459 +3450.196 0.001114599 +3450.215 0.001121326 +3450.235 0.001128726 +3450.254 0.001136903 +3450.274 0.001145993 +3450.293 0.001156162 +3450.313 0.001167626 +3450.332 0.001180653 +3450.352 0.001195567 +3450.371 0.001212751 +3450.391 0.001232615 +3450.411 0.001255553 +3450.430 0.001281854 +3450.450 0.001311582 +3450.469 0.001344418 +3450.489 0.001379491 +3450.508 0.001415240 +3450.528 0.001449352 +3450.547 0.001478827 +3450.567 0.001500217 +3450.587 0.001510024 +3450.606 0.001505232 +3450.626 0.001483863 +3450.645 0.001445445 +3450.665 0.001391260 +3450.684 0.001324294 +3450.704 0.001248871 +3450.723 0.001170040 +3450.743 0.001092836 +3450.762 0.001021588 +3450.782 0.000959406 +3450.802 0.000907942 +3450.821 0.000867429 +3450.841 0.000836946 +3450.860 0.000814824 +3450.880 0.000799062 +3450.899 0.000787689 +3450.919 0.000779011 +3450.938 0.000771729 +3450.958 0.000764960 +3450.978 0.000758181 +3450.997 0.000751139 +3451.017 0.000743759 +3451.036 0.000736066 +3451.056 0.000728118 +3451.075 0.000719963 +3451.095 0.000711593 +3451.114 0.000702903 +3451.134 0.000693629 +3451.153 0.000683255 +3451.173 0.000670897 +3451.193 0.000655129 +3451.212 0.000633796 +3451.232 0.000603809 +3451.251 0.000560993 +3451.271 0.000500033 +3451.290 0.000414621 +3451.310 0.000297840 +3451.329 0.000142837 +3451.349 -0.000056252 +3451.369 -0.000303237 +3451.388 -0.000598845 +3451.408 -0.000939947 +3451.427 -0.001319260 +3451.447 -0.001725672 +3451.466 -0.002145195 +3451.486 -0.002562437 +3451.505 -0.002962325 +3451.525 -0.003331763 +3451.544 -0.003660936 +3451.564 -0.003944034 +3451.584 -0.004179327 +3451.603 -0.004368677 +3451.623 -0.004516651 +3451.642 -0.004629457 +3451.662 -0.004713927 +3451.681 -0.004776687 +3451.701 -0.004823595 +3451.720 -0.004859453 +3451.740 -0.004887948 +3451.760 -0.004911747 +3451.779 -0.004932681 +3451.799 -0.004951946 +3451.818 -0.004970288 +3451.838 -0.004988154 +3451.857 -0.005005796 +3451.877 -0.005023346 +3451.896 -0.005040872 +3451.916 -0.005058403 +3451.935 -0.005075958 +3451.955 -0.005093553 +3451.975 -0.005111200 +3451.994 -0.005128909 +3452.014 -0.005146683 +3452.033 -0.005164517 +3452.053 -0.005182405 +3452.072 -0.005200347 +3452.092 -0.005218350 +3452.111 -0.005236425 +3452.131 -0.005254584 +3452.151 -0.005272832 +3452.170 -0.005291166 +3452.190 -0.005309576 +3452.209 -0.005328058 +3452.229 -0.005346614 +3452.248 -0.005365257 +3452.268 -0.005384001 +3452.287 -0.005402857 +3452.307 -0.005421827 +3452.326 -0.005440901 +3452.346 -0.005460068 +3452.366 -0.005479325 +3452.385 -0.005498678 +3452.405 -0.005518146 +3452.424 -0.005537746 +3452.444 -0.005557489 +3452.463 -0.005577369 +3452.483 -0.005597373 +3452.502 -0.005617488 +3452.522 -0.005637711 +3452.542 -0.005658057 +3452.561 -0.005678548 +3452.581 -0.005699206 +3452.600 -0.005720037 +3452.620 -0.005741034 +3452.639 -0.005762177 +3452.659 -0.005783452 +3452.678 -0.005804858 +3452.698 -0.005826414 +3452.717 -0.005848149 +3452.737 -0.005870088 +3452.757 -0.005892239 +3452.776 -0.005914589 +3452.796 -0.005937113 +3452.815 -0.005959795 +3452.835 -0.005982633 +3452.854 -0.006005652 +3452.874 -0.006028888 +3452.893 -0.006052372 +3452.913 -0.006076112 +3452.933 -0.006100095 +3452.952 -0.006124292 +3452.972 -0.006148677 +3452.991 -0.006173250 +3453.011 -0.006198032 +3453.030 -0.006223062 +3453.050 -0.006248364 +3453.069 -0.006273922 +3453.089 -0.006299648 +3453.109 -0.006325355 +3453.128 -0.006350698 +3453.148 -0.006375075 +3453.167 -0.006397414 +3453.187 -0.006415845 +3453.206 -0.006427207 +3453.226 -0.006426395 +3453.245 -0.006405603 +3453.265 -0.006353547 +3453.284 -0.006254835 +3453.304 -0.006089715 +3453.324 -0.005834472 +3453.343 -0.005462738 +3453.363 -0.004947854 +3453.382 -0.004266245 +3453.402 -0.003401451 +3453.421 -0.002348176 +3453.441 -0.001115501 +3453.460 0.000271592 +3453.480 0.001773034 +3453.500 0.003336979 +3453.519 0.004905231 +3453.539 0.006419865 +3453.558 0.007829829 +3453.578 0.009096306 +3453.597 0.010195947 +3453.617 0.011121599 +3453.636 0.011880737 +3453.656 0.012492249 +3453.675 0.012982435 +3453.695 0.013381083 +3453.715 0.013718213 +3453.734 0.014021794 +3453.754 0.014316408 +3453.773 0.014622625 +3453.793 0.014956721 +3453.812 0.015330426 +3453.832 0.015750438 +3453.851 0.016217648 +3453.871 0.016726172 +3453.891 0.017262477 +3453.910 0.017804995 +3453.930 0.018324659 +3453.949 0.018786679 +3453.969 0.019153616 +3453.988 0.019389513 +3454.008 0.019464484 +3454.027 0.019358912 +3454.047 0.019066422 +3454.066 0.018594962 +3454.086 0.017965729 +3454.106 0.017210170 +3454.125 0.016365688 +3454.145 0.015470939 +3454.164 0.014561588 +3454.184 0.013667194 +3454.203 0.012809543 +3454.223 0.012002406 +3454.242 0.011252390 +3454.262 0.010560458 +3454.282 0.009923651 +3454.301 0.009336665 +3454.321 0.008793112 +3454.340 0.008286382 +3454.360 0.007810171 +3454.379 0.007358766 +3454.399 0.006927152 +3454.418 0.006511009 +3454.438 0.006106623 +3454.457 0.005710723 +3454.477 0.005320268 +3454.497 0.004932220 +3454.516 0.004543365 +3454.536 0.004150238 +3454.555 0.003749195 +3454.575 0.003336654 +3454.594 0.002909516 +3454.614 0.002465719 +3454.633 0.002004900 +3454.653 0.001529082 +3454.673 0.001043287 +3454.692 0.000555924 +3454.712 0.000078797 +3454.731 -0.000373420 +3454.751 -0.000784311 +3454.770 -0.001137400 +3454.790 -0.001418187 +3454.809 -0.001616211 +3454.829 -0.001726759 +3454.848 -0.001751884 +3454.868 -0.001700526 +3454.888 -0.001587715 +3454.907 -0.001433026 +3454.927 -0.001258578 +3454.946 -0.001086911 +3454.966 -0.000939028 +3454.985 -0.000832800 +3455.005 -0.000781808 +3455.024 -0.000794621 +3455.044 -0.000874466 +3455.064 -0.001019263 +3455.083 -0.001222004 +3455.103 -0.001471490 +3455.122 -0.001753416 +3455.142 -0.002051758 +3455.161 -0.002350335 +3455.181 -0.002634386 +3455.200 -0.002891926 +3455.220 -0.003114690 +3455.239 -0.003298529 +3455.259 -0.003443207 +3455.279 -0.003551695 +3455.298 -0.003629119 +3455.318 -0.003681620 +3455.337 -0.003715333 +3455.357 -0.003735659 +3455.376 -0.003746910 +3455.396 -0.003752272 +3455.415 -0.003753996 +3455.435 -0.003753674 +3455.455 -0.003752480 +3455.474 -0.003751322 +3455.494 -0.003750887 +3455.513 -0.003751644 +3455.533 -0.003753811 +3455.552 -0.003757372 +3455.572 -0.003762117 +3455.591 -0.003767727 +3455.611 -0.003773866 +3455.630 -0.003780282 +3455.650 -0.003786877 +3455.670 -0.003793751 +3455.689 -0.003801190 +3455.709 -0.003809613 +3455.728 -0.003819486 +3455.748 -0.003831245 +3455.767 -0.003845278 +3455.787 -0.003862014 +3455.806 -0.003882111 +3455.826 -0.003906711 +3455.846 -0.003937646 +3455.865 -0.003977487 +3455.885 -0.004029327 +3455.904 -0.004096278 +3455.924 -0.004180761 +3455.943 -0.004283762 +3455.963 -0.004404277 +3455.982 -0.004539129 +3456.002 -0.004683261 +3456.022 -0.004830458 +3456.041 -0.004974306 +3456.061 -0.005109147 +3456.080 -0.005230796 +3456.100 -0.005336854 +3456.119 -0.005426628 +3456.139 -0.005500752 +3456.158 -0.005560696 +3456.178 -0.005608328 +3456.197 -0.005645636 +3456.217 -0.005674612 +3456.237 -0.005697238 +3456.256 -0.005715474 +3456.276 -0.005731190 +3456.295 -0.005746011 +3456.315 -0.005761141 +3456.334 -0.005777222 +3456.354 -0.005794306 +3456.373 -0.005811964 +3456.393 -0.005829512 +3456.413 -0.005846292 +3456.432 -0.005861929 +3456.452 -0.005876482 +3456.471 -0.005890449 +3456.491 -0.005904616 +3456.510 -0.005919804 +3456.530 -0.005936577 +3456.549 -0.005955030 +3456.569 -0.005974720 +3456.588 -0.005994788 +3456.608 -0.006014248 +3456.628 -0.006032338 +3456.647 -0.006048819 +3456.667 -0.006064095 +3456.686 -0.006079110 +3456.706 -0.006095020 +3456.725 -0.006112784 +3456.745 -0.006132790 +3456.764 -0.006154683 +3456.784 -0.006177456 +3456.804 -0.006199772 +3456.823 -0.006220422 +3456.843 -0.006238728 +3456.862 -0.006254742 +3456.882 -0.006269137 +3456.901 -0.006282793 +3456.921 -0.006296187 +3456.940 -0.006308772 +3456.960 -0.006318537 +3456.979 -0.006321899 +3456.999 -0.006313959 +3457.019 -0.006289031 +3457.038 -0.006241229 +3457.058 -0.006164872 +3457.077 -0.006054493 +3457.097 -0.005904382 +3457.116 -0.005707777 +3457.136 -0.005455989 +3457.155 -0.005137880 +3457.175 -0.004740107 +3457.195 -0.004248364 +3457.214 -0.003649650 +3457.234 -0.002935205 +3457.253 -0.002103509 +3457.273 -0.001162604 +3457.292 -0.000131027 +3457.312 0.000963041 +3457.331 0.002084435 +3457.351 0.003194989 +3457.370 0.004258094 +3457.390 0.005242896 +3457.410 0.006127365 +3457.429 0.006899772 +3457.449 0.007558504 +3457.468 0.008110522 +3457.488 0.008568986 +3457.507 0.008950615 +3457.527 0.009273262 +3457.546 0.009554004 +3457.566 0.009807878 +3457.586 0.010047251 +3457.605 0.010281699 +3457.625 0.010518279 +3457.644 0.010762030 +3457.664 0.011016567 +3457.683 0.011284645 +3457.703 0.011568619 +3457.722 0.011870744 +3457.742 0.012193345 +3457.761 0.012538901 +3457.781 0.012910066 +3457.801 0.013309666 +3457.820 0.013740602 +3457.840 0.014205563 +3457.859 0.014706419 +3457.879 0.015243235 +3457.898 0.015812929 +3457.918 0.016407768 +3457.937 0.017014060 +3457.957 0.017611438 +3457.977 0.018173174 +3457.996 0.018667735 +3458.016 0.019061608 +3458.035 0.019323036 +3458.055 0.019426105 +3458.074 0.019354393 +3458.094 0.019103487 +3458.113 0.018681829 +3458.133 0.018109714 +3458.152 0.017416650 +3458.172 0.016637615 +3458.192 0.015808892 +3458.211 0.014964236 +3458.231 0.014131914 +3458.250 0.013332956 +3458.270 0.012580682 +3458.289 0.011881296 +3458.309 0.011235248 +3458.328 0.010638935 +3458.348 0.010086386 +3458.368 0.009570665 +3458.387 0.009084857 +3458.407 0.008622637 +3458.426 0.008178531 +3458.446 0.007748006 +3458.465 0.007327520 +3458.485 0.006914595 +3458.504 0.006507891 +3458.524 0.006107214 +3458.543 0.005713373 +3458.563 0.005327839 +3458.583 0.004952263 +3458.602 0.004587937 +3458.622 0.004235369 +3458.641 0.003894062 +3458.661 0.003562555 +3458.680 0.003238668 +3458.700 0.002919823 +3458.719 0.002603311 +3458.739 0.002286402 +3458.759 0.001966291 +3458.778 0.001639961 +3458.798 0.001304073 +3458.817 0.000955048 +3458.837 0.000589388 +3458.856 0.000204241 +3458.876 -0.000201891 +3458.895 -0.000628486 +3458.915 -0.001072534 +3458.935 -0.001528440 +3458.954 -0.001988371 +3458.974 -0.002443014 +3458.993 -0.002882676 +3459.013 -0.003298515 +3459.032 -0.003683701 +3459.052 -0.004034246 +3459.071 -0.004349314 +3459.091 -0.004630900 +3459.110 -0.004882904 +3459.130 -0.005109777 +3459.150 -0.005315022 +3459.169 -0.005499815 +3459.189 -0.005661973 +3459.208 -0.005795291 +3459.228 -0.005889140 +3459.247 -0.005928098 +3459.267 -0.005891389 +3459.286 -0.005752074 +3459.306 -0.005476121 +3459.326 -0.005021781 +3459.345 -0.004339894 +3459.365 -0.003375803 +3459.384 -0.002073413 +3459.404 -0.000381577 +3459.423 0.001737624 +3459.443 0.004299730 +3459.462 0.007289446 +3459.482 0.010654652 +3459.501 0.014304422 +3459.521 0.018111896 +3459.541 0.021921918 +3459.560 0.025562339 +3459.580 0.028857222 +3459.599 0.031640025 +3459.619 0.033765200 +3459.638 0.035117397 +3459.658 0.035618211 +3459.677 0.035230886 +3459.697 0.033963372 +3459.717 0.031869693 +3459.736 0.029049009 +3459.756 0.025641379 +3459.775 0.021819396 +3459.795 0.017775559 +3459.814 0.013706403 +3459.834 0.009795426 +3459.853 0.006197559 +3459.873 0.003027816 +3459.892 0.000355949 +3459.912 -0.001792350 +3459.932 -0.003428567 +3459.951 -0.004590724 +3459.971 -0.005331394 +3459.990 -0.005706608 +3460.010 -0.005767314 +3460.029 -0.005554172 +3460.049 -0.005095763 +3460.068 -0.004409754 +3460.088 -0.003506360 +3460.108 -0.002393435 +3460.127 -0.001082562 +3460.147 0.000404507 +3460.166 0.002029850 +3460.186 0.003734812 +3460.205 0.005437961 +3460.225 0.007036522 +3460.244 0.008411775 +3460.264 0.009438138 +3460.283 0.009994808 +3460.303 0.009978107 +3460.323 0.009312342 +3460.342 0.007957167 +3460.362 0.005910080 +3460.381 0.003203689 +3460.401 -0.000101550 +3460.420 -0.003927514 +3460.440 -0.008189328 +3460.459 -0.012804724 +3460.479 -0.017699879 +3460.499 -0.022810520 +3460.518 -0.028078079 +3460.538 -0.033441815 +3460.557 -0.038828882 +3460.577 -0.044145039 +3460.596 -0.049268937 +3460.616 -0.054052480 +3460.635 -0.058328580 +3460.655 -0.061926013 +3460.674 -0.064689240 +3460.694 -0.066499581 +3460.714 -0.067293441 +3460.733 -0.067073616 +3460.753 -0.065911112 +3460.772 -0.063936952 +3460.792 -0.061325638 +3460.811 -0.058273606 +3460.831 -0.054976803 +3460.850 -0.051611241 +3460.870 -0.048319285 +3460.890 -0.045202868 +3460.909 -0.042323312 +3460.929 -0.039706291 +3460.948 -0.037349914 +3460.968 -0.035233921 +3460.987 -0.033328346 +3461.007 -0.031600627 +3461.026 -0.030020696 +3461.046 -0.028564048 +3461.065 -0.027213051 +3461.085 -0.025956905 +3461.105 -0.024790612 +3461.124 -0.023713308 +3461.144 -0.022726179 +3461.163 -0.021830133 +3461.183 -0.021023337 +3461.202 -0.020298717 +3461.222 -0.019641530 +3461.241 -0.019027191 +3461.261 -0.018419611 +3461.281 -0.017770428 +3461.300 -0.017019581 +3461.320 -0.016097651 +3461.339 -0.014930286 +3461.359 -0.013444692 +3461.378 -0.011577767 +3461.398 -0.009284959 +3461.417 -0.006548546 +3461.437 -0.003383827 +3461.457 0.000158136 +3461.476 0.003992137 +3461.496 0.008004951 +3461.515 0.012065318 +3461.535 0.016036363 +3461.554 0.019788597 +3461.574 0.023211586 +3461.593 0.026222676 +3461.613 0.028771799 +3461.632 0.030842109 +3461.652 0.032446892 +3461.672 0.033623716 +3461.691 0.034427024 +3461.711 0.034920375 +3461.730 0.035169378 +3461.750 0.035235996 +3461.769 0.035174601 +3461.789 0.035029817 +3461.808 0.034835941 +3461.828 0.034617579 +3461.848 0.034391015 +3461.867 0.034165879 +3461.887 0.033946706 +3461.906 0.033734117 +3461.926 0.033525452 +3461.945 0.033314878 +3461.965 0.033093030 +3461.984 0.032846390 +3462.004 0.032556633 +3462.023 0.032200238 +3462.043 0.031748695 +3462.063 0.031169639 +3462.082 0.030429171 +3462.102 0.029495444 +3462.121 0.028343311 +3462.141 0.026959423 +3462.160 0.025346866 +3462.180 0.023528207 +3462.199 0.021545945 +3462.219 0.019459769 +3462.239 0.017340690 +3462.258 0.015262906 +3462.278 0.013294835 +3462.297 0.011491048 +3462.317 0.009886672 +3462.336 0.008495251 +3462.356 0.007310261 +3462.375 0.006309674 +3462.395 0.005462365 +3462.414 0.004734909 +3462.434 0.004097392 +3462.454 0.003527278 +3462.473 0.003010895 +3462.493 0.002542659 +3462.512 0.002122636 +3462.532 0.001753264 +3462.551 0.001436162 +3462.571 0.001169743 +3462.590 0.000948103 +3462.610 0.000761268 +3462.630 0.000596568 +3462.649 0.000440673 +3462.669 0.000281737 +3462.688 0.000111146 +3462.708 -0.000075490 +3462.727 -0.000278226 +3462.747 -0.000493506 +3462.766 -0.000715443 +3462.786 -0.000937334 +3462.805 -0.001153054 +3462.825 -0.001358026 +3462.845 -0.001549645 +3462.864 -0.001727154 +3462.884 -0.001891130 +3462.903 -0.002042823 +3462.923 -0.002183579 +3462.942 -0.002314528 +3462.962 -0.002436554 +3462.981 -0.002550494 +3463.001 -0.002657383 +3463.021 -0.002758585 +3463.040 -0.002855731 +3463.060 -0.002950451 +3463.079 -0.003044029 +3463.099 -0.003137154 +3463.118 -0.003229880 +3463.138 -0.003321867 +3463.157 -0.003412789 +3463.177 -0.003502772 +3463.196 -0.003592654 +3463.216 -0.003683950 +3463.236 -0.003778523 +3463.255 -0.003878091 +3463.275 -0.003983750 +3463.294 -0.004095708 +3463.314 -0.004213267 +3463.333 -0.004334995 +3463.353 -0.004458869 +3463.372 -0.004582182 +3463.392 -0.004701089 +3463.412 -0.004809879 +3463.431 -0.004900250 +3463.451 -0.004961013 +3463.470 -0.004978607 +3463.490 -0.004938598 +3463.509 -0.004828038 +3463.529 -0.004638186 +3463.548 -0.004366922 +3463.568 -0.004020146 +3463.587 -0.003611721 +3463.607 -0.003161879 +3463.627 -0.002694433 +3463.646 -0.002233438 +3463.666 -0.001800058 +3463.685 -0.001410250 +3463.705 -0.001073633 +3463.724 -0.000793546 +3463.744 -0.000568059 +3463.763 -0.000391522 +3463.783 -0.000256237 +3463.803 -0.000153923 +3463.822 -0.000076790 +3463.842 -0.000018172 +3463.861 0.000027224 +3463.881 0.000063353 +3463.900 0.000093017 +3463.920 0.000118129 +3463.939 0.000139954 +3463.959 0.000159324 +3463.978 0.000176780 +3463.998 0.000192683 +3464.018 0.000207275 +3464.037 0.000220725 +3464.057 0.000233160 +3464.076 0.000244685 +3464.096 0.000255394 +3464.115 0.000265373 +3464.135 0.000274697 +3464.154 0.000283426 +3464.174 0.000291606 +3464.194 0.000299271 +3464.213 0.000306454 +3464.233 0.000313192 +3464.252 0.000319530 +3464.272 0.000325508 +3464.291 0.000331162 +3464.311 0.000336513 +3464.330 0.000341570 +3464.350 0.000346343 +3464.370 0.000350843 +3464.389 0.000355094 +3464.409 0.000359126 +3464.428 0.000362968 +3464.448 0.000366638 +3464.467 0.000370140 +3464.487 0.000373469 +3464.506 0.000376619 +3464.526 0.000379600 +3464.545 0.000382430 +3464.565 0.000385140 +3464.585 0.000387751 +3464.604 0.000390272 +3464.624 0.000392697 +3464.643 0.000395009 +3464.663 0.000397200 +3464.682 0.000399275 +3464.702 0.000401257 +3464.721 0.000403176 +3464.741 0.000405054 +3464.761 0.000406892 +3464.780 0.000408675 +3464.800 0.000410380 +3464.819 0.000411993 +3464.839 0.000413521 +3464.858 0.000414991 +3464.878 0.000416436 +3464.897 0.000417877 +3464.917 0.000419314 +3464.936 0.000420725 +3464.956 0.000422078 +3464.976 0.000423356 +3464.995 0.000424565 +3465.015 0.000425735 +3465.034 0.000426905 +3465.054 0.000428101 +3465.073 0.000429322 +3465.093 0.000430541 +3465.112 0.000431719 +3465.132 0.000432829 +3465.152 0.000433875 +3465.171 0.000434890 +3465.191 0.000435921 +3465.210 0.000437002 +3465.230 0.000438135 +3465.249 0.000439288 +3465.269 0.000440406 +3465.288 0.000441441 +3465.308 0.000442363 +3465.327 0.000443156 +3465.347 0.000443778 +3465.367 0.000444099 +3465.386 0.000443821 +3465.406 0.000442393 +3465.425 0.000438925 +3465.445 0.000432108 +3465.464 0.000420124 +3465.484 0.000400578 +3465.503 0.000370472 +3465.523 0.000326282 +3465.543 0.000264186 +3465.562 0.000180487 +3465.582 0.000072190 +3465.601 -0.000062319 +3465.621 -0.000222664 +3465.640 -0.000406081 +3465.660 -0.000607390 +3465.679 -0.000819381 +3465.699 -0.001033588 +3465.718 -0.001241298 +3465.738 -0.001434594 +3465.758 -0.001607219 +3465.777 -0.001755121 +3465.797 -0.001876600 +3465.816 -0.001972108 +3465.836 -0.002043798 +3465.855 -0.002094947 +3465.875 -0.002129377 +3465.894 -0.002150953 +3465.914 -0.002163203 +3465.934 -0.002169071 +3465.953 -0.002170815 +3465.973 -0.002170010 +3465.992 -0.002167653 +3466.012 -0.002164320 +3466.031 -0.002160342 +3466.051 -0.002155949 +3466.070 -0.002151347 +3466.090 -0.002146743 +3466.109 -0.002142302 +3466.129 -0.002138103 +3466.149 -0.002134112 +3466.168 -0.002130206 +3466.188 -0.002126233 +3466.207 -0.002122089 +3466.227 -0.002117779 +3466.246 -0.002113416 +3466.266 -0.002109171 +3466.285 -0.002105191 +3466.305 -0.002101518 +3466.325 -0.002098070 +3466.344 -0.002094665 +3466.364 -0.002091115 +3466.383 -0.002087313 +3466.403 -0.002083291 +3466.422 -0.002079203 +3466.442 -0.002075240 +3466.461 -0.002071506 +3466.481 -0.002067907 +3466.500 -0.002064099 +3466.520 -0.002059488 +3466.540 -0.002053282 +3466.559 -0.002044509 +3466.579 -0.002031984 +3466.598 -0.002014182 +3466.618 -0.001989095 +3466.637 -0.001954132 +3466.657 -0.001906200 +3466.676 -0.001842019 +3466.696 -0.001758677 +3466.716 -0.001654333 +3466.735 -0.001528878 +3466.755 -0.001384377 +3466.774 -0.001225126 +3466.794 -0.001057266 +3466.813 -0.000888024 +3466.833 -0.000724751 +3466.852 -0.000573954 +3466.872 -0.000440547 +3466.891 -0.000327434 +3466.911 -0.000235467 +3466.931 -0.000163732 +3466.950 -0.000110027 +3466.970 -0.000071423 +3466.989 -0.000044769 +3467.009 -0.000027089 +3467.028 -0.000015818 +3467.048 -0.000008912 +3467.067 -0.000004844 +3467.087 -0.000002539 +3467.107 -0.000001283 +3467.126 -0.000000625 +3467.146 -0.000000294 +3467.165 -0.000000133 +3467.185 -0.000000058 +3467.204 -0.000000024 +3467.224 -0.000000010 +3467.243 -0.000000004 +3467.263 -0.000000001 +3467.283 -0.000000000 +3467.302 -0.000000000 +3467.322 0.000000000 +3467.341 0.000000000 +3467.361 0.000000000 +3467.380 0.000000000 +3467.400 0.000000000 +3467.419 0.000000000 +3467.439 0.000000000 +3467.458 0.000000000 +3467.478 0.000000000 +3467.498 0.000000000 +3467.517 0.000000000 +3467.537 0.000000000 +3467.556 0.000000000 +3467.576 0.000000000 +3467.595 0.000000000 +3467.615 0.000000000 +3467.634 0.000000000 +3467.654 0.000000000 +3467.674 0.000000000 +3467.693 0.000000000 +3467.713 0.000000000 +3467.732 0.000000000 +3467.752 0.000000000 +3467.771 0.000000000 +3467.791 0.000000000 +3467.810 0.000000000 +3467.830 0.000000000 +3467.849 0.000000000 +3467.869 0.000000000 +3467.889 0.000000000 +3467.908 0.000000000 +3467.928 0.000000000 +3467.947 0.000000000 +3467.967 0.000000000 +3467.986 0.000000000 +3468.006 0.000000000 +3468.025 0.000000000 +3468.045 0.000000000 +3468.065 0.000000000 +3468.084 0.000000000 +3468.104 0.000000000 +3468.123 0.000000000 +3468.143 0.000000000 +3468.162 0.000000000 +3468.182 0.000000000 +3468.201 0.000000000 +3468.221 0.000000000 +3468.240 0.000000000 +3468.260 0.000000000 +3468.280 0.000000000 +3468.299 0.000000000 +3468.319 0.000000000 +3468.338 0.000000000 +3468.358 0.000000000 +3468.377 0.000000000 +3468.397 0.000000000 +3468.416 0.000000000 +3468.436 0.000000000 +3468.456 0.000000000 +3468.475 0.000000000 +3468.495 0.000000000 +3468.514 0.000000000 +3468.534 0.000000000 +3468.553 0.000000000 +3468.573 0.000000000 +3468.592 0.000000000 +3468.612 0.000000000 +3468.631 0.000000000 +3468.651 0.000000000 +3468.671 0.000000000 +3468.690 0.000000000 +3468.710 0.000000000 +3468.729 0.000000000 +3468.749 0.000000000 +3468.768 0.000000000 +3468.788 0.000000000 +3468.807 0.000000000 +3468.827 0.000000000 +3468.847 0.000000000 +3468.866 0.000000000 +3468.886 0.000000000 +3468.905 0.000000000 +3468.925 0.000000000 +3468.944 0.000000000 +3468.964 0.000000000 +3468.983 0.000000000 +3469.003 0.000000000 +3469.022 0.000000000 +3469.042 0.000000000 +3469.062 0.000000000 +3469.081 0.000000000 +3469.101 0.000000000 +3469.120 0.000000000 +3469.140 0.000000000 +3469.159 0.000000000 +3469.179 0.000000000 +3469.198 0.000000000 +3469.218 0.000000000 +3469.238 0.000000000 +3469.257 0.000000000 +3469.277 0.000000000 +3469.296 0.000000000 +3469.316 0.000000000 +3469.335 0.000000000 +3469.355 0.000000000 +3469.374 0.000000000 +3469.394 0.000000000 +3469.413 0.000000000 +3469.433 0.000000000 +3469.453 0.000000000 +3469.472 0.000000000 +3469.492 0.000000000 +3469.511 0.000000000 +3469.531 0.000000000 +3469.550 0.000000000 +3469.570 0.000000000 +3469.589 0.000000000 +3469.609 0.000000000 +3469.629 0.000000000 +3469.648 0.000000000 +3469.668 0.000000000 +3469.687 0.000000000 +3469.707 0.000000000 +3469.726 0.000000000 +3469.746 0.000000000 +3469.765 0.000000000 +3469.785 0.000000000 +3469.804 0.000000000 +3469.824 0.000000000 +3469.844 0.000000000 +3469.863 0.000000000 +3469.883 0.000000000 +3469.902 0.000000000 +3469.922 0.000000000 +3469.941 0.000000000 +3469.961 0.000000000 +3469.980 0.000000000 +3470.000 0.000000000 diff --git a/trEPR_spectrumIntegral.asv b/trEPR_spectrumIntegral.asv new file mode 100644 index 0000000..73ca950 --- /dev/null +++ b/trEPR_spectrumIntegral.asv @@ -0,0 +1,256 @@ +% +clearvars + +Sys.S = [1/2 1/2]; +Sys.g = [2, 2.0075]; + +Sys.initState = 'singlet'; + +% Exchange coupling +nj = 100; +Js = linspace(1e-2, 100, nj); % MHz + +gPlus = (Sys.g(1) + Sys.g(2))/2; +mwFreq = 9.7; % GHz +B0 = planck/bmagn/gPlus*mwFreq*1e12; % mT +nPoint = 5000; +msAx = linspace(9.4, 10, nPoint); % GHz, mw sweep axis +bsAx = mhz2mt(msAx*1e3, gPlus); % mT, b field sweep + +% +% Frequency sweep +% +mhzLw = 10; +Sys.lw = mhzLw; % MHz + +Exp.mwRange = [min(msAx), max(msAx)]; +Exp.Field = B0; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +msSim = zeros(nj, nPoint); + +for ij = 1:nj + Sys.J = Js(ij); + msSim(ij, :) = pepper(Sys, Exp); + % msSim(ij, :) = msSim(ij, :)/max(abs(msSim(ij, :))); +end + +msTotIntegral = sum(msSim, 2)/nPoint; + +% +% Field sweep +% +clear("Exp") + +Sys.lw = mhz2mt(mhzLw); % mT + +Exp.Range = [min(bsAx), max(bsAx)]; +Exp.mwFreq = mwFreq; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +bsSim = zeros(nj, nPoint); + +for ij = 1:nj + Sys.J = Js(ij); + bsSim(ij, :) = pepper(Sys, Exp); + % bsSim(ij, :) = bsSim(ij, :)/max(abs(bsSim(ij, :))); +end + +bsTotIntegral = sum(bsSim, 2)/nPoint; + +clf +plot(Js, msTotIntegral, 'o-', 'DisplayName', 'Mw sweep') +yyaxis right +plot(Js, bsTotIntegral, 'o-', 'DisplayName', 'B0 sweep') +xlabel('J / MHz') +yyaxis left +ylabel('Integral of trEPR spectrum') +legend() + +%% + +ij = 100; +clf +plot(msAx, msSim(ij, :)) +yyaxis right +plot(msAx, flip(bsSim(ij, :))) + +%% +clearvars + +Sys.S = [1/2 1/2]; +Sys.g = [2, 2.0075]; + +Sys.initState = 'singlet'; + +% Dipolar coupling +ndip = 100; +dips = linspace(1, 100, ndip); % MHz + +gPlus = (Sys.g(1) + Sys.g(2))/2; +mwFreq = 9.7; % GHz +B0 = planck/bmagn/gPlus*mwFreq*1e12; % mT +nPoint = 5000; +msAx = linspace(9.4, 10, nPoint); % GHz, mw sweep axis +bsAx = mhz2mt(msAx*1e3, gPlus); % mT, b field sweep + +% +% Frequency sweep +% +mhzLw = 10; +Sys.lw = mhzLw; % MHz + +Exp.mwRange = [min(msAx), max(msAx)]; +Exp.Field = B0; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +msSim = zeros(ndip, nPoint); + +for ij = 1:ndip + Sys.dip = dips(ij); + msSim(ij, :) = pepper(Sys, Exp); + % msSim(ij, :) = msSim(ij, :)/max(abs(msSim(ij, :))); +end + +msTotIntegral = sum(msSim, 2)/nPoint; + +% +% Field sweep +% +clear("Exp") + +Sys.lw = mhz2mt(mhzLw); % mT + +Exp.Range = [min(bsAx), max(bsAx)]; +Exp.mwFreq = mwFreq; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +bsSim = zeros(ndip, nPoint); + +for ij = 1:ndip + Sys.dip = dips(ij); + bsSim(ij, :) = pepper(Sys, Exp); + % bsSim(ij, :) = bsSim(ij, :)/max(abs(bsSim(ij, :))); +end + +bsTotIntegral = sum(bsSim, 2)/nPoint; + +clf +plot(dips, msTotIntegral, 'o-', 'DisplayName', 'Mw sweep') +yyaxis right +plot(dips, bsTotIntegral, 'o-', 'DisplayName', 'B0 sweep') +xlabel('J / MHz') +yyaxis left +ylabel('Integral of trEPR spectrum') +legend() + +%% +ij = 100; +clf +plot(msAx, msSim(ij, :)) +yyaxis right +plot(msAx, flip(bsSim(ij, :))) + +%% +clearvars + +Sys.S = [1/2 1/2]; +Sys.g = [2, 2.0075]; +Sys.dip = 5; % MHz + +Sys.initState = 'singlet'; + +gPlus = (Sys.g(1) + Sys.g(2))/2; +mwFreq = 9.7; % GHz +B0 = planck/bmagn/gPlus*mwFreq*1e12; % mT +nPoint = 5000; +msAx = linspace(9.4, 10, nPoint); % GHz, mw sweep axis +bsAx = mhz2mt(msAx*1e3, gPlus); % mT, b field sweep + +% +% Frequency sweep +% +mhzLw = 10; +Sys.lw = mhzLw; % MHz + +Exp.mwRange = [min(msAx), max(msAx)]; +Exp.Field = B0; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +Opt.GridSize = [91 0]; % 181 orientations +Opt.GridSymmetry = 'C1'; + +% Powder average +msSim = pepper(Sys, Exp, Opt); + +clear("Opt") + +Exp.CrystalSymmetry = 1; +Exp.MolFrame = [0 0 0]*pi/180; +Exp.SampleFrame = [0 0 0]*pi/180; + +Opt.separate = 'orientations'; +rho = deg2rad(linspace(0, 180, 181)); % 10 degree increments +solidAngleWeight = sin(rho')/sum(sin(rho), 'all'); + +% Rotation around x +Exp.SampleRotation = {'x', rho}; +msSimRotX = pepper(Sys, Exp, Opt); +msPowderRotX = sum(solidAngleWeight.*msSimRotX); + +% Rotation around y +Exp.SampleRotation = {'y', rho}; +msSimRotY = pepper(Sys, Exp, Opt); +msPowderRotY = sum(solidAngleWeight.*msSimRotY); + +% +% Field sweep +% +clear("Exp") + +Sys.lw = mhz2mt(mhzLw); % mT + +Exp.Range = [min(bsAx), max(bsAx)]; +Exp.mwFreq = mwFreq; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +clear("Opt") +Opt.GridSize = [91 0]; % 181 orientations +Opt.GridSymmetry = 'C1'; + +% Powder average +bsSim = pepper(Sys, Exp, Opt); + +clear("Opt") + +Exp.CrystalSymmetry = 1; +Exp.MolFrame = [0 0 0]*pi/180; +Exp.SampleFrame = [0 0 0]*pi/180; + +Opt.separate = 'orientations'; +rho = deg2rad(linspace(0, 180, 181)); +solidAngleWeight = sin(rho')/sum(sin(rho), 'all'); + +% Rotation around x +Exp.SampleRotation = {'x', rho}; +bsSimRotX = pepper(Sys, Exp, Opt); +bsPowderRotX = sum(solidAngleWeight.*bsSimRotX); + +% Rotation around y +Exp.SampleRotation = {'y', rho}; +bsSimRotY = pepper(Sys, Exp, Opt); +bsPowderRotY = sum(solidAngleWeight.*bsSimRotY); + +%% + +clf +plot(msAx, msPowderRotX, msAx, msPowderRotY) +% clf +% plot(bsAx, bsPowderRotX, bsAx, bsPowderRotY) + diff --git a/trEPR_spectrumIntegral.m b/trEPR_spectrumIntegral.m new file mode 100644 index 0000000..6600b3b --- /dev/null +++ b/trEPR_spectrumIntegral.m @@ -0,0 +1,257 @@ +%% 1. Exhange coupling +clearvars + +Sys.S = [1/2 1/2]; +Sys.g = [2, 2.0075]; + +Sys.initState = 'singlet'; + +% Exchange coupling +nj = 100; +Js = linspace(1e-2, 100, nj); % MHz + +gPlus = (Sys.g(1) + Sys.g(2))/2; +mwFreq = 9.7; % GHz +B0 = planck/bmagn/gPlus*mwFreq*1e12; % mT +nPoint = 5000; +msAx = linspace(9.4, 10, nPoint); % GHz, mw sweep axis +bsAx = mhz2mt(msAx*1e3, gPlus); % mT, b field sweep + +% +% Frequency sweep +% +mhzLw = 10; +Sys.lw = mhzLw; % MHz + +Exp.mwRange = [min(msAx), max(msAx)]; +Exp.Field = B0; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +msSim = zeros(nj, nPoint); + +for ij = 1:nj + Sys.J = Js(ij); + msSim(ij, :) = pepper(Sys, Exp); + % msSim(ij, :) = msSim(ij, :)/max(abs(msSim(ij, :))); +end + +msTotIntegral = sum(msSim, 2)/nPoint; + +% +% Field sweep +% +clear("Exp") + +Sys.lw = mhz2mt(mhzLw); % mT + +Exp.Range = [min(bsAx), max(bsAx)]; +Exp.mwFreq = mwFreq; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +bsSim = zeros(nj, nPoint); + +for ij = 1:nj + Sys.J = Js(ij); + bsSim(ij, :) = pepper(Sys, Exp); + % bsSim(ij, :) = bsSim(ij, :)/max(abs(bsSim(ij, :))); +end + +bsTotIntegral = sum(bsSim, 2)/nPoint; + +clf +plot(Js, msTotIntegral, 'o-', 'DisplayName', 'Mw sweep') +yyaxis right +plot(Js, bsTotIntegral, 'o-', 'DisplayName', 'B0 sweep') +xlabel('J / MHz') +yyaxis left +ylabel('Integral of trEPR spectrum') +legend() + +%% Plot + +ij = 100; +clf +plot(msAx, msSim(ij, :)) +yyaxis right +plot(msAx, flip(bsSim(ij, :))) + +%% Dipolar coupling +clearvars + +Sys.S = [1/2 1/2]; +Sys.g = [2, 2.0075]; + +Sys.initState = 'singlet'; + +% Dipolar coupling +ndip = 100; +dips = linspace(1, 100, ndip); % MHz + +gPlus = (Sys.g(1) + Sys.g(2))/2; +mwFreq = 9.7; % GHz +B0 = planck/bmagn/gPlus*mwFreq*1e12; % mT +nPoint = 5000; +msAx = linspace(9.4, 10, nPoint); % GHz, mw sweep axis +bsAx = mhz2mt(msAx*1e3, gPlus); % mT, b field sweep + +% +% Frequency sweep +% +mhzLw = 10; +Sys.lw = mhzLw; % MHz + +Exp.mwRange = [min(msAx), max(msAx)]; +Exp.Field = B0; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +msSim = zeros(ndip, nPoint); + +for ij = 1:ndip + Sys.dip = dips(ij); + msSim(ij, :) = pepper(Sys, Exp); + % msSim(ij, :) = msSim(ij, :)/max(abs(msSim(ij, :))); +end + +msTotIntegral = sum(msSim, 2)/nPoint; + +% +% Field sweep +% +clear("Exp") + +Sys.lw = mhz2mt(mhzLw); % mT + +Exp.Range = [min(bsAx), max(bsAx)]; +Exp.mwFreq = mwFreq; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +bsSim = zeros(ndip, nPoint); + +for ij = 1:ndip + Sys.dip = dips(ij); + bsSim(ij, :) = pepper(Sys, Exp); + % bsSim(ij, :) = bsSim(ij, :)/max(abs(bsSim(ij, :))); +end + +bsTotIntegral = sum(bsSim, 2)/nPoint; + +clf +plot(dips, msTotIntegral, 'o-', 'DisplayName', 'Mw sweep') +yyaxis right +plot(dips, bsTotIntegral, 'o-', 'DisplayName', 'B0 sweep') +xlabel('J / MHz') +yyaxis left +ylabel('Integral of trEPR spectrum') +legend() + +%% Plot + +ij = 100; +clf +plot(msAx, msSim(ij, :)) +yyaxis right +plot(msAx, flip(bsSim(ij, :))) + +%% Crystal rotation +clearvars + +Sys.S = [1/2 1/2]; +Sys.g = [2, 2.0075]; +Sys.dip = 5; % MHz + +Sys.initState = 'singlet'; + +gPlus = (Sys.g(1) + Sys.g(2))/2; +mwFreq = 9.7; % GHz +B0 = planck/bmagn/gPlus*mwFreq*1e12; % mT +nPoint = 5000; +msAx = linspace(9.4, 10, nPoint); % GHz, mw sweep axis +bsAx = mhz2mt(msAx*1e3, gPlus); % mT, b field sweep + +% +% Frequency sweep +% +mhzLw = 10; +Sys.lw = mhzLw; % MHz + +Exp.mwRange = [min(msAx), max(msAx)]; +Exp.Field = B0; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +Opt.GridSize = [91 0]; % 181 orientations +Opt.GridSymmetry = 'C1'; + +% Powder average +msSim = pepper(Sys, Exp, Opt); + +clear("Opt") + +Exp.CrystalSymmetry = 1; +Exp.MolFrame = [0 0 0]*pi/180; +Exp.SampleFrame = [0 0 0]*pi/180; + +Opt.separate = 'orientations'; +rho = deg2rad(linspace(0, 180, 181)); % 10 degree increments +solidAngleWeight = sin(rho')/sum(sin(rho), 'all'); + +% Rotation around x +Exp.SampleRotation = {'x', rho}; +msSimRotX = pepper(Sys, Exp, Opt); +msPowderRotX = sum(solidAngleWeight.*msSimRotX); + +% Rotation around y +Exp.SampleRotation = {'y', rho}; +msSimRotY = pepper(Sys, Exp, Opt); +msPowderRotY = sum(solidAngleWeight.*msSimRotY); + +% +% Field sweep +% +clear("Exp") + +Sys.lw = mhz2mt(mhzLw); % mT + +Exp.Range = [min(bsAx), max(bsAx)]; +Exp.mwFreq = mwFreq; +Exp.nPoints = nPoint; +Exp.Harmonic = 0; + +clear("Opt") +Opt.GridSize = [91 0]; % 181 orientations +Opt.GridSymmetry = 'C1'; + +% Powder average +bsSim = pepper(Sys, Exp, Opt); + +clear("Opt") + +Exp.CrystalSymmetry = 1; +Exp.MolFrame = [0 0 0]*pi/180; +Exp.SampleFrame = [0 0 0]*pi/180; + +Opt.separate = 'orientations'; +rho = deg2rad(linspace(0, 180, 181)); +solidAngleWeight = sin(rho')/sum(sin(rho), 'all'); + +% Rotation around x +Exp.SampleRotation = {'x', rho}; +bsSimRotX = pepper(Sys, Exp, Opt); +bsPowderRotX = sum(solidAngleWeight.*bsSimRotX); + +% Rotation around y +Exp.SampleRotation = {'y', rho}; +bsSimRotY = pepper(Sys, Exp, Opt); +bsPowderRotY = sum(solidAngleWeight.*bsSimRotY); + +%% Plot + +clf +plot(msAx, msPowderRotX, msAx, msPowderRotY) +% clf +% plot(bsAx, bsPowderRotX, bsAx, bsPowderRotY) + diff --git a/zech_psiOopEseem_trEPRstickSpectra.m b/zech_psiOopEseem_trEPRstickSpectra.m index 2960014..ea050e9 100755 --- a/zech_psiOopEseem_trEPRstickSpectra.m +++ b/zech_psiOopEseem_trEPRstickSpectra.m @@ -7,53 +7,51 @@ addpath(genpath('/net/storage/gianlum33/soft/matlab/')) tic % Taken from Easyspin example -clear('Sys', 'Exp', 'Vary', 'VaryExp') +clear('Sys', 'Exp', 'Vary', 'VaryExp', "Opt") Sys.S = [1/2 1/2]; Sys.g = [2.0030 2.0026 2.0023; ... % P700+ 2.0062 2.0051 2.0022]; % A1- -% Sys.gFrame = [-10 -128 -83; ... -Sys.gFrame = [0 0 0; +Sys.gFrame = [-10 -128 -83; ... 0 0 0]*pi/180; -Sys.eeFrame = [0 0 0]*pi/180; % zD direction is along -x of A1- +Sys.eeFrame = [0 90 0]*pi/180; % zD direction is along -x of A1- -% Factor 1/1.5 coming from different definition of spin Hamiltonian? -Sys.J = unitconvert(-1e-3,'mT->MHz')*2; % MHz -Sys.dip = unitconvert(+0.177,'mT->MHz')/1.5; % MHz -Sys.lw = mt2mhz(0.35); % MHz -% Sys.lw = mhz2mt(11); % MHz +Sys.J = (-1/2)*unitconvert(1e-3,'mT->MHz'); % MHz +Sys.dip = unitconvert(0.170,'mT->MHz')/1.5; % MHz +Sys.lwpp = 0.35; % mT Sys.initState = 'singlet'; -% nNuc = 1; -% Sys.Nucs = '1H'; -% Sys.Nucs = repmat(append(Sys.Nucs, ', '), [1, nNuc]); -% Sys.Nucs = Sys.Nucs(1:end - 2); -% % Sys.A = [zeros(1, 3), 9, 9, 9]; -% % Sys.A = 10*ones(1, 6); +nNuc = 3; +Sys.Nucs = '1H'; +Sys.Nucs = repmat(append(Sys.Nucs, ', '), [1, nNuc]); +Sys.Nucs = Sys.Nucs(1:end - 2); +Sys.A = [zeros(1, 3), 9, 9.4, 12.8]; +% Sys.A = 10*ones(1, 6); % Sys.A = 0*ones(1, 6); -% Sys.A = repmat(Sys.A, [nNuc, 1]); -% Sys.AFrame = [0 0 0 0 -0 0]*pi/180; -% Sys.AFrame = repmat(Sys.AFrame, [nNuc, 1]); - -B0 = 345.9*1; % mT -mwFreq = 9.7*1; -mwRange = mwFreq/1*1e-2; -xxSim = linspace(mwFreq - mwRange/2, mwFreq + mwRange/2, 4096); % GHz -xxSim1 = mhz2mt(xxSim*1e3); % mT +Sys.A = repmat(Sys.A, [nNuc, 1]); +Sys.AFrame = [0 0 0 60 -90 0]*pi/180; +Sys.AFrame = repmat(Sys.AFrame, [nNuc, 1]); + +% gPlus = (Sys.g(1) + Sys.g(2))/2; +mwFreq = 9.7; +% B0 = planck/bmagn/gfree*mwFreq*1e12; % mT +% xxSim = linspace(mwFreq - 100e-3, mwFreq + 100e-3, 1024); % GHz +xxSim1 = linspace(344.5, 347, 1024); % mT % Frequency sweep -Exp.mwCenterSweep = [mean(xxSim), max(xxSim) - min(xxSim)]; -Exp.Field = B0; +% Exp.mwCenterSweep = [mean(xxSim), max(xxSim) - min(xxSim)]; +% Exp.Field = B0; % Magnetic field sweep -% Exp.CenterSweep = [mean(xxSim1), max(xxSim1) - min(xxSim1)]; % mT -% Exp.mwFreq = mwFreq; % GHz +Exp.CenterSweep = [mean(xxSim1), max(xxSim1) - min(xxSim1)]; % mT +Exp.mwFreq = mwFreq; % GHz Exp.nPoints = numel(xxSim1); Exp.Harmonic = 0; -Opt.GridSize = [91 0]; % Equivalent to steps of 1 degree -Opt.GridSymmetry = 'C1'; +Opt.GridSize = [91 0]; +Opt.GridSymmetry = ''; + % Opt.separate = 'transitions'; FitOpt.Verbosity = 0; FitOpt.maxTime = 0.5; @@ -61,27 +59,244 @@ FitOpt.maxTime = 0.5; % Exp.CrystalSymmetry = 1; % Exp.MolFrame = [0 -0 -0]*pi/180; % molecular frame aligned with crystal/sample frame % Exp.SampleFrame = [-0 -0 -0]*pi/180; +% % +% nRot_L = [0;0;1]; % sample rotation axis in lab frame (lab x axis here) +% rho = deg2rad(0:1:180); % 10 degree increments +% Exp.SampleRotation = {'y',rho}; +% Opt.separate = 'orientations'; +% + +% +% % ySimNoHfi = pepper(Sys, Exp); -% ySimNoHfi = pepper(Sys, Exp); -% ySim = pepper(Sys, Exp, Opt); +ySim = pepper(Sys, Exp, Opt); +% yySim = ySim; +ySim = ySim'/max(abs(ySim)); -Ham = ham(Sys, [0, 0, B0]); -[Ham0, mux, muy, muz] = ham(Sys); +% Ham = ham(Sys, [0, 0, B0]); +% [Ham0, mux, muy, muz] = ham(Sys); toc +clf +plot(xxSim1, ySim) %, xxSim, yySim) +% clf -% hold on +%% Functions +% Expected input: B0 in mT +% Output: frequency nu in MHz +g2wFunc = @(B0, g) bmagn*B0/planck*g*1e-9; + +% Expected input: deltaw in MHz, J in MHz, d in MHz +% Output: Omega in MHz +OmegaFunc = @(deltaw, J, d) sqrt(deltaw.^2 + (J + d/2).^2); +% OmegaFuncEasy = @(deltaw, J, d) sqrt(deltaw.^2 + (J/2 + d/2).^2); + +% Dipolar interaction +% Makes use of the fact that cos(thetaD) = dotProduct(B0, zD) +% Expected input: +% dip: 1 x 1 +% nVers: 3 x nTheta x nPhi +% zD: 3 x 1 +dipFunc = @(dip, nVers, zD) dip*((sum(nVers.*zD)).^2 - 1/3); +% dipFuncEasy = @(dip, nVers, zD) -3/2*dip*((sum(nVers.*zD)).^2 - 1/3); + + +%% My powder average (only for equivalent nuclei) + +tic +dip = -mt2mhz(0.170); +JJ = mt2mhz(0.001); +nHfiLine = nNuc + 1; +trlwpp = 0.02; % mT + +% Theta, phi grid +nTheta = 181; +nPhi = 181; +thetas = linspace(0, 180, nTheta)*pi/180; +thetas = thetas'; +phis = linspace(0, 360, nPhi)*pi/180; + +% Direction of B0 +nVers = ang2vec(ones(nTheta, 1)*phis, thetas*ones(1, nPhi)); +% Effective g-values +euMatrixg1 = erot(Sys.gFrame(1, :))'; +g1Tensor = euMatrixg1*diag(Sys.g(1, :))*euMatrixg1'; +g1 = sqrt( sum( (g1Tensor*nVers).^2, 1)); +euMatrixg2 = erot(Sys.gFrame(2, :))'; +g2Tensor = euMatrixg2*diag(Sys.g(2, :))*euMatrixg2'; +g2 = sqrt( sum( (g2Tensor*nVers).^2, 1)); +% Dipolar interaction +zD = erot(Sys.eeFrame)*[0, 0, 1]'; +dd = dipFunc(dip, nVers, zD); + +% Hyperfine interaction with a number nNuc of equal nuclei +if nNuc ~= 0 + euMatrixHfi1 = erot(Sys.AFrame(1, 1:3)); + Ahfi1Tensor = euMatrixHfi1'*diag(Sys.A(1, 1:3))*euMatrixHfi1; + Ahfi1 = squeeze( ... + sqrt( sum( (pagemtimes(Ahfi1Tensor', nVers)).^2))); + % For spin 2 + euMatrixHfi2 = erot(Sys.AFrame(1, 4:6)); + Ahfi2Tensor = euMatrixHfi2'*diag(Sys.A(1, 4:6))*euMatrixHfi2; + Ahfi2 = squeeze( ... + sqrt( sum( (pagemtimes(Ahfi2Tensor', nVers)).^2))); + + % Shift resonances due to hyperfine interaction + Aplus = (Ahfi1 + Ahfi2)/2; % MHz + Aminus = (Ahfi1 - Ahfi2)/2; % MHz + + % Pascal triangle for hfi interaction + pascalMatrix = pascal(nHfiLine); + pascalFactor = pascalMatrix(nHfiLine:nHfiLine - 1:end - 1); % Antidiag +else + Aplus = 0; + Aminus = 0; + pascalFactor = 1; +end + +w0 = g2wFunc(xxSim1', (g1 + g2)/2); % MHz +deltaw = g2wFunc(xxSim1', (g1 - g2)/2); % MHz +% Signs for different transitions +signJmd = [-1, 1, -1, 1]; +signOmega = [-1, -1, 1, 1]; +signIntens = [1, -1, 1, -1]; +% Possible values of sum of nuclear spin quantum numbers +quantNumNuc = -nNuc/2:1:nNuc/2; +% Initialization +trSignal = zeros(numel(xxSim1), nTheta*nPhi); +% Spectra +for itrans = 1:4 + for ihfi = 1:nHfiLine + w0_ = w0 + quantNumNuc(ihfi)*Aplus; + deltaw_ = deltaw + quantNumNuc(ihfi)*Aminus; + Omega = OmegaFunc(deltaw_, JJ, dd); + wReson = w0_ + signJmd(itrans)*(JJ - dd) + signOmega(itrans)*Omega; + % intensityReson correct only for case of equal lws + intensityReson = signIntens(itrans)*1/8*(deltaw_.^2)./(Omega.^2); + trSignal_ = ... + gaussianbs(wReson*1e-3, mwFreq, mt2mhz(trlwpp)*1e-3, "lwpp"); + trSignal = trSignal + intensityReson.*trSignal_*pascalFactor(ihfi); + end +end +trSignal = reshape(trSignal, [numel(xxSim1), nTheta, nPhi]); +% Sum over solid angle distribution +solidAngleWeight = sin(thetas')/sum(sin(thetas)*ones(1, nPhi), 'all'); +trSignalPowder = sum(squeeze(sum(trSignal.*solidAngleWeight, 3)), 2); +% Normalized signal to max = 1 +ntrSignal = trSignalPowder/abs(max(trSignalPowder)); + +% zfile = load('/net/storage/gianlum33/projects/oop_ciss_calculations/from_bittl/src/test2_spec.asc'); +zfile = load('S:\projects\oop_ciss_calculations\from_bittl\src\test2_spec.asc'); +xxz = zfile(:, 1); +yyz = zfile(:, 2); +% figure() +clf +plot(xxz/10, yyz/max(yyz), 'DisplayName', 'Zech') +hold on +plot(xxSim1, ntrSignal, 'DisplayName', 'Gianluca') +hold on +plot(xxSim1, ySim/max(ySim), 'DisplayName', 'Easyspin') +legend() +xlim([min(xxSim1) max(xxSim1)]) +toc + +%% +%{ +% if numel(trlw) == 1 +% trlw = repmat(repelem(trlw, 4), [1, nHfiLine*nTheta*nPhi]); +% elseif numel(trlw) == 2 +% trlw = repmat(repelem(trlw, 2), [1, nHfiLine*nTheta*nPhi]); +% else +% error('trlw should be of size (1, 1) or (1, 2)') +% end + + + +% Intensities +intensityReson = 1/8*(deltaw(1, :).^2)./(Omega(1, :).^2); +intensityReson = ... + repmat([1, -1, 1, -1], [1, max(size(dd))]).* ... + repelem(intensityReson, 4); +intensityNorm = intensityReson ./ sum(abs(trSignal), 1); +pascalFactor = repmat(repelem(pascalFactor, 4), [1, nTheta*nPhi]); + +trSignal = trSignal.*intensityNorm.*pascalFactor; +% trSignalSumHfi = squeeze(sum(trSignal, 3)); % Sum over hfi lines +% trSignalSum = squeeze(sum(trSignalSumHfi, 2)); % Sum over transitions + +trSignal = reshape(trSignal, [numel(xxSim1), 4, nHfiLine, nTheta, nPhi]); +if nNuc ~= 0 + trSignalSumHfi = squeeze(sum(trSignal, 2)); % Sum over hfi lines + trSignalSum = squeeze(sum(trSignalSumHfi, 2)); % Sum over transitions +else + trSignalSum = squeeze(sum(trSignal, 2)); % Sum over transitions +end + +solidAngleWeight = sin(thetas')/sum(sin(thetas)*ones(1, nPhi), 'all'); +trSignalPowder = sum(squeeze(sum(trSignalSum.*solidAngleWeight, 3)), 2); + +% [~, ith] = min(abs(Exp.SampleFrame(2) + thetas)); +% ntrSignal = trSignalSum(:, ith, 1)/abs(max(trSignalSum(:, ith, 1))); +ntrSignal = trSignalPowder/abs(max(trSignalPowder)); + +diff = ySim - ntrSignal; +% toc +% % clf -% % plot(xxSim1, ySim/max(ySim), xxSim1 - 0.21, flip(trSignalPowder/max(trSignalPowder))) -% plot(xxSim, ySim/max(ySim)) % hold on -% plot(xxSim, trSignalPowder/max(trSignalPowder)) +% plot(xxSim, ySim, xxSim, ntrSignal) % yyaxis right -% plot(xxSim, ySim'/max(ySim) - trSignalPowder/max(trSignalPowder)) -% % plot(xxSim, ySimNoHfi/max(ySimNoHfi), xxSim, ySim/max(ySim)) -% % legend('Easyspin', 'Gianluca') +% plot(xxSim, diff) + +% if abs(round(sum(diff), 5)) == abs(round(sum(ySim), 5)) +% disp("Same areas. Area of my norm. signal is: " + string(sum(ntrSignal))) +% else +% disp("Not the same areas!!!!!!!") +% end + +toc + + + +%% +clf +plot(Js, sum(ySim, 2), 'o') +hold on +% plot(Js, sum(diff, 2), 'o') +% plot(Js, sum(ntrSignalPowder, 2), 'o') + +%% + +% figure() +ij = 1; +clf +plot(xxSim, ySim(ij, :), xxSim, trSignalPowder/max(trSignalPowder)) +yyaxis right +plot(xxSim, ySim(ij, :)' - trSignalPowder/max(trSignalPowder)) %% +clf +for ij = 1 + plot(xxSim, diff(ij, :)) + hold on +end +legend() +%% + +[~, ith] = min(abs(Exp.SampleFrame(2) - thetas)); +% figure(1) +clf +plot(xxSim, ySim/max(ySim)) +hold on +plot(xxSim, trSignalSum(:, ith, 1)/max(trSignalSum(:, ith, 1))) +% plot(xxSim, trSignal(:, 1, 1, ith, 1)/max(trSignal(:, 1, 1, ith, 1))) +% plot(xxSim, trSignal(:, 2, 1, ith, 1)/max(trSignal(:, 1, 1, ith, 1))) +% plot(xxSim, trSignal(:, 3, 1, ith, 1)/max(trSignal(:, 1, 1, ith, 1))) +% plot(xxSim, trSignal(:, 4, 1, ith, 1)/max(trSignal(:, 1, 1, ith, 1))) +yyaxis right +plot(xxSim, ySim/max(ySim) - trSignalSum(:, ith, 1)/max(trSignalSum(:, ith, 1))) + +%% [Vary, VaryExp] = deal(struct()); % Vary.gFrame = [1.5, 1.5, 1.5; 0, 0, 0]; % Vary.lw = 5; @@ -120,39 +335,19 @@ Om = sqrt(Om); eigen1 = Om - (Sys.J/4 - Sys.dip/2) eigen2 = - Om - (Sys.J/4 - Sys.dip/2) -%% My powder average (only for equivalent nuclei) - -tic -dip = unitconvert(-0.177,'mT->MHz'); % MHz, -4.9 MHz -JJ = unitconvert(1e-3,'mT->MHz'); % MHz -% ONLY gaussian lw implemented for now -% One linewidth for each transition (w12, w34, w13, w24) -% trlw = [Sys.lw*2*42/35, Sys.lw*2*42/35, Sys.lw*42/35, Sys.lw*42/35]*1e-3; % GHz, 0.7 and 0.35 mT -trlw = Sys.lw; % MHz -if isfield(Exp, 'mwFreq') - trlw = mt2mhz(trlw); -end - -% Expected input: B0 in mT -% Output: frequency nu in MHz -g2wFunc = @(B0, g) bmagn*B0/planck*g*1e-9; -% Expected input: deltaw in MHz, J in MHz, d in MHz -% Output: Omega in MHz -OmegaFunc = @(deltaw, J, d) sqrt(deltaw.^2 + (J + d/2).^2); -% Dipolar interaction -% Makes use of the fact that cos(thetaD) = dotProduct(B0, zD) -% Expected input: -% dip: 1 x 1 -% nVers: 3 x nTheta x nPhi -% zD: 3 x 1 -dipFunc = @(dip, nVers, zD) dip*((sum(nVers.*zD)).^2 - 1/3); +load("vik.mat") +clf +imagesc(squeeze(reshapeThPh(ddn)) - dd) +colormap(vik) +colorbar +%% % Theta, phi grid nTheta = 91*2 - 1; thetas = linspace(0, 180, nTheta)*pi/180; % thetas = 10*pi/180; nTheta = numel(thetas); -nPhi = 91*2*2 - 3; +nPhi = 91*2*2 - 1; phis = linspace(0, 360, nPhi)*pi/180; % Direction of B0 @@ -188,6 +383,21 @@ else nHfiLine = 0; end +% +% Hyperfine interaction with a number nNuc of equal nuclei +% + +% +% hfi +% +if isfield(Sys, 'Nucs') + nNuc = numel(strsplit(Sys.Nucs, ',')); % Number of equivalent nuclei + nHfiLine = nNuc + 1; +else + nNuc = 0; + nHfiLine = 0; +end + % % Hyperfine interaction with a number nNuc of equal nuclei % @@ -205,7 +415,7 @@ if nNuc ~= 0 % Shift resonances due to hyperfine interaction Aplus = (Ahfi1 + Ahfi2)/2; % MHz - % Make w0 have size [nHfiLine, nTheta, nPhi] + % Make w0 have size [nHfiLine, nTheta, nPhi]qrt(deltaw.^2 + (J + d/2).^2); w0 = insertDimensionPos1(w0, nHfiLine); % Make Aplus have size [1, nTheta, nPhi] Aplus = reshape(Aplus, [1, size(Aplus)]); @@ -248,7 +458,7 @@ wReson(4, :, :, :) = w0 + dipInteraction + (Omega) ; % w24 % Lineshapes for each transition - (xxSim(2) - xxSim(1))/8 trSignal = ... - gaussiantransitions(xxSim', wReson*1e-3, trlw*1e-3, "fwhm"); + gaussiantransitions(xxSim', wReson*1e-3, trlw*1e-3, "var"); % trSignal = ... % gaussiantransitions(xxSim', wReson, trlw*1e-3, "fwhm"); @@ -271,14 +481,14 @@ solidAngleWeight = sin(thetas)/sum(sin(thetas')*ones(1, nPhi), 'all'); trSignalPowder = sum(squeeze(sum(trSignalSum.*solidAngleWeight, 3)), 2); % hold on -clf -% plot(xxSim1, ySim/max(ySim), xxSim1 - 0.21, flip(trSignalPowder/max(trSignalPowder))) -plot(xxSim, ySim/max(ySim)) -hold on -% plot(xxSim(1:end - 1), trSignalPowder(2:end)/max(trSignalPowder)) -plot(xxSim, trSignalPowder/max(trSignalPowder(:))) +% clf +% % plot(xxSim1, ySim/max(ySim), xxSim1 - 0.21, flip(trSignalPowder/max(trSignalPowder))) +% plot(xxSim, ySim/max(ySim)) +% hold on +% % plot(xxSim(1:end - 1), trSignalPowder(2:end)/max(trSignalPowder)) +% plot(xxSim, trSignalPowder/max(trSignalPowder(:))) -yyaxis right +% yyaxis right % plot(xxSim, ySim'/max(ySim) - trSignalPowder/max(trSignalPowder)) % xlim([9.695, 9.708]) toc @@ -298,19 +508,6 @@ yyaxis right plot(xxSim, ySim/max(ySim) - newsig) % xlim([9.695, 9.708]) toc -%% -[~, ith] = min(abs(Exp.SampleFrame(2) - thetas)); -% figure(1) -clf -plot(xxSim, ySim/max(ySim)) -hold on -plot(xxSim, trSignalSum(:, ith, 1)/max(trSignalSum(:, ith, 1))) -% plot(xxSim, trSignal(:, 1, 1, ith, 1)/max(trSignal(:, 1, 1, ith, 1))) -% plot(xxSim, trSignal(:, 2, 1, ith, 1)/max(trSignal(:, 1, 1, ith, 1))) -% plot(xxSim, trSignal(:, 3, 1, ith, 1)/max(trSignal(:, 1, 1, ith, 1))) -% plot(xxSim, trSignal(:, 4, 1, ith, 1)/max(trSignal(:, 1, 1, ith, 1))) -yyaxis right -plot(xxSim, ySim'/max(ySim) - trSignalSum(:, ith, 1)/max(trSignalSum(:, ith, 1))) %% Plot @@ -360,6 +557,15 @@ tan2alpha = squeeze(deltaw) ./ ((JJ + dd/2)*1e-3); %% %{ +2.00300 0.00000 0.00000 +0.00000 2.00260 0.00000 +0.00000 0.00000 2.00230 G-TENSOR P700+ + +2.00620 0.00000 0.00000 +0.00000 2.00510 0.00000 +0.00000 0.00000 2.00220 G-TENSOR Qb- + + tic clear('Sys', 'Exp', 'Vary', 'VaryExp') @@ -581,9 +787,105 @@ xlabel('X') title('g1') %} - +%} %% +function y1 = gaussianbs(wReson, mwFreq, c, mode) + arguments + wReson + mwFreq + c (1, 1) double + mode string = "lwpp" + end + + if strcmp(mode, "fwhm") + % If the input is fwhm, multiply the input parameters to have var + c = c/(2*sqrt(2*log(2))); + elseif strcmp(mode, "lwpp") + c = c/2; + elseif strcmp(mode, "var") + % Do nothing + else + error("Indicate if c is 'lwpp', 'fwhm'(=lw) or" ... + + "'var'(=variance) of the gaussian.") + end + + % Adjust dimensions of xx if needed + % [nAx, dim2] = size(xx); + % if nAx < dim2 + % xx = xx'; + % nAx = dim2; + % end + % nTotLine = size(x0, 2); + % + % xx = repmat(xx, [1, nTotLine]); + % x0 = repmat(x0, [nAx, ones(1, nTotLine)]); + % c = repmat(c, [nAx, ones(1, nTotLine)]); + + y1 = exp(-1/2 * (wReson - mwFreq).^2 ./ c^2); + +end +function y1 = newlorentziantransitions(xx, x0, c, mode) + % Output: + % y1: + arguments + xx % [nAx, 1] equally spaced values + x0 + c + mode string = "fwhm" + end + + if strcmp(mode, "fwhm") + % If the input is fwhm, multiply the input parameters to have var + c = c/sqrt(3); + end + + % Adjust dimensions of xx if needed + [nAx, dim2] = size(xx); + if nAx < dim2 + xx = xx'; + nAx = dim2; + end + nTotLine = size(x0, 2); + + xx = repmat(xx, [1, nTotLine]); + x0 = repmat(x0, [nAx, ones(1, nTotLine)]); + c = repmat(c, [nAx, ones(1, nTotLine)]); + + y1 = (1 + 4/3*(xx - x0).^2 ./ c.^2).^(-1); +end + +function y1 = newgaussiantransitions(xx, x0, c, mode) + % Output: + % y1: + arguments + xx % [nAx, 1] equally spaced values + x0 + c + mode string = "fwhm" + end + + if strcmp(mode, "fwhm") + % If the input is fwhm, multiply the input parameters to have var + c = c/(2*sqrt(2*log(2))); + disp('fwhm') + end + + % Adjust dimensions of xx if needed + [nAx, dim2] = size(xx); + if nAx < dim2 + xx = xx'; + nAx = dim2; + end + nTotLine = size(x0, 2); + + xx = repmat(xx, [1, nTotLine]); + x0 = repmat(x0, [nAx, ones(1, nTotLine)]); + c = repmat(c, [nAx, ones(1, nTotLine)]); + + y1 = exp(-1/2 * (xx - x0).^2 ./ c.^2); +end + function y1 = gaussiantransitions(xx, x0, c, mode) % Output: % y1: -- GitLab