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