Atomic Form Factor Calculator and Table

If you follow my blog, then you’d probably remember how I tried to write a powder X-Ray diffraction (XRD) pattern simulator quite a while back. Well, I had to drop that due to a lot of other stuff that was going on in my life and studies (was getting my Masters then). But now I’m sort of free so I can pick that back up.

So in the next few posts I will code a Powder XRD pattern simulator step-by-step. The first step to do that is to write an Atomic Form Factor calculator. This is because atomic form factor would be used to calculate the structure factor, and hence the intensity of the XRD peaks.

Atomic form factor basically gives a measure of the intensity or the amplitude of the scattered wave and depends on the kind of scattering, and hence the nature of radiation incident. Since, I am coding an XRD simulator so we’ll only talk about the X-ray form factor. For X-ray scattering, the form factor is the Fourier transform of the electron charge density around the nucleus and is assumed to be spherically symmetric so that the value of the Fourier transform only depends on the distance from the origin in reciprocal space.

The form factor for 0 \leq  q \leq 25 \\A^{-1} is given by:
\boxed{f(q)=\Sigma_{i=1}^4a_i\exp\left(-b_i\left(\frac{q}{4\pi}\right)^2\right) + c,}
where the values of ai, bi and c can be obtained from the International Tables for Crystallography: http://it.iucr.org/Cb/ch6o1v0001/
or down below.

CODE:

/*Form Factor Calculator
By: Manas Sharma
mail: [email protected]
https://bragitoff.com*/
#include<stdio.h>
#include<string.h>
#include<math.h>
/*
The following function takes the value of q(scattering vector) in the range 0 to 25 (Angstrom)^-1 
and the name of the atomic specie using the atomic symbols
and returns the atomic form factor at that q value.
*/
double formFactorCalc(double q, char specie[]){
	//variable that will store the resulting form factor
	double result;
	int i, found=0,n;
	
	//Necessary tables needed for the calculations in array form
	char elements[211][10]={"H","H1-","He","Li","Li1+","Be","Be2+","B","C","Cval","N","O","O1-","F","F1-","Ne","Na","Na1+","Mg","Mg2+","Al","Al3+","Siv","Sival","Si4+","P","S","Cl","Cl1-","Ar","K","K1+","Ca","Ca2+","Sc","Sc3+","Ti","Ti2+","Ti3+","Ti4+","V","V2+","V3+","V5+","Cr","Cr2+","Cr3+","Mn","Mn2+","Mn3+","Mn4+","Fe","Fe2+","Fe3+","Co","Co2+","Co3+","Ni","Ni2+","Ni3+","Cu","Cu1+","Cu2+","Zn","Zn2+","Ga","Ga3+","Ge","Ge4+","As","Se","Br","Br1-","Kr","Rb","Rb1+","Sr","Sr2+","Y","Y3+","Zr","Zr4+","Nb","Nb3+","Nb5+","Mo","Mo3+","Mo5+","Mo6+","Tc","Ru","Ru3+","Ru4+","Rh","Rh3+","Rh4+","Pd","Pd2+","Pd4+","Ag","Ag1+","Ag2+","Cd","Cd2+","In","In3+","Sn","Sn2+","Sn4+","Sb","Sb3+","Sb5+","Te","I","I1-","Xe","Cs","Cs1+","Ba","Ba2+","La","La3+","Ce","Ce3+","Ce4+","Pr","Pr3+","Pr4+","Nd","Nd3+","Pm","Pm3+","Sm","Sm3+","Eu","Eu2+","Eu3+","Gd","Gd3+","Tb","Tb3+","Dy","Dy3+","Ho","Ho3+","Er","Er3+","Tm","Tm3+","Yb","Yb2+","Yb3+","Lu","Lu3+","Hf","Hf4+","Ta","Ta5+","W","W6+","Re","Os","Os4+","Ir","Ir3+","Ir4+","Pt","Pt2+","Pt4+","Au","Au1+","Au3+","Hg","Hg1+","Hg2+","Tl","Tl1+","Tl3+","Pb","Pb2+","Pb4+","Bi","Bi3+","Bi5+","Po","At","Rn","Fr","Ra","Ra2+","Ac","Ac3+","Th","Th4+","Pa","U","U3+","U4+","U6+","Np","Np3+","Np4+","Np6+","Pu","Pu3+","Pu4+","Pu6+","Am","Cm","Bk","Cf"};
	double a1[]={0.489918 , 0.897661 , 0.8734 , 1.1282 , 0.6968 , 1.5919 , 6.2603 , 2.0545 , 2.31 , 2.26069 , 12.2126 , 3.0485 , 4.1916 , 3.5392 , 3.6322 , 3.9553 , 4.7626 , 3.2565 , 5.4204 , 3.4988 , 6.4202 , 4.17448 , 6.2915 , 5.66269 , 4.43918 , 6.4345 , 6.9053 , 11.4604 , 18.2915 , 7.4845 , 8.2186 , 7.9578 , 8.6266 , 15.6348 , 9.189 , 13.4008 , 9.7595 , 9.11423 , 17.7344 , 19.5114 , 10.2971 , 10.106 , 9.43141 , 15.6887 , 10.6406 , 9.54034 , 9.6809 , 11.2819 , 10.8061 , 9.84521 , 9.96253 , 11.7695 , 11.0424 , 11.1764 , 12.2841 , 11.2296 , 10.338 , 12.8376 , 11.4166 , 10.7806 , 13.338 , 11.9475 , 11.8168 , 14.0743 , 11.9719 , 15.2354 , 12.692 , 16.0816 , 12.9172 , 16.6723 , 17.0006 , 17.1789 , 17.1718 , 17.3555 , 17.1784 , 17.5816 , 17.5663 , 18.0874 , 17.776 , 17.9268 , 17.8765 , 18.1668 , 17.6142 , 19.8812 , 17.9163 , 3.7025 , 21.1664 , 21.0149 , 17.8871 , 19.1301 , 19.2674 , 18.5638 , 18.5003 , 19.2957 , 18.8785 , 18.8545 , 19.3319 , 19.1701 , 19.2493 , 19.2808 , 19.1812 , 19.1643 , 19.2214 , 19.1514 , 19.1624 , 19.1045 , 19.1889 , 19.1094 , 18.9333 , 19.6418 , 18.9755 , 19.8685 , 19.9644 , 20.1472 , 20.2332 , 20.2933 , 20.3892 , 20.3524 , 20.3361 , 20.1807 , 20.578 , 20.2489 , 21.1671 , 20.8036 , 20.3235 , 22.044 , 21.3727 , 20.9413 , 22.6845 , 21.961 , 23.3405 , 22.5527 , 24.0042 , 23.1504 , 24.6274 , 24.0063 , 23.7497 , 25.0709 , 24.3466 , 25.8976 , 24.9559 , 26.507 , 25.5395 , 26.9049 , 26.1296 , 27.6563 , 26.722 , 28.1819 , 27.3083 , 28.6641 , 28.1209 , 27.8917 , 28.9476 , 28.4628 , 29.144 , 28.8131 , 29.2024 , 29.1587 , 29.0818 , 29.4936 , 28.7621 , 28.1894 , 30.419 , 27.3049 , 30.4156 , 30.7058 , 27.0059 , 29.8429 , 30.9612 , 16.8819 , 28.0109 , 30.6886 , 20.6809 , 25.0853 , 29.5641 , 27.5446 , 21.3985 , 30.8695 , 31.0617 , 21.7886 , 32.1244 , 33.3689 , 21.8053 , 33.5364 , 34.6726 , 35.3163 , 35.5631 , 35.9299 , 35.763 , 35.215 , 35.6597 , 35.1736 , 35.5645 , 35.1007 , 35.8847 , 36.0228 , 35.5747 , 35.3715 , 34.8509 , 36.1874 , 35.7074 , 35.5103 , 35.0136 , 36.5254 , 35.84 , 35.6493 , 35.1736 , 36.6706 , 36.6488 , 36.7881 , 36.9185};
	double a2[]={0.262003 , 0.565616 , 0.6309 , 0.7508 , 0.7888 , 1.1278 , 0.8849 , 1.3326 , 1.02 , 1.56165 , 3.1322 , 2.2868 , 1.63969 , 2.6412 , 3.51057 , 3.1125 , 3.1736 , 3.9362 , 2.1735 , 3.8378 , 1.9002 , 3.3876 , 3.0353 , 3.07164 , 3.20345 , 4.1791 , 5.2034 , 7.1964 , 7.2084 , 6.7723 , 7.4398 , 7.4917 , 7.3873 , 7.9518 , 7.3679 , 8.0273 , 7.3558 , 7.62174 , 8.73816 , 8.23473 , 7.3511 , 7.3541 , 7.7419 , 8.14208 , 7.3537 , 7.7509 , 7.81136 , 7.3573 , 7.362 , 7.87194 , 7.97057 , 7.3573 , 7.374 , 7.3863 , 7.3409 , 7.3883 , 7.88173 , 7.292 , 7.4005 , 7.75868 , 7.1676 , 7.3573 , 7.11181 , 7.0318 , 7.3862 , 6.7006 , 6.69883 , 6.3747 , 6.70003 , 6.0701 , 5.8196 , 5.2358 , 6.3338 , 6.7286 , 9.6435 , 7.6598 , 9.8184 , 8.1373 , 10.2946 , 9.1531 , 10.948 , 10.0562 , 12.0144 , 18.0653 , 13.3417 , 17.2356 , 18.2017 , 18.0992 , 11.175 , 11.0948 , 12.9182 , 13.2885 , 13.1787 , 14.3501 , 14.1259 , 13.9806 , 15.5017 , 15.2096 , 14.79 , 16.6885 , 15.9719 , 16.2456 , 17.6444 , 17.2535 , 18.5596 , 18.1108 , 19.1005 , 19.0548 , 19.7131 , 19.0455 , 18.933 , 19.0302 , 19.0138 , 18.9949 , 18.997 , 19.0298 , 19.1062 , 19.1278 , 19.297 , 19.1136 , 19.599 , 19.3763 , 19.7695 , 19.559 , 19.8186 , 19.6697 , 19.7491 , 20.0539 , 19.6847 , 19.9339 , 19.6095 , 20.1108 , 19.4258 , 20.2599 , 19.0886 , 19.9504 , 20.3745 , 19.0798 , 20.4208 , 18.2185 , 20.3271 , 17.6383 , 20.2861 , 17.294 , 20.0994 , 16.4285 , 19.7748 , 15.8851 , 19.332 , 15.4345 , 17.6817 , 18.7614 , 15.2208 , 18.121 , 15.1726 , 18.4601 , 15.2293 , 18.8407 , 15.43 , 19.3763 , 15.7189 , 16.155 , 15.2637 , 16.7296 , 15.862 , 15.5512 , 17.7639 , 16.7224 , 15.9829 , 18.5913 , 17.8204 , 16.9029 , 19.0417 , 18.4973 , 18.06 , 19.1584 , 20.4723 , 18.3481 , 13.0637 , 19.5682 , 18.8003 , 12.951 , 19.5026 , 25.0946 , 15.4733 , 19.0211 , 21.2816 , 23.0547 , 22.9064 , 21.67 , 23.1032 , 22.1112 , 23.4219 , 22.4418 , 23.2948 , 23.4128 , 22.5259 , 22.5326 , 22.7584 , 23.5964 , 22.613 , 22.5787 , 22.7286 , 23.8083 , 22.7169 , 22.646 , 22.7181 , 24.0992 , 24.4096 , 24.7736 , 25.1995};
	double a3[]={0.196767 , 0.415815 , 0.3112 , 0.6175 , 0.3414 , 0.5391 , 0.7993 , 1.0979 , 1.5886 , 1.05075 , 2.0125 , 1.5463 , 1.52673 , 1.517 , 1.26064 , 1.4546 , 1.2674 , 1.3998 , 1.2269 , 1.3284 , 1.5936 , 1.20296 , 1.9891 , 2.62446 , 1.19453 , 1.78 , 1.4379 , 6.2556 , 6.5337 , 0.6539 , 1.0519 , 6.359 , 1.5899 , 8.4372 , 1.6409 , 1.65943 , 1.6991 , 2.2793 , 5.25691 , 2.01341 , 2.0703 , 2.2884 , 2.15343 , 2.03081 , 3.324 , 3.58274 , 2.87603 , 3.0193 , 3.5268 , 3.56531 , 2.76067 , 3.5222 , 4.1346 , 3.3948 , 4.0034 , 4.7393 , 4.76795 , 4.4438 , 5.3442 , 5.22746 , 5.6158 , 6.2455 , 5.78135 , 5.1652 , 6.4668 , 4.3591 , 6.06692 , 3.7068 , 6.06791 , 3.4313 , 3.9731 , 5.6377 , 5.5754 , 5.5493 , 5.1399 , 5.8981 , 5.422 , 2.5654 , 5.72629 , 1.76795 , 5.41732 , 1.01118 , 4.04183 , 11.0177 , 10.799 , 12.8876 , 11.7423 , 11.4632 , 6.57891 , 4.64901 , 4.86337 , 9.32602 , 4.71304 , 4.73425 , 3.32515 , 2.53464 , 5.29537 , 4.32234 , 2.89289 , 4.8045 , 5.27475 , 4.3709 , 4.461 , 4.47128 , 4.2948 , 3.78897 , 4.4585 , 4.5648 , 3.4182 , 5.0371 , 5.10789 , 2.41253 , 6.14487 , 7.5138 , 7.8069 , 8.9767 , 10.662 , 10.2821 , 10.888 , 10.9054 , 11.3727 , 11.6323 , 11.8513 , 11.9369 , 12.1233 , 12.3856 , 12.1329 , 12.4668 , 12.774 , 12.12 , 13.1235 , 12.0671 , 13.4396 , 11.9202 , 13.7603 , 11.8034 , 11.8509 , 13.8518 , 11.8708 , 14.3167 , 12.2471 , 14.5596 , 11.9812 , 14.5583 , 11.9788 , 14.9779 , 12.1506 , 15.1542 , 12.3339 , 15.3087 , 13.3335 , 12.6072 , 15.1 , 12.8429 , 14.7586 , 12.7285 , 14.5135 , 12.8268 , 14.4327 , 13.0544 , 14.5564 , 14.9305 , 14.7458 , 15.6115 , 13.6145 , 14.2326 , 15.7131 , 13.2153 , 13.7348 , 25.5582 , 14.3359 , 12.7801 , 21.6575 , 16.8883 , 12.8374 , 15.538 , 18.7478 , 11.9328 , 18.442 , 19.1406 , 12.0175 , 16.5877 , 19.1053 , 19.2497 , 13.1138 , 9.49887 , 8.0037 , 12.1439 , 12.4739 , 7.91342 , 12.5977 , 8.19216 , 12.7473 , 9.78554 , 14.1891 , 14.9491 , 12.2165 , 12.0291 , 14.0099 , 15.6402 , 12.9898 , 12.7766 , 14.3884 , 16.7707 , 13.5807 , 13.3595 , 14.7635 , 17.3415 , 17.399 , 17.8919 , 18.3317};
	double a4[]={0.049879 , 0.116973 , 0.178 , 0.4653 , 0.1563 , 0.7029 , 0.1647 , 0.7068 , 0.865 , 0.839259 , 1.1663 , 0.867 , -20.307 , 1.0243 , 0.940706 , 1.1251 , 1.1128 , 1.0032 , 2.3073 , 0.8497 , 1.9646 , 0.528137 , 1.541 , 1.3932 , 0.41653 , 1.4908 , 1.5863 , 1.6455 , 2.3386 , 1.6442 , 0.8659 , 1.1915 , 1.0211 , 0.8537 , 1.468 , 1.57936 , 1.9021 , 0.087899 , 1.92134 , 1.5208 , 2.0571 , 0.0223 , 0.016865 , -9.576 , 1.4922 , 0.509107 , 0.113575 , 2.2441 , 0.2184 , 0.323613 , 0.054447 , 2.3045 , 0.4399 , 0.0724 , 2.3488 , 0.7108 , 0.725591 , 2.38 , 0.9773 , 0.847114 , 1.6735 , 1.5578 , 1.14523 , 2.41 , 1.394 , 2.9623 , 1.0066 , 3.683 , 0.859041 , 4.2779 , 4.3543 , 3.9851 , 3.7272 , 3.5375 , 1.5292 , 2.7817 , 2.6694 , -34.193 , 3.26588 , -33.108 , 3.65721 , -2.6479 , 3.53346 , 1.94715 , 0.337905 , 3.7429 , 2.30951 , 0.740625 , 0 , 2.71263 , 1.56756 , 3.00964 , 2.18535 , 1.28918 , -6.1989 , -5.6526 , 0.605844 , 0 , -7.9492 , 1.0463 , 0.357534 , 0 , 1.6029 , 0 , 2.0396 , 0 , 2.4663 , 0.487 , 0.0193 , 2.6827 , 0.288753 , 0 , 2.5239 , 2.2735 , 2.8868 , 1.99 , 1.4953 , 0.9615 , 2.6959 , 0.77634 , 3.28719 , 0.336048 , 3.33049 , 0.612376 , 0.144583 , 2.82428 , 0.97518 , 0.296689 , 2.85137 , 1.51031 , 2.87516 , 2.07492 , 2.89604 , 2.71488 , 2.9227 , 3.87243 , 3.26503 , 3.54545 , 3.7149 , 2.95354 , 3.773 , 2.96577 , 4.50073 , 3.63837 , 4.93676 , 2.98233 , 5.17379 , 2.98706 , 5.38348 , 2.98963 , 5.14657 , 5.47647 , 3.71601 , 5.59415 , 4.30013 , 5.59927 , 4.76492 , 5.38695 , 5.11982 , 5.06412 , 5.44174 , 5.67589 , 5.06795 , 5.83377 , 5.82008 , 5.53672 , 5.7837 , 6.35234 , 5.92034 , 5.86 , 6.58077 , 6.52354 , 5.9676 , 6.48216 , 6.89912 , 5.52593 , 6.82847 , 7.00574 , 5.9696 , 7.01107 , 6.96886 , 6.4692 , 7.10295 , 6.91555 , 7.02588 , 7.42518 , 7.4433 , 2.11253 , 3.21097 , 7.65078 , 4.08655 , 7.05545 , 4.80703 , 5.29444 , 4.17287 , 4.188 , 5.37073 , 4.7984 , 1.21457 , 4.1855 , 5.43227 , 4.92159 , 1.75669 , 3.47947 , 5.66016 , 5.18831 , 2.28678 , 3.49331 , 4.21665 , 4.23284 , 4.24391};
	double b1[]={20.6593 , 53.1368 , 9.1037 , 3.9546 , 4.6237 , 43.6427 , 0.0027 , 23.2185 , 20.8439 , 22.6907 , 0.0057 , 13.2771 , 12.8573 , 10.2825 , 5.27756 , 8.4042 , 3.285 , 2.6671 , 2.8275 , 2.1676 , 3.0387 , 1.93816 , 2.4386 , 2.6652 , 1.64167 , 1.9067 , 1.4679 , 0.0104 , 0.0066 , 0.9072 , 12.7949 , 12.6331 , 10.4421 , -0.0074 , 9.0213 , 0.29854 , 7.8508 , 7.5243 , 0.22061 , 0.178847 , 6.8657 , 6.8818 , 6.39535 , 0.679003 , 6.1038 , 5.66078 , 5.59463 , 5.3409 , 5.2796 , 4.91797 , 4.8485 , 4.7611 , 4.6538 , 4.6147 , 4.2791 , 4.1231 , 3.90969 , 3.8785 , 3.6766 , 3.5477 , 3.5828 , 3.3669 , 3.37484 , 3.2655 , 2.9946 , 3.0669 , 2.81262 , 2.8509 , 2.53718 , 2.6345 , 2.4098 , 2.1723 , 2.2059 , 1.9384 , 1.7888 , 1.7139 , 1.5564 , 1.4907 , 1.4029 , 1.35417 , 1.27618 , 1.2148 , 1.18865 , 0.019175 , 1.12446 , 0.2772 , 0.014734 , 0.014345 , 1.03649 , 0.864132 , 0.80852 , 0.847329 , 0.844582 , 0.751536 , 0.764252 , 0.760825 , 0.698655 , 0.696219 , 0.683839 , 0.6446 , 0.646179 , 0.645643 , 0.5946 , 0.597922 , 0.5476 , 0.551522 , 5.8303 , 0.5036 , 5.764 , 5.3034 , 0.467196 , 5.44853 , 4.81742 , 4.347 , 4.3579 , 3.9282 , 3.569 , 3.552 , 3.216 , 3.21367 , 2.94817 , 2.9207 , 2.81219 , 2.77691 , 2.65941 , 2.77393 , 2.6452 , 2.54467 , 2.66248 , 2.52722 , 2.5627 , 2.4174 , 2.47274 , 2.31641 , 2.3879 , 2.27783 , 2.22258 , 2.25341 , 2.13553 , 2.24256 , 2.05601 , 2.1802 , 1.9804 , 2.07051 , 1.91072 , 2.07356 , 1.84659 , 2.02859 , 1.78711 , 1.9889 , 1.78503 , 1.73272 , 1.90182 , 1.68216 , 1.83262 , 1.59136 , 1.77333 , 1.50711 , 1.72029 , 1.42755 , 1.67191 , 1.62903 , 1.37113 , 1.59279 , 1.34323 , 1.30923 , 1.51293 , 1.32927 , 1.24813 , 0.4611 , 1.35321 , 1.2199 , 0.545 , 1.39507 , 1.21152 , 0.65515 , 1.4711 , 1.1008 , 0.6902 , 1.3366 , 1.00566 , 0.704 , 1.2356 , 0.91654 , 0.700999 , 0.68587 , 0.6631 , 0.646453 , 0.616341 , 0.604909 , 0.589092 , 0.579689 , 0.563359 , 0.555054 , 0.547751 , 0.5293 , 0.52048 , 0.516598 , 0.507079 , 0.511929 , 0.502322 , 0.498626 , 0.48981 , 0.499384 , 0.484938 , 0.481422 , 0.473204 , 0.483629 , 0.465154 , 0.451018 , 0.437533};
	double b2[]={7.74039 , 15.187 , 3.3568 , 1.0524 , 1.9557 , 1.8623 , 0.8313 , 1.021 , 10.2075 , 0.656665 , 9.8933 , 5.7011 , 4.17236 , 4.2944 , 14.7353 , 3.4262 , 8.8422 , 6.1153 , 79.2611 , 4.7542 , 0.7426 , 4.14553 , 32.3337 , 38.6634 , 3.43757 , 27.157 , 22.2151 , 1.1662 , 1.1717 , 14.8407 , 0.7748 , 0.7674 , 0.6599 , 0.6089 , 0.5729 , 7.9629 , 0.5 , 0.457585 , 7.04716 , 6.67018 , 0.4385 , 0.4409 , 0.383349 , 5.40135 , 0.392 , 0.344261 , 0.334393 , 0.3432 , 0.3435 , 0.294393 , 0.283303 , 0.3072 , 0.3053 , 0.3005 , 0.2784 , 0.2726 , 0.238668 , 0.2565 , 0.2449 , 0.22314 , 0.247 , 0.2274 , 0.244078 , 0.2333 , 0.2031 , 0.2412 , 0.22789 , 0.2516 , 0.205855 , 0.2647 , 0.2726 , 16.5796 , 19.3345 , 16.5623 , 17.3151 , 14.7957 , 14.0988 , 12.6963 , 12.8006 , 11.2145 , 11.916 , 10.1483 , 11.766 , 1.13305 , 0.028781 , 1.0958 , 1.03031 , 1.02238 , 8.48061 , 8.14487 , 8.43467 , 8.37164 , 8.12534 , 8.21758 , 7.84438 , 7.62436 , 7.98929 , 7.55573 , 7.14833 , 7.4726 , 7.19123 , 7.18544 , 6.9089 , 6.80639 , 6.3776 , 6.3247 , 0.5031 , 5.8378 , 0.4655 , 0.4607 , 5.22126 , 0.467973 , 0.420885 , 0.3814 , 0.3815 , 0.344 , 0.3107 , 0.3086 , 0.2756 , 0.28331 , 0.244475 , 0.250698 , 0.226836 , 0.23154 , 0.21885 , 0.222087 , 0.214299 , 0.202481 , 0.210628 , 0.199237 , 0.202088 , 0.185769 , 0.196451 , 0.174081 , 0.1942 , 0.17353 , 0.16394 , 0.181951 , 0.155525 , 0.196143 , 0.149525 , 0.202172 , 0.143384 , 0.19794 , 0.139358 , 0.223545 , 0.13729 , 0.238849 , 0.136974 , 0.257119 , 0.15997 , 0.13879 , 9.98519 , 0.142292 , 9.5999 , 0.128903 , 9.37046 , 0.116741 , 9.2259 , 0.104621 , 9.09227 , 8.97948 , 6.84706 , 8.86553 , 7.10909 , 6.71983 , 8.81174 , 7.38979 , 6.60834 , 8.6216 , 7.7395 , 6.82872 , 8.4484 , 7.65105 , 7.05639 , 8.70751 , 0.517394 , 6.53852 , 2.3576 , 0.488383 , 6.10926 , 2.9238 , 6.24149 , 0.39042 , 3.55078 , 3.97458 , 4.0691 , 4.17619 , 3.87135 , 3.5767 , 3.65155 , 3.41437 , 3.46204 , 3.24498 , 3.41519 , 3.3253 , 3.12293 , 3.05053 , 2.8903 , 3.25396 , 3.03807 , 2.96627 , 2.81099 , 3.26371 , 2.96118 , 2.8902 , 2.73848 , 3.20647 , 3.08997 , 3.04619 , 3.00775};
	double b3[]={49.5519 , 186.576 , 22.9276 , 85.3905 , 0.6316 , 103.483 , 2.2758 , 60.3498 , 0.5687 , 9.75618 , 28.9975 , 0.3239 , 47.0179 , 0.2615 , 0.442258 , 0.2306 , 0.3136 , 0.2001 , 0.3808 , 0.185 , 31.5472 , 0.228753 , 0.6785 , 0.916946 , 0.2149 , 0.526 , 0.2536 , 18.5194 , 19.5424 , 43.8983 , 213.187 , -0.002 , 85.7484 , 10.3116 , 136.108 , -0.28604 , 35.6338 , 19.5361 , -0.15762 , -0.29263 , 26.8938 , 20.3004 , 15.1908 , 9.97278 , 20.2626 , 13.3075 , 12.8288 , 17.8674 , 14.343 , 10.8171 , 10.4852 , 15.3535 , 12.0546 , 11.6729 , 13.5359 , 10.2443 , 8.35583 , 12.1763 , 8.873 , 7.64468 , 11.3966 , 8.6625 , 7.9876 , 10.3163 , 7.0826 , 10.7805 , 6.36441 , 11.4468 , 5.47913 , 12.9479 , 15.2372 , 0.2609 , 0.2871 , 0.2261 , 0.2748 , 0.1603 , 0.1664 , 24.5651 , 0.125599 , 22.6599 , 0.117622 , 21.6054 , 0.204785 , 10.1621 , 9.28206 , 11.004 , 9.53659 , 8.78809 , 0.058881 , 21.5707 , 24.7997 , 0.017662 , 0.36495 , 25.8749 , 21.2487 , 19.3317 , 25.2052 , 22.5057 , 17.9144 , 24.6605 , 21.7326 , 21.4072 , 24.7008 , 20.2521 , 25.8499 , 17.3595 , 26.8909 , 23.3752 , 14.0049 , 27.9074 , 19.5902 , 14.1259 , 28.5284 , 27.766 , 29.5259 , 26.4659 , 24.3879 , 23.7128 , 20.2073 , 20.0558 , 18.7726 , 17.8211 , 17.6083 , 16.5408 , 15.7992 , 16.7669 , 15.323 , 14.8137 , 15.885 , 14.1783 , 15.1009 , 13.1275 , 14.3996 , 12.1571 , 13.7546 , 11.6096 , 11.311 , 12.9331 , 10.5782 , 12.6648 , 10.0499 , 12.1899 , 9.34972 , 11.4407 , 8.80018 , 11.3604 , 8.36225 , 10.9975 , 7.96778 , 10.6647 , 8.18304 , 7.64412 , 0.261033 , 7.33727 , 0.275116 , 6.76232 , 0.295977 , 6.31524 , 0.321703 , 5.93667 , 0.3505 , 0.382661 , 0.165191 , 0.417916 , 0.204633 , 0.167252 , 0.424593 , 0.263297 , 0.16864 , 1.4826 , 0.356752 , 0.212867 , 1.5729 , 0.443378 , 0.284738 , 1.96347 , 7.43463 , 0.219074 , 8.618 , 6.7727 , 0.147041 , 8.7937 , 0.469999 , 5.71414 , 9.55642 , 11.3824 , 14.0422 , 23.1052 , 19.9887 , 12.601 , 18.599 , 12.9187 , 17.8309 , 13.4661 , 16.9235 , 16.0927 , 12.7148 , 12.5723 , 13.1767 , 15.3622 , 12.1449 , 11.9484 , 12.33 , 14.9455 , 11.5331 , 11.316 , 11.553 , 14.3136 , 13.4346 , 12.8946 , 12.4044};
	double b4[]={2.20159 , 3.56709 , 0.9821 , 168.261 , 10.0953 , 0.542 , 5.1146 , 0.1403 , 51.6512 , 55.5949 , 0.5826 , 32.9089 , -0.01404 , 26.1476 , 47.3437 , 21.7184 , 129.424 , 14.039 , 7.1937 , 10.1411 , 85.0886 , 8.28524 , 81.6937 , 93.5458 , 6.65365 , 68.1645 , 56.172 , 47.7784 , 60.4486 , 33.3929 , 41.6841 , 31.9128 , 178.437 , 25.9905 , 51.3531 , 16.0662 , 116.105 , 61.6558 , 15.9768 , 12.9464 , 102.478 , 115.122 , 63.969 , 0.940464 , 98.7399 , 32.4224 , 32.8761 , 83.7543 , 41.3235 , 24.1281 , 27.573 , 76.8805 , 31.2809 , 38.5566 , 71.1692 , 25.6466 , 18.3491 , 66.3421 , 22.1626 , 16.9673 , 64.8126 , 25.8487 , 19.897 , 58.7097 , 18.0995 , 61.4135 , 14.4122 , 54.7625 , 11.603 , 47.7972 , 43.8163 , 41.4328 , 58.1535 , 39.3972 , 164.934 , 31.2087 , 132.376 , -0.0138 , 104.354 , -0.01319 , 87.6627 , -0.10276 , 69.7957 , 28.3389 , 25.7228 , 61.6584 , 26.6307 , 23.3452 , 0 , 86.8472 , 94.2928 , 22.887 , 20.8504 , 98.6062 , -0.01036 , -0.0102 , 76.8986 , 0 , 0.005127 , 99.8156 , 66.1147 , 0 , 87.4825 , 0 , 92.8029 , 0 , 83.9571 , 62.2061 , -0.7583 , 75.2825 , 55.5113 , 0 , 70.8403 , 66.8776 , 84.9304 , 64.2658 , 213.904 , 59.4565 , 167.202 , 51.746 , 133.124 , 54.9453 , 127.113 , 43.1692 , 62.2355 , 143.644 , 36.4065 , 45.4643 , 137.903 , 30.8717 , 132.721 , 27.4491 , 128.007 , 24.8242 , 123.174 , 26.5156 , 22.9966 , 101.398 , 21.7029 , 115.362 , 21.2773 , 111.874 , 19.581 , 92.6566 , 18.5908 , 105.703 , 17.8974 , 102.961 , 17.2922 , 100.417 , 20.39 , 16.8153 , 84.3298 , 16.3535 , 72.029 , 14.0366 , 63.3644 , 12.4244 , 57.056 , 11.1972 , 52.0861 , 48.1647 , 18.003 , 45.0011 , 20.3254 , 17.4911 , 38.6103 , 22.9426 , 16.9392 , 36.3956 , 26.4043 , 18.659 , 38.3246 , 28.2262 , 20.7482 , 45.8149 , 28.8482 , 17.2114 , 47.2579 , 23.8132 , 14.714 , 48.0093 , 20.3185 , 12.8285 , 47.0045 , 45.4715 , 44.2473 , 150.645 , 142.325 , 29.8436 , 117.02 , 25.9443 , 99.1722 , 23.9533 , 105.251 , 100.613 , 26.3394 , 23.4582 , 25.2017 , 97.4908 , 25.4928 , 22.7502 , 22.6581 , 105.98 , 24.3992 , 21.8301 , 20.9303 , 102.273 , 88.4834 , 86.003 , 83.7881};
	double c[]={0.001305 , 0.002389 , 0.0064 , 0.0377 , 0.0167 , 0.0385 , -6.1092 , -0.1932 , 0.2156 , 0.286977 , -11.529 , 0.2508 , 21.9412 , 0.2776 , 0.653396 , 0.3515 , 0.676 , 0.404 , 0.8584 , 0.4853 , 1.1151 , 0.706786 , 1.1407 , 1.24707 , 0.746297 , 1.1149 , 0.8669 , -9.5574 , -16.378 , 1.4445 , 1.4228 , -4.9978 , 1.3751 , -14.875 , 1.3329 , -6.6667 , 1.2807 , 0.897155 , -14.652 , -13.28 , 1.2199 , 1.2298 , 0.656565 , 1.7143 , 1.1832 , 0.616898 , 0.518275 , 1.0896 , 1.0874 , 0.393974 , 0.251877 , 1.0369 , 1.0097 , 0.9707 , 1.0118 , 0.9324 , 0.286667 , 1.0341 , 0.8614 , 0.386044 , 1.191 , 0.89 , 1.14431 , 1.3041 , 0.7807 , 1.7189 , 1.53545 , 2.1313 , 1.45572 , 2.531 , 2.8409 , 2.9557 , 3.1776 , 2.825 , 3.4873 , 2.0782 , 2.5064 , 41.4025 , 1.91213 , 40.2602 , 2.06929 , 9.41454 , 3.75591 , -12.912 , -6.3934 , 4.3875 , -14.421 , -14.316 , 0.344941 , 5.40428 , 5.37874 , -3.1892 , 1.42357 , 5.328 , 11.8678 , 11.2835 , 5.26593 , 5.2916 , 13.0174 , 5.179 , 5.21572 , 5.21404 , 5.0694 , 5.11937 , 4.9391 , 4.99635 , 4.7821 , 4.7861 , 3.9182 , 4.5909 , 4.69626 , 4.69263 , 4.352 , 4.0712 , 4.0714 , 3.7118 , 3.3352 , 3.2791 , 2.7731 , 3.02902 , 2.14678 , 2.4086 , 1.86264 , 2.09013 , 1.5918 , 2.0583 , 1.77132 , 1.24285 , 1.98486 , 1.47588 , 2.02876 , 1.19499 , 2.20963 , 0.954586 , 2.5745 , 1.36389 , 0.759344 , 2.4196 , 0.645089 , 3.58324 , 0.691967 , 4.29728 , 0.68969 , 4.56796 , 0.852795 , 5.92046 , 1.17613 , 6.75621 , 1.63929 , 7.56672 , 3.70983 , 2.26001 , 7.97628 , 2.97573 , 8.58154 , 2.39699 , 9.24354 , 1.78555 , 9.8875 , 1.01074 , 10.472 , 11.0005 , 6.49804 , 11.4722 , 8.27903 , 6.96824 , 11.6883 , 9.85329 , 7.39534 , 12.0658 , 11.2299 , 9.0968 , 12.6089 , 12.0205 , 10.6268 , 13.1746 , 12.5258 , 9.8027 , 13.4118 , 12.4734 , 8.08428 , 13.5782 , 12.4711 , -6.7994 , 13.677 , 13.7108 , 13.6905 , 13.7247 , 13.6211 , 13.5431 , 13.5266 , 13.4637 , 13.4314 , 13.376 , 13.4287 , 13.3966 , 13.3092 , 13.2671 , 13.1665 , 13.3573 , 13.2544 , 13.2116 , 13.113 , 13.3812 , 13.1991 , 13.1555 , 13.0582 , 13.3592 , 13.2887 , 13.2754 , 13.2674};
	//Search for the input specie in the 'elements' array to start the caclculation
	for (i=0;i<211;i++){
		if(strcmp(specie, elements[i]) == 0 )
        {
        	n=i;
            found = 1;
            break;
        }
	}
	//If the specie is found in the table
	if (found==1){
		//Use the atomic form factor formula which is the sum of the Gaussians of a particular form
		result=a1[n]*exp(-b1[n]*pow(q/(4*M_PI),2))+a2[n]*exp(-b2[n]*pow(q/(4*M_PI),2))+a3[n]*exp(-b3[n]*pow(q/(4*M_PI),2))+a4[n]*exp(-b4[n]*pow(q/(4*M_PI),2))+c[n];
	}else{
		//Return error code in case the input specie is not found in the database
		result=9898989898989898;
	}
	return result;
	
}	
main(){
	char elem[10];
	double q, formFactor;
	printf("Enter the atomic specie:\n");
	scanf("%s",&elem);
	printf("Enter the q:\n");
	scanf("%lf",&q);
	formFactor=formFactorCalc(q,elem);
	if(formFactor!=9898989898989898){
		printf("\n\n%s\t%lf",elem,formFactor);	
	}
}

OUTPUT:

Atomic Form Factor Table

Element a 1b 1a 2b 2a 3b 3a 4b 4c
 H  0.489918  20.6593  0.262003  7.74039  0.196767  49.5519  0.049879  2.20159  0.001305 
 H1-  0.897661  53.1368  0.565616  15.187  0.415815  186.576  0.116973  3.56709  0.002389 
 He  0.8734  9.1037  0.6309  3.3568  0.3112  22.9276  0.178  0.9821  0.0064 
 Li  1.1282  3.9546  0.7508  1.0524  0.6175  85.3905  0.4653  168.261  0.0377 
 Li1+  0.6968  4.6237  0.7888  1.9557  0.3414  0.6316  0.1563  10.0953  0.0167 
 Be  1.5919  43.6427  1.1278  1.8623  0.5391  103.483  0.7029  0.542  0.0385 
 Be2+  6.2603  0.0027  0.8849  0.8313  0.7993  2.2758  0.1647  5.1146  -6.1092 
 B  2.0545  23.2185  1.3326  1.021  1.0979  60.3498  0.7068  0.1403  -0.1932 
 C  2.31  20.8439  1.02  10.2075  1.5886  0.5687  0.865  51.6512  0.2156 
 Cval  2.26069  22.6907  1.56165  0.656665  1.05075  9.75618  0.839259  55.5949  0.286977 
 N  12.2126  0.0057  3.1322  9.8933  2.0125  28.9975  1.1663  0.5826  -11.529 
 O  3.0485  13.2771  2.2868  5.7011  1.5463  0.3239  0.867  32.9089  0.2508 
 O1-  4.1916  12.8573  1.63969  4.17236  1.52673  47.0179  -20.307  -0.01404  21.9412 
 F  3.5392  10.2825  2.6412  4.2944  1.517  0.2615  1.0243  26.1476  0.2776 
 F1-  3.6322  5.27756  3.51057  14.7353  1.26064  0.442258  0.940706  47.3437  0.653396 
 Ne  3.9553  8.4042  3.1125  3.4262  1.4546  0.2306  1.1251  21.7184  0.3515 
 Na  4.7626  3.285  3.1736  8.8422  1.2674  0.3136  1.1128  129.424  0.676 
 Na1+  3.2565  2.6671  3.9362  6.1153  1.3998  0.2001  1.0032  14.039  0.404 
 Mg  5.4204  2.8275  2.1735  79.2611  1.2269  0.3808  2.3073  7.1937  0.8584 
 Mg2+  3.4988  2.1676  3.8378  4.7542  1.3284  0.185  0.8497  10.1411  0.4853 
 Al  6.4202  3.0387  1.9002  0.7426  1.5936  31.5472  1.9646  85.0886  1.1151 
 Al3+  4.17448  1.93816  3.3876  4.14553  1.20296  0.228753  0.528137  8.28524  0.706786 
 Siv  6.2915  2.4386  3.0353  32.3337  1.9891  0.6785  1.541  81.6937  1.1407 
 Sival  5.66269  2.6652  3.07164  38.6634  2.62446  0.916946  1.3932  93.5458  1.24707 
 Si4+  4.43918  1.64167  3.20345  3.43757  1.19453  0.2149  0.41653  6.65365  0.746297 
 P  6.4345  1.9067  4.1791  27.157  1.78  0.526  1.4908  68.1645  1.1149 
 S  6.9053  1.4679  5.2034  22.2151  1.4379  0.2536  1.5863  56.172  0.8669 
 Cl  11.4604  0.0104  7.1964  1.1662  6.2556  18.5194  1.6455  47.7784  -9.5574 
 Cl1-  18.2915  0.0066  7.2084  1.1717  6.5337  19.5424  2.3386  60.4486  -16.378 
 Ar  7.4845  0.9072  6.7723  14.8407  0.6539  43.8983  1.6442  33.3929  1.4445 
 K  8.2186  12.7949  7.4398  0.7748  1.0519  213.187  0.8659  41.6841  1.4228 
 K1+  7.9578  12.6331  7.4917  0.7674  6.359  -0.002  1.1915  31.9128  -4.9978 
 Ca  8.6266  10.4421  7.3873  0.6599  1.5899  85.7484  1.0211  178.437  1.3751 
 Ca2+  15.6348  -0.0074  7.9518  0.6089  8.4372  10.3116  0.8537  25.9905  -14.875 
 Sc  9.189  9.0213  7.3679  0.5729  1.6409  136.108  1.468  51.3531  1.3329 
 Sc3+  13.4008  0.29854  8.0273  7.9629  1.65943  -0.28604  1.57936  16.0662  -6.6667 
 Ti  9.7595  7.8508  7.3558  0.5  1.6991  35.6338  1.9021  116.105  1.2807 
 Ti2+  9.11423  7.5243  7.62174  0.457585  2.2793  19.5361  0.087899  61.6558  0.897155 
 Ti3+  17.7344  0.22061  8.73816  7.04716  5.25691  -0.15762  1.92134  15.9768  -14.652 
 Ti4+  19.5114  0.178847  8.23473  6.67018  2.01341  -0.29263  1.5208  12.9464  -13.28 
 V  10.2971  6.8657  7.3511  0.4385  2.0703  26.8938  2.0571  102.478  1.2199 
 V2+  10.106  6.8818  7.3541  0.4409  2.2884  20.3004  0.0223  115.122  1.2298 
 V3+  9.43141  6.39535  7.7419  0.383349  2.15343  15.1908  0.016865  63.969  0.656565 
 V5+  15.6887  0.679003  8.14208  5.40135  2.03081  9.97278  -9.576  0.940464  1.7143 
 Cr  10.6406  6.1038  7.3537  0.392  3.324  20.2626  1.4922  98.7399  1.1832 
 Cr2+  9.54034  5.66078  7.7509  0.344261  3.58274  13.3075  0.509107  32.4224  0.616898 
 Cr3+  9.6809  5.59463  7.81136  0.334393  2.87603  12.8288  0.113575  32.8761  0.518275 
 Mn  11.2819  5.3409  7.3573  0.3432  3.0193  17.8674  2.2441  83.7543  1.0896 
 Mn2+  10.8061  5.2796  7.362  0.3435  3.5268  14.343  0.2184  41.3235  1.0874 
 Mn3+  9.84521  4.91797  7.87194  0.294393  3.56531  10.8171  0.323613  24.1281  0.393974 
 Mn4+  9.96253  4.8485  7.97057  0.283303  2.76067  10.4852  0.054447  27.573  0.251877 
 Fe  11.7695  4.7611  7.3573  0.3072  3.5222  15.3535  2.3045  76.8805  1.0369 
 Fe2+  11.0424  4.6538  7.374  0.3053  4.1346  12.0546  0.4399  31.2809  1.0097 
 Fe3+  11.1764  4.6147  7.3863  0.3005  3.3948  11.6729  0.0724  38.5566  0.9707 
 Co  12.2841  4.2791  7.3409  0.2784  4.0034  13.5359  2.3488  71.1692  1.0118 
 Co2+  11.2296  4.1231  7.3883  0.2726  4.7393  10.2443  0.7108  25.6466  0.9324 
 Co3+  10.338  3.90969  7.88173  0.238668  4.76795  8.35583  0.725591  18.3491  0.286667 
 Ni  12.8376  3.8785  7.292  0.2565  4.4438  12.1763  2.38  66.3421  1.0341 
 Ni2+  11.4166  3.6766  7.4005  0.2449  5.3442  8.873  0.9773  22.1626  0.8614 
 Ni3+  10.7806  3.5477  7.75868  0.22314  5.22746  7.64468  0.847114  16.9673  0.386044 
 Cu  13.338  3.5828  7.1676  0.247  5.6158  11.3966  1.6735  64.8126  1.191 
 Cu1+  11.9475  3.3669  7.3573  0.2274  6.2455  8.6625  1.5578  25.8487  0.89 
 Cu2+  11.8168  3.37484  7.11181  0.244078  5.78135  7.9876  1.14523  19.897  1.14431 
 Zn  14.0743  3.2655  7.0318  0.2333  5.1652  10.3163  2.41  58.7097  1.3041 
 Zn2+  11.9719  2.9946  7.3862  0.2031  6.4668  7.0826  1.394  18.0995  0.7807 
 Ga  15.2354  3.0669  6.7006  0.2412  4.3591  10.7805  2.9623  61.4135  1.7189 
 Ga3+  12.692  2.81262  6.69883  0.22789  6.06692  6.36441  1.0066  14.4122  1.53545 
 Ge  16.0816  2.8509  6.3747  0.2516  3.7068  11.4468  3.683  54.7625  2.1313 
 Ge4+  12.9172  2.53718  6.70003  0.205855  6.06791  5.47913  0.859041  11.603  1.45572 
 As  16.6723  2.6345  6.0701  0.2647  3.4313  12.9479  4.2779  47.7972  2.531 
 Se  17.0006  2.4098  5.8196  0.2726  3.9731  15.2372  4.3543  43.8163  2.8409 
 Br  17.1789  2.1723  5.2358  16.5796  5.6377  0.2609  3.9851  41.4328  2.9557 
 Br1-  17.1718  2.2059  6.3338  19.3345  5.5754  0.2871  3.7272  58.1535  3.1776 
 Kr  17.3555  1.9384  6.7286  16.5623  5.5493  0.2261  3.5375  39.3972  2.825 
 Rb  17.1784  1.7888  9.6435  17.3151  5.1399  0.2748  1.5292  164.934  3.4873 
 Rb1+  17.5816  1.7139  7.6598  14.7957  5.8981  0.1603  2.7817  31.2087  2.0782 
 Sr  17.5663  1.5564  9.8184  14.0988  5.422  0.1664  2.6694  132.376  2.5064 
 Sr2+  18.0874  1.4907  8.1373  12.6963  2.5654  24.5651  -34.193  -0.0138  41.4025 
 Y  17.776  1.4029  10.2946  12.8006  5.72629  0.125599  3.26588  104.354  1.91213 
 Y3+  17.9268  1.35417  9.1531  11.2145  1.76795  22.6599  -33.108  -0.01319  40.2602 
 Zr  17.8765  1.27618  10.948  11.916  5.41732  0.117622  3.65721  87.6627  2.06929 
 Zr4+  18.1668  1.2148  10.0562  10.1483  1.01118  21.6054  -2.6479  -0.10276  9.41454 
 Nb  17.6142  1.18865  12.0144  11.766  4.04183  0.204785  3.53346  69.7957  3.75591 
 Nb3+  19.8812  0.019175  18.0653  1.13305  11.0177  10.1621  1.94715  28.3389  -12.912 
 Nb5+  17.9163  1.12446  13.3417  0.028781  10.799  9.28206  0.337905  25.7228  -6.3934 
 Mo  3.7025  0.2772  17.2356  1.0958  12.8876  11.004  3.7429  61.6584  4.3875 
 Mo3+  21.1664  0.014734  18.2017  1.03031  11.7423  9.53659  2.30951  26.6307  -14.421 
 Mo5+  21.0149  0.014345  18.0992  1.02238  11.4632  8.78809  0.740625  23.3452  -14.316 
 Mo6+  17.8871  1.03649  11.175  8.48061  6.57891  0.058881  0  0  0.344941 
 Tc  19.1301  0.864132  11.0948  8.14487  4.64901  21.5707  2.71263  86.8472  5.40428 
 Ru  19.2674  0.80852  12.9182  8.43467  4.86337  24.7997  1.56756  94.2928  5.37874 
 Ru3+  18.5638  0.847329  13.2885  8.37164  9.32602  0.017662  3.00964  22.887  -3.1892 
 Ru4+  18.5003  0.844582  13.1787  8.12534  4.71304  0.36495  2.18535  20.8504  1.42357 
 Rh  19.2957  0.751536  14.3501  8.21758  4.73425  25.8749  1.28918  98.6062  5.328 
 Rh3+  18.8785  0.764252  14.1259  7.84438  3.32515  21.2487  -6.1989  -0.01036  11.8678 
 Rh4+  18.8545  0.760825  13.9806  7.62436  2.53464  19.3317  -5.6526  -0.0102  11.2835 
 Pd  19.3319  0.698655  15.5017  7.98929  5.29537  25.2052  0.605844  76.8986  5.26593 
 Pd2+  19.1701  0.696219  15.2096  7.55573  4.32234  22.5057  0  0  5.2916 
 Pd4+  19.2493  0.683839  14.79  7.14833  2.89289  17.9144  -7.9492  0.005127  13.0174 
 Ag  19.2808  0.6446  16.6885  7.4726  4.8045  24.6605  1.0463  99.8156  5.179 
 Ag1+  19.1812  0.646179  15.9719  7.19123  5.27475  21.7326  0.357534  66.1147  5.21572 
 Ag2+  19.1643  0.645643  16.2456  7.18544  4.3709  21.4072  0  0  5.21404 
 Cd  19.2214  0.5946  17.6444  6.9089  4.461  24.7008  1.6029  87.4825  5.0694 
 Cd2+  19.1514  0.597922  17.2535  6.80639  4.47128  20.2521  0  0  5.11937 
 In  19.1624  0.5476  18.5596  6.3776  4.2948  25.8499  2.0396  92.8029  4.9391 
 In3+  19.1045  0.551522  18.1108  6.3247  3.78897  17.3595  0  0  4.99635 
 Sn  19.1889  5.8303  19.1005  0.5031  4.4585  26.8909  2.4663  83.9571  4.7821 
 Sn2+  19.1094  0.5036  19.0548  5.8378  4.5648  23.3752  0.487  62.2061  4.7861 
 Sn4+  18.9333  5.764  19.7131  0.4655  3.4182  14.0049  0.0193  -0.7583  3.9182 
 Sb  19.6418  5.3034  19.0455  0.4607  5.0371  27.9074  2.6827  75.2825  4.5909 
 Sb3+  18.9755  0.467196  18.933  5.22126  5.10789  19.5902  0.288753  55.5113  4.69626 
 Sb5+  19.8685  5.44853  19.0302  0.467973  2.41253  14.1259  0  0  4.69263 
 Te  19.9644  4.81742  19.0138  0.420885  6.14487  28.5284  2.5239  70.8403  4.352 
 I  20.1472  4.347  18.9949  0.3814  7.5138  27.766  2.2735  66.8776  4.0712 
 I1-  20.2332  4.3579  18.997  0.3815  7.8069  29.5259  2.8868  84.9304  4.0714 
 Xe  20.2933  3.9282  19.0298  0.344  8.9767  26.4659  1.99  64.2658  3.7118 
 Cs  20.3892  3.569  19.1062  0.3107  10.662  24.3879  1.4953  213.904  3.3352 
 Cs1+  20.3524  3.552  19.1278  0.3086  10.2821  23.7128  0.9615  59.4565  3.2791 
 Ba  20.3361  3.216  19.297  0.2756  10.888  20.2073  2.6959  167.202  2.7731 
 Ba2+  20.1807  3.21367  19.1136  0.28331  10.9054  20.0558  0.77634  51.746  3.02902 
 La  20.578  2.94817  19.599  0.244475  11.3727  18.7726  3.28719  133.124  2.14678 
 La3+  20.2489  2.9207  19.3763  0.250698  11.6323  17.8211  0.336048  54.9453  2.4086 
 Ce  21.1671  2.81219  19.7695  0.226836  11.8513  17.6083  3.33049  127.113  1.86264 
 Ce3+  20.8036  2.77691  19.559  0.23154  11.9369  16.5408  0.612376  43.1692  2.09013 
 Ce4+  20.3235  2.65941  19.8186  0.21885  12.1233  15.7992  0.144583  62.2355  1.5918 
 Pr  22.044  2.77393  19.6697  0.222087  12.3856  16.7669  2.82428  143.644  2.0583 
 Pr3+  21.3727  2.6452  19.7491  0.214299  12.1329  15.323  0.97518  36.4065  1.77132 
 Pr4+  20.9413  2.54467  20.0539  0.202481  12.4668  14.8137  0.296689  45.4643  1.24285 
 Nd  22.6845  2.66248  19.6847  0.210628  12.774  15.885  2.85137  137.903  1.98486 
 Nd3+  21.961  2.52722  19.9339  0.199237  12.12  14.1783  1.51031  30.8717  1.47588 
 Pm  23.3405  2.5627  19.6095  0.202088  13.1235  15.1009  2.87516  132.721  2.02876 
 Pm3+  22.5527  2.4174  20.1108  0.185769  12.0671  13.1275  2.07492  27.4491  1.19499 
 Sm  24.0042  2.47274  19.4258  0.196451  13.4396  14.3996  2.89604  128.007  2.20963 
 Sm3+  23.1504  2.31641  20.2599  0.174081  11.9202  12.1571  2.71488  24.8242  0.954586 
 Eu  24.6274  2.3879  19.0886  0.1942  13.7603  13.7546  2.9227  123.174  2.5745 
 Eu2+  24.0063  2.27783  19.9504  0.17353  11.8034  11.6096  3.87243  26.5156  1.36389 
 Eu3+  23.7497  2.22258  20.3745  0.16394  11.8509  11.311  3.26503  22.9966  0.759344 
 Gd  25.0709  2.25341  19.0798  0.181951  13.8518  12.9331  3.54545  101.398  2.4196 
 Gd3+  24.3466  2.13553  20.4208  0.155525  11.8708  10.5782  3.7149  21.7029  0.645089 
 Tb  25.8976  2.24256  18.2185  0.196143  14.3167  12.6648  2.95354  115.362  3.58324 
 Tb3+  24.9559  2.05601  20.3271  0.149525  12.2471  10.0499  3.773  21.2773  0.691967 
 Dy  26.507  2.1802  17.6383  0.202172  14.5596  12.1899  2.96577  111.874  4.29728 
 Dy3+  25.5395  1.9804  20.2861  0.143384  11.9812  9.34972  4.50073  19.581  0.68969 
 Ho  26.9049  2.07051  17.294  0.19794  14.5583  11.4407  3.63837  92.6566  4.56796 
 Ho3+  26.1296  1.91072  20.0994  0.139358  11.9788  8.80018  4.93676  18.5908  0.852795 
 Er  27.6563  2.07356  16.4285  0.223545  14.9779  11.3604  2.98233  105.703  5.92046 
 Er3+  26.722  1.84659  19.7748  0.13729  12.1506  8.36225  5.17379  17.8974  1.17613 
 Tm  28.1819  2.02859  15.8851  0.238849  15.1542  10.9975  2.98706  102.961  6.75621 
 Tm3+  27.3083  1.78711  19.332  0.136974  12.3339  7.96778  5.38348  17.2922  1.63929 
 Yb  28.6641  1.9889  15.4345  0.257119  15.3087  10.6647  2.98963  100.417  7.56672 
 Yb2+  28.1209  1.78503  17.6817  0.15997  13.3335  8.18304  5.14657  20.39  3.70983 
 Yb3+  27.8917  1.73272  18.7614  0.13879  12.6072  7.64412  5.47647  16.8153  2.26001 
 Lu  28.9476  1.90182  15.2208  9.98519  15.1  0.261033  3.71601  84.3298  7.97628 
 Lu3+  28.4628  1.68216  18.121  0.142292  12.8429  7.33727  5.59415  16.3535  2.97573 
 Hf  29.144  1.83262  15.1726  9.5999  14.7586  0.275116  4.30013  72.029  8.58154 
 Hf4+  28.8131  1.59136  18.4601  0.128903  12.7285  6.76232  5.59927  14.0366  2.39699 
 Ta  29.2024  1.77333  15.2293  9.37046  14.5135  0.295977  4.76492  63.3644  9.24354 
 Ta5+  29.1587  1.50711  18.8407  0.116741  12.8268  6.31524  5.38695  12.4244  1.78555 
 W  29.0818  1.72029  15.43  9.2259  14.4327  0.321703  5.11982  57.056  9.8875 
 W6+  29.4936  1.42755  19.3763  0.104621  13.0544  5.93667  5.06412  11.1972  1.01074 
 Re  28.7621  1.67191  15.7189  9.09227  14.5564  0.3505  5.44174  52.0861  10.472 
 Os  28.1894  1.62903  16.155  8.97948  14.9305  0.382661  5.67589  48.1647  11.0005 
 Os4+  30.419  1.37113  15.2637  6.84706  14.7458  0.165191  5.06795  18.003  6.49804 
 Ir  27.3049  1.59279  16.7296  8.86553  15.6115  0.417916  5.83377  45.0011  11.4722 
 Ir3+  30.4156  1.34323  15.862  7.10909  13.6145  0.204633  5.82008  20.3254  8.27903 
 Ir4+  30.7058  1.30923  15.5512  6.71983  14.2326  0.167252  5.53672  17.4911  6.96824 
 Pt  27.0059  1.51293  17.7639  8.81174  15.7131  0.424593  5.7837  38.6103  11.6883 
 Pt2+  29.8429  1.32927  16.7224  7.38979  13.2153  0.263297  6.35234  22.9426  9.85329 
 Pt4+  30.9612  1.24813  15.9829  6.60834  13.7348  0.16864  5.92034  16.9392  7.39534 
 Au  16.8819  0.4611  18.5913  8.6216  25.5582  1.4826  5.86  36.3956  12.0658 
 Au1+  28.0109  1.35321  17.8204  7.7395  14.3359  0.356752  6.58077  26.4043  11.2299 
 Au3+  30.6886  1.2199  16.9029  6.82872  12.7801  0.212867  6.52354  18.659  9.0968 
 Hg  20.6809  0.545  19.0417  8.4484  21.6575  1.5729  5.9676  38.3246  12.6089 
 Hg1+  25.0853  1.39507  18.4973  7.65105  16.8883  0.443378  6.48216  28.2262  12.0205 
 Hg2+  29.5641  1.21152  18.06  7.05639  12.8374  0.284738  6.89912  20.7482  10.6268 
 Tl  27.5446  0.65515  19.1584  8.70751  15.538  1.96347  5.52593  45.8149  13.1746 
 Tl1+  21.3985  1.4711  20.4723  0.517394  18.7478  7.43463  6.82847  28.8482  12.5258 
 Tl3+  30.8695  1.1008  18.3481  6.53852  11.9328  0.219074  7.00574  17.2114  9.8027 
 Pb  31.0617  0.6902  13.0637  2.3576  18.442  8.618  5.9696  47.2579  13.4118 
 Pb2+  21.7886  1.3366  19.5682  0.488383  19.1406  6.7727  7.01107  23.8132  12.4734 
 Pb4+  32.1244  1.00566  18.8003  6.10926  12.0175  0.147041  6.96886  14.714  8.08428 
 Bi  33.3689  0.704  12.951  2.9238  16.5877  8.7937  6.4692  48.0093  13.5782 
 Bi3+  21.8053  1.2356  19.5026  6.24149  19.1053  0.469999  7.10295  20.3185  12.4711 
 Bi5+  33.5364  0.91654  25.0946  0.39042  19.2497  5.71414  6.91555  12.8285  -6.7994 
 Po  34.6726  0.700999  15.4733  3.55078  13.1138  9.55642  7.02588  47.0045  13.677 
 At  35.3163  0.68587  19.0211  3.97458  9.49887  11.3824  7.42518  45.4715  13.7108 
 Rn  35.5631  0.6631  21.2816  4.0691  8.0037  14.0422  7.4433  44.2473  13.6905 
 Fr  35.9299  0.646453  23.0547  4.17619  12.1439  23.1052  2.11253  150.645  13.7247 
 Ra  35.763  0.616341  22.9064  3.87135  12.4739  19.9887  3.21097  142.325  13.6211 
 Ra2+  35.215  0.604909  21.67  3.5767  7.91342  12.601  7.65078  29.8436  13.5431 
 Ac  35.6597  0.589092  23.1032  3.65155  12.5977  18.599  4.08655  117.02  13.5266 
 Ac3+  35.1736  0.579689  22.1112  3.41437  8.19216  12.9187  7.05545  25.9443  13.4637 
 Th  35.5645  0.563359  23.4219  3.46204  12.7473  17.8309  4.80703  99.1722  13.4314 
 Th4+  35.1007  0.555054  22.4418  3.24498  9.78554  13.4661  5.29444  23.9533  13.376 
 Pa  35.8847  0.547751  23.2948  3.41519  14.1891  16.9235  4.17287  105.251  13.4287 
 U  36.0228  0.5293  23.4128  3.3253  14.9491  16.0927  4.188  100.613  13.3966 
 U3+  35.5747  0.52048  22.5259  3.12293  12.2165  12.7148  5.37073  26.3394  13.3092 
 U4+  35.3715  0.516598  22.5326  3.05053  12.0291  12.5723  4.7984  23.4582  13.2671 
 U6+  34.8509  0.507079  22.7584  2.8903  14.0099  13.1767  1.21457  25.2017  13.1665 
 Np  36.1874  0.511929  23.5964  3.25396  15.6402  15.3622  4.1855  97.4908  13.3573 
 Np3+  35.7074  0.502322  22.613  3.03807  12.9898  12.1449  5.43227  25.4928  13.2544 
 Np4+  35.5103  0.498626  22.5787  2.96627  12.7766  11.9484  4.92159  22.7502  13.2116 
 Np6+  35.0136  0.48981  22.7286  2.81099  14.3884  12.33  1.75669  22.6581  13.113 
 Pu  36.5254  0.499384  23.8083  3.26371  16.7707  14.9455  3.47947  105.98  13.3812 
 Pu3+  35.84  0.484938  22.7169  2.96118  13.5807  11.5331  5.66016  24.3992  13.1991 
 Pu4+  35.6493  0.481422  22.646  2.8902  13.3595  11.316  5.18831  21.8301  13.1555 
 Pu6+  35.1736  0.473204  22.7181  2.73848  14.7635  11.553  2.28678  20.9303  13.0582 
 Am  36.6706  0.483629  24.0992  3.20647  17.3415  14.3136  3.49331  102.273  13.3592 
 Cm  36.6488  0.465154  24.4096  3.08997  17.399  13.4346  4.21665  88.4834  13.2887 
 Bk  36.7881  0.451018  24.7736  3.04619  17.8919  12.8946  4.23284  86.003  13.2754 
 Cf  36.9185  0.437533  25.1995  3.00775  18.3317  12.4044  4.24391  83.7881  13.2674 

References:

http://lampx.tugraz.at/~hadley/ss1/crystaldiffraction/atomicformfactors/formfactors.php
https://en.wikipedia.org/wiki/Atomic_form_factor
http://pd.chem.ucl.ac.uk/pdnn/diff2/structf.htmhttp://pd.chem.ucl.ac.uk/pdnn/unit1/hklgen2.htm
https://en.wikipedia.org/wiki/List_of_space_groups
https://www.bragitoff.com/2017/08/x-ray-diffraction-xrd/
http://www.phys.nthu.edu.tw/~spin/course/104F/solid%20state%20physics-Ch2-2-Tina.pdfhttps://github.com/aoterodelaroza/escher/blob/master/src/cr_xrd.m

I'm a physicist specializing in theoretical, computational and experimental condensed matter physics. I like to develop Physics related apps and softwares from time to time. Can code in most of the popular languages. Like to share my knowledge in Physics and applications using this Blog and a YouTube channel.



Leave a Reply

Your email address will not be published. Required fields are marked *