5

Mathematica has some Finite Element capabilities (as explained here). Do you think mathematica is a realistic/sensible option for electromagnetic simulations? (aka making a movie of electric fields propagating through an array of nanoparticles) If so, and anybody has any resources/tutorials I would really appreciate that.

user21
  • 39,710
  • 8
  • 110
  • 167
Tom
  • 3,416
  • 1
  • 18
  • 33
  • 1
    You mention FEM in the question but FDTD in the title. The question is unclear to me. What exactly are you trying to do, what have you tried? Without a specific problem including code to get started, I doubt you can get a good answer. Of course Mathematica can solve time-dependent differential equations, but I can't think of anything beyond this trivial statement that would also fit into the format of a SE post. – Jens Nov 20 '15 at 17:49
  • Ok, well I suppose I don't understand these things well enough then. FDTD includes some kind of discretisation of space (and time) into small "elements" in which equations are solved which sounds very similar to FEM to me. Anyway, I want to do some electromagnetic simulations and want to know whether Mathematica is a good candidate for this. I'm sure Mathematica can do almost anything, but I don't know if it's a sensible choice with which to do FDTD simulations. Specifically I want to model the propagation of EM waves in an anisotropic array of metallic nanoparticles. – Tom Nov 20 '15 at 17:55
  • I have tried the software meep but the lack of any debugging drove me insane. – Tom Nov 20 '15 at 17:56
  • Practically all the calculations in our paper "Surface plasmon polariton propagation around bends at a metal-dielectric interface" (link to ArXiV abstract) were done in Mathematica. But debugging can be hard in Mathematica too - and if you're not familiar with it, that can make it very difficult in practice. – Jens Nov 20 '15 at 21:00
  • 1
    The question you're asking appears regularly in similar form, just with "electromagnetic" replaced by "some other field." The standard answer is that MMA is best for prototyping, not production code. It's great for combining (symbolic) analytical and numerical work. – Jens Nov 20 '15 at 21:07
  • Ok, well I'm already fairly familiar with Mathematica so it could be nice to do my FDTD calculations within it, but may still be too difficult for me, thanks for your comments. I thought this was going to be so much easier when I started out, put a few metallic spheres here, a dielectric there, a plane wave source here and now tell me what happens computer. – Tom Nov 21 '15 at 00:27
  • I also used FDTD a couple of years ago in a paper. We solved the coupled Maxwell-Schrodinger equation. At the beginning I was doing everything in Mathematica, but moved to Fortran at the end. I agree with Jens that for production maybe you need more than Mathematica. – xslittlegrass Nov 21 '15 at 05:38
  • 2
    FDTD belongs to FDM, you may be interested in this post. As to the implementation of FDM in Mathematica, I should admit though Mathematica can be used for the task, it shows no advantage compared to those lower level language like C, fortran etc. Maybe it's because FDM is so primitive that Mathematica can hardly make its implementation simpler (if it doesn't make it more complex). – xzczd Nov 21 '15 at 06:16
  • 2
    If you want to make use of the FEM capability of Mathematica for electromagnetic simulation, according to my limited experience, I guess (one of) the most troublesome part will be the implementation of the artificial boundary condition which represents an infinite space. There exists some mature technique like convolutional perfectly matched layer (cPML) for FDTD, but no built-in function in Mathematica. I believe it's possible to implement something similar in Mathematica with the low level FEM functions, but it requires a good understanding for the artificial boundary techniques. – xzczd Nov 21 '15 at 06:27
  • @xzczd Trying to implement FDTD in Mma today, it feels like I'm using matlab...... – mmjang Apr 13 '16 at 13:49

0 Answers0