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

Reply via email to