I provide a list of free and open source EM software at the following link. Just scroll down to Electromagnetic Simulation Software.
http://emlab.utep.edu/opensource.htm
For FDTD, it will be hard to beat MEEP, however MEEP does not have a GUI. This is good in that it is more flexible, but bad in that it is harder to learn. MEEP is also difficult to install. I do list several with a GUI, but they will be less feature rich.
For RCWA, I am not aware of any open source software. The best RCWA commercial package I am aware of is RSoft. They may offer a free student version, but I really don't know.
If you want to attempt writing any of these codes for yourself, here are the course websites where I teach these methods:
I am one of the developers of gprMax (http://www.gprmax.com) which is an open source EM simulation software based on the FDTD method. It was originally developed as a C code in 1996, but last year was completely re-written in Python/Cython. It has many features targeted at Ground Penetrating Radar (GPR) simulations but can also be used for many other EM applications. Like MEEP it does not have a GUI, but uses a series of simple commands to construct an input file of a model, and Python scripting can be used for more advanced usage.
@Raymond Rumpf it would be great if you could add gprMax to your list.
@Craig. I had not heard of gprMax and have added it to our list of open source FDTD software. I will also forward your website to a professor here at UTEP that does GPR. Thanks!
openEMS is a free and open electromagnetic field solver using the FDTD method. Matlab or Octave are used as an easy and flexible scripting interface. (http://openems.de)