On Jul 24, 2008, at 3:51 PM, majid sodagar wrote: > Dear Steven and Meep Users: > > I have some question about using C++ interface and finding LDOS. In > fact I want to calculate the LDOS in some 3D structure with the aid > of green tensor by using a short pulse (delta like) in Ex Field and > then observing the Ex ,Ey and Ez elsewhere. But I wonder if I should > use a delta like source or a step function in the following command. > > add_point_source(Ex, source, vec(0,0,0), polar(1.0 , 0.0)); > > That is I wonder if the "add_point_source" command stimulates the > Current Jx or the field Ex!
It adds an electric-current source Jx. (This is sometimes called a "transparent source" by FDTD people, but it is just a current source.) This is what you want for the LDOS, which is proportional to Re[J dot E] for a delta-function J at a given frequency. > also referring to "Electromagnetic Green's function calculation with > finite difference time domain method. Dmitry N. Chigrin" the above > method for finding Green tensor could lead to virtual electric > dipole on computational grid witch is accumulated with time. Also > the PML region could cause some trouble. Is there any straight > forward method to overcome these problems in 3D? A current Jx is an oscillating dipole. The dipole moment is the integral of Jx, which should not increase over time for a sinusoidal Jx - the dipole moment oscillates, which is a completely physical and desirable effect. There is no problem with the PML region for Green's functions, as long as the PML is far enough away that it doesn't significantly overlap the non-radiated field from the current source. (If the PML overlaps the non-radiated field, e.g. the evanescent field in a cavity, then it will introduce artificial absorption effects in the LDOS.) However, Meep also supports "integrated" electric current sources where what is specified is actually not Jx, but rather the integral of Jx (the dipole-moment density) ... when you specify the integral of the current, then you can guarantee that the integral is not increasing, and moreover that the integral is zero after the current turns off. This is actually the default in the C++ interface, and was the default in the Scheme interface prior to version 0.20 (to turn it on in the Scheme interface, set the is-integrated? property of the current src to true). In practice, however, I've almost never observed much difference between integrated and non-integrated sources, and the latter are more intuitive and somewhat more efficient. Steven _______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

