u can implement an oblique incident wave by multiplying the field you would use for a normal incident wave with a phase term.
the phase term is a function of position.
for example, lets assume you excite an incident wave in a 2D simulation by forcing the E field at y=y0: Ez(x,y0)=Ez(t).
this is a plane wave traveling in the y directions.
if you add a phase term such as Ez(x,y0)=Ez(t)*exp(j*β*x) you can now simulate an oblique incident wave which incident angle is a function of β.
For the basics Taflove or even Kunz&Lubbers should be ok.
For more accurate methods check the relevant papers by J. Schneider (google for john Schneider FDTD) and the papers referenced there
u can implement an oblique incident wave by multiplying the field you would use for a normal incident wave with a phase term.
the phase term is a function of position.
This is the simplest method. If the results are accurate enough for you then I would use it.
The problem is that the analytical formula does not match the wave speed at different angles.
As a result you get lots of spurious reflections. How to reduce these is the topic of some of
the papers I mentioned above.
Another problem, also addressed in these papers is the case when you have material
interfaces crossing the TF/SF boundaries.