Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GFORTRAN_1.4 not found #4

Closed
stehvieh opened this issue Apr 5, 2016 · 18 comments
Closed

GFORTRAN_1.4 not found #4

stehvieh opened this issue Apr 5, 2016 · 18 comments

Comments

@stehvieh
Copy link

stehvieh commented Apr 5, 2016

Hi!
I cannot run properly the example notebook AuAg_dimer, which gives me the following error:
aaa

Durign a first try, I got the error "ImportError: No module named 'py_gmm.gmm_py'", which I could fix by installing the openblas library. But I also find the following error while executing f2py.sh:
bbb

Do you have any suggesting how I can fix these problems?

Best,
Steffi

@gevero
Copy link
Owner

gevero commented Apr 5, 2016

Hi Steffi

I am not 100% sure what is going on here, but I'll try a first guess. In the meantime it would help a lot if you could tell me which kind of platform you are using (i guess linux, but which version: try uname -r), and also which compiler (gfortran --version). Furthermore, the full output of the f2py.sh script would help a lot. You can link a gist to this issue if you want.

It looks like, from the error you reported when you are running f2py.sh, that your compiler is operating in fixed form, i.e. with files that must have fixed row length, etc..., while it should work in free form (no restrictions) since the files have a .f90 extension. In any case, if not precisely this, it really looks like that your compiler cannot parse the source code, which should be pretty standard anyway. As soon you provide me with more information, i hope we shall be able to work out a solution.

best

Giovanni

@stehvieh
Copy link
Author

stehvieh commented Apr 5, 2016

Hi Giovanni

Thanks for your quick respons! Yes, I am using linux, verion 3.13.0-24-generic. My compiler is GNU Fortran 4.8.4, I think this is the latest version being instlled via apt-get install gfortran.

Here is the complete output of the script: https://gist.github.com/stehvieh/88d0878bf564ec23cbe065d3a8d423be (i hope that works)

I hope maybe you now have an idea what I could change to get the code working.

best,
Steffi

@gevero
Copy link
Owner

gevero commented Apr 5, 2016

Hi Steffi

So, in the end it looks like it is entirely an Anaconda problem, as listed here. It shows up on some systems, but for instance not on mine. So, resuming:

  • The strange f2py messages like get_parameters: got "unexpected EOF while parsing (<string>, line 1)" on '0.0d0' are of no importance. I rebuilt py_gmm on my system, with the new conda, and I see them too, nevertheless the library builds successfully (gmm_py.cpython-35m-x86_64-linux-gnu.so) and I can run the examples.
  • Also in your case the library seems to build succesfully, nevertheless when you try to load it, you cannot find the right symbol GFORTRAN_1.4 inside libgfortran.so.3, which is provided by Anaconda as you can see from the file path

At this point, we are left with a number of options, as listed in the issue tread that i linked above. In my opinion you could proceed as follows:

  • Updating conda and then all the rest via: conda update conda followed by conda update --all. Then rebuild the library, kill all the jupyter notebooks and reload the example and see if it works. Since the library on my system works, and since it is provided by anaconda, It should be ok.
  • If it does not work you could try this workaroud, also suggested in the linked issue: conda remove libgfortran followed by conda install libgcc --force
  • If this still does not work you can bypass the conda libgfortran.so.3 and go straight to the system one, by doing export LD_PRELOAD=/path/to/libgfortran.so.3, and the system libgfortran.so.3 should be found under something like /usr/lib or /usr/lib64, depending on your distro. If it is ubuntu it should be something: /usr/lib/x86_64-linux-gnu/libgfortran.so.3

Hope this helps

Giovanni

@stehvieh
Copy link
Author

stehvieh commented Apr 5, 2016

Hi,
your first suggestion did not work; although there were some updates, the error was not fixed. I then removed the ligfortran and installed libgcc; but now the module 'joblib' is missing in the notebook:

ccc

How can I install that?

best,
Steffi

@gevero
Copy link
Owner

gevero commented Apr 5, 2016

conda install joblib

@stehvieh
Copy link
Author

stehvieh commented Apr 5, 2016

Great, it's working now. Thanks so much for your support!

best,
Steffi

@gevero
Copy link
Owner

gevero commented Apr 5, 2016

Happy everything worked out. Let me know if you need any assistance to setup a new calculation.

Best

Giovanni

@gevero gevero closed this as completed Apr 5, 2016
@stehvieh
Copy link
Author

Hi!
After setting up some calculations, I now tried to reproduce the spectra
I found in the publications you put on the github page. I guess I have
some trouble with choosing the correct dielectric function. Am I right
that the silver dielectric function you mention in the paper is not
given in py_gmm yet? I tried to reproduce the data by taking the data
from Johnson and Christy and substract the term with the mean free path
of the electrons in silver, but I was not successfull. Could you maybe
send me this data you used or tell me how exactly you calculated the
dielectric function?

best
Steffi

Am 05.04.2016 um 14:49 schrieb Giovanni Pellegrini:

Happy everything worked out. Let me know if you need any assistance to
setup a new calculation.

Best

Giovanni


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#4 (comment)

Stefanie Roese

TU Dortmund
Experimentelle Physik I
Raum: CP-E1-140

Otto-Hahn-Strasse 4
D-44227 Dortmund (Germany)

Tel: +49-(0)231-755-8714
Fax: +49-(0)231-755-3657

stefanie.roese@tu-dortmund.de

@gevero
Copy link
Owner

gevero commented Apr 16, 2016

Hi. You want the AG Palik optical constant. It is included in the repo. Size correction must be applied. You should be able to find all the details in my PhD thesis: "modeling the optical properties of nanocluster based functional plasmonic materials". Just Google it.

Let my know if everything is OK.

Best

@stehvieh
Copy link
Author

Hi,
I already tried this optical constant; in principle the spectrum I
calculate is correct, but the ratio of the three peaks (2 Ag
nanoparticles with 10 nm in diameter and a distance of 0.2 nm) is
different than in the paper and the peak position differs; my peaks are
shifted to higher wavelengths (ca. 10 nm). So I thought it maybe would
be a problem with the optical constant.

Best,
Steffi

Am 16.04.2016 um 15:48 schrieb Giovanni Pellegrini:

Hi. You want the AG Palik optical constant. It is included in the repo.

Let my know if everything is OK.

Best


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#4 (comment)

@gevero
Copy link
Owner

gevero commented Apr 16, 2016

The discrepancies could originate from a couple of factor, and namely one could be the refractive index of the matrix (I used n=1.45 if I remember correctly) and the exact formula and parameters for the optical constant size correction. Which parameters and formula did you use?

@stehvieh
Copy link
Author

I have found my mistake, thanks :) now everything is working properly.
While running larger calculations (e.g. a chain of nanoparticles with 5
particles), the jupyter notebook tells my "The kernel appears to have
died. it will restart automatically", but it doesn't. Do you know any
solution for this? Might it be a problem of the jupyter notebook? So
maybe it could set up the calculation without using it.

best
Steffi

Am 16.04.2016 um 19:52 schrieb Giovanni Pellegrini:

The discrepancies could originate from a couple of factor, and namely
one could be the refractive index of the matrix (I used n=1.45 if I
remember correctly) and the exact formula and parameters for the
optical constant size correction. Which parameters and formula did you
use?


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#4 (comment)

@gevero
Copy link
Owner

gevero commented Apr 19, 2016

Hi

It should not be a jupyter problem. Usually, this The kernel appears to have died. it will restart automatically error happens when something has gone wrong with the fortran code. It could be many things: for instance it could be that you have intersecting spheres, or that the linear solver is not converging to a solution, you are going out of memory, etc...

In an ideal situation the fortran code should "talk" to the python wrapper and tell it what's wrong, but in reality the fortran code is still pretty rough around the edges, so when it fails, it fails on its own and all you see is the The kernel appears to have died. it will restart automatically error. Nevertheless, if you look at the jupyter notebook output at the shell, you should be able to some some output from the fortran code, to get an idea of what is wrong. 5 spheres should be handled pretty easily, even with a relatively large number of multipoles in the calculation (~20-25). If you cannot spot the problem feel free to send me your notebook and I will run it on my workstation to see what's wrong.

Best

@stehvieh
Copy link
Author

Hi
I don't get any output at the shell, I attached the output of the shell
to this mail. I also send you the file I use; sometimes it works and
sometimes it doesn't. Maybe you have a solution?! Thanks for your great
support!
best
Steffi

Am 19.04.2016 um 10:58 schrieb Giovanni Pellegrini:

Hi

It should not be a jupyter problem. Usually, this |The kernel appears
to have died. it will restart automatically| error happens when
something has gone wrong with the fortran code. It could be many
things: for instance it could be that you have intersecting spheres,
or that the linear solver is not converging to a solution, you are
going out of memory, etc...

In an ideal situation the fortran code should "talk" to the python
wrapper and tell it what's wrong, but in reality the fortran code is
still pretty rough around the edges, so when it fails, it fails on its
own and all you see is the |The kernel appears to have died. it will
restart automatically| error. Nevertheless, if you look at the jupyter
notebook output at the shell, you should be able to some some output
from the fortran code, to get an idea of what is wrong. 5 spheres
should be handled pretty easily, even with a relatively large number
of multipoles in the calculation (~20-25). If you cannot spot the
problem feel free to send me your notebook and I will run it on my
workstation to see what's wrong.

Best


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#4 (comment)

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
" # Stockman Silver Nanolens\n",
" In this notebook we calculate the the optical spectra and local-field enhancement of Silver Nanolenses as proposed in the following publication:\n",
" \n",
" Li K, Stockman MI, Bergman DJ (2003) Self-Similar Chain of Metal Nanospheres as an Efficient Nanolens. Phys Rev Lett 91:227402. doi:10.1103/PhysRevLett.91.227402\n",
"\n",
"The notebook is structured as follows:\n",
" * Importing the libraries: setup of useful settings and import of necessary libraries and databases.\n",
" * Setting up the inputs: definition of the inputs of the simulation.\n",
" * Performing the calculations: call to py_gmm to compute all the relevant far-field and local field quantities.\n",
" * Plotting the results: plot of the integral and differential cross-section for the far-field, and the field enhancement for the local-field."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Importing the libraries"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"code_folding": [
0
],
"collapsed": false
},
"outputs": [],
"source": [
"#------Library loading------\n",
"\n",
"# numpy for matrix computations\n",
"import numpy as np; import numpy.ma as ma\n",
"\n",
"# system libraries\n",
"import sys\n",
"\n",
"# plotting libraries\n",
"%matplotlib inline\n",
"import matplotlib.pylab as plt\n",
"from matplotlib.patches import Circle, Ellipse\n",
"\n",
"# Generalized Multiparticle Mie import\n",
"sys.path.append('../../')\n",
"import py_gmm\n",
"\n",
"# parallel computation\n",
"from joblib import Parallel, delayed\n",
"import multiprocessing"
]
},
{
"cell_type": "markdown",
"metadata": {
"code_folding": []
},
"source": [
"# Setting up the inputs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Target inputs (optical constant database, sphere coordinates, composition and size)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# building the optical constant database\n",
"eps_db_out=py_gmm.mat.generate_eps_db('../../epsilon/',ext='.edb')\n",
"eps_files,eps_names,eps_db=eps_db_out['eps_files'],eps_db_out['eps_names'],eps_db_out['eps_db']\n",
"\n",
"# sphere position (in nm)\n",
"m_xyz = np.array([[ 0. , 0. , 0. ],\n",
" [2.05 , 0. , 0. ],\n",
" [4.1 , 0. , 0. ],\n",
" [6.15 , 0. , 0. ],\n",
" [8.2,0,0]])\n",
" \n",
"\n",
"# sphere radius (in nm)\n",
"v_r = np.array([ 1., 1., 1,1,1])\n",
"\n",
"# how many spheres in the target? We guess it from the length of the radius vector\n",
"ns = len(v_r)\n",
"\n",
"# sphere composition, calling the names contained in "eps_names", just populated above\n",
"target_comp= np.array(ns
['eps_corr']) # vector containing the optical constants names\n",
"\n",
"# refractive index of the environment\n",
"n_matrix = 1.45"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plane wave incident field"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Euler angles: (alpha,beta,gamma)=(0,0,0) means a z-directed, x-polarized plane wave\n",
"alpha = 0.0 # azimuth\n",
"beta = 0.0 # polar\n",
"gamma = 0.0 # polarization\n",
"\n",
"# Wavelengths for the specrum computation\n",
"wl_min = 300\n",
"wl_max = 700\n",
"n_wl = 250\n",
"v_wl = np.linspace(wl_min,wl_max,n_wl)\n",
"\n",
"# Wavelength for the local field computation\n",
"wl_lf = 1240/3.25 # conversion from 3.37 eV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Additional inputs for the simulation"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"code_folding": [
0
],
"collapsed": true
},
"outputs": [],
"source": [
"n_stop=20 # maximum multipolar expansion order\n",
"f_int=0.0; # interaction cutoff (normally set to zero to have full interactions)\n",
"lf_ratio=300; # plot sphere local field contribution up to a distance equal to d=lf_ratio_r_sphere\n",
"qs_flag='yes' # use the quasi-static approximation for the current simulation\n",
"n_E = 400 # local field plotting grid resolution"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Target plot"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"code_folding": [
0
],
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fc1ad8c6ba8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# target plot\n",
"fig = plt.figure(num=1,figsize=(10,10)) # setting the figure size\n",
"ax = fig.add_subplot(1, 1, 1, aspect='equal') # creating the plotting axis\n",
"\n",
"# plot bounds and eliminating x and y ticks\n",
"plt.xlim(-1.1_(v_r[0]),1.1_(m_xyz[ns-1,0]+v_r[ns-1]))\n",
"plt.ylim(-1.1_(v_r[0]),1.1*(v_r[0]))\n",
"plt.xticks([])\n",
"plt.yticks([])\n",
"\n",
"# plotting the target\n",
"for c,r in zip(m_xyz,v_r):\n",
" c0=c[0];c1=c[1];c2=c[2]\n",
" ax.add_patch(Circle((c0,c1,c2),r,color='k'))\n",
" ax.eventson"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Performing the calculations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Scattering cross sections and field expansion coefficients for the spectral computation"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"code_folding": [
0
],
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"# computing the expansion coefficients and cross sections with a loop\n",
"m_abcd_ext_sca_abs = [] # list to be filled with the output\n",
"for wl in v_wl:\n",
" \n",
" # retrieving optical constants at wl from the database\n",
" e_list=py_gmm.mat.db_to_eps(wl,eps_db,target_comp);\n",
" m_eps=np.column_stack((np.real(e_list),np.imag(e_list)));\n",
" \n",
" # solving the gmm problem (calculating the cross sections and the expansion coefficients)\n",
" out=py_gmm.gmm_py.gmm_f2py_module.expansion_coefficients(m_xyz, # target sphere position in nm\n",
" v_r, # target sphere radii in nm\n",
" m_eps, # e1 and e2 for each sphere\n",
" f_int, # interaction coefficient\n",
" n_matrix, # environment refractive index\n",
" wl, # computation wavelength\n",
" alpha,beta,gamma, # euler angles for the incident pw\n",
" n_stop, # maximum number for expansion coefficients\n",
" qs_flag) # quasi static approximation\n",
" m_abcd_ext_sca_abs.append(out)\n",
" \n",
"# extracting coefficients and cross section\n",
"v_coeff=[];v_cext=[];v_csca=[];v_cabs=[];\n",
"for out in m_abcd_ext_sca_abs:\n",
" v_coeff.append(out[0]);\n",
" v_cext.append(out[1]);\n",
" v_csca.append(out[2]);\n",
" v_cabs.append(out[3]);\n",
"\n",
"# converting the lists to numpy arrays\n",
"v_cext=np.array(v_cext)\n",
"v_csca=np.array(v_csca)\n",
"v_cabs=np.array(v_cabs)"
]
},
{
"cell_type": "markdown",
"metadata": {
"code_folding": [
3
]
},
"source": [
"### Local Field"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"code_folding": [],
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plotting the results"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Extinction cross section"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"code_folding": [],
"collapsed": false
},
"outputs": [],
"source": [
"# cross section plot\n",
"f_size=25;\n",
"f_size_ticks=20;\n",
"plt.figure(1,figsize=(15,10));\n",
"#plt.plot(v_wl,np.sum(v_cext,axis=1),'k',linewidth=3.0);\n",
"plt.plot(v_wl,v_cext[:,0],'k')\n",
" # v_wl,v_cext[:,1],'k--');\n",
"\n",
"# plt title\n",
"plt.title('Full nanolens',fontsize=f_size)\n",
"\n",
"# axes labels\n",
"plt.xlabel(r'wavelength (nm)', fontsize=f_size)\n",
"plt.ylabel(r'Cext', fontsize=f_size)\n",
"\n",
"# ticks\n",
"#plt.xlim(2.8,4.0)\n",
"plt.xticks(fontsize=f_size_ticks)\n",
"plt.yticks(fontsize=f_size_ticks)\n",
"\n",
"# legend\n",
"plt.legend(r'Sphere 2 C$_{ext}$',frameon=False,fontsize=f_size-5)\n",
"\n",
"# layout\n",
"plt.tight_layout()\n",
"\n",
"#speichern?\n",
"#f = open("/media/sf_vbox_share/2nm Var Abstand/lambda005nm","w")\n",
"#f.write("\n".join(str(x) for x in v_wl))\n",
"#f.close()\n",
"\n",
"g = open("/media/sf_vbox_share/Kette 0,05 nm/5 Elemente","w")\n",
"g.write("\r\n".join(str(x) for x in v_cext[:,0]))\n",
"g.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Local field enhancement"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"code_folding": [
0
],
"collapsed": false
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}

@gevero
Copy link
Owner

gevero commented Apr 24, 2016

Hi Steffi

I took a look at the notebook you sent me. Basically the linear solver is not converging for two reasons:

  • The spheres are extremely small
  • the gap is even smaller (0.1nm)

Please keep in mind that with Mie theory won't give meaningful results for spheres and gap this small.

Best

@stehvieh
Copy link
Author

Sorry, I forgot to attach it. In eps_corr I took the data from Johnson
and Christy and corrected them optically (2 nm Ag particles). Thanks for
your advise to save the data; I did not use python before, so I will use
this in the future.

best
Steffi

Am 24.04.2016 um 17:58 schrieb Giovanni Pellegrini:

Hi Steffie

I took a look at the notebook you sent me. I miss a key element in
order to run your calculation, i.e. the optical constant |eps_corr|,
which I guess you added to the folder as a file |eps_corr.edb|. In the
meantime I strongly advise you to use np.loadtxt and np.savetxt to
read from and write to text file, especially if10547627 they are
multi-column ascii files: it is so much simpler.
Best


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#4 (comment)

190 -0.305985199393106 2.71707225696786
191 -0.305052877348525 2.74785322359123
192.000000000000 -0.306854081257280 2.77766280723918
193.000000000000 -0.310313815146619 2.80674224963622
194.000000000000 -0.314357083010297 2.83533279250152
195 -0.317908888808573 2.86367567754891
196 -0.320070777158665 2.89191847718478
197 -0.321430642227543 2.91942013356443
198 -0.323320917083288 2.94514454992526
199.000000000000 -0.327079594286554 2.96805267971509
200.000000000000 -0.333835928835985 2.98730137402273
201 -0.342406365579963 3.00421802825941
202 -0.350167514994955 3.02148130494692
203 -0.354474234294870 3.04179028174392
204 -0.353037934208186 3.06745238159228
205.000000000000 -0.346673361866331 3.09736618086774
206.000000000000 -0.337793152489868 3.12867506260503
207 -0.328823146952899 3.15850790410310
208 -0.322020919272680 3.18421415854738
209 -0.317779648399506 3.20558725820671
210 -0.315331838636186 3.22394212860876
211.000000000000 -0.313892458609218 3.24061668221962
212.000000000000 -0.312676488548503 3.25694876430352
213.000000000000 -0.310940423559636 3.27403649465069
214 -0.308075502299389 3.29219992392293
215 -0.303500252431858 3.31160152377135
216 -0.296633201587762 3.33240376584110
217.000000000000 -0.286971108783385 3.35470161536113
218.000000000000 -0.275052754527231 3.37769087026848
219.000000000000 -0.262158019845596 3.39992782791309
220 -0.249582633376318 3.41995511060097
221 -0.238622323723890 3.43631534063203
222 -0.230485897834532 3.44769931333990
223.000000000000 -0.225131704933390 3.45492944684252
224.000000000000 -0.221580509339757 3.46042643586820
225.000000000000 -0.218830359324302 3.46664969854125
226 -0.215879303124378 3.47605865297975
227 -0.211870421247243 3.49075111574195
228 -0.207167865087679 3.50978047029639
229.000000000000 -0.202747442142913 3.53067508944164
230.000000000000 -0.199589527157459 3.55095195860515
231.000000000000 -0.198674494842546 3.56812806320799
232 -0.200858940688638 3.57996641868358
233 -0.205675879405464 3.58686085911798
234 -0.211856165441673 3.59079963441993
235.000000000000 -0.218119428236245 3.59379330584480
236.000000000000 -0.223185297194906 3.59785243464152
237.000000000000 -0.225773401690136 3.60498758205248
238 -0.224942861379213 3.61672201381137
239 -0.221379179576482 3.63224452713465
240.000000000000 -0.216254318585864 3.65004566870426
241 -0.210740328965225 3.66861585847039
242.000000000000 -0.206009261239215 3.68644551637663
243 -0.203215090291496 3.70204591516578
244.000000000000 -0.202718369560937 3.71484365295959
245.000000000000 -0.203793173760991 3.72551873686035
246 -0.205635068980073 3.73484174488350
247.000000000000 -0.207439621273420 3.74358325503773
248 -0.208402396663089 3.75251384532492
249.000000000000 -0.207718973495039 3.76240407961427
250.000000000000 -0.204802068515405 3.77377630245758
251 -0.199834898820396 3.78627206972044
252.000000000000 -0.193171505608198 3.79933766160999
253 -0.185165930043855 3.81241935832641
254.000000000000 -0.176172213259277 3.82496344006295
255 -0.166544396353242 3.83641618700586
256 -0.156587680829400 3.84633737570769
257.000000000000 -0.146343105753608 3.85490065953157
258 -0.135762807416798 3.86248628948426
259.000000000000 -0.124798855081516 3.86947467225324
260 -0.113403317977212 3.87624621451883
261 -0.101528265300249 3.88318132295422
262 -0.0891227997624959 3.89065037786303
263 -0.0760439058085023 3.89871240746745
264.000000000000 -0.0620408239274108 3.90706227436440
265 -0.0468566789158933 3.91537417071649
266 -0.0302345955375682 3.92332228867905
267 -0.0119176985230118 3.93058082040009
268 0.00835088743024359 3.93682395802031
269.000000000000 0.0308280070061056 3.94172590047667
270 0.0556016158157657 3.94499833462539
271.000000000000 0.0821950207372102 3.94647828110395
272 0.110013664249828 3.94602892263940
273 0.138462988866013 3.94351344195127
274 0.166948437131150 3.93879502175164
275 0.194875451623614 3.93173684474505
276.000000000000 0.221649474954761 3.92220209362847
277 0.246772916174522 3.91007862176031
278 0.270305786730710 3.89539615042252
279 0.292507021297557 3.87823501190494
280 0.313635800458750 3.85867560104685
281.000000000000 0.333951304830915 3.83679831267984
282 0.353712715063614 3.81268354162780
283.000000000000 0.373179211839338 3.78641168270689
284 0.392609975873500 3.75806313072549
285 0.412266356918956 3.72770717283115
286 0.432437525315970 3.69527062478456
287 0.453431920416465 3.66058162429185
288.000000000000 0.475558367641458 3.62346633212767
289 0.499125692444848 3.58375090905879
290.000000000000 0.524442720313412 3.54126151584405
291 0.551818276766792 3.49582431323434
292 0.581561187357489 3.44726546197256
293.000000000000 0.613939138032839 3.39539518656701
294 0.648579188087004 3.33977555250288
295.000000000000 0.684602103811871 3.27977250295445
296 0.721114845909408 3.21474663321558
297 0.757224375114416 3.14405853857200
298 0.792037652194494 3.06706881430133
299 0.824661637950055 2.98313805567301
300.000000000000 0.854203293214308 2.89162685794829
301 0.879769672070212 2.79189601637027
302.000000000000 0.900696804473706 2.68379757672721
303 0.917042266387115 2.56873160776331
304 0.929005405168184 2.44840233807827
305.000000000000 0.936785568207418 2.32451399626348
306 0.940582102928063 2.19877081090198
307.000000000000 0.940594356786114 2.07287701056841
308 0.937021677270289 1.94853682382904
309 0.930063411902034 1.82745447924170
310 0.919918908235508 1.71133420535576
311 0.906784023986863 1.60187324157053
312.000000000000 0.890505390295934 1.50006943339789
313 0.870287506201523 1.40563463245588
314.000000000000 0.845265896582350 1.31814255618266
315 0.814576086349809 1.23716692200786
316 0.777353600447953 1.16228144735246
317.000000000000 0.732733963853499 1.09305984962881
318 0.679852701575813 1.02907584624060
319.000000000000 0.617845338656892 0.969903154582817
320 0.545847400171375 0.915115492041744
321.000000000000 0.463115487622562 0.864307246273274
322 0.370459178771742 0.817337930514080
323 0.269763668575721 0.774250688384930
324.000000000000 0.162935701021163 0.735092342363239
325 0.0518820201273202 0.699909714917571
326.000000000000 -0.0614906300539921 0.668749628507608
327 -0.175275505438366 0.641658905584136
328 -0.287565861908850 0.618684368589004
329 -0.396454955315917 0.599872839955114
330 -0.500036041477521 0.585271142106381
331.000000000000 -0.596402376179055 0.574926097457713
332 -0.683712607926501 0.568871565634466
333.000000000000 -0.761629418514842 0.566843262301032
334 -0.831319523028046 0.568278759160812
335 -0.894015029270699 0.572602665127575
336.000000000000 -0.950948045014891 0.579239589105951
337 -1.00335067800022 0.587614139991407
338.000000000000 -1.05245503593383 0.597150926670214
339 -1.09949322649038 0.607274558019429
340 -1.14569735731208 0.617409642906863
341 -1.19229953600869 0.626980790191057
342 -1.24053187015753 0.635412608721255
343.000000000000 -1.29158926692676 0.642147030783666
344 -1.34584990078064 0.647006324173334
345.000000000000 -1.40289624464446 0.650183298415472
346 -1.46227777816475 0.651886127298546
347 -1.52354398095561 0.652322984601597
348.000000000000 -1.58624433259881 0.651702044094210
349 -1.64992831264370 0.650231479536494
350.000000000000 -1.71414540060728 0.648119464679049
351 -1.77844507597421 0.645574173262948
352.000000000000 -1.84237681819678 0.642803779019701
353 -1.90549010669495 0.640016455671240
354 -1.96733442085635 0.637420376929882
355.000000000000 -2.02750697891607 0.635204411774460
356 -2.08599389914651 0.633400165147706
357.000000000000 -2.14297079835672 0.631962612251058
358 -2.19861456560596 0.630846213788624
359 -2.25310208992123 0.630005430454771
360.000000000000 -2.30661026029724 0.629394722934102
361 -2.35931596569645 0.628968551901426
362.000000000000 -2.41139609504905 0.628681378021738
363 -2.46302753725300 0.628487661950185
364.000000000000 -2.51438718117402 0.628341864332048
365 -2.56565191564562 0.628198445802710
366 -2.61699862946908 0.628011866987634
367.000000000000 -2.66860421141347 0.627736588502336
368 -2.72064549100368 0.627327092882461
369.000000000000 -2.77323869297696 0.626760308584559
370 -2.82632514672379 0.626077939304507
371 -2.87981481974805 0.625333304087567
372.000000000000 -2.93361767952147 0.624579721968922
373 -2.98764369348361 0.623870511973653
374.000000000000 -3.04180282904193 0.623258993116712
375 -3.09600505357174 0.622798484402898
376.000000000000 -3.15016033441622 0.622542304826829
377 -3.20417863888647 0.622543773372919
378 -3.25796993426148 0.622856209015349
379.000000000000 -3.31144418778816 0.623532930718043
380 -3.36451136668133 0.624627257434642
381.000000000000 -3.41708143812376 0.626192508108477
382 -3.46906852681589 0.628279890506559
383 -3.52047396567477 0.630896328829149
384.000000000000 -3.57138186199749 0.634006715171685
385 -3.62187959307453 0.637574281129969
386.000000000000 -3.67205453616441 0.641562258289365
387 -3.72199406849359 0.645933878224775
388.000000000000 -3.77178556725658 0.650652372500611
389 -3.82151640961586 0.655680972670772
390 -3.87127397270198 0.660982910278617
391.000000000000 -3.92114563361349 0.666521416856937
392 -3.97121876941699 0.672259723927934
393.000000000000 -4.02158075714714 0.678161063003194
394 -4.07231897380667 0.684188665583656
395.000000000000 -4.12352079636638 0.690305763159595
396 -4.17527360176516 0.696475587210592
397 -4.22766476690998 0.702661369205508
398.000000000000 -4.28077466927086 0.708827170833489
399 -4.33459045608682 0.714948112227664
400.000000000000 -4.38903296791950 0.721007178440895
401 -4.44402162740176 0.726987522698374
402 -4.49947585713465 0.732872298214447
403.000000000000 -4.55531507968732 0.738644658192586
404 -4.61145871759713 0.744287755825366
405.000000000000 -4.66782619336961 0.749784744294441
406 -4.72433692947848 0.755118776770511
407.000000000000 -4.78091034836566 0.760273006413306
408 -4.83746587244129 0.765230586371556
409 -4.89392292408372 0.769974669782964
410.000000000000 -4.95020092563954 0.774488409774183
411 -5.00621929942358 0.778754959460791
412.000000000000 -5.06189746771893 0.782757471947265
413 -5.11715485277695 0.786479100326954
414 -5.17191701052429 0.789906130498092
415.000000000000 -5.22616660010304 0.793054014065599
416 -5.27991733649559 0.795954064537299
417.000000000000 -5.33318324499837 0.798637753920128
418 -5.38597835087611 0.801136554209772
419.000000000000 -5.43831667936189 0.803481937390635
420 -5.49021225565712 0.805705375435819
421 -5.54167910493157 0.807838340307097
422.000000000000 -5.59273125232335 0.809912303954885
423 -5.64338272293897 0.811958738318223
424.000000000000 -5.69364754185333 0.814009115324743
425 -5.74353973410971 0.816094906890649
426.000000000000 -5.79307332471979 0.818247584920687
427.000000000000 -5.84226233866370 0.820498621308126
428 -5.89112080088996 0.822879487934725
429.000000000000 -5.93966273631558 0.825421656670715
430 -5.98790216982598 0.828156599374771
431.000000000000 -6.03585393175853 0.831115083819961
432 -6.08355053677398 0.834312419852845
433 -6.13104172847787 0.837748857440411
434.000000000000 -6.17837796483255 0.841424022090340
435 -6.22560970376888 0.845337539298634
436.000000000000 -6.27278740318624 0.849489034549589
437 -6.31996152095254 0.853878133315765
438.000000000000 -6.36718251490425 0.858504461057969
439.000000000000 -6.41450084284636 0.863367643225222
440 -6.46196696255245 0.868467305254744
441.000000000000 -6.50963133176467 0.873803072571916
442 -6.55754440819377 0.879374570590266
443.000000000000 -6.60575664951908 0.885181424711440
444 -6.65431851338855 0.891223260325174
445 -6.70328045741876 0.897499702809276
446.000000000000 -6.75269293919492 0.904010377529593
447 -6.80260641627088 0.910754909839993
448.000000000000 -6.85307134616915 0.917732925082335
449 -6.90413818638093 0.924944048586448
450.000000000000 -6.95585739436606 0.932387905670103
451 -7.00827935460588 0.940064107438218
452 -7.06142694474734 0.947966910183437
453.000000000000 -7.11525432156031 0.956077192172279
454 -7.16970508609187 0.964373776763137
455.000000000000 -7.22472283935784 0.972835487302228
456 -7.28025118234280 0.981441147123556
457.000000000000 -7.33623371600007 0.990169579548902
458.000000000000 -7.39261404125177 0.998999607887786
459 -7.44933575898880 1.00791005543745
460.000000000000 -7.50634247007085 1.01687974548283
461 -7.56357777532643 1.02588750129653
462.000000000000 -7.62098527555287 1.03491214613881
463 -7.67850857151634 1.04393250325754
464 -7.73609126395184 1.05292739588819
465.000000000000 -7.79367695356324 1.06187564725379
466 -7.85120924102328 1.07075608056493
467.000000000000 -7.90863172697360 1.07954751901973
468 -7.96588801202469 1.08822878580379
469.000000000000 -8.02292169675600 1.09677870409018
470.000000000000 -8.07967638171586 1.10517609703943
471 -8.13609566742154 1.11339978779950
472.000000000000 -8.19212606589801 1.12142962986104
473 -8.24775942763761 1.12926152140102
474.000000000000 -8.30302343452501 1.13690404085373
475 -8.35794674546679 1.14436611240701
476 -8.41255801933855 1.15165666023596
477.000000000000 -8.46688591498488 1.15878460850300
478 -8.52095909121939 1.16575888135777
479 -8.57480620682473 1.17258840293716
480.000000000000 -8.62845592055259 1.17928209736523
481.000000000000 -8.68193689112368 1.18584888875326
482 -8.73527777722782 1.19229770119965
483.000000000000 -8.78850723752389 1.19863745878995
484.000000000000 -8.84165393063986 1.20487708559679
485 -8.89474651517280 1.21102550567990
486 -8.94781364968891 1.21709164308608
487.000000000000 -9.00088399272351 1.22308442184911
488.000000000000 -9.05398620278106 1.22901276598984
489 -9.10714893833517 1.23488559951604
490.000000000000 -9.16040085782863 1.24071184642250
491.000000000000 -9.21377061967338 1.24650043069089
492 -9.26728688225059 1.25226027628982
493 -9.32097830391061 1.25800030717478
494.000000000000 -9.37487354297301 1.26372944728812
495 -9.42900125772659 1.26945662055901
496 -9.48339010435748 1.27519075104445
497.000000000000 -9.53806364962411 1.28094110911051
498.000000000000 -9.59302942260630 1.28671805643673
499 -9.64829180123148 1.29253216911634
500.000000000000 -9.70385516339636 1.29839402322927
501.000000000000 -9.75972388696692 1.30431419484214
502 -9.81590234977851 1.31030326000823
503 -9.87239492963578 1.31637179476748
504.000000000000 -9.92920600431274 1.32253037514644
505.000000000000 -9.98633995155273 1.32878957715825
506 -10.0438011490685 1.33515997680263
507.000000000000 -10.1015939745422 1.34165215006583
508.000000000000 -10.1597228056253 1.34827667292064
509 -10.2181920199387 1.35504412132634
510 -10.2770059950727 1.36196507122868
511.000000000000 -10.3361691085872 1.36905009855986
512 -10.3956857380114 1.37630977923852
513 -10.4555602608439 1.38375468916969
514.000000000000 -10.5157970545530 1.39139540424477
515 -10.5764004965763 1.39924250034152
516 -10.6373749643208 1.40730655332405
517 -10.6987248351634 1.41559813904274
518.000000000000 -10.7604544864501 1.42412783333428
519 -10.8225682954968 1.43290621202160
520 -10.8850706395887 1.44194385091388
521.000000000000 -10.9479658929334 1.45125132289429
522 -11.0112509444939 1.46083204735876
523 -11.0748990958840 1.47066690174808
524 -11.1388790141851 1.48073233438576
525 -11.2031593664481 1.49100479358142
526 -11.2677088196936 1.50146072763077
527 -11.3324960409117 1.51207658481561
528.000000000000 -11.3974896970624 1.52282881340375
529 -11.4626584550752 1.53369386164904
530 -11.5279709818493 1.54464817779132
531.000000000000 -11.5933959442538 1.55566821005640
532 -11.6589020091273 1.56673040665605
533 -11.7244578432780 1.57781121578793
534 -11.7900321134843 1.58888708563565
535.000000000000 -11.8555934864939 1.59993446436865
536 -11.9211106290246 1.61092980014226
537 -11.9865522077637 1.62184954109761
538.000000000000 -12.0518868893684 1.63267013536166
539 -12.1170833404659 1.64336803104714
540 -12.1821102276530 1.65391967625254
541 -12.2469362174964 1.66430151906208
542.000000000000 -12.3115299765326 1.67449000754570
543 -12.3758601712681 1.68446158975902
544 -12.4398954681792 1.69419271374333
545.000000000000 -12.5036045337120 1.70365982752557
546 -12.5669560342827 1.71283937911827
547 -12.6299186362772 1.72170781651957
548 -12.6924610060515 1.73024158771319
549.000000000000 -12.7545525463687 1.73841771416833
550 -12.8161881753918 1.74623308746270
551 -12.8773942601678 1.75370908997919
552.000000000000 -12.9381991071337 1.76086861440799
553 -12.9986310226964 1.76773455342475
554 -13.0587183132329 1.77432979969053
555.000000000000 -13.1184892850900 1.78067724585181
556 -13.1779722445849 1.78679978454045
557 -13.2371954980045 1.79272030837367
558 -13.2961873516061 1.79846170995402
559.000000000000 -13.3549761116169 1.80404688186937
560 -13.4135900842342 1.80949871669288
561 -13.4720575756255 1.81484010698296
562.000000000000 -13.5304068919283 1.82009394528328
563 -13.5886663392505 1.82528312412273
564 -13.6468642236698 1.83043053601538
565 -13.7050288512344 1.83555907346050
566.000000000000 -13.7631885279624 1.84069162894248
567 -13.8213715598424 1.84585109493085
568 -13.8796062528331 1.85106036388024
569.000000000000 -13.9379209128632 1.85634232823037
570 -13.9963438458320 1.86171988040601
571 -14.0549033576088 1.86721591281696
572 -14.1136277540333 1.87285331785804
573.000000000000 -14.1725453409155 1.87865498790905
574 -14.2316844240356 1.88464381533475
575 -14.2910733091443 1.89084269248485
576.000000000000 -14.3507403019624 1.89727451169398
577 -14.4107137081811 1.90396216528167
578 -14.4710218334622 1.91092854555230
579 -14.5316929834375 1.91819654479513
580.000000000000 -14.5927554637095 1.92578905528421
581 -14.6542375798509 1.93372896927842
582 -14.7161676374049 1.94203917902143
583.000000000000 -14.7785675003725 1.95073703920360
584 -14.8414272268240 1.95981256210531
585 -14.9047270753055 1.96924733571646
586.000000000000 -14.9684473015867 1.97902294565030
587 -15.0325681614077 1.98912097750473
588 -15.0970699104791 1.99952301686231
589 -15.1619328044820 2.01021064929021
590.000000000000 -15.2271370990683 2.02116546034019
591 -15.2926630498601 2.03236903554860
592 -15.3584909124502 2.04380296043634
593.000000000000 -15.4246009424020 2.05544882050882
594 -15.4909733952495 2.06728820125598
595 -15.5575885264973 2.07930268815223
596 -15.6244265916207 2.09147386665644
597.000000000000 -15.6914678460654 2.10378332221192
598 -15.7586925452480 2.11621264024641
599 -15.8260809445557 2.12874340617202
600.000000000000 -15.8936132993463 2.14135720538524
601 -15.9612698649485 2.15403562326690
602 -16.0290308966614 2.16676024518218
603 -16.0968766497551 2.17951265648052
604.000000000000 -16.1647873794703 2.19227444249568
605 -16.2327433410186 2.20502718854565
606 -16.3007247895822 2.21775247993266
607.000000000000 -16.3687119803143 2.23043190194317
608 -16.4366851683387 2.24304703984780
609 -16.5046246087500 2.25557947890136
610.000000000000 -16.5725105566139 2.26801080434279
611.000000000000 -16.6403232669667 2.28032260139516
612 -16.7080429948157 2.29249645526563
613 -16.7756499951389 2.30451395114546
614.000000000000 -16.8431245228855 2.31635667420992
615 -16.9104468329753 2.32800620961836
616 -16.9775971802993 2.33944414251412
617.000000000000 -17.0445558489466 2.35065208386877
618 -17.1113112402210 2.36161882228791
619 -17.1778709150716 2.37235008824995
620 -17.2442451976322 2.38285405558124
621.000000000000 -17.3104444120077 2.39313889809207
622 -17.3764788822739 2.40321278957660
623 -17.4423589324777 2.41308390381282
624.000000000000 -17.5080948866371 2.42276041456256
625 -17.5736970687410 2.43225049557148
626 -17.6391758027496 2.44156232056900
627 -17.7045414125940 2.45070406326832
628.000000000000 -17.7698042221766 2.45968389736637
629 -17.8349745553708 2.46850999654381
630 -17.9000627360211 2.47719053446500
631.000000000000 -17.9650790879432 2.48573368477796
632 -18.0300339349241 2.49414762111437
633 -18.0949376007218 2.50244051708956
634.000000000000 -18.1598004090656 2.51062054630244
635.000000000000 -18.2246326836561 2.51869588233554
636 -18.2894447481650 2.52667469875491
637 -18.3542469262352 2.53456516911019
638.000000000000 -18.4190495414811 2.54237546693452
639 -18.4838629174883 2.55011376574453
640 -18.5486973778134 2.55778823904034
641.000000000000 -18.6135632459848 2.56540706030552
642.000000000000 -18.6784708455019 2.57297840300709
643 -18.7434304998356 2.58051044059545
644 -18.8084525324281 2.58801134650441
645.000000000000 -18.8735472666929 2.59548929415115
646 -18.9387250260150 2.60295245693619
647 -19.0039961337509 2.61040900824337
648.000000000000 -19.0693709132283 2.61786712143983
649 -19.1348596877465 2.62533496987600
650 -19.2004727805762 2.63282072688557
651 -19.2662205149596 2.64033256578545
652.000000000000 -19.3321132141104 2.64787865987578
653 -19.3981612012137 2.65546718243988
654 -19.4643747994263 2.66310630674426
655.000000000000 -19.5307643318765 2.67080420603857
656 -19.5973401216639 2.67856905355557
657 -19.6641124918601 2.68640902251116
658 -19.7310917655079 2.69433228610430
659.000000000000 -19.7982882656219 2.70234701751702
660 -19.8657120009406 2.71046111931092
661 -19.9333666772176 2.71867706645858
662.000000000000 -20.0012501718069 2.72699231501611
663 -20.0693601428857 2.73540413231068
664 -20.1376942486030 2.74390978565240
665.000000000000 -20.2062501470797 2.75250654233432
666.000000000000 -20.2750254964079 2.76119166963241
667 -20.3440179546521 2.76996243480551
668 -20.4132251798479 2.77881610509536
669.000000000000 -20.4826448300032 2.78774994772651
670 -20.5522745630973 2.79676122990637
671 -20.6221120370815 2.80584721882514
672.000000000000 -20.6921549098788 2.81500518165579
673.000000000000 -20.7624008393842 2.82423238555407
674 -20.8328474834643 2.83352609765847
675 -20.9034924999578 2.84288358509019
676.000000000000 -20.9743335466752 2.85230211495314
677 -21.0453682813989 2.86177895433388
678 -21.1165943618830 2.87131137030166
679.000000000000 -21.1880094458539 2.88089662990834
680 -21.2596111910097 2.89053200018839
681 -21.3313972550205 2.90021474815889
682 -21.4033652955285 2.90994214081948
683.000000000000 -21.4755129701477 2.91971144515235
684 -21.5478379364643 2.92951992812221
685 -21.6203378520363 2.93936485667628
686.000000000000 -21.6930103743941 2.94924349774428
687 -21.7658531610398 2.95915311823838
688 -21.8388638694478 2.96909098505318
689.000000000000 -21.9120401570645 2.97905436506573
690.000000000000 -21.9853796813084 2.98904052513546
691 -22.0588800995702 2.99904673210420
692 -22.1325390692127 3.00907025279611
693.000000000000 -22.2063542475709 3.01910835401772
694 -22.2803232919520 3.02915830255784
695 -22.3544438596353 3.03921736518761
696.000000000000 -22.4287136078723 3.04928280866043
697.000000000000 -22.5031301938869 3.05935189971195
698 -22.5776912748751 3.06942190506005
699 -22.6523945080053 3.07949009140485
700.000000000000 -22.7272375504179 3.08955372542862
701 -22.8022180592259 3.09961007379582
702 -22.8773336915144 3.10965640315308
703.000000000000 -22.9525821043411 3.11968998012911
704.000000000000 -23.0279609547357 3.12970807133477
705 -23.1034678378764 3.13970813398939
706 -23.1790993042984 3.14969084622106
707.000000000000 -23.2548510344717 3.15965956878193
708 -23.3307186822959 3.16961774424586
709 -23.4066979016435 3.17956881516868
710.000000000000 -23.4827843463592 3.18951622408824
711 -23.5589736702602 3.19946341352433
712 -23.6352615271363 3.20941382597869
713 -23.7116435707497 3.21937090393497
714.000000000000 -23.7881154548351 3.22933808985874
715 -23.8646728330998 3.23931882619743
716 -23.9413113592236 3.24931655538035
717.000000000000 -24.0180266868589 3.25933471981862
718 -24.0948144696306 3.26937676190521
719 -24.1716703611365 3.27944612401486
720.000000000000 -24.2485900149467 3.28954624850410
721.000000000000 -24.3255690846040 3.29968057771122
722 -24.4026032236239 3.30985255395624
723 -24.4796880854948 3.32006561954090
724.000000000000 -24.5568193236773 3.33032321674863
725 -24.6339925916052 3.34062878784453
726 -24.7112035426846 3.35098577507536
727.000000000000 -24.7884478302948 3.36139762066953
728.000000000000 -24.8657211077875 3.37186776683703
729 -24.9430190284872 3.38239965576947
730 -25.0203372456915 3.39299672964002
731.000000000000 -25.0976714126705 3.40366243060342
732 -25.1750171826672 3.41440020079590
733 -25.2523702088975 3.42521348233526
734.000000000000 -25.3297261445502 3.43610571732074
735 -25.4070806427870 3.44708034783309
736 -25.4844293567423 3.45814081593448
737 -25.5617679395237 3.46929056366853
738.000000000000 -25.6390920442115 3.48053303306028
739 -25.7163973238590 3.49187166611612
740 -25.7936794314926 3.50330990482387
741.000000000000 -25.8709340201117 3.51485119115265
742 -25.9481567426885 3.52649896705292
743 -26.0253432521684 3.53825667445648
744.000000000000 -26.1024892014697 3.55012775527638
745.000000000000 -26.1795902434839 3.56211565140697
746 -26.2566420310756 3.57422380472384
747 -26.3336402170823 3.58645565708379
748.000000000000 -26.4105804543148 3.59881465032488
749 -26.4874583955569 3.61130422626631
750 -26.5642696935657 3.62392782670847
751.000000000000 -26.6410100010714 3.63668889343291
752.000000000000 -26.7176749707773 3.64959086820229
753 -26.7942602553600 3.66263719276039
754 -26.8707615074692 3.67583130883210
755.000000000000 -26.9471743797281 3.68917665812334
756 -27.0234945247497 3.70267668231261
757 -27.0997198427277 3.71633369507595
758.000000000000 -27.1758567009325 3.73014576077165
759.000000000000 -27.2519134600849 3.74410994329325
760 -27.3278984808787 3.75822330651524
761 -27.4038201239813 3.77248291429308
762.000000000000 -27.4796867500335 3.78688583046316
763 -27.5555067196493 3.80142911884277
764 -27.6312883934160 3.81610984323010
765.000000000000 -27.7070401318948 3.83092506740422
766 -27.7827702956197 3.84587185512505
767 -27.8584872450987 3.86094727013335
768.000000000000 -27.9341993408130 3.87614837615067
769.000000000000 -28.0099149432173 3.89147223687938
770 -28.0856424127398 3.90691591600263
771 -28.1613901097824 3.92247647718429
772.000000000000 -28.2371663947204 3.93815098406902
773 -28.3129796279026 3.95393650028214
774 -28.3888381696515 3.96983008942971
775.000000000000 -28.4647503802632 3.98582881509846
776.000000000000 -28.5407246200073 4.00192974085575
777 -28.6167692491273 4.01812993024961
778 -28.6928926278399 4.03442644680869
779.000000000000 -28.7691031163360 4.05081635404223
780 -28.8454090747798 4.06729671544004
781 -28.9218188633094 4.08386459447251
782.000000000000 -28.9983408420365 4.10051705459057
783.000000000000 -29.0749833710467 4.11725115922566
784 -29.1517548103992 4.13406397178975
785 -29.2286635201272 4.15095255567526
786.000000000000 -29.3057178602374 4.16791397425511
787 -29.3829261907107 4.18494529088263
788 -29.4602968715014 4.20204356889162
789.000000000000 -29.5378382625380 4.21920587159625
790.000000000000 -29.6155587237227 4.23642926229109
791 -29.6934666149318 4.25371080425110
792 -29.7715702960151 4.27104756073155
793.000000000000 -29.8498781267968 4.28843659496808
794 -29.9283984670748 4.30587497017663
795 -30.0071396766210 4.32335974955342
796.000000000000 -30.0861101151813 4.34088799627496
797 -30.1653181424755 4.35845677349800
798 -30.2447721181977 4.37606314435955
799.000000000000 -30.3244804020157 4.39370417197682
800.000000000000 -30.4044513535716 4.41137691944722
801 -30.4846933324815 4.42907844984833
802 -30.5652146983356 4.44680582623791
803.000000000000 -30.6460238106982 4.46455611165386
804 -30.7271290291078 4.48232636911418
805 -30.8085387130769 4.50011366161701
806.000000000000 -30.8902612220925 4.51791505214053
807.000000000000 -30.9723049156153 4.53572760364303
808 -31.0546781530806 4.55354837906282
809 -31.1373892938979 4.57137444131825
810.000000000000 -31.2204466974507 4.58920285330767
811 -31.3038587230970 4.60703067790944
812 -31.3876337301690 4.62485497798187
813.000000000000 -31.4717800779732 4.64267281636324
814.000000000000 -31.5563061257904 4.66048125587175
815 -31.6412202328759 4.67827735930554
816 -31.7265307584592 4.69605818944263
817.000000000000 -31.8122460617441 4.71382080904093
818 -31.8983745019090 4.73156228083818
819 -31.9849244381066 4.74927966755201
820.000000000000 -32.0719042294642 4.76697003187984
821.000000000000 -32.1593222350832 4.78463043649891
822 -32.2471843985221 4.80225853820708
823.000000000000 -32.3354850913826 4.81985484011056
824.000000000000 -32.4242152240215 4.83742069664557
825 -32.5133657061422 4.85495746238256
826 -32.6029274474225 4.87246649187172
827.000000000000 -32.6928913575149 4.88994913964292
828 -32.7832483460465 4.90740676020571
829 -32.8739893226189 4.92484070804929
830.000000000000 -32.9651051968082 4.94225233764250
831.000000000000 -33.0565868781655 4.95964300343383
832 -33.1484252762163 4.97701405985132
833 -33.2406113004609 4.99436686130265
834.000000000000 -33.3331358603742 5.01170276217502
835 -33.4259898654060 5.02902311683520
836 -33.5191642249805 5.04632927962951
837.000000000000 -33.6126498484971 5.06362260488373
838.000000000000 -33.7064376453297 5.08090444690318
839 -33.8005185248270 5.09817615997264
840 -33.8948833963127 5.11543909835633
841.000000000000 -33.9895231690851 5.13269461629794
842 -34.0844287524175 5.14994406802056
843 -34.1795910555582 5.16718880772670
844.000000000000 -34.2750009877300 5.18443018959822
845.000000000000 -34.3706494581311 5.20166956779639
846 -34.4665273759342 5.21890829646181
847 -34.5626256502873 5.23614772971440
848.000000000000 -34.6589351903131 5.25338922165340
849 -34.7554469051095 5.27063412635737
850 -34.8521517037494 5.28788379788411
851.000000000000 -34.9490404952805 5.30513959027070
852.000000000000 -35.0461041887257 5.32240285753345
853 -35.1433336930831 5.33967495366790
854.000000000000 -35.2407199173257 5.35695723264881
855.000000000000 -35.3382537704017 5.37425104843010
856 -35.4359261612344 5.39155775494488
857 -35.5337279987222 5.40887870610540
858.000000000000 -35.6316501917388 5.42621525580306
859 -35.7296836491330 5.44356875790837
860 -35.8278192797287 5.46094056627092
861.000000000000 -35.9260479923252 5.47833203471941
862.000000000000 -36.0243606956971 5.49574451706159
863 -36.1227482985940 5.51317936708425
864 -36.2212017097409 5.53063793855323
865.000000000000 -36.3197118378383 5.54812158521337
866 -36.4182695915617 5.56563166078849
867 -36.5168658795623 5.58316951898140
868.000000000000 -36.6154916104662 5.60073651347387
869.000000000000 -36.7141376928754 5.61833399792660
870 -36.8127950353669 5.63596332597923
871 -36.9114545464933 5.65362585125028
872.000000000000 -37.0101071347826 5.67132292733719
873 -37.1087437087383 5.68905590781624
874 -37.2073551768394 5.70682614624259
875.000000000000 -37.3059324475404 5.72463499615022
876.000000000000 -37.4044664292711 5.74248381105193
877 -37.5029480304371 5.76037394443933
878.000000000000 -37.6013681594196 5.77830674978280
879.000000000000 -37.6997177245751 5.79628358053151
880 -37.7979876342359 5.81430579011336
881 -37.8961687967099 5.83237473193498
882.000000000000 -37.9942521202807 5.85049175938173
883.000000000000 -38.0922285132073 5.86865822581765
884 -38.1900888837247 5.88687548458549
885.000000000000 -38.2878241400435 5.90514488900664
886.000000000000 -38.3854251903498 5.92346779238113
887 -38.4828829428057 5.94184554798764
888 -38.5801883055490 5.96027950908344
889.000000000000 -38.6773321866933 5.97877102890443
890 -38.7743054943278 5.99732146066504
891 -38.8710991365178 6.01593215755830
892.000000000000 -38.9677040217932 6.03460447268617
893.000000000000 -39.0641137526287 6.05333937555993
894 -39.1603309382498 6.07213655327847
895 -39.2563600679268 6.09099542523368
896.000000000000 -39.3522056309058 6.10991541079592
897 -39.4478721164086 6.12889592931401
898 -39.5433640136333 6.14793640011522
899.000000000000 -39.6386858117540 6.16703624250525
900.000000000000 -39.7338419999204 6.18619487576819
901 -39.8288370672585 6.20541171916653
902 -39.9236755028705 6.22468619194114
903.000000000000 -40.0183617958343 6.24401771331123
904 -40.1129004352041 6.26340570247439
905 -40.2072959100102 6.28284957860650
906.000000000000 -40.3015527092588 6.30234876086175
907.000000000000 -40.3956753219326 6.32190266837263
908 -40.4896682369902 6.34151072024991
909.000000000000 -40.5835359433664 6.36117233558262
910.000000000000 -40.6772829299723 6.38088693343801
911 -40.7709136856952 6.40065393286156
912 -40.8644326993985 6.42047275287699
913.000000000000 -40.9578444599221 6.44034281248616
914.000000000000 -41.0511534560820 6.46026353066916
915 -41.1443641766706 6.48023432638418
916.000000000000 -41.2374811104565 6.50025461856761
917.000000000000 -41.3305087461848 6.52032382613392
918 -41.4234515725768 6.54044136797571
919 -41.5163140783303 6.56060666296367
920.000000000000 -41.6091007521195 6.58081912994658
921 -41.7018160825950 6.60107818775124
922 -41.7944645583839 6.62138325518253
923.000000000000 -41.8870506680896 6.64173375102335
924.000000000000 -41.9795789002921 6.66212909403460
925 -42.0720537435479 6.68256870295519
926 -42.1644796863901 6.70305199650199
927.000000000000 -42.2568612173282 6.72357839336984
928 -42.3492028248484 6.74414731223153
929 -42.4415089974134 6.76475817173776
930.000000000000 -42.5337842234625 6.78541039051719
931.000000000000 -42.6260329914116 6.80610338717633
932 -42.7182597896535 6.82683658029958
933.000000000000 -42.8104691065573 6.84760938844922
934.000000000000 -42.9026654304691 6.86842123016537
935 -42.9948532497115 6.88927152396598
936 -43.0870370525839 6.91015968834681
937.000000000000 -43.1792213273625 6.93108514178145
938.000000000000 -43.2714105623003 6.95204730272124
939 -43.3636092456269 6.97304558959531
940.000000000000 -43.4558218655489 6.99407942081053
941.000000000000 -43.5480529102497 7.01514821475152
942 -43.6403068678895 7.03625138978060
943 -43.7325882266055 7.05738836423781
944.000000000000 -43.8249014745115 7.07855855644088
945.000000000000 -43.9172510996986 7.09976138468521
946 -44.0096415902346 7.12099626724386
947.000000000000 -44.1020774341643 7.14226262236752
948.000000000000 -44.1945631195095 7.16355986828450
949 -44.2871031342690 7.18488742320076
950 -44.3797019664186 7.20624470529980
951.000000000000 -44.4723641039112 7.22763113274274
952 -44.5650940346767 7.24904612366825
953 -44.6578962466220 7.27048909619253
954.000000000000 -44.7507752276313 7.29195946840934
955 -44.8437354655658 7.31345665838993
956 -44.9367814482639 7.33498008418307
957.000000000000 -45.0299176635411 7.35652916381499
958 -45.1231485991900 7.37810331528941
959 -45.2164787429808 7.39970195658750
960.000000000000 -45.3099125826605 7.42132450566787
961 -45.4034546059535 7.44297038046654
962.000000000000 -45.4971093005615 7.46463899889694
963.000000000000 -45.5908811541635 7.48632977884990
964 -45.6847746544157 7.50804213819361
965.000000000000 -45.7787942889517 7.52977549477364
966.000000000000 -45.8729445453826 7.55152926641290
967 -45.9672299112966 7.57330287091161
968.000000000000 -46.0616548742595 7.59509572604733
969 -46.1562239218144 7.61690724957491
970 -46.2509415414820 7.63873685922648
971.000000000000 -46.3458122207602 7.66058397271144
972 -46.4408404471247 7.68244800771642
973 -46.5360307080283 7.70432838190535
974.000000000000 -46.6313874909017 7.72622451291932
975 -46.7269152831530 7.74813581837665
976.000000000000 -46.8226185721677 7.77006171587286
977.000000000000 -46.9185018453092 7.79200162298064
978 -47.0145695899183 7.81395495724984
979.000000000000 -47.1108262933134 7.83592113620745
980.000000000000 -47.2072764427906 7.85789957735762
981 -47.3039245256238 7.87988969818158
982.000000000000 -47.4007750290644 7.90189091613768
983.000000000000 -47.4978324403416 7.92390264866137
984 -47.5951012466423 7.94592431317403
985.000000000000 -47.6925851238903 7.96795568740585
986 -47.7902847820420 7.98999786645834
987 -47.8882002533962 8.01205224639792
988.000000000000 -47.9863315702293 8.03412022326797
989 -48.0846787647957 8.05620319308888
990 -48.1832418693274 8.07830255185803
991.000000000000 -48.2820209160345 8.10041969554978
992 -48.3810159371051 8.12255602011540
993.000000000000 -48.4802269647049 8.14471292148315
994.000000000000 -48.5796540309778 8.16689179555815
995 -48.6792971680454 8.18909403822250
996.000000000000 -48.7791564080078 8.21132104533515
997.000000000000 -48.8792317829425 8.23357421273193
998 -48.9795233249054 8.25585493622553
999.000000000000 -49.0800310659303 8.27816461160552
1000.00000000000 -49.1807550380293 8.30050463463828
1001 -49.2816952731921 8.32287640106701
1002.00000000000 -49.3828518033871 8.34528130661172
1003 -49.4842246605605 8.36772074696922
1004 -49.5858138766366 8.39019611781309
1005.00000000000 -49.6876194835182 8.41270881479365
1006 -49.7896415130859 8.43526023353800
1007.00000000000 -49.8918799971988 8.45785176964997
1008.00000000000 -49.9943349676942 8.48048481871009
1009 -50.0970064563875 8.50316077627559
1010.00000000000 -50.1998944950727 8.52588103788043
1011.00000000000 -50.3029991155218 8.54864699903520
1012 -50.4063203494852 8.57146005522717
1013.00000000000 -50.5098582286917 8.59432160192026
1014.00000000000 -50.6136127848486 8.61723303455501
1015 -50.7175840496413 8.64019574854859
1016.00000000000 -50.8217720547338 8.66321113929478
1017 -50.9261768317685 8.68628060216392
1018 -51.0307984123663 8.70940553250296
1019.00000000000 -51.1356368281266 8.73258732563538
1020 -51.2406921106270 8.75582737686123
1021 -51.3459642914240 8.77912708145709
1022.00000000000 -51.4514534020526 8.80248783467605
1023 -51.5571594740261 8.82591103174769
1024 -51.6630825388365 8.84939806787812
1025.00000000000 -51.7692226279547 8.87295033824990
1026 -51.8755797728297 8.89656923802204
1027 -51.9821540048896 8.92025616233004
1028.00000000000 -52.0889453555410 8.94401250628579
1029 -52.1959538561692 8.96783966497763
1030 -52.3031795381381 8.99173903347028
1031.00000000000 -52.4106224327905 9.01571200680488
1032 -52.5182825714479 9.03975997999893
1033 -52.6261599854107 9.06388434804631
1034 -52.7342547059578 9.08808650591723
1035 -52.8425667643472 9.11236784855825
1036.00000000000 -52.9510961918157 9.13672977089225
1037 -53.0598430195788 9.16117366781843
1038 -53.1688072788311 9.18570093421226
1039.00000000000 -53.2779890007461 9.21031296492553
1040 -53.3873882164759 9.23501115478625
1041 -53.4970049571520 9.25979689859873
1042.00000000000 -53.6068392538846 9.28467159114349
1043 -53.7168911377630 9.30963662717728
1044 -53.8271606398555 9.33469340143309
1045.00000000000 -53.9376477912094 9.35984330862007
1046 -54.0483526228511 9.38508774342359
1047 -54.1592751657861 9.41042810050518
1048 -54.2704154509989 9.43586577450251
1049 -54.3817735094534 9.46140216002944
1050 -54.4933493720922 9.48703865167592
1051 -54.6051430698375 9.51277664400803
1052 -54.7171546335904 9.53861753156797
1053.00000000000 -54.8293840942315 9.56456270887401
1054 -54.9418314826203 9.59061357042052
1055 -55.0544968295959 9.61677151067792
1056.00000000000 -55.1673801659764 9.64303792409268
1057 -55.2804815225592 9.66941420508732
1058 -55.3938009301213 9.69590174806037
1059.00000000000 -55.5073384194189 9.72250194738639
1060 -55.6210940211874 9.74921619741592
1061 -55.7350677661419 9.77604589247550
1062.00000000000 -55.8492596849766 9.80299242686763
1063 -55.9636698083653 9.83005719487078
1064 -56.0782981669613 9.85724159073936
1065 -56.1931447913972 9.88454700870369
1066 -56.3082097122854 9.91197484297006
1067.00000000000 -56.4234929602175 9.93952648772063
1068 -56.5389945657647 9.96720333711344
1069 -56.6547145594780 9.99500678528245
1070.00000000000 -56.7706529718877 10.0229382263375
1071 -56.8868098335039 10.0509990543641
1072 -57.0031851748162 10.0791906634240
1073.00000000000 -57.1197790262940 10.1075144475543
1074 -57.2365914183862 10.1359718007683
1075 -57.3536223815216 10.1645641170548
1076.00000000000 -57.4708719461085 10.1932927903787
1077 -57.5883401425350 10.2221592146804
1078 -57.7060270011692 10.2511647838762
1079.00000000000 -57.8239325523586 10.2803108918581
1080 -57.9420568264308 10.3095989324940
1081 -58.0603998536931 10.3390302996272
1082 -58.1789616644327 10.3686063870770
1083 -58.2977422889166 10.3983285886383
1084.00000000000 -58.4167417573918 10.4281982980816
1085 -58.5359601000851 10.4582169091533
1086 -58.6553973472034 10.4883858155753
1087.00000000000 -58.7750535289334 10.5187064110451
1088 -58.8949286275640 10.5491800488628
1089 -59.0150212860719 10.5798069529415
1090.00000000000 -59.1353286607454 10.6105860935325
1091 -59.2558478303996 10.6415163755493
1092 -59.3765758738293 10.6725967038814
1093.00000000000 -59.4975098698095 10.7038259833934
1094 -59.6186468970954 10.7352031189257
1095 -59.7399840344224 10.7667270152944
1096 -59.8615183605058 10.7983965772909
1097 -59.9832469540413 10.8302107096822
1098.00000000000 -60.1051668937047 10.8621683172108
1099 -60.2272752581521 10.8942683045947
1100 -60.3495691260199 10.9265095765274
1101.00000000000 -60.4720455759245 10.9588910376780
1102 -60.5947016864628 10.9914115926908
1103 -60.7175345362122 11.0240701461857
1104.00000000000 -60.8405412037301 11.0568656027580
1105 -60.9637187675543 11.0897968669786
1106 -61.0870643062032 11.1228628433934
1107.00000000000 -61.2105748981755 11.1560624365242
1108 -61.3342476219503 11.1893945508679
1109 -61.4580795559871 11.2228580908967
1110.00000000000 -61.5820677787260 11.2564519610584
1111 -61.7062093685875 11.2901750657760
1112 -61.8305014039726 11.3240263094480
1113 -61.9549409632630 11.3580045964479
1114 -62.0795251248208 11.3921088311249
1115.00000000000 -62.2042509669887 11.4263379178033
1116 -62.3291155680900 11.4606907607826
1117 -62.4541160064288 11.4951662643379
1118.00000000000 -62.5792493602897 11.5297633327192
1119 -62.7045127079378 11.5644808701521
1120 -62.8299031276193 11.5993177808371
1121.00000000000 -62.9554176975608 11.6342729689502
1122 -63.0810534959698 11.6693453386425
1123 -63.2068076010345 11.7045337940404
1124.00000000000 -63.3326770909238 11.7398372392453
1125 -63.4586590437876 11.7752545783340
1126 -63.5847505377566 11.8107847153585
1127 -63.7109486509421 11.8464265543457
1128 -63.8372504614366 11.8821789992978
1129.00000000000 -63.9636530473133 11.9180409541923
1130 -64.0901534866263 11.9540113229815
1131 -64.2167488574109 11.9900890095930
1132.00000000000 -64.3434362376831 12.0262729179297
1133 -64.4702127054399 12.0625619518691
1134 -64.5970753386595 12.0989550152642
1135.00000000000 -64.7240212153010 12.1354510119430
1136 -64.8510474133044 12.1720488457084
1137 -64.9781510105912 12.2087474203384
1138.00000000000 -65.1053290850636 12.2455456395862
1139 -65.2325787146050 12.2824424071798
1140 -65.3598969770802 12.3194366268223
1141.00000000000 -65.4872809503348 12.3565272021918
1142 -65.6147277121958 12.3937130369415
1143 -65.7422343404716 12.4309930346994
1144 -65.8697979129513 12.4683660990685
1145 -65.9974155074058 12.5058311336268
1146.00000000000 -66.1250842015870 12.5433870419274
1147 -66.2528010732281 12.5810327274979
1148 -66.3805632000437 12.6187670938414
1149.00000000000 -66.5083676597298 12.6565890444354
1150 -66.6362115299636 12.6944974827325
1151 -66.7640918884038 12.7324913121602
1152.00000000000 -66.8920058126907 12.7705694361210
1153 -67.0199503804456 12.8087307579920
1154 -67.1479226692716 12.8469741811254
1155.00000000000 -67.2759197567532 12.8852986088480
1156 -67.4039387204565 12.9237029444616
1157 -67.5319766379288 12.9621860912429
1158 -67.6600305866994 13.0007469524431
1159 -67.7880976442788 13.0393844312886
1160.00000000000 -67.9161748881593 13.0780974309802
1161 -68.0442593958148 13.1168848546938
1162 -68.1723482447008 13.1557456055798
1163.00000000000 -68.3004385122544 13.1946785867636
1164 -68.4285272758946 13.2336827013452
1165 -68.5566116130218 13.2727568523993
1166.00000000000 -68.6846886010185 13.3118999429755
1167 -68.8127553172485 13.3511108760979
1168 -68.9408088390579 13.3903885547655
1169.00000000000 -69.0688462437743 13.4297318819517
1170 -69.1968646087070 13.4691397606050
1171 -69.3248610111474 13.5086110936482
1172.00000000000 -69.4528325283687 13.5481447839789
1173 -69.5807762376258 13.5877397344694
1174 -69.7086892161560 13.6273948479667
1175 -69.8365685411780 13.6671090272920
1176 -69.9644112898927 13.7068811752418
1177.00000000000 -70.0922145394831 13.7467101945865
1178 -70.2199753671138 13.7865949880717
1179 -70.3476908499320 13.8265344584172
1180.00000000000 -70.4753580650664 13.8665275083175
1181 -70.6029740896281 13.9065730404416
1182 -70.7305360007103 13.9466699574332
1183.00000000000 -70.8580408753882 13.9868171619104
1184 -70.9854857907191 14.0270135564659
1185 -71.1128678237426 14.0672580436669
1186.00000000000 -71.2401840514805 14.1075495260551
1187 -71.3674315509366 14.1478869061468
1188 -71.4946073990972 14.1882690864327
1189.00000000000 -71.6217086729306 14.2286949693779
1190 -71.7487324493876 14.2691634574222
1191.00000000000 -71.8756758054012 14.3096734529796
1192 -72.0025358178868 14.3502238584387
1193 -72.1293095637419 14.3908135761626
1194.00000000000 -72.2559941198468 14.4314415084887
1195 -72.3825865630637 14.4721065577288
1196 -72.5090839702377 14.5128076261693
1197.00000000000 -72.6354834181959 14.5535436160708
1198 -72.7617819837482 14.5943134296685
1199 -72.8879767436868 14.6351159691716
1200.00000000000 -73.0140647747864 14.6759501367641

@gevero
Copy link
Owner

gevero commented Apr 25, 2016

Hi @stehvieh

As you can see I updated my previous answer. I ran your example with a standard optical constant. I could run it with your optical constant, but the conclusion would not change. My conclusions are as follows

  • The py_gmm linear solver is not converging for your input as shown by the string Problem in bicgstab 1 at the jupyter shell. The technical reason is that for extremely small spacings and small sphere size the linear system matrix is extremely ill conditioned (roughly meaning that the matrix has coefficients that are very different in size), and therefore, in spite of jacobi preconditioning the solver has trouble converging. I will look deeper into it, but you can verify that for larger spacings (0.5nm for instance) the solution will converge.
  • It is my opinion that a Generalized Mie approach is not of much use for the sphere size (2nm) and sphere spacing (0.1nm) you are using. The optical constant of such a small sphere (a few hundreds atoms at most) cannot be reliably modeled just by correcting the bulk one, and you would need an ab initio calculation. Furthermore, for such a small spacing, you would have to take into account quantum effects such as electron spillout, etc... Are you really interested in such particles sizes and spacing, or where you just trying out the code? If the latter is your answer, i suggest you to move towards larger sphere sizes (tens of nanometers) and more realistic spacings (everything above 1 or 2 nm should be fine)

Best

Giovanni

@stehvieh
Copy link
Author

Hi!

Thanks for your answer. In fact, I need to investigate 2nm spheres since
this is the particle size my cluster source is produing. I have measured
time dependent extinction spectra and wanted to investigate how the
aggregation process works for my sample system. So I would like to
perform calculations for different setups of spheres to find out how
they influence the shape of the spectra. I assumed almost touching
spheres, this is why I chose 0.1 nm as a distance but I will try 0.5 nm
as well.

From the literature I found that basically the generalized mie theory
could be applied in all cases where the distance among spherical
particles is less than five times the mean diameter.

So I will try the 0.5 nm distance and see if that works for me since the
spectra I obtained for chains of 3 and 4 particles were quite promising.

best

Steffi

Am 25.04.2016 um 12:23 schrieb Giovanni Pellegrini:

Hi @stehvieh https://github.com/stehvieh

As you can see I updated my previous answer. I ran your example with a
standard optical constant. I could run it with your optical constant,
but the conclusion would not change. My conclusions are as follows

  • The py_gmm linear solver is not converging for your input as shown
    by the string |Problem in bicgstab 1| at the jupyter shell. The
    technical reason is that for extremely small spacings and small
    sphere size the linear system matrix is extremely ill conditioned
    (roughly meaning that the matrix has coefficients that are very
    different in size), and therefore, in spite of jacobi
    preconditioning
    https://en.wikipedia.org/wiki/Preconditioner#Jacobi_.28or_diagonal.29_preconditioner
    the solver has trouble converging. I will look deeper into it, but
    you can verify that for larger spacings (0.5nm for instance) the
    solution will converge.
  • It is my opinion that a Generalized Mie approach is not of much
    use for the sphere size (2nm) and sphere spacing (0.1nm) you are
    using. The optical constant of such a small sphere (a few hundreds
    atoms at most) cannot be reliably modeled just by correcting the
    bulk one, and you would need an ab initio calculation.
    Furthermore, for such a small spacing, you would have to take into
    account quantum effects such as electron spillout, etc... Are you
    really interested in such particles sizes and spacing, or where
    you just trying out the code? If the latter is your answer, i
    suggest you to move towards larger sphere sizes (tens of
    nanometers) and more realistic spacings (everything above 1 or 2
    nm should be fine)

Best

Giovanni


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#4 (comment)

Stefanie Roese

TU Dortmund
Experimentelle Physik I
Raum: CP-E1-140

Otto-Hahn-Strasse 4
D-44227 Dortmund (Germany)

Tel: +49-(0)231-755-8714
Fax: +49-(0)231-755-3657

stefanie.roese@tu-dortmund.de

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants