Neat, thanks!
For the time average amplitude of a complex field, I changed the
convert-h5 function as shown below. It's very hokey because the field
component is hard-coded into the function, but it works. Also, it's not
really an average but rather a sum, which is okay if you just want a
pretty picture.
(define (convert-complex-h5 rm? convert-cmd . step-funcs)
(define (convert fname)
(if (and rm? (zero? (system (string-append convert-cmd " \"" fname
":hz.i\" \"" fname ":hz.r\""))))
(system (string-append "rm \"" fname "\""))))
(lambda (to-do)
(let ((hooksave output-h5-hook))
(set! output-h5-hook convert)
(map (lambda (f) (eval-step-func f to-do)) step-funcs)
(set! output-h5-hook hooksave))))
(define (complex-time-avg fname step-func)
(let ((first-step? true))
(lambda (to-do)
(if first-step?
(begin ; just copy the output file to fname
(set! first-step? false)
((convert-complex-h5 true
(string-append "h5math -e \"sqrt(d1*d1 +
d2*d2)\" " fname "")
step-func) to-do))
;; otherwise, add the output file to fname
((convert-complex-h5 true
(string-append "h5math -e \"d1 + sqrt(d2*d2 +
d3*d3)\" " fname " " fname "")
step-func) to-do)))))
On Tue, 17 Jun 2008, Steven G. Johnson wrote:
> On Jun 17, 2008, at 5:37 AM, matt wrote:
>> I want meep to output the amplitude of the complex time-average
>> magnetic
>> field over the computation domain, as an h5 file.
>
>
> See e.g.
>
> http://thread.gmane.org/gmane.comp.science.electromagnetism.meep.general/1456
>
>> but I'm not looking for for the instantaneous magnetic field. I'm
>> also
>> not interested in the time-average flux or energy, which I could with
>> flux-in-box or field-energy-in-box.
>
> Those two only give you time averages if you have time-harmonic
> complex fields (i.e. a CW source, with force-complex-fields?=true, and
> have waited for transients to disappear).
>
> But in the case of a time-harmonic source, the time-average field is
> simply zero.
>
> Steven
>
> _______________________________________________
> meep-discuss mailing list
> [email protected]
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
>
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss