Hi,
I would like to know several things about mpb. 1) I encountered SIGFPU
problem when I tried to model something like a ring (rod inside rod) and
I would like to know if this is my fault or some bug in mpb. I attach
the source file (run on debian unstable).
2) I would like to know how mpb/meep can hande more complicated
geometry: eg. cones or bodies that intersect in such a way that it is
not possible to model it just by adding from the most base to the top
(covering all others) objects.
3) I would like to know if mpb is able to use different type of
symmetry than the translational (e.g. mirror, rotational ...)?
I look forward or your response
Lukas Oliva
(define-param r1 0.2)
(define-param r2 0.1)
(define-param eps1 5)
(define-param eps2 1)
(set! geometry-lattice (make lattice (size 1 1 no-size)
(basis1 0.5 0)
(basis2 0 0.5)))
(set! geometry
(list (make cylinder
(center 0 0 0) (radius r1) (height infinity)
(material (make dielectric (epsilon eps1))))
(make cylinder
(center 0 0 0) (radius r2) (height infinity)
(material (make dielectric (epsilon eps2))))))
; The k-points list, for the Brillouin zone of a triangular lattice:
(set! k-points (list (vector3 0 0 0) ; Gamma
(vector3 0 0.5 0) ; M
(vector3 0.5 0.5 0) ; K
(vector3 0 0 0))) ; Gamma
(define-param k-interp 4) ; number of k-points to interpolate
(set! k-points (interpolate k-interp k-points))
(set-param! resolution 32)
(set-param! num-bands 8)
(define (tm_gap1 r1 r2 eps1 eps2)
(set! geometry
(list (make cylinder
(center 0 0 0) (radius r1) (height infinity)
(material (make dielectric (epsilon eps1))))
(make cylinder
(center 0 0 0) (radius r2) (height infinity)
(material (make dielectric (epsilon eps2))))))
(print "Conf: r1 = "r1" r2 = "r2" eps1 = " eps1"eps2 = "eps2"\n")
(if ( (r1 <= r2)||( eps1<=eps2))
(print "Chyba: r1 = "r1" r2 = "r2" eps1 = " eps1"eps2 = "eps2"\n"))
(run-tm)
(retrieve-gap 1))
(define (te_gap1 r1 r2 eps1 eps2)
(set! geometry
(list (make cylinder
(center 0 0 0) (radius r1) (height infinity)
(material (make dielectric (epsilon eps1))))
(make cylinder
(center 0 0 0) (radius r2) (height infinity)
(material (make dielectric (epsilon eps2))))))
(print "Conf: r1 = "r1" r2 = "r2" eps1 = " eps1"eps2 = "eps2"\n")
(if ( (r1 <= r2)||( eps1<=eps2))
(print "Chyba: r1 = "r1" r2 = "r2" eps1 = " eps1"eps2 = "eps2"\n"))
(run-te)
(retrieve-gap 1))
(run-tm)
(define-param first_tm (retrieve-gap 1))
(run-te)
(define-param first_te (retrieve-gap 1))
(print "First TM maximum: " first_tm"\nFirst TE maximum :" first_te"\n")
(maximize-multiple tm_gap1 0.001)
(maximize-multiple te_gap1 0.001)
_______________________________________________
mpb-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss