Am Donnerstag, 6. April 2006 08:11 schrieb Steven G. Johnson:
> On Thu, 6 Apr 2006, Andreas von Rhein wrote:
> > so I supposed one has to call like this
> >
> > (run-until 300 (at-every  10 (display-fluxes flux1)))
> >
> > but dispaly-fluxes seems not to be normal step-function.
> >
> > During the first call the flux is displayed (ok it is 0 everywhere),
> > but in the next call the output is undefinied. I suppose display-fluxes
> > destroys the calculation data.
>
> Hi Andreas,
>
> This is a common confusion with MPB, and I'm guessing it will be a common
> confusion with Meep too.
>
> The step functions that you pass to run must be *functions*.  When you
> pass (display-fluxes flux1) you are passing the *result* of calling
> display-fluxes, which is not a function.  Hence it displays once, before
> run even begins, and then gives an error because you are not passing the
> correct argument type.
>
> Instead, you should define a function, either via:
>
>       (define (display-fluxes-at-step) (display-fluxes flux1))
>       (run-until 300 (at-every 10 display-fluxes-at-step))
>
> or just use lambda to construct a function on the fly:
>
>       (run-until 300 (at-every 10 (lambda () (display-fluxes flux1))))
>
> Steven
>

Ok, I've forgotten.
But display-fluxes isn't very grep-friendly. What about changing the string of 
the first row with time information?,

flux0010, ...


flux0020,...

But I think I could handle it on my own and write a new function with the help
of (get-flux-freqs flux)

regards
Andreas

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to