On 2/28/2020 13:56, J. Philip Haupt wrote:
I am trying to write a basic module to allow for simple 3D shapes in MEEP (for now, polyhedra). I am most interested in rectangular pyramids. I have two main questions:

  * first, is this an appropriate way to go about writing pyramid
    structures? All I did was make a class for the Pyramid (in my
    actual code, it inherits a Shape class), along with a material.
    Then I convert a list of these objects with MEEP's GeometricObject
    to a material_func for my Simulation object. I'm running into
    performance problems, especially for subpixel averaging. Is there
    a better way to go about this? It would be nice to just make a
    more general GeometricObject (say, a polyhedron defined by a set
    of planes) but I don't know how to do this.

Have you tried setting up your pyramidal structure using a Prism by specifying its vertices? We recently made several changes to improve reliability (see: libctl #46 <https://github.com/NanoComp/libctl/pull/46>, #49 <https://github.com/NanoComp/libctl/pull/49>, and #53 <https://github.com/NanoComp/libctl/pull/53>); just make sure you are using libctl 4.5.0.

  * I have subpixel averaging disabled in my code by using
    eps_average=False. I thought this would fix my problem, but it
    does not. Even with this extra line if I run the code it still
    gives "subpixel-averaging is 97.7767% done, 0.0910229 s remaining"
    etc. Why is it still doing this, and how should I get around this?

See: https://meep.readthedocs.io/en/latest/FAQ/#why-does-subpixel-averaging-take-so-long

_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to