├── Makefile ├── README.md ├── ewald.cpp ├── ewald.h ├── inputs ├── Al2O3.dat ├── Silica_beta_cristobalite.dat ├── TiO2_Rutile.dat └── ZnS_Sphalerite.dat ├── main ├── main.cpp ├── output ├── data │ ├── MadelungConstant_Al2O3.dat │ ├── MadelungConstant_ZnS.dat │ ├── MadelungConstant_rutile.dat │ └── MadelungConstant_silica.dat ├── gnuplot │ ├── Makefile │ ├── al2o3.gp │ ├── colorindex.ps │ ├── rutile.gp │ ├── silica.gp │ └── zns.gp └── graph │ ├── Al2O3_Corundum.png │ ├── ZnS.png │ ├── rutile.png │ └── silica.png └── shellscript.sh /Makefile: -------------------------------------------------------------------------------- 1 | 2 | main:main.cpp ewald.cpp 3 | g++ main.cpp ewald.cpp -o main 4 | 5 | clean: 6 | rm -f main 7 | rm -f output/data/* 8 | rm -f output/graph/* 9 | 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # EwaldSummation 2 | ## Ewald summation program for computing the long range Coulomb interactions in 3D Periodic systems. 3 | Because the equation in Ewald summation program is complicated, it must be checked and verified. Here we do this by calculating the Madelung constant for the crystal structure of SiO2(beta-cristobalite) 4 | , TiO2(rutile), Al2O3 (corrundum) and ZnS(Sphalerite). If the Madeulng constant is correct, then the Ewald sum works correctly. The calculated Madelung constants for the crystal structures are shown in the below figures: 5 | 6 | ## 1. Silica (Beta-cristobalite) 7 | Madelung constant for silica (beta-cristobalite) = 2.22 8 | ![alt tag](https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/master/output/graph/silica.png) 9 | 10 | ## 2. TiO2 (Rutile) 11 | Madelung constant for TiO2 (Rutile) = 2.40 12 | ![alt tag](https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/master/output/graph/rutile.png) 13 | 14 | ## 3. ZnS (Sphalerite) 15 | Madelung constant for ZnS (Sphalerite) = 1.63 16 | ![alt tag](https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/master/output/graph/ZnS.png) 17 | 18 | ## 4. Al2O3 (corrundum) 19 | Madelung constant for Al2O3 (corrundum) = 4.17 20 | ![alt tag](https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/master/output/graph/Al2O3_Corundum.png) 21 | -------------------------------------------------------------------------------- /ewald.cpp: -------------------------------------------------------------------------------- 1 | #include "ewald.h" 2 | #include 3 | #include 4 | 5 | using namespace std; 6 | 7 | const double Pi = 3.1415927; 8 | 9 | // Computes the vector norm 10 | double norm(double x,double y,double z) 11 | { 12 | return sqrt(x*x+y*y+z*z); 13 | } 14 | 15 | // Computes the dot product of the two vector [x,y,z] and [xx yy zz] 16 | double dp(double x,double y,double z,double xx,double yy,double zz) 17 | { 18 | return x*xx+y*yy+z*zz; 19 | } 20 | 21 | // Computes the real and recriprocal summation in Ewald summation 22 | double RealandReciprocalSpace(vector const &r, double Lx, double Ly, double Lz, double kappa, int ds) 23 | { 24 | double V = Lx * Ly * Lz; 25 | double u1 = 0.0, u2 = 0.0; 26 | double xx = 0, yy = 0, zz = 0; 27 | int acut = 50.0, gcut = 50.0; 28 | 29 | //Reciprocal space variable 30 | double g1, g2, g3, g_2, g_x, g_y, g_z; 31 | g1 = (2 * Pi / V) * (Ly * Lz); 32 | g2 = (2 * Pi / V) * (Lz * Lx); 33 | g3 = (2 * Pi / V) * (Lx * Ly); 34 | 35 | //Real space variable 36 | double a1 = 0, a2 = 0, a3 = 0, len = 0; 37 | for(unsigned int i = 0;i < r.size();i += 4) 38 | { 39 | for(unsigned int j = 0;j < r.size();j += 4) 40 | { 41 | xx = r[j+0] - r[i+0]; 42 | yy = r[j+1] - r[i+1]; 43 | zz = r[j+2] - r[i+2]; 44 | 45 | for(int x = -ds;x <= ds;x++) 46 | { 47 | for(int y = -ds;y <= ds;y++) 48 | { 49 | for(int z = -ds;z <= ds;z++) 50 | { 51 | //Reciprocal Space 52 | g_x = g1*x; 53 | g_y = g2*y; 54 | g_z = g3*z; 55 | if(norm(g_x,g_y,g_z) < gcut) 56 | { 57 | if(x==0&&y==0&&z==0){} 58 | else 59 | { 60 | g_2 = dp(g_x,g_y,g_z,g_x,g_y,g_z); 61 | u1 += (r[i+3] * r[j+3])*(1/g_2)*exp(-g_2/(4.0*kappa*kappa))*cos(dp(g_x,g_y,g_z,xx,yy,zz)); 62 | } 63 | } 64 | 65 | //Real Space 66 | a1 = x * Lx + xx; 67 | a2 = y * Ly + yy; 68 | a3 = z * Lz + zz; 69 | len = norm(a1,a2,a3); 70 | if(norm(x*Lx,y*Ly,z*Lz) < acut) 71 | { 72 | if( x==0 && y==0 && z==0) 73 | { 74 | if(i==j){} 75 | else 76 | { 77 | u2 += (r[i+3] * r[j+3]) * erfc(kappa*len)/len; 78 | } 79 | } 80 | else 81 | { 82 | u2 += (r[i+3] * r[j+3]) * erfc(kappa*len)/len; 83 | } 84 | 85 | } 86 | 87 | } 88 | } 89 | } 90 | } 91 | } 92 | 93 | return (u1*4.0*Pi * 0.5/V) + (u2/2.0); 94 | } 95 | 96 | // Computes the point energy 97 | double PointEnergy(vector const &r) 98 | { 99 | double u = 0; 100 | for(unsigned int i = 0;i < r.size();i += 4) 101 | { 102 | u = u - r[i+3]*r[i+3]; 103 | } 104 | return u; 105 | } 106 | 107 | // Computes the Dipole 108 | double Dipole(vector const &r) 109 | { 110 | double P = 0, P_x = 0,P_y = 0,P_z = 0; 111 | for(unsigned int i = 0; i < r.size();i += 4) 112 | { 113 | P_x += r[i+0]*r[i+3]; 114 | P_y += r[i+1]*r[i+3]; 115 | P_z += r[i+2]*r[i+3]; 116 | } 117 | return norm(P_x,P_y,P_z); 118 | } 119 | 120 | -------------------------------------------------------------------------------- /ewald.h: -------------------------------------------------------------------------------- 1 | #ifndef EWALD_H 2 | #define EWALD_H 3 | #include 4 | 5 | using namespace std; 6 | 7 | double norm(double x,double y,double z); 8 | 9 | double dp(double x,double y,double z,double xx,double yy,double zz); 10 | 11 | double RealandReciprocalSpace(vector const &r, double Lx, double Ly, double Lz, double kappa, int ds); 12 | 13 | double PointEnergy(vector const &r); 14 | 15 | double Dipole(vector const &r); 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /inputs/Al2O3.dat: -------------------------------------------------------------------------------- 1 | 1 1 1 2 | 1.97245 3 | 10 4 | 4 5 | 6 -4 6 | 5.128 5.128 5.128 7 | 0.35228 0.35228 0.35228 6 8 | -0.35228 -0.35228 -0.35228 6 9 | 0.14772 0.14772 0.14772 6 10 | -0.14772 -0.14772 -0.14772 6 11 | -0.0564 0.5564 0.2500 -4 12 | 0.0564 -0.5564 -0.2500 -4 13 | 0.5564 0.2500 -0.0564 -4 14 | -0.5564 -0.2500 0.0564 -4 15 | 0.2500 -0.0564 0.5564 -4 16 | -0.2500 0.0564 -0.5564 -4 17 | 18 | 19 | 20 | Note: Only parameter that can be adjusted here is the first line the number of unit cell 21 | in each direction. Other parameters are fixed. Please dont change. 22 | /*------------------------------------*/ 23 | 24 | Modifiable: 25 | 26 | 1 1 1 - Number of unit cell in each direction (1 1 1 means one unit cell, 1 1 2 - means 2 unit cell, 1 2 2 - means 4 unit cell) 27 | 28 | 29 | Constant: 30 | 31 | 1.97245 is the nearest distance between alumuinum and oxygen (r0) 32 | 33 | 34 | 10 atoms (6 oxygen + 8 aluminium atoms) 35 | 36 | 37 | 4 Al groups 38 | 39 | 40 | aluminium atomic charge = 3, oxygen atomic charge = -2 41 | 42 | 43 | size of the cell in angstrom in the 3 directions x, y z = 5.128 5.128 5.128 44 | 45 | 46 | position of the aluminium and oxygen atoms in the basic beta Al2O3 corrundum structure 47 | 0.35228 0.35228 0.35228 3 48 | -0.35228 -0.35228 -0.35228 3 49 | 0.14772 0.14772 0.14772 3 50 | -0.14772 -0.14772 -0.14772 3 51 | -0.0564 0.5564 0.2500 -2 52 | 0.0564 -0.5564 -0.2500 -2 53 | 0.5564 0.2500 -0.0564 -2 54 | -0.5564 -0.2500 0.0564 -2 55 | 0.2500 -0.0564 0.5564 -2 56 | -0.2500 0.0564 -0.5564 -2 57 | 58 | 59 | /*------------------------------------*/ 60 | -------------------------------------------------------------------------------- /inputs/Silica_beta_cristobalite.dat: -------------------------------------------------------------------------------- 1 | 1 1 1 2 | 1.550 3 | 24 4 | 8 5 | 4 -2 6 | 7.16 7.16 7.16 7 | 0.125000 0.125000 0.125000 -2.000000 8 | 0.125000 0.625000 0.625000 -2.000000 9 | 0.625000 0.625000 0.125000 -2.000000 10 | 0.625000 0.125000 0.625000 -2.000000 11 | 0.125000 0.375000 0.375000 -2.000000 12 | 0.125000 0.875000 0.875000 -2.000000 13 | 0.625000 0.875000 0.375000 -2.000000 14 | 0.625000 0.375000 0.875000 -2.000000 15 | 0.375000 0.125000 0.375000 -2.000000 16 | 0.375000 0.625000 0.875000 -2.000000 17 | 0.875000 0.625000 0.375000 -2.000000 18 | 0.875000 0.125000 0.875000 -2.000000 19 | 0.375000 0.875000 0.625000 -2.000000 20 | 0.375000 0.375000 0.125000 -2.000000 21 | 0.875000 0.375000 0.625000 -2.000000 22 | 0.875000 0.875000 0.125000 -2.000000 23 | 0.000000 0.000000 0.000000 4.000000 24 | 0.000000 0.500000 0.500000 4.000000 25 | 0.500000 0.500000 0.000000 4.000000 26 | 0.500000 0.000000 0.500000 4.000000 27 | 0.250000 0.250000 0.250000 4.000000 28 | 0.250000 0.750000 0.750000 4.000000 29 | 0.750000 0.750000 0.250000 4.000000 30 | 0.750000 0.250000 0.750000 4.000000 31 | 32 | 33 | 34 | Note: Only parameter that can be adjusted here is the first line the number of unit cell 35 | in each direction. Other parameters are fixed. Please dont change. 36 | /*------------------------------------*/ 37 | 38 | Modifiable: 39 | 40 | 1 1 1 - Number of unit cell in each direction (1 1 1 means one unit cell, 1 1 2 - means 2 unit cell, 1 2 2 - means 4 unit cell) 41 | 42 | 43 | Constant: 44 | 45 | 1.550 is the nearest distance between silicon and oxygen (r0) in silica 46 | 47 | 48 | 24 atoms (16 oxygen + 8 silicon atoms) 49 | 50 | 51 | 8 SiO_2 groups in basic beta-cristobalite structure 52 | 53 | 54 | silicon atomic charge = 4, oxygen atomic charge = -2 55 | 56 | 57 | size of the cell in angstrom in the 3 directions x, y z = 7.16, 7.16, 7.16 58 | 59 | 60 | position of the silicon and oxygen atoms in the basic beta cristobalite structure 61 | 0.125000 0.125000 0.125000 -2.000000 62 | 0.125000 0.625000 0.625000 -2.000000 63 | 0.625000 0.625000 0.125000 -2.000000 64 | 0.625000 0.125000 0.625000 -2.000000 65 | 0.125000 0.375000 0.375000 -2.000000 66 | 0.125000 0.875000 0.875000 -2.000000 67 | 0.625000 0.875000 0.375000 -2.000000 68 | 0.625000 0.375000 0.875000 -2.000000 69 | 0.375000 0.125000 0.375000 -2.000000 70 | 0.375000 0.625000 0.875000 -2.000000 71 | 0.875000 0.625000 0.375000 -2.000000 72 | 0.875000 0.125000 0.875000 -2.000000 73 | 0.375000 0.875000 0.625000 -2.000000 74 | 0.375000 0.375000 0.125000 -2.000000 75 | 0.875000 0.375000 0.625000 -2.000000 76 | 0.875000 0.875000 0.125000 -2.000000 77 | 0.000000 0.000000 0.000000 4.000000 78 | 0.000000 0.500000 0.500000 4.000000 79 | 0.500000 0.500000 0.000000 4.000000 80 | 0.500000 0.000000 0.500000 4.000000 81 | 0.250000 0.250000 0.250000 4.000000 82 | 0.250000 0.750000 0.750000 4.000000 83 | 0.750000 0.750000 0.250000 4.000000 84 | 0.750000 0.250000 0.750000 4.000000 85 | 86 | 87 | /*------------------------------------*/ 88 | -------------------------------------------------------------------------------- /inputs/TiO2_Rutile.dat: -------------------------------------------------------------------------------- 1 | 1 1 1 2 | 1.94614 3 | 6 4 | 2 5 | 4 -2 6 | 4.59370 4.59370 2.9581 7 | 0.3053 0.3053 0.0000 -2 8 | 0.1947 0.8053 0.5000 -2 9 | 0.6947 0.6947 0.0000 -2 10 | 0.8053 0.1947 0.5000 -2 11 | 0.0000 0.0000 0.0000 +4 12 | 0.5000 0.5000 0.5000 +4 13 | 14 | 15 | Note: Only parameter that can be adjusted here is the first line the number of unit cell 16 | in each direction. Other parameters are fixed. Please dont change. 17 | /*------------------------------------*/ 18 | 19 | Modifiable: 20 | 21 | 1 1 1 - Number of unit cell in each direction (1 1 1 means one unit cell, 1 1 2 - means 2 unit cell, 1 2 2 - means 4 unit cell) 22 | 23 | 24 | Constant: 25 | 26 | 1.94614 is the nearest distance between Ti and O (r0) 27 | 28 | 29 | 6 atoms (4 oxygen + 4 Ti atoms) in the basic rutile structure 30 | 31 | 32 | 2 TiO_2 groups in basic rutile structure 33 | 34 | 35 | Ti atomic charge = 4, oxygen atomic charge = -2 36 | 37 | 38 | size of the cell in angstrom in the 3 directions x, y z = 4.59370 4.59370 2.9581 39 | 40 | 41 | position of the Ti and oxygen atoms in the basic rutile structure 42 | 0.3053 0.3053 0.0000 -2 43 | 0.1947 0.8053 0.5000 -2 44 | 0.6947 0.6947 0.0000 -2 45 | 0.8053 0.1947 0.5000 -2 46 | 0.0000 0.0000 0.0000 +4 47 | 0.5000 0.5000 0.5000 +4 48 | 49 | 50 | /*------------------------------------*/ 51 | 52 | 53 | -------------------------------------------------------------------------------- /inputs/ZnS_Sphalerite.dat: -------------------------------------------------------------------------------- 1 | 1 1 1 2 | 2.347 3 | 8 4 | 2 5 | 2 -2 6 | 5.42 5.42 5.42 7 | 0.00 0.00 0.00 -2 8 | 0.00 0.50 0.50 -2 9 | 0.50 0.50 0.00 -2 10 | 0.50 0.00 0.50 -2 11 | 0.25 0.25 0.25 +2 12 | 0.25 0.75 0.75 +2 13 | 0.75 0.75 0.25 +2 14 | 0.75 0.25 0.75 +2 15 | 16 | 17 | 18 | Note: Only parameter that can be adjusted here is the first line the number of unit cell 19 | in each direction. Other parameters are fixed. Please dont change. 20 | /*------------------------------------*/ 21 | 22 | Modifiable: 23 | 24 | 1 1 1 - Number of unit cell in each direction (1 1 1 means one unit cell, 1 1 2 - means 2 unit cell, 1 2 2 - means 4 unit cell) 25 | 26 | 27 | Constant: 28 | 29 | 2.347 is the nearest distance between Zn and S 30 | 31 | 32 | 8 atoms (4 Zn + 4 S) 33 | 34 | 35 | 4 ZnS groups but 2 is taken because a small change is made in algorithm 36 | 37 | 38 | Zn atomic charge = +2, S atomic charge = -2 39 | 40 | 41 | size of the cell in angstrom in the 3 directions x, y z = 5.42 5.42 5.42 42 | 43 | 44 | position of the Zn and S atoms in the Sphalertie 45 | 0.00 0.00 0.00 -2 46 | 0.00 0.50 0.50 -2 47 | 0.50 0.50 0.00 -2 48 | 0.50 0.00 0.50 -2 49 | 0.25 0.25 0.25 +2 50 | 0.25 0.75 0.75 +2 51 | 0.75 0.75 0.25 +2 52 | 0.75 0.25 0.75 +2 53 | 54 | /*------------------------------------*/ 55 | -------------------------------------------------------------------------------- /main: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/main -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- 1 | 2 | // main.cpp computes the Madelung constant for the given crystal structure 3 | // of the material. The output can be seen in the output/graph folder 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include "ewald.h" 10 | 11 | 12 | using namespace std; 13 | 14 | const double Pi = 3.1415927; 15 | 16 | // Main implementation 17 | int main(int argc, char* argv[]) 18 | { 19 | // Number of unit cell in x, y and z direction - nx ny nz 20 | unsigned int nx = 0, ny = 0, nz = 0; 21 | // Closest distance between a pair atoms - r0 22 | double r0 = 0; 23 | // Number of atoms in the unit cell - N 24 | unsigned int N = 0; 25 | // Number of groups - per 26 | unsigned int per = 0; 27 | // Length of the basic unit cell - Lx Ly Lz 28 | double Lx = 0, Ly = 0, Lz = 0, V; 29 | // Charges of the system - q1 q2 30 | double q1 = 0 , q2 = 0 ; 31 | ifstream infile(argv[1]); 32 | infile >> nx >> ny >> nz ; 33 | infile >> r0 ; 34 | infile >> N ; 35 | infile >> per ; 36 | per *= nx * ny * nz; 37 | vector r(N*4*nx*ny*nz); 38 | infile >> q1 >> q2 ; 39 | infile >> Lx >> Ly >> Lz; 40 | 41 | for(unsigned int i = 0; i < (N*4); i += 4) 42 | { 43 | infile >> r[i+0] >> r[i+1] >> r[i+2] >> r[i+3]; 44 | r[i+0] *= Lx; r[i+1] *= Ly; r[i+2] *= Lz; 45 | } 46 | infile.close(); 47 | infile.clear(); 48 | 49 | // replicates the unit cell 50 | unsigned int i = 0; 51 | for(unsigned int x = 0; x < nx; ++x) 52 | { 53 | for(unsigned int y = 0; y < ny; ++y) 54 | { 55 | for(unsigned int z = 0; z < nz; ++z) 56 | { 57 | for(unsigned int j = 0;j < (N*4); j += 4) 58 | { 59 | r[i+0] = Lx * x + r[j+0]; 60 | r[i+1] = Ly * y + r[j+1]; 61 | r[i+2] = Lz * z + r[j+2]; 62 | r[i+3] = r[j+3]; 63 | //cout << i << " " << r[i+0] << " " << r[i+1] << " " << r[i+2] <<" " << r[i+3] << endl; 64 | i += 4; 65 | } 66 | } 67 | } 68 | } 69 | 70 | Lx *= nx; 71 | Ly *= ny; 72 | Lz *= nz; 73 | V = Lx * Ly * Lz; 74 | 75 | double U1 = 0, U2 = 0, U3 = 0; 76 | ofstream outfile (argv[2]); 77 | for(double k = 0.01;k < 5;k += 0.05) 78 | { 79 | U1 = RealandReciprocalSpace(r, Lx, Ly, Lz, k, 2); 80 | U2 = k * PointEnergy(r) / sqrt(Pi); 81 | U3 = 2 * Pi * pow(Dipole(r),2) / (3 * V); 82 | outfile << k << " " << ( U1 + U2 ) * r0 / (-8.0 * per) << "\n" ; 83 | } 84 | outfile.close(); 85 | outfile.clear(); 86 | 87 | return 0; 88 | } 89 | -------------------------------------------------------------------------------- /output/data/MadelungConstant_Al2O3.dat: -------------------------------------------------------------------------------- 1 | 0.01 4.13832 2 | 0.06 4.14475 3 | 0.11 4.15768 4 | 0.16 4.15223 5 | 0.21 4.14797 6 | 0.26 4.14707 7 | 0.31 4.14698 8 | 0.36 4.14697 9 | 0.41 4.14697 10 | 0.46 4.14697 11 | 0.51 4.14697 12 | 0.56 4.14698 13 | 0.61 4.14702 14 | 0.66 4.14719 15 | 0.71 4.14774 16 | 0.76 4.14915 17 | 0.81 4.15221 18 | 0.86 4.15802 19 | 0.91 4.16795 20 | 0.96 4.18357 21 | 1.01 4.20648 22 | 1.06 4.23824 23 | 1.11 4.28025 24 | 1.16 4.33368 25 | 1.21 4.39945 26 | 1.26 4.47823 27 | 1.31 4.57041 28 | 1.36 4.67621 29 | 1.41 4.79563 30 | 1.46 4.92853 31 | 1.51 5.07465 32 | 1.56 5.23364 33 | 1.61 5.40509 34 | 1.66 5.58854 35 | 1.71 5.7835 36 | 1.76 5.98946 37 | 1.81 6.20592 38 | 1.86 6.43237 39 | 1.91 6.66831 40 | 1.96 6.91325 41 | 2.01 7.16671 42 | 2.06 7.42824 43 | 2.11 7.69741 44 | 2.16 7.9738 45 | 2.21 8.257 46 | 2.26 8.54665 47 | 2.31 8.84239 48 | 2.36 9.14387 49 | 2.41 9.45079 50 | 2.46 9.76284 51 | 2.51 10.0797 52 | 2.56 10.4012 53 | 2.61 10.727 54 | 2.66 11.0569 55 | 2.71 11.3906 56 | 2.76 11.7281 57 | 2.81 12.069 58 | 2.86 12.4131 59 | 2.91 12.7604 60 | 2.96 13.1106 61 | 3.01 13.4636 62 | 3.06 13.8193 63 | 3.11 14.1774 64 | 3.16 14.538 65 | 3.21 14.9008 66 | 3.26 15.2657 67 | 3.31 15.6327 68 | 3.36 16.0017 69 | 3.41 16.3725 70 | 3.46 16.745 71 | 3.51 17.1192 72 | 3.56 17.4951 73 | 3.61 17.8724 74 | 3.66 18.2512 75 | 3.71 18.6313 76 | 3.76 19.0128 77 | 3.81 19.3956 78 | 3.86 19.7795 79 | 3.91 20.1646 80 | 3.96 20.5508 81 | 4.01 20.9381 82 | 4.06 21.3263 83 | 4.11 21.7155 84 | 4.16 22.1057 85 | 4.21 22.4967 86 | 4.26 22.8886 87 | 4.31 23.2812 88 | 4.36 23.6747 89 | 4.41 24.0689 90 | 4.46 24.4638 91 | 4.51 24.8594 92 | 4.56 25.2556 93 | 4.61 25.6525 94 | 4.66 26.05 95 | 4.71 26.4481 96 | 4.76 26.8468 97 | 4.81 27.246 98 | 4.86 27.6457 99 | 4.91 28.0459 100 | 4.96 28.4466 101 | -------------------------------------------------------------------------------- /output/data/MadelungConstant_ZnS.dat: -------------------------------------------------------------------------------- 1 | 0.01 0.961961 2 | 0.06 1.24279 3 | 0.11 1.56283 4 | 0.16 1.6319 5 | 0.21 1.63785 6 | 0.26 1.6381 7 | 0.31 1.6381 8 | 0.36 1.6381 9 | 0.41 1.6381 10 | 0.46 1.6381 11 | 0.51 1.63811 12 | 0.56 1.63811 13 | 0.61 1.63816 14 | 0.66 1.63835 15 | 0.71 1.6389 16 | 0.76 1.64013 17 | 0.81 1.6425 18 | 0.86 1.64651 19 | 0.91 1.6527 20 | 0.96 1.66154 21 | 1.01 1.67349 22 | 1.06 1.68892 23 | 1.11 1.70813 24 | 1.16 1.73134 25 | 1.21 1.75869 26 | 1.26 1.79028 27 | 1.31 1.82612 28 | 1.36 1.8662 29 | 1.41 1.91046 30 | 1.46 1.9588 31 | 1.51 2.01111 32 | 1.56 2.06725 33 | 1.61 2.12709 34 | 1.66 2.19048 35 | 1.71 2.25725 36 | 1.76 2.32725 37 | 1.81 2.40034 38 | 1.86 2.47634 39 | 1.91 2.55513 40 | 1.96 2.63655 41 | 2.01 2.72046 42 | 2.06 2.80673 43 | 2.11 2.89524 44 | 2.16 2.98586 45 | 2.21 3.07848 46 | 2.26 3.17298 47 | 2.31 3.26927 48 | 2.36 3.36725 49 | 2.41 3.46682 50 | 2.46 3.5679 51 | 2.51 3.6704 52 | 2.56 3.77425 53 | 2.61 3.87938 54 | 2.66 3.98571 55 | 2.71 4.09318 56 | 2.76 4.20174 57 | 2.81 4.31131 58 | 2.86 4.42186 59 | 2.91 4.53332 60 | 2.96 4.64566 61 | 3.01 4.75882 62 | 3.06 4.87277 63 | 3.11 4.98746 64 | 3.16 5.10286 65 | 3.21 5.21893 66 | 3.26 5.33564 67 | 3.31 5.45295 68 | 3.36 5.57085 69 | 3.41 5.68929 70 | 3.46 5.80826 71 | 3.51 5.92773 72 | 3.56 6.04767 73 | 3.61 6.16806 74 | 3.66 6.28889 75 | 3.71 6.41013 76 | 3.76 6.53176 77 | 3.81 6.65377 78 | 3.86 6.77614 79 | 3.91 6.89886 80 | 3.96 7.0219 81 | 4.01 7.14525 82 | 4.06 7.26891 83 | 4.11 7.39286 84 | 4.16 7.51708 85 | 4.21 7.64156 86 | 4.26 7.7663 87 | 4.31 7.89128 88 | 4.36 8.0165 89 | 4.41 8.14194 90 | 4.46 8.26759 91 | 4.51 8.39345 92 | 4.56 8.51951 93 | 4.61 8.64576 94 | 4.66 8.77219 95 | 4.71 8.89879 96 | 4.76 9.02557 97 | 4.81 9.15251 98 | 4.86 9.2796 99 | 4.91 9.40685 100 | 4.96 9.53424 101 | -------------------------------------------------------------------------------- /output/data/MadelungConstant_rutile.dat: -------------------------------------------------------------------------------- 1 | 0.01 1.86374 2 | 0.06 2.00222 3 | 0.11 2.25534 4 | 0.16 2.36364 5 | 0.21 2.38364 6 | 0.26 2.38571 7 | 0.31 2.38587 8 | 0.36 2.38591 9 | 0.41 2.38592 10 | 0.46 2.38592 11 | 0.51 2.38592 12 | 0.56 2.38592 13 | 0.61 2.38592 14 | 0.66 2.38593 15 | 0.71 2.38597 16 | 0.76 2.3861 17 | 0.81 2.38641 18 | 0.86 2.38707 19 | 0.91 2.38827 20 | 0.96 2.3903 21 | 1.01 2.39347 22 | 1.06 2.39811 23 | 1.11 2.40461 24 | 1.16 2.41332 25 | 1.21 2.4246 26 | 1.26 2.43877 27 | 1.31 2.45615 28 | 1.36 2.47697 29 | 1.41 2.50146 30 | 1.46 2.52977 31 | 1.51 2.56204 32 | 1.56 2.59834 33 | 1.61 2.63873 34 | 1.66 2.68322 35 | 1.71 2.73179 36 | 1.76 2.78441 37 | 1.81 2.84102 38 | 1.86 2.90155 39 | 1.91 2.96592 40 | 1.96 3.03402 41 | 2.01 3.10576 42 | 2.06 3.18103 43 | 2.11 3.25972 44 | 2.16 3.3417 45 | 2.21 3.42687 46 | 2.26 3.51512 47 | 2.31 3.60631 48 | 2.36 3.70035 49 | 2.41 3.79711 50 | 2.46 3.89649 51 | 2.51 3.99839 52 | 2.56 4.10269 53 | 2.61 4.20931 54 | 2.66 4.31814 55 | 2.71 4.42908 56 | 2.76 4.54206 57 | 2.81 4.65697 58 | 2.86 4.77375 59 | 2.91 4.8923 60 | 2.96 5.01256 61 | 3.01 5.13444 62 | 3.06 5.25789 63 | 3.11 5.38282 64 | 3.16 5.50919 65 | 3.21 5.63692 66 | 3.26 5.76596 67 | 3.31 5.89625 68 | 3.36 6.02775 69 | 3.41 6.16039 70 | 3.46 6.29413 71 | 3.51 6.42893 72 | 3.56 6.56474 73 | 3.61 6.70152 74 | 3.66 6.83922 75 | 3.71 6.97782 76 | 3.76 7.11728 77 | 3.81 7.25755 78 | 3.86 7.39861 79 | 3.91 7.54042 80 | 3.96 7.68296 81 | 4.01 7.8262 82 | 4.06 7.97011 83 | 4.11 8.11466 84 | 4.16 8.25982 85 | 4.21 8.40558 86 | 4.26 8.55192 87 | 4.31 8.6988 88 | 4.36 8.84621 89 | 4.41 8.99413 90 | 4.46 9.14254 91 | 4.51 9.29143 92 | 4.56 9.44076 93 | 4.61 9.59054 94 | 4.66 9.74074 95 | 4.71 9.89134 96 | 4.76 10.0423 97 | 4.81 10.1937 98 | 4.86 10.3455 99 | 4.91 10.4975 100 | 4.96 10.65 101 | -------------------------------------------------------------------------------- /output/data/MadelungConstant_silica.dat: -------------------------------------------------------------------------------- 1 | 0.01 1.88992 2 | 0.06 2.10748 3 | 0.11 2.2187 4 | 0.16 2.22625 5 | 0.21 2.22642 6 | 0.26 2.22642 7 | 0.31 2.22642 8 | 0.36 2.22642 9 | 0.41 2.22643 10 | 0.46 2.2265 11 | 0.51 2.22694 12 | 0.56 2.22851 13 | 0.61 2.23255 14 | 0.66 2.24071 15 | 0.71 2.25462 16 | 0.76 2.27558 17 | 0.81 2.30441 18 | 0.86 2.34145 19 | 0.91 2.38662 20 | 0.96 2.43956 21 | 1.01 2.49972 22 | 1.06 2.56644 23 | 1.11 2.63903 24 | 1.16 2.71682 25 | 1.21 2.79917 26 | 1.26 2.88552 27 | 1.31 2.97536 28 | 1.36 3.06827 29 | 1.41 3.16388 30 | 1.46 3.26187 31 | 1.51 3.362 32 | 1.56 3.46404 33 | 1.61 3.56782 34 | 1.66 3.67318 35 | 1.71 3.78001 36 | 1.76 3.88819 37 | 1.81 3.99762 38 | 1.86 4.10822 39 | 1.91 4.21992 40 | 1.96 4.33265 41 | 2.01 4.44633 42 | 2.06 4.56093 43 | 2.11 4.67637 44 | 2.16 4.79262 45 | 2.21 4.90962 46 | 2.26 5.02733 47 | 2.31 5.14571 48 | 2.36 5.26472 49 | 2.41 5.38432 50 | 2.46 5.50447 51 | 2.51 5.62516 52 | 2.56 5.74634 53 | 2.61 5.86798 54 | 2.66 5.99007 55 | 2.71 6.11257 56 | 2.76 6.23546 57 | 2.81 6.35873 58 | 2.86 6.48234 59 | 2.91 6.60629 60 | 2.96 6.73055 61 | 3.01 6.8551 62 | 3.06 6.97993 63 | 3.11 7.10503 64 | 3.16 7.23038 65 | 3.21 7.35597 66 | 3.26 7.48179 67 | 3.31 7.60781 68 | 3.36 7.73404 69 | 3.41 7.86047 70 | 3.46 7.98708 71 | 3.51 8.11386 72 | 3.56 8.24081 73 | 3.61 8.36792 74 | 3.66 8.49517 75 | 3.71 8.62257 76 | 3.76 8.75011 77 | 3.81 8.87778 78 | 3.86 9.00557 79 | 3.91 9.13348 80 | 3.96 9.2615 81 | 4.01 9.38964 82 | 4.06 9.51787 83 | 4.11 9.64621 84 | 4.16 9.77463 85 | 4.21 9.90315 86 | 4.26 10.0318 87 | 4.31 10.1604 88 | 4.36 10.2892 89 | 4.41 10.4181 90 | 4.46 10.547 91 | 4.51 10.676 92 | 4.56 10.805 93 | 4.61 10.9341 94 | 4.66 11.0633 95 | 4.71 11.1926 96 | 4.76 11.3219 97 | 4.81 11.4512 98 | 4.86 11.5806 99 | 4.91 11.7101 100 | 4.96 11.8396 101 | -------------------------------------------------------------------------------- /output/gnuplot/Makefile: -------------------------------------------------------------------------------- 1 | all: zns silica rutile al2o3 2 | 3 | al2o3:al2o3.gp 4 | gnuplot al2o3.gp 5 | 6 | zns:zns.gp 7 | gnuplot zns.gp 8 | 9 | silica:silica.gp 10 | gnuplot silica.gp 11 | 12 | rutile:rutile.gp 13 | gnuplot rutile.gp 14 | -------------------------------------------------------------------------------- /output/gnuplot/al2o3.gp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/output/gnuplot/al2o3.gp -------------------------------------------------------------------------------- /output/gnuplot/colorindex.ps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%Title: colorindex.ps 3 | %%Creator: gnuplot 4.6 patchlevel 1 4 | %%CreationDate: Wed Feb 1 22:58:49 2017 5 | %%DocumentFonts: (atend) 6 | %%BoundingBox: 50 50 410 302 7 | %%EndComments 8 | %%BeginProlog 9 | /gnudict 256 dict def 10 | gnudict begin 11 | % 12 | % The following true/false flags may be edited by hand if desired. 13 | % The unit line width and grayscale image gamma correction may also be changed. 14 | % 15 | /Color true def 16 | /Blacktext false def 17 | /Solid false def 18 | /Dashlength 1 def 19 | /Landscape false def 20 | /Level1 false def 21 | /Rounded false def 22 | /ClipToBoundingBox false def 23 | /SuppressPDFMark false def 24 | /TransparentPatterns false def 25 | /gnulinewidth 5.000 def 26 | /userlinewidth gnulinewidth def 27 | /Gamma 1.0 def 28 | /BackgroundColor {-1.000 -1.000 -1.000} def 29 | % 30 | /vshift -46 def 31 | /dl1 { 32 | 10.0 Dashlength mul mul 33 | Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 34 | } def 35 | /dl2 { 36 | 10.0 Dashlength mul mul 37 | Rounded { currentlinewidth 0.75 mul add } if 38 | } def 39 | /hpt_ 31.5 def 40 | /vpt_ 31.5 def 41 | /hpt hpt_ def 42 | /vpt vpt_ def 43 | /doclip { 44 | ClipToBoundingBox { 45 | newpath 50 50 moveto 410 50 lineto 410 302 lineto 50 302 lineto closepath 46 | clip 47 | } if 48 | } def 49 | % 50 | % Gnuplot Prolog Version 4.6 (September 2012) 51 | % 52 | %/SuppressPDFMark true def 53 | % 54 | /M {moveto} bind def 55 | /L {lineto} bind def 56 | /R {rmoveto} bind def 57 | /V {rlineto} bind def 58 | /N {newpath moveto} bind def 59 | /Z {closepath} bind def 60 | /C {setrgbcolor} bind def 61 | /f {rlineto fill} bind def 62 | /g {setgray} bind def 63 | /Gshow {show} def % May be redefined later in the file to support UTF-8 64 | /vpt2 vpt 2 mul def 65 | /hpt2 hpt 2 mul def 66 | /Lshow {currentpoint stroke M 0 vshift R 67 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 68 | /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 69 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 70 | /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 71 | Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 72 | /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 73 | /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 74 | /DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 75 | {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 76 | /BL {stroke userlinewidth 2 mul setlinewidth 77 | Rounded {1 setlinejoin 1 setlinecap} if} def 78 | /AL {stroke userlinewidth 2 div setlinewidth 79 | Rounded {1 setlinejoin 1 setlinecap} if} def 80 | /UL {dup gnulinewidth mul /userlinewidth exch def 81 | dup 1 lt {pop 1} if 10 mul /udl exch def} def 82 | /PL {stroke userlinewidth setlinewidth 83 | Rounded {1 setlinejoin 1 setlinecap} if} def 84 | 3.8 setmiterlimit 85 | % Default Line colors 86 | /LCw {1 1 1} def 87 | /LCb {0 0 0} def 88 | /LCa {0 0 0} def 89 | /LC0 {1 0 0} def 90 | /LC1 {0 1 0} def 91 | /LC2 {0 0 1} def 92 | /LC3 {1 0 1} def 93 | /LC4 {0 1 1} def 94 | /LC5 {1 1 0} def 95 | /LC6 {0 0 0} def 96 | /LC7 {1 0.3 0} def 97 | /LC8 {0.5 0.5 0.5} def 98 | % Default Line Types 99 | /LTw {PL [] 1 setgray} def 100 | /LTb {BL [] LCb DL} def 101 | /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 102 | /LT0 {PL [] LC0 DL} def 103 | /LT1 {PL [4 dl1 2 dl2] LC1 DL} def 104 | /LT2 {PL [2 dl1 3 dl2] LC2 DL} def 105 | /LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 106 | /LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 107 | /LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 108 | /LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 109 | /LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 110 | /LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 111 | /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 112 | /Dia {stroke [] 0 setdash 2 copy vpt add M 113 | hpt neg vpt neg V hpt vpt neg V 114 | hpt vpt V hpt neg vpt V closepath stroke 115 | Pnt} def 116 | /Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 117 | currentpoint stroke M 118 | hpt neg vpt neg R hpt2 0 V stroke 119 | } def 120 | /Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 121 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 122 | hpt2 neg 0 V closepath stroke 123 | Pnt} def 124 | /Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 125 | hpt2 vpt2 neg V currentpoint stroke M 126 | hpt2 neg 0 R hpt2 vpt2 V stroke} def 127 | /TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 128 | hpt neg vpt -1.62 mul V 129 | hpt 2 mul 0 V 130 | hpt neg vpt 1.62 mul V closepath stroke 131 | Pnt} def 132 | /Star {2 copy Pls Crs} def 133 | /BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 134 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 135 | hpt2 neg 0 V closepath fill} def 136 | /TriUF {stroke [] 0 setdash vpt 1.12 mul add M 137 | hpt neg vpt -1.62 mul V 138 | hpt 2 mul 0 V 139 | hpt neg vpt 1.62 mul V closepath fill} def 140 | /TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 141 | hpt neg vpt 1.62 mul V 142 | hpt 2 mul 0 V 143 | hpt neg vpt -1.62 mul V closepath stroke 144 | Pnt} def 145 | /TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 146 | hpt neg vpt 1.62 mul V 147 | hpt 2 mul 0 V 148 | hpt neg vpt -1.62 mul V closepath fill} def 149 | /DiaF {stroke [] 0 setdash vpt add M 150 | hpt neg vpt neg V hpt vpt neg V 151 | hpt vpt V hpt neg vpt V closepath fill} def 152 | /Pent {stroke [] 0 setdash 2 copy gsave 153 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 154 | closepath stroke grestore Pnt} def 155 | /PentF {stroke [] 0 setdash gsave 156 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 157 | closepath fill grestore} def 158 | /Circle {stroke [] 0 setdash 2 copy 159 | hpt 0 360 arc stroke Pnt} def 160 | /CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 161 | /C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 162 | /C1 {BL [] 0 setdash 2 copy moveto 163 | 2 copy vpt 0 90 arc closepath fill 164 | vpt 0 360 arc closepath} bind def 165 | /C2 {BL [] 0 setdash 2 copy moveto 166 | 2 copy vpt 90 180 arc closepath fill 167 | vpt 0 360 arc closepath} bind def 168 | /C3 {BL [] 0 setdash 2 copy moveto 169 | 2 copy vpt 0 180 arc closepath fill 170 | vpt 0 360 arc closepath} bind def 171 | /C4 {BL [] 0 setdash 2 copy moveto 172 | 2 copy vpt 180 270 arc closepath fill 173 | vpt 0 360 arc closepath} bind def 174 | /C5 {BL [] 0 setdash 2 copy moveto 175 | 2 copy vpt 0 90 arc 176 | 2 copy moveto 177 | 2 copy vpt 180 270 arc closepath fill 178 | vpt 0 360 arc} bind def 179 | /C6 {BL [] 0 setdash 2 copy moveto 180 | 2 copy vpt 90 270 arc closepath fill 181 | vpt 0 360 arc closepath} bind def 182 | /C7 {BL [] 0 setdash 2 copy moveto 183 | 2 copy vpt 0 270 arc closepath fill 184 | vpt 0 360 arc closepath} bind def 185 | /C8 {BL [] 0 setdash 2 copy moveto 186 | 2 copy vpt 270 360 arc closepath fill 187 | vpt 0 360 arc closepath} bind def 188 | /C9 {BL [] 0 setdash 2 copy moveto 189 | 2 copy vpt 270 450 arc closepath fill 190 | vpt 0 360 arc closepath} bind def 191 | /C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 192 | 2 copy moveto 193 | 2 copy vpt 90 180 arc closepath fill 194 | vpt 0 360 arc closepath} bind def 195 | /C11 {BL [] 0 setdash 2 copy moveto 196 | 2 copy vpt 0 180 arc closepath fill 197 | 2 copy moveto 198 | 2 copy vpt 270 360 arc closepath fill 199 | vpt 0 360 arc closepath} bind def 200 | /C12 {BL [] 0 setdash 2 copy moveto 201 | 2 copy vpt 180 360 arc closepath fill 202 | vpt 0 360 arc closepath} bind def 203 | /C13 {BL [] 0 setdash 2 copy moveto 204 | 2 copy vpt 0 90 arc closepath fill 205 | 2 copy moveto 206 | 2 copy vpt 180 360 arc closepath fill 207 | vpt 0 360 arc closepath} bind def 208 | /C14 {BL [] 0 setdash 2 copy moveto 209 | 2 copy vpt 90 360 arc closepath fill 210 | vpt 0 360 arc} bind def 211 | /C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 212 | vpt 0 360 arc closepath} bind def 213 | /Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 214 | neg 0 rlineto closepath} bind def 215 | /Square {dup Rec} bind def 216 | /Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 217 | /S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 218 | /S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 219 | /S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 220 | /S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 221 | /S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 222 | /S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 223 | exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 224 | /S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 225 | /S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 226 | 2 copy vpt Square fill Bsquare} bind def 227 | /S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 228 | /S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 229 | /S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 230 | Bsquare} bind def 231 | /S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 232 | Bsquare} bind def 233 | /S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 234 | /S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 235 | 2 copy vpt Square fill Bsquare} bind def 236 | /S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 237 | 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 238 | /S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 239 | /D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 240 | /D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 241 | /D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 242 | /D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 243 | /D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 244 | /D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 245 | /D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 246 | /D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 247 | /D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 248 | /D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 249 | /D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 250 | /D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 251 | /D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 252 | /D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 253 | /D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 254 | /D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 255 | /DiaE {stroke [] 0 setdash vpt add M 256 | hpt neg vpt neg V hpt vpt neg V 257 | hpt vpt V hpt neg vpt V closepath stroke} def 258 | /BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 259 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 260 | hpt2 neg 0 V closepath stroke} def 261 | /TriUE {stroke [] 0 setdash vpt 1.12 mul add M 262 | hpt neg vpt -1.62 mul V 263 | hpt 2 mul 0 V 264 | hpt neg vpt 1.62 mul V closepath stroke} def 265 | /TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 266 | hpt neg vpt 1.62 mul V 267 | hpt 2 mul 0 V 268 | hpt neg vpt -1.62 mul V closepath stroke} def 269 | /PentE {stroke [] 0 setdash gsave 270 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 271 | closepath stroke grestore} def 272 | /CircE {stroke [] 0 setdash 273 | hpt 0 360 arc stroke} def 274 | /Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 275 | /DiaW {stroke [] 0 setdash vpt add M 276 | hpt neg vpt neg V hpt vpt neg V 277 | hpt vpt V hpt neg vpt V Opaque stroke} def 278 | /BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 279 | 0 vpt2 neg V hpt2 0 V 0 vpt2 V 280 | hpt2 neg 0 V Opaque stroke} def 281 | /TriUW {stroke [] 0 setdash vpt 1.12 mul add M 282 | hpt neg vpt -1.62 mul V 283 | hpt 2 mul 0 V 284 | hpt neg vpt 1.62 mul V Opaque stroke} def 285 | /TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 286 | hpt neg vpt 1.62 mul V 287 | hpt 2 mul 0 V 288 | hpt neg vpt -1.62 mul V Opaque stroke} def 289 | /PentW {stroke [] 0 setdash gsave 290 | translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 291 | Opaque stroke grestore} def 292 | /CircW {stroke [] 0 setdash 293 | hpt 0 360 arc Opaque stroke} def 294 | /BoxFill {gsave Rec 1 setgray fill grestore} def 295 | /Density { 296 | /Fillden exch def 297 | currentrgbcolor 298 | /ColB exch def /ColG exch def /ColR exch def 299 | /ColR ColR Fillden mul Fillden sub 1 add def 300 | /ColG ColG Fillden mul Fillden sub 1 add def 301 | /ColB ColB Fillden mul Fillden sub 1 add def 302 | ColR ColG ColB setrgbcolor} def 303 | /BoxColFill {gsave Rec PolyFill} def 304 | /PolyFill {gsave Density fill grestore grestore} def 305 | /h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 306 | % 307 | % PostScript Level 1 Pattern Fill routine for rectangles 308 | % Usage: x y w h s a XX PatternFill 309 | % x,y = lower left corner of box to be filled 310 | % w,h = width and height of box 311 | % a = angle in degrees between lines and x-axis 312 | % XX = 0/1 for no/yes cross-hatch 313 | % 314 | /PatternFill {gsave /PFa [ 9 2 roll ] def 315 | PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 316 | PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 317 | TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 318 | clip 319 | currentlinewidth 0.5 mul setlinewidth 320 | /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 321 | 0 0 M PFa 5 get rotate PFs -2 div dup translate 322 | 0 1 PFs PFa 4 get div 1 add floor cvi 323 | {PFa 4 get mul 0 M 0 PFs V} for 324 | 0 PFa 6 get ne { 325 | 0 1 PFs PFa 4 get div 1 add floor cvi 326 | {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 327 | } if 328 | stroke grestore} def 329 | % 330 | /languagelevel where 331 | {pop languagelevel} {1} ifelse 332 | 2 lt 333 | {/InterpretLevel1 true def} 334 | {/InterpretLevel1 Level1 def} 335 | ifelse 336 | % 337 | % PostScript level 2 pattern fill definitions 338 | % 339 | /Level2PatternFill { 340 | /Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 341 | bind def 342 | /KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 343 | << Tile8x8 344 | /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 345 | >> matrix makepattern 346 | /Pat1 exch def 347 | << Tile8x8 348 | /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 349 | 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 350 | >> matrix makepattern 351 | /Pat2 exch def 352 | << Tile8x8 353 | /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 354 | 8 8 L 8 0 L 0 0 L fill} 355 | >> matrix makepattern 356 | /Pat3 exch def 357 | << Tile8x8 358 | /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 359 | 0 12 M 12 0 L stroke} 360 | >> matrix makepattern 361 | /Pat4 exch def 362 | << Tile8x8 363 | /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 364 | 0 -4 M 12 8 L stroke} 365 | >> matrix makepattern 366 | /Pat5 exch def 367 | << Tile8x8 368 | /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 369 | 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 370 | >> matrix makepattern 371 | /Pat6 exch def 372 | << Tile8x8 373 | /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 374 | 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 375 | >> matrix makepattern 376 | /Pat7 exch def 377 | << Tile8x8 378 | /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 379 | 12 0 M -4 8 L 12 4 M 0 10 L stroke} 380 | >> matrix makepattern 381 | /Pat8 exch def 382 | << Tile8x8 383 | /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 384 | -4 0 M 12 8 L -4 4 M 8 10 L stroke} 385 | >> matrix makepattern 386 | /Pat9 exch def 387 | /Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 388 | /Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 389 | /Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 390 | /Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 391 | /Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 392 | /Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 393 | /Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 394 | } def 395 | % 396 | % 397 | %End of PostScript Level 2 code 398 | % 399 | /PatternBgnd { 400 | TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 401 | } def 402 | % 403 | % Substitute for Level 2 pattern fill codes with 404 | % grayscale if Level 2 support is not selected. 405 | % 406 | /Level1PatternFill { 407 | /Pattern1 {0.250 Density} bind def 408 | /Pattern2 {0.500 Density} bind def 409 | /Pattern3 {0.750 Density} bind def 410 | /Pattern4 {0.125 Density} bind def 411 | /Pattern5 {0.375 Density} bind def 412 | /Pattern6 {0.625 Density} bind def 413 | /Pattern7 {0.875 Density} bind def 414 | } def 415 | % 416 | % Now test for support of Level 2 code 417 | % 418 | Level1 {Level1PatternFill} {Level2PatternFill} ifelse 419 | % 420 | /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 421 | dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 422 | currentdict end definefont pop 423 | /MFshow { 424 | { dup 5 get 3 ge 425 | { 5 get 3 eq {gsave} {grestore} ifelse } 426 | {dup dup 0 get findfont exch 1 get scalefont setfont 427 | [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 428 | get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 429 | {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 430 | get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 431 | dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 432 | show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 433 | pop aload pop M} ifelse }ifelse }ifelse } 434 | ifelse } 435 | forall} def 436 | /Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 437 | /MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 438 | {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 439 | 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 440 | /MLshow { currentpoint stroke M 441 | 0 exch R 442 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 443 | /MRshow { currentpoint stroke M 444 | exch dup MFwidth neg 3 -1 roll R 445 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 446 | /MCshow { currentpoint stroke M 447 | exch dup MFwidth -2 div 3 -1 roll R 448 | Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 449 | /XYsave { [( ) 1 2 true false 3 ()] } bind def 450 | /XYrestore { [( ) 1 2 true false 4 ()] } bind def 451 | Level1 SuppressPDFMark or 452 | {} { 453 | /SDict 10 dict def 454 | systemdict /pdfmark known not { 455 | userdict /pdfmark systemdict /cleartomark get put 456 | } if 457 | SDict begin [ 458 | /Title (colorindex.ps) 459 | /Subject (gnuplot plot) 460 | /Creator (gnuplot 4.6 patchlevel 1) 461 | /Author (m1327103) 462 | % /Producer (gnuplot) 463 | % /Keywords () 464 | /CreationDate (Wed Feb 1 22:58:49 2017) 465 | /DOCINFO pdfmark 466 | end 467 | } ifelse 468 | end 469 | %%EndProlog 470 | %%Page: 1 1 471 | gnudict begin 472 | gsave 473 | doclip 474 | 50 50 translate 475 | 0.050 0.050 scale 476 | 0 setgray 477 | newpath 478 | (Helvetica) findfont 140 scalefont setfont 479 | BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {BackgroundColor C 1.000 0 0 7200.00 5040.00 BoxColFill} if 480 | 4.000 UL 481 | LTb 482 | 1.000 UL 483 | LTa 484 | 1368 280 M 485 | 5579 0 V 486 | stroke 487 | 4.000 UL 488 | LTb 489 | 1368 280 M 490 | 63 0 V 491 | 5516 0 R 492 | -63 0 V 493 | stroke 494 | 1284 280 M 495 | [ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 496 | ] -46.7 MRshow 497 | 4.000 UL 498 | LTb 499 | 1.000 UL 500 | LTa 501 | 1368 1045 M 502 | 5579 0 V 503 | stroke 504 | 4.000 UL 505 | LTb 506 | 1368 1045 M 507 | 63 0 V 508 | 5516 0 R 509 | -63 0 V 510 | stroke 511 | 1284 1045 M 512 | [ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 513 | ] -46.7 MRshow 514 | 4.000 UL 515 | LTb 516 | 1.000 UL 517 | LTa 518 | 1368 1810 M 519 | 5579 0 V 520 | stroke 521 | 4.000 UL 522 | LTb 523 | 1368 1810 M 524 | 63 0 V 525 | 5516 0 R 526 | -63 0 V 527 | stroke 528 | 1284 1810 M 529 | [ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 530 | ] -46.7 MRshow 531 | 4.000 UL 532 | LTb 533 | 1.000 UL 534 | LTa 535 | 1368 2576 M 536 | 5579 0 V 537 | stroke 538 | 4.000 UL 539 | LTb 540 | 1368 2576 M 541 | 63 0 V 542 | 5516 0 R 543 | -63 0 V 544 | stroke 545 | 1284 2576 M 546 | [ [(Helvetica) 140.0 0.0 true true 0 ( 15)] 547 | ] -46.7 MRshow 548 | 4.000 UL 549 | LTb 550 | 1.000 UL 551 | LTa 552 | 1368 3341 M 553 | 5579 0 V 554 | stroke 555 | 4.000 UL 556 | LTb 557 | 1368 3341 M 558 | 63 0 V 559 | 5516 0 R 560 | -63 0 V 561 | stroke 562 | 1284 3341 M 563 | [ [(Helvetica) 140.0 0.0 true true 0 ( 20)] 564 | ] -46.7 MRshow 565 | 4.000 UL 566 | LTb 567 | 1.000 UL 568 | LTa 569 | 1368 4106 M 570 | 5579 0 V 571 | stroke 572 | 4.000 UL 573 | LTb 574 | 1368 4106 M 575 | 63 0 V 576 | 5516 0 R 577 | -63 0 V 578 | stroke 579 | 1284 4106 M 580 | [ [(Helvetica) 140.0 0.0 true true 0 ( 25)] 581 | ] -46.7 MRshow 582 | 4.000 UL 583 | LTb 584 | 1.000 UL 585 | LTa 586 | 1368 4871 M 587 | 5579 0 V 588 | stroke 589 | 4.000 UL 590 | LTb 591 | 1368 4871 M 592 | 63 0 V 593 | 5516 0 R 594 | -63 0 V 595 | stroke 596 | 1284 4871 M 597 | [ [(Helvetica) 140.0 0.0 true true 0 ( 30)] 598 | ] -46.7 MRshow 599 | 4.000 UL 600 | LTb 601 | 1.000 UL 602 | LTa 603 | 1368 280 M 604 | 0 4591 V 605 | stroke 606 | 4.000 UL 607 | LTb 608 | 1368 280 M 609 | 0 63 V 610 | 0 4528 R 611 | 0 -63 V 612 | stroke 613 | 1368 140 M 614 | [ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 615 | ] -46.7 MCshow 616 | 4.000 UL 617 | LTb 618 | 1.000 UL 619 | LTa 620 | 1926 280 M 621 | 0 4591 V 622 | stroke 623 | 4.000 UL 624 | LTb 625 | 1926 280 M 626 | 0 63 V 627 | 0 4528 R 628 | 0 -63 V 629 | stroke 630 | 1926 140 M 631 | [ [(Helvetica) 140.0 0.0 true true 0 ( 0.5)] 632 | ] -46.7 MCshow 633 | 4.000 UL 634 | LTb 635 | 1.000 UL 636 | LTa 637 | 2484 280 M 638 | 0 4591 V 639 | stroke 640 | 4.000 UL 641 | LTb 642 | 2484 280 M 643 | 0 63 V 644 | 0 4528 R 645 | 0 -63 V 646 | stroke 647 | 2484 140 M 648 | [ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 649 | ] -46.7 MCshow 650 | 4.000 UL 651 | LTb 652 | 1.000 UL 653 | LTa 654 | 3042 280 M 655 | 0 4591 V 656 | stroke 657 | 4.000 UL 658 | LTb 659 | 3042 280 M 660 | 0 63 V 661 | 0 4528 R 662 | 0 -63 V 663 | stroke 664 | 3042 140 M 665 | [ [(Helvetica) 140.0 0.0 true true 0 ( 1.5)] 666 | ] -46.7 MCshow 667 | 4.000 UL 668 | LTb 669 | 1.000 UL 670 | LTa 671 | 3600 280 M 672 | 0 4591 V 673 | stroke 674 | 4.000 UL 675 | LTb 676 | 3600 280 M 677 | 0 63 V 678 | 0 4528 R 679 | 0 -63 V 680 | stroke 681 | 3600 140 M 682 | [ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 683 | ] -46.7 MCshow 684 | 4.000 UL 685 | LTb 686 | 1.000 UL 687 | LTa 688 | 4158 280 M 689 | 0 4591 V 690 | stroke 691 | 4.000 UL 692 | LTb 693 | 4158 280 M 694 | 0 63 V 695 | 0 4528 R 696 | 0 -63 V 697 | stroke 698 | 4158 140 M 699 | [ [(Helvetica) 140.0 0.0 true true 0 ( 2.5)] 700 | ] -46.7 MCshow 701 | 4.000 UL 702 | LTb 703 | 1.000 UL 704 | LTa 705 | 4715 280 M 706 | 0 4591 V 707 | stroke 708 | 4.000 UL 709 | LTb 710 | 4715 280 M 711 | 0 63 V 712 | 0 4528 R 713 | 0 -63 V 714 | stroke 715 | 4715 140 M 716 | [ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 717 | ] -46.7 MCshow 718 | 4.000 UL 719 | LTb 720 | 1.000 UL 721 | LTa 722 | 5273 280 M 723 | 0 4591 V 724 | stroke 725 | 4.000 UL 726 | LTb 727 | 5273 280 M 728 | 0 63 V 729 | 0 4528 R 730 | 0 -63 V 731 | stroke 732 | 5273 140 M 733 | [ [(Helvetica) 140.0 0.0 true true 0 ( 3.5)] 734 | ] -46.7 MCshow 735 | 4.000 UL 736 | LTb 737 | 1.000 UL 738 | LTa 739 | 5831 280 M 740 | 0 4591 V 741 | stroke 742 | 4.000 UL 743 | LTb 744 | 5831 280 M 745 | 0 63 V 746 | 0 4528 R 747 | 0 -63 V 748 | stroke 749 | 5831 140 M 750 | [ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 751 | ] -46.7 MCshow 752 | 4.000 UL 753 | LTb 754 | 1.000 UL 755 | LTa 756 | 6389 280 M 757 | 0 4528 V 758 | 0 63 V 759 | stroke 760 | 4.000 UL 761 | LTb 762 | 6389 280 M 763 | 0 63 V 764 | 0 4528 R 765 | 0 -63 V 766 | stroke 767 | 6389 140 M 768 | [ [(Helvetica) 140.0 0.0 true true 0 ( 4.5)] 769 | ] -46.7 MCshow 770 | 4.000 UL 771 | LTb 772 | 1.000 UL 773 | LTa 774 | 6947 280 M 775 | 0 4591 V 776 | stroke 777 | 4.000 UL 778 | LTb 779 | 6947 280 M 780 | 0 63 V 781 | 0 4528 R 782 | 0 -63 V 783 | stroke 784 | 6947 140 M 785 | [ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 786 | ] -46.7 MCshow 787 | 4.000 UL 788 | LTb 789 | 4.000 UL 790 | LTb 791 | 1368 4871 N 792 | 0 -4591 V 793 | 5579 0 V 794 | 0 4591 V 795 | -5579 0 V 796 | Z stroke 797 | 1.000 UP 798 | 4.000 UL 799 | LTb 800 | % Begin plot #1 801 | 2.000 UP 802 | 3.000 UL 803 | LTa 804 | 1.00 0.00 0.00 C 1379 913 M 805 | 56 1 V 806 | 56 2 V 807 | 56 -1 V 808 | 55 0 V 809 | 56 0 V 810 | 56 0 V 811 | 56 0 V 812 | 55 0 V 813 | 56 0 V 814 | 56 0 V 815 | 56 0 V 816 | 56 0 V 817 | 55 0 V 818 | 56 0 V 819 | 56 0 V 820 | 56 0 V 821 | 56 1 V 822 | 55 2 V 823 | 56 2 V 824 | 56 4 V 825 | 56 5 V 826 | 56 6 V 827 | 55 8 V 828 | 56 10 V 829 | 56 12 V 830 | 56 14 V 831 | 55 17 V 832 | 56 18 V 833 | 56 20 V 834 | 56 23 V 835 | 56 24 V 836 | 55 26 V 837 | 56 28 V 838 | 56 30 V 839 | 56 32 V 840 | 56 33 V 841 | 55 34 V 842 | 56 36 V 843 | 56 38 V 844 | 56 39 V 845 | 56 40 V 846 | 55 41 V 847 | 56 42 V 848 | 56 44 V 849 | 56 44 V 850 | 55 45 V 851 | 56 46 V 852 | 56 47 V 853 | 56 48 V 854 | 56 49 V 855 | 55 49 V 856 | 56 50 V 857 | 56 50 V 858 | 56 51 V 859 | 56 52 V 860 | 55 52 V 861 | 56 53 V 862 | 56 53 V 863 | 56 53 V 864 | 56 54 V 865 | 55 55 V 866 | 56 55 V 867 | 56 55 V 868 | 56 55 V 869 | 56 56 V 870 | 55 56 V 871 | 56 57 V 872 | 56 57 V 873 | 56 57 V 874 | 55 57 V 875 | 56 57 V 876 | 56 58 V 877 | 56 58 V 878 | 56 58 V 879 | 55 59 V 880 | 56 58 V 881 | 56 59 V 882 | 56 59 V 883 | 56 59 V 884 | 55 59 V 885 | 56 60 V 886 | 56 59 V 887 | 56 60 V 888 | 56 60 V 889 | 55 60 V 890 | 56 60 V 891 | 56 60 V 892 | 56 60 V 893 | 55 61 V 894 | 56 60 V 895 | 56 61 V 896 | 56 61 V 897 | 56 61 V 898 | 55 60 V 899 | 56 61 V 900 | 56 62 V 901 | 56 61 V 902 | 56 61 V 903 | 55 61 V 904 | 1379 913 Pls 905 | 1435 914 Pls 906 | 1491 916 Pls 907 | 1547 915 Pls 908 | 1602 915 Pls 909 | 1658 915 Pls 910 | 1714 915 Pls 911 | 1770 915 Pls 912 | 1825 915 Pls 913 | 1881 915 Pls 914 | 1937 915 Pls 915 | 1993 915 Pls 916 | 2049 915 Pls 917 | 2104 915 Pls 918 | 2160 915 Pls 919 | 2216 915 Pls 920 | 2272 915 Pls 921 | 2328 916 Pls 922 | 2383 918 Pls 923 | 2439 920 Pls 924 | 2495 924 Pls 925 | 2551 929 Pls 926 | 2607 935 Pls 927 | 2662 943 Pls 928 | 2718 953 Pls 929 | 2774 965 Pls 930 | 2830 979 Pls 931 | 2885 996 Pls 932 | 2941 1014 Pls 933 | 2997 1034 Pls 934 | 3053 1057 Pls 935 | 3109 1081 Pls 936 | 3164 1107 Pls 937 | 3220 1135 Pls 938 | 3276 1165 Pls 939 | 3332 1197 Pls 940 | 3388 1230 Pls 941 | 3443 1264 Pls 942 | 3499 1300 Pls 943 | 3555 1338 Pls 944 | 3611 1377 Pls 945 | 3667 1417 Pls 946 | 3722 1458 Pls 947 | 3778 1500 Pls 948 | 3834 1544 Pls 949 | 3890 1588 Pls 950 | 3945 1633 Pls 951 | 4001 1679 Pls 952 | 4057 1726 Pls 953 | 4113 1774 Pls 954 | 4169 1823 Pls 955 | 4224 1872 Pls 956 | 4280 1922 Pls 957 | 4336 1972 Pls 958 | 4392 2023 Pls 959 | 4448 2075 Pls 960 | 4503 2127 Pls 961 | 4559 2180 Pls 962 | 4615 2233 Pls 963 | 4671 2286 Pls 964 | 4727 2340 Pls 965 | 4782 2395 Pls 966 | 4838 2450 Pls 967 | 4894 2505 Pls 968 | 4950 2560 Pls 969 | 5006 2616 Pls 970 | 5061 2672 Pls 971 | 5117 2729 Pls 972 | 5173 2786 Pls 973 | 5229 2843 Pls 974 | 5284 2900 Pls 975 | 5340 2957 Pls 976 | 5396 3015 Pls 977 | 5452 3073 Pls 978 | 5508 3131 Pls 979 | 5563 3190 Pls 980 | 5619 3248 Pls 981 | 5675 3307 Pls 982 | 5731 3366 Pls 983 | 5787 3425 Pls 984 | 5842 3484 Pls 985 | 5898 3544 Pls 986 | 5954 3603 Pls 987 | 6010 3663 Pls 988 | 6066 3723 Pls 989 | 6121 3783 Pls 990 | 6177 3843 Pls 991 | 6233 3903 Pls 992 | 6289 3963 Pls 993 | 6344 4024 Pls 994 | 6400 4084 Pls 995 | 6456 4145 Pls 996 | 6512 4206 Pls 997 | 6568 4267 Pls 998 | 6623 4327 Pls 999 | 6679 4388 Pls 1000 | 6735 4450 Pls 1001 | 6791 4511 Pls 1002 | 6847 4572 Pls 1003 | 6902 4633 Pls 1004 | % End plot #1 1005 | 4.000 UL 1006 | LTb 1007 | 1368 4871 N 1008 | 0 -4591 V 1009 | 5579 0 V 1010 | 0 4591 V 1011 | -5579 0 V 1012 | Z stroke 1013 | 1.000 UP 1014 | 4.000 UL 1015 | LTb 1016 | stroke 1017 | grestore 1018 | end 1019 | showpage 1020 | %%Trailer 1021 | %%DocumentFonts: Helvetica 1022 | -------------------------------------------------------------------------------- /output/gnuplot/rutile.gp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/output/gnuplot/rutile.gp -------------------------------------------------------------------------------- /output/gnuplot/silica.gp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/output/gnuplot/silica.gp -------------------------------------------------------------------------------- /output/gnuplot/zns.gp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/output/gnuplot/zns.gp -------------------------------------------------------------------------------- /output/graph/Al2O3_Corundum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/output/graph/Al2O3_Corundum.png -------------------------------------------------------------------------------- /output/graph/ZnS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/output/graph/ZnS.png -------------------------------------------------------------------------------- /output/graph/rutile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/output/graph/rutile.png -------------------------------------------------------------------------------- /output/graph/silica.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NaveenKaliannan/EwaldSummation/0729b27fa56395591dff2904fde9a2396a664edd/output/graph/silica.png -------------------------------------------------------------------------------- /shellscript.sh: -------------------------------------------------------------------------------- 1 | make clean 2 | make 3 | ./main inputs/Silica_beta_cristobalite.dat output/data/MadelungConstant_silica.dat 4 | ./main inputs/TiO2_Rutile.dat output/data/MadelungConstant_rutile.dat 5 | ./main inputs/ZnS_Sphalerite.dat output/data/MadelungConstant_ZnS.dat 6 | ./main inputs/Al2O3.dat output/data/MadelungConstant_Al2O3.dat 7 | make -C output/gnuplot 8 | 9 | --------------------------------------------------------------------------------