To refer to an image attached to a page, use pagename/filename
To refer to an image attached to a page, use pagename/filename
You will need to describe in words what is your problem because I do not see any image attached.
the equation was from the following paper:
1. Shvalov AN, Soini JT, Chernyshev AV, Tarasov PA, Soini E, Maltsev VP. Light-scattering properties of individual erythrocytes.
Appl Opt 1999;38(1):230–5.
2. Skalak R, Tozeren A, Zarda RP, Chien S. Strain energy function of red blood cell membranes. Biophys J 1973;13:245–64
i am sorry i can not edit the issue when i find that the image is not posted. I got the equation from the following paper:
Thomas Wriedta,, Jens Hellmersb, Elena Ereminab, Roman Schuha, Light scattering by single erythrocyte: Comparison of different
methods. Journal of Quantitative Spectroscopy & Radiative Transfer 100 (2006) 444–456. equation (3) in page 3.
One can use the FROM_FILE target option in DDSCAT (please see the UserGuide for information on this target option). Using whatever language you prefer (fortran, matlab, C++) it is straightforward to use equation (1) from Shvalov et al (1999, Appl Opt 38, 230) or one of the alternate forms in Wriedt et al (2006, JQSRT 100, 444) to generate an ascii "shape file" containing a list of "occupied" sites I J K on a cubic lattice plus 3 "composition" integers for each occupied site specifying the index of refraction to be used for that site for E in the x,y,z directions [for a target composed of a single isotropic material, the "composition" integers would be 1 1 1 for every site.
Once this "shape file" is created, you can run DDSCAT using the FROM_FILE option to read in the data from the file. An example of using the FROM_FILE option is included in the examples available at www.ddscat.org under Downloads.
As Bruce Draine described one way is to use FROM_FILE option. You can also write a code that generates such a file and compile it in FORTRAN. You can look at tarhex.f90 or tarell.f90 for examples of such routines. You have equation (1)
z^2 = (0.86dy2)^2 - [1 - (2x/d)^2 ][0.01384083+0.2842917(2x/d)^2 + 0.01306932(2x/d)^4]
defined in the AO paper "Light-scattering properties of individual erythrocytes". For y=0 and certain defined length "d" it gives you value of (maximum) height zmax. That means that all points (what in DDSCAT is being called occupied "dipoles") below that "zmax" will belong to your erythrocyte shape. There is also a maximum x for which z is always 0, i.e. above that x there are no dipoles which form the erythrocyte shape and you should not create such dipoles (do not go above x=xmax). There is a slight problem because your equation is given in x-z plane only (i.e. y=0). However you can introduce (x,y) inside a square box and using cylindrical coordinates x=r cos (fi) and y= r sin(fi) find z. This will give you only "upper part" of the erythrocyte. The rest of dipoles (1/2 of them) will be just a mirror reflection (z=-z). The best way to create FROM_FILE is to write a computer code in any language and have some kind of software to graphically display the results. It can be a three dimensional graphics software which people in biological sciences use (for example Mayavi2) or MATLAB, Mathematica, PYTHON. One of simple and quick way of testing the shape is to project dipoles points by assuming x=0 or y=0 or z=0 and plot all (y,z), (x,z), (x,y) pairs. Notice that x,y,z are integers … -2,-1, 0, 1, 2, 3 … defining position of a dipole. Some of the dipoles will be "empty" . These days finding a FROM_FILE turns out to be a very generic problem because people who work on computer animation movies (computer graphics) are doing this kind of stuff all the time. In their case the shape is defined by polygons and you can find if a point is inside the shape or outside the shape using the "point in polyhedron" code. This way one can write FROM_FILE file which defines arbitrary shape (say, banana) and calculate light scattering on it. But your task is much simpler.
Hi, pcirrus, I am sorry to say that I have not built the erythrocyte model using the above equation. now I just build the 3d shape of the equation by matlab, and have tried to build the 3d space model by DistMesh method. unfortunately, when I use distmeshnd function provided by DistMesh to build the model, my computer has broken down, and I have to restart the computer. so I go here to looking for help from you. could you please help me to build the model(even in FORTRAN format) or provide me the more detailed on how to build the model through a code?
hi, pcirrus, it seems that the lattice mesh has been completed in matlab(i can not post the image up to now,if i can, i will post the completed lattice mesh). for example, when the number of intervals for x, y and z axis(rotation axis) are set 96,96,24 respectively, the lattice mesh volume is up to 99% of that provided by the erythrocyte model, at the same time, the number of the lattice is up to 139389 (or >10^6).
after the construction of the lattice mesh, when I double check the data which will be passed to ddscat.exe, I find the following two points:
1.the x=k*aeff is up to 20.7(632.8nm, refraction index is 1.42)
2.in ddscat.exe, the d1:d2:d3 is 1:1:1 (d=[d1 d2 d3], lattice space).
firstly, let us focus on x=k*aeff, in the Draine's paper, it is found the maximum x is 15, so the question needing your help is: whether the x>20 can be solved by ddscat.exe with a acceptable level of error? or regardless of the x, the output of the ddscat.exe will be correct with an acceptable level of error so long as the condition of mkd<1 is met. even thought this will result in the large number of lattice when the x is so big, just as the above of 139389 lattices!!!
secondary, the ratio of d1:d2:d3, when the diameter of the erythrocyte is set at 6.3um, the erythrocyte model provides an erythrocyte with aspect ratio of 4.12:1:4.12:1. this is why I set the number of the intervals for x, y, z axis 96,96,24 respectively. however, 96:96:24=4:4:1 is not equal to 4.12:4.12:1. the difference between 4:4:1 and 4.12:4.12:1 can not be taken into account by ddscat.exe (because the ddscat.exe use aeff to set the lattice space"d=aeff*(4*pi/(3*N))^(1/3)"), as a result, the particle appearance is also different from the erythrocyte model, although the difference is small. but how about the effect of the difference on the scattering calculation?
I do not nderstand your email entirely. But here is my attempt of answers:
1) The size parameter can be large as long as mkd < 1 is satisfied, x=15 is not the limit of DDA. For example in our paper Flatau/Draine, 2014 "Light scattering by hexagonal columns in the discrete dipole approximation" in 2014, we solved x=400 (but for 2D case).
2) Mesh 96x96x24 should not be a problem as far as computer memory goes. The CPU time my be long.
3) Small differences of the aspect ratio should not influence scattering properties that much. The way to see the effect of resolution is to run the same problem with different number of dipoles.
4) To get an idea about DDSCAT accuracy it makes sense to solve a simpler problem. For example may want to solve scattering by a sphere and compare it with Mie (BHMIE) for your x and refractive index and vary number of dipoles to see what is the effect of grid size.
5) Your problem has cylindrical symmetry and perhaps there are other techniques which would be more suitable (not DDA).
Piotr Flatau
thanks a lot to pcirrus for your quickly feedback! and I am sorry for my poor english which makes you 'uneasy'.
anyway, the first four answers has solved my concerns. thanks again!^_^
regarding the fifth, is there any further information available now? or could you give an example?
There are many codes for light scattering. Look at scattport.org (it seems to be down now, but I hope it is temporary). There are some codes - for spheres, cluster of spheres or spheroids, cylinders, which have analytical solution and we have used them to inter-compare with the DDSCAT.
I have DDSCAT version with 3 models of erythrocyte (subrs tarery, tarery2, tarery3 with 1, 2 and 4 parameters). I can send you my modified version and can then improve this subrs for your purpose.