On Thu, 26 Aug 2010 11:02:40 +1000, David Powell <dap124(a)physics.anu.edu.au> wrote:
(finally!) reviewed your patch and think it's pretty much in good
shape to land in staging. I made two changes: First, I've revived the
L-F flux, and second, since all BCs need to pass boundarized epsilon and
mu, I've centralized this functionality in the operator template. (This
also made eps_mu_field_placeholder() unnecessary.) My changes seem to
work fine with your examples and with the 3D 'cavities' example.
Thanks for your work, definitely the code looks much cleaner and
nicer. However, I noticed a problem when running the 2d_cavity
example (which I have to admit is rather poorly named and should
probably be called "inhom_cavity" or something like that):
Fixed and renamed. Thanks for catching this.
So are you proposing to merge this code into the
"staging" branch? I
still haven't made extensive use of it and it would be nice to get
feedback from other potential users, but I guess the staging branch
could serve this purpose.
Precisely. Code is never 'perfect', but as soon as it's 'better' than
what's in staging, it should land. Then, once it passes the regression
test, it becomes master. (I've been slow with that, but I'll pick the
pace back up now that I'm settled at NYU.)
I've landed this branch (with the two fixes above) in staging.
Thanks for all the work you've put into this.
Also, I am still thinking about implementing
total-field/scattered-field incident boundary conditions, but haven't
found the time to work through all the details of stitching together
several maxwell operators (which would also be a better way to do
piecewise continuous materials). However as a simpler solution, it
should be quite easy to extend the existing scattered-field
formulation to homogeneous or inhomogeneous materials by including the
material polarisation current. This would clean up the existing
inconsistency with incident fields in inhomogeneous materials. I
would suggest getting rid of incident field as a special boundary
condition - this really refers to how the incident field is treated at
a PEC boundary. Instead the incident field should be represented by a
TimeDependantGivenFunction (plus the background values of epsilon and
mu), and the operator should appropriately add the necessary bulk and
surface terms behind the scenes.
I cobbled together that incident field formulation a while ago from the
DG-EM paper by Jan and Tim. Feel free to kill whatever you need to make
the it more physically meaningful. I'm definitely interested in working
on/merging what you come up with.