Benjamin M. Schwartz wrote:
asadollahbaik a. (aa306) wrote:
Dear Meep Users,

I am about to start running the most important simulation of my PhD:
There is this very complicated 3D structure consisting of 40 cosine-shape 
structures on a block of dielectric (it will be expanded to bigger number).
The eps-averaging part of making the geometry is taking ages:
With the resolution of 40 and 60hours of modelling only 10%of eps-averaging was 
done!

Is there anyway to reduce this length of time?! Or I just need to be patient!

Perhaps you are using the guile/scheme interface?  This interface is
interpreted, and dramatically slows down the averaging process because the
interpreted functions must be called many times.  You should see much
faster performance for the eps-averaging step if you rewrite your object
description using the C++ interface

This isn't quite correct. The libctl interface can perform the subpixel averaging with higher accuracy since it computes material averages analytically, but only for predefined geometric objects (ie., cylinders, blocks, spheres). The C++ interface, on the other hand, always computes the averages numerically using finer and finer sampling of the material function within the pixel until some threshold is reached (more on this below).

In the particular case described above involving user-defined (cosine-shape) structures, both the libctl and C++ are performing subpixel averaging numerically which is why it is taking longer. To speed up the subpixel averaging using the libctl or the C++ interface, simply use a larger tolerance (subpixel-tol, default 1e-4) and smaller maxeval (subpixel-maxeval, default 100000) when invoking the set_epsilon member function of the structure class or the constructor (see Meep reference page on wiki). But of course, this will reduce the accuracy of your simulation, and you will have to determine how much accuracy you want to trade for time.

Ardavan

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to