2
存在一個稱爲meep的電磁模擬器,它以guile解釋器的形式提供作爲前端。模擬器由一堆方案宏組成。這個方案錯誤告訴我什麼?
我想弄清楚下面的錯誤是什麼意思。代碼取自教程。當我在一個過程中包裝教程時,我得到一個運行時錯誤,我不確定解釋器(guile)告訴我什麼。
不工作的代碼
(define diffthick
(lambda (n) ; n doesn nothing
(
(set! geometry-lattice (make lattice (size 16 8 no-size)))
(set! geometry (list
(make block (center 0 0) (size infinity 1 infinity)
(material (make dielectric (epsilon 12))))))
(set! sources (list
(make source
(src (make continuous-src (frequency 0.15)))
(component Ez)
(center -7 0))))
(set! pml-layers (list (make pml (thickness 1.0))))
(set! resolution 10)
(run-until 200
(at-beginning output-epsilon)
(at-end output-efield-z))
)
)
)
(diffthick 3)
工作碼(沒有程序)
(set! geometry-lattice (make lattice (size 16 8 no-size)))
(set! geometry (list
(make block (center 0 0) (size infinity 1 infinity)
(material (make dielectric (epsilon 12))))))
(set! sources (list
(make source
(src (make continuous-src (frequency 0.15)))
(component Ez)
(center -7 0))))
(set! pml-layers (list (make pml (thickness 1.0))))
(set! resolution 10)
(run-until 200
(at-beginning output-epsilon)
(at-end output-efield-z))
錯誤
creating output file "./eps-000000.00.h5"...
creating output file "./ez-000200.00.h5"...
run 0 finished at t = 200.0 (4000 timesteps)
Backtrace:
In standard input:
21: 0* [diffthick 3]
3: 1 [#<unspecified> #<unspecified> #<unspecified> ...]
standard input:3:5: In expression ((set! geometry-lattice #) (set! geometry #) (set! sources #) ...):
standard input:3:5: Wrong type to apply: #<unspecified>
ABORT: (misc-error)
工作
-----------
creating output file "./eps-000000.00.h5"...
creating output file "./ez-000200.00.h5"...
run 0 finished at t = 200.0 (4000 timesteps)
在這一天我覺得自己喜歡的事月底被兩次評估。但我不確定那是什麼。
謝謝!隱含的括號給了我,我最終使用了run-until表單。 – Mikhail
遇到類似的錯誤。謝謝hzap –