I'm trying to run a simulation of a waveguide in the 3D "woodpile" lattice.  
The .ctl file (copied below) sets up the geometry for one axial period using 
Bloch boundary conditions.  Just calling (init-fields) results in the error:

num[0] = 1
num[0] = 1
num[1] = 1
num[2] = 1
meep: Crazy weird splitting error.
num[1] = 1
num[2] = 1
meep: Crazy weird splitting error.
4 processes killed (possibly by Open MPI)

I'm using OpenMPI on 4 processors of a RHEL 3 cluster using Myrinet.  Crazy 
weird.  Anyone seen/fixed this before?  Thanks,

Ben

The .ctl file:
-------------------------------------
;;; Use FDTD to compute the modes of a woodpile-based structure.

;; Input parameters
(define-param w 0.28)
(define c (sqrt 2))
(define-param si-eps 12.1)
(define-param nx 9)
(define-param ny 4)
(define-param tspace 1)
(define-param tpml 1)
(define-param res 16)
;; Run mode
(define-param run-mode 1)

;; Materials
(define Si (make dielectric (epsilon si-eps)))

;; Computational cell setup
(define (make-cell nx ny w)
  (let ((sx (+ nx w (* 2 tspace) (* 2 tpml)))
                (sy (+ (* c (+ (* 2 ny) 0.25)) (* 2 tspace) (* 2 tpml))))
        (make lattice (size sx (* (/ 2 res) (ceiling (/ (* res sy) 2))) 1))))

;;; Geometry setup functions

(define (make-barlayer mat w nx offset h)
  (list (make block (material mat) (center 0 h offset)
                          (size (+ nx w) (/ c 4) w))))

(define (make-rodlayer mat w nx offset h)
  (let ((xmax (+ (floor (- (/ nx 2) offset)) offset)))
        (geometric-object-duplicates
         (vector3 1 0 0) (- xmax) xmax
         (make block (material mat) (center 0 h 0) (size w (/ c 4) 1)))))

(define (make-guide mat w nx ny)
  (append
   ;; The central bar layers
   (geometric-objects-duplicates
        (vector3 0 c 0) (- ny) ny (make-barlayer mat w nx 0 0))
   ;; The offset bar layers
   (geometric-objects-duplicates
        (vector3 0 c 0) (- 0.5 ny) (- ny 0.5) (make-barlayer mat w nx 0.5 0))
   ;; Central rod layers, upper half
   (geometric-objects-duplicates
        (vector3 0 c 0) 0 (- ny 1) (make-rodlayer mat w nx 0 (* 0.25 c)))
   ;; Central rod layers, lower half
   (geometric-objects-duplicates
        (vector3 0 c 0) (- 1 ny) 0 (make-rodlayer mat w nx 0 (* -0.25 c)))
   ;; Offset rod layers, upper half
   (geometric-objects-duplicates
        (vector3 0 c 0) 0 (- ny 1) (make-rodlayer mat w nx 0.5 (* 0.75 c)))
   ;; Offset rod layers, lower half
   (geometric-objects-duplicates
        (vector3 0 c 0) (- 1 ny) 0 (make-rodlayer mat w nx 0.5 (* -0.75 c)))
   ;; The guide
   (list (make block (material vacuum) (center 0 0 0)
                           (size (- 3 w) (* 1.75 c) 1)))))

;;; Define the computational cell
(set! geometry-lattice (make-cell nx ny w))
(set-param! resolution res)

;; Define the boundary conditions, with symmetries
(set! k-point (vector3 0 0 0.37)) ; Note: must be real
(set! ensure-periodicity #t)
(set! symmetries (list (make mirror-sym (direction X))
                                           (make mirror-sym (direction Y))))

;; Set up the geometry
(set! geometry (make-guide Si w nx ny))
(set! pml-layers (list (make pml (direction X) (thickness tpml))
                                           (make pml (direction Y) (thickness 
tpml))))

(init-fields)
;; (output-epsilon)

_______________________________________________
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