# Discussion Forum

Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

## Material dispersion in transient RF simulations

Hi,

I am doing transient simulations in RF-module for observing nonlinear effects of SHG in Plasmonic systems. The problem is to define dispersion properties for both metal and dielectrics involved.

Usually we model it with a time convolution of the expression of material's permittivity with Electric field to introduce dispersive effects. In standard FDTD literature, we find auxilliary differential equations (ADE) as another famous method for doing just that. This requires knowing the values of Electric field and Polarization one and two steps back, respectively. Is there anyone who has implemented or knows how to do either of the two in script/gui?

Thanks

8 Replies Last Post 31 Aug 2016, 14:08 GMT-4

Hello Shakeeb Bin Hasan

If you do not hold an on-subscription license, you may find an answer in another Discussion or in the Knowledge Base.

Hi there

As you mentioned, the correct approach in order to model a metal in the transient analysis is a time convolution of permittivity and electric field. Unfortunately, implementation of this idea in rf module seems to be very demanding, cause you need to access to electric field's profile within the previous time steps. And yes, FDTD codes such as Meep usually model the plasmonic dispersion with an equivalent Lorentzian permittivity or polarization vector:

ab-initio.mit.edu/wiki/index.php/Conductivity_in_Meep#Material_dispersion

In the link above you can find the governing equation for polarization. I had an idea to couple the maxwell equations with two time-dependent PDE equations (which you can find in this link) for Px and Py (evidently for a 2D problem). After finding Px and Py inside the desired subdomain, one can enter them into D=epsilon0*E+P. The problem I encountered was the very low running speed and somehow non-realistic responses. I think this is the only way to model a plasmonic system in rf module; however, I wasn't successful in developing it.

Regretfully, transient analysis in rf module is so weak for dispersive materials, and developers should at least revise the equations in order to cover wider range of materials and models. This has been well-done in other programs such as Meep, Lumerical, ... .

Hi there

As you mentioned, the correct approach in order to model a metal in the transient analysis is a time convolution of permittivity and electric field. Unfortunately, implementation of this idea in rf module seems to be very demanding, cause you need to access to electric field's profile within the previous time steps. And yes, FDTD codes such as Meep usually model the plasmonic dispersion with an equivalent Lorentzian permittivity or polarization vector:

ab-initio.mit.edu/wiki/index.php/Conductivity_in_Meep#Material_dispersion

In the link above you can find the governing equation for polarization. I had an idea to couple the maxwell equations with two time-dependent PDE equations (which you can find in this link) for Px and Py (evidently for a 2D problem). After finding Px and Py inside the desired subdomain, one can enter them into D=epsilon0*E+P. The problem I encountered was the very low running speed and somehow non-realistic responses. I think this is the only way to model a plasmonic system in rf module; however, I wasn't successful in developing it.

Regretfully, transient analysis in rf module is so weak for dispersive materials, and developers should at least revise the equations in order to cover wider range of materials and models. This has been well-done in other programs such as Meep, Lumerical, ... .

Hi Mil,

Thank you for your response. Actually, I might have found a way through assistance by Comsol's support on how to do it.

You are thinking in the right direction. Add a time dependent PDE equation, coefficient form lets say, and define all the necessary coefficients you have corresponding to your Drude/Lorentz or whatever model you want. Set the boundary conditions to Neumann (all coefficients zero) which in effect removes any restrictions as far as I can see and lets the polarization follow the boundary conditions resulting out of the input electric field.

Now the last but most important thing to do is to select "generalized alpha" in the time-stepping tab of solver settings. I tried doing it with BDF solver (default one) for weeks before blindly (yes, I don't know technicalities there) switching to generalized-alpha and it seemed to do the trick!

I have checked out the simulation results with single metal dielectric and so-called MIM geometries and found the output to be reliable. If I may request a favor, check it out with any benchmarks you have in mind and share your findings with everyone here :) That will help everyone reach a realistic estimate of the accuracy and hence reliability of this method.

I have attached my own model for single interface plasmon propagation. Hope it will help sort things out which remained unclear in my explanation.

Edit: The file was created on 3.5!

Hi

Thank you, Shakeeb, for sending your model. In fact I had utilized the benefits of generalized alpha previously. However, The very slow running time I said was in comparison with Meep and because of the special structure I was trying to model: An emitting dipole (lambda =900nm) located in the plasmonic mode's continuum of a 100nm silver slab (sigma~=6.7e+7, fp=9.65e+14 HZ).

Your model was a nice simulation to check out the plasmonic behavior of a metallic slab. You can double-refine the meshing, run the model and then use "cross-section plot parameters" in "postprocessing" to see how your Hz is confined:

General tab >> Solutions to use >> Stored output times >> 1e-14 (last time)
Line/extrusion tab >> Plot type: Line Plot >> y-axis data: Expression: Hz >> Cross section line data: x0=1e-6, y0=-1e-6/ x1=1e-6, y1=2e-6. (due to the extra volume I couldn't reupload your model, but I can email you if you want).

There is something I think must be amended in your Solver parameters:
General tab >> Relative and Absolute Tolerances. Actually I was trying to model a point source inside a simple dielectric waveguide and when I used the default values there was no reasonable outcome! But when I set them (by chance) lower than the step size, there was a nice real time video showing up!

Anyway, by setting two time dependent PDE equations we are enforcing the software to solve two extra problems in each time step (with probable convergence considerations) and hence lowering the speed. This is important because for more complex structures and higher refinements rf module is not applicable. I think introducing a generalized model for permittivity is the best way.

Hi,

Thank you for coming back Mil. I tend to agree with you on your remark about the computational efficiency of this method. Despite the fact that Comsol stands out in offering perhaps the richest set of ideas implementable under one cover, it does suffer from some obvious short-comings in specific cases and the one you mention is surely one of the most prominent in my opinion too.

Another issue I would like to highlight here for the attention of developers is the missing PMLs in transient RF module. It might be possible to find out a way to implement PMLs just like material dispersion but why shouldn't it be available out of the box? If Comsol has to live up to its potential of being a rigorous platform for time-dependent electromagnetic simulation then scattering boundary conditions alone cannot be adequate.

Just this weekend, I was going through Meep's tutorial and documentation and was disappointed to note that it doesn't offer full breadth of nonlinear effects that I am interested in. If I am not wrong, right now only Pockel and Kerr effects are available whereas I need full range of chi2 and may be even chi3 phenomena. This is why I am going to stay with Comsol for now because it offers the possibility of defining nonlinear polarization in the form of analytical expressions which makes available almost idea everything one can come up with.

By the way, I am a little vague about your suggestion of reducing the tolerance below time step size. Could you shed more light on the significance of this thing? What I find particularly confusing is that the step size could get as low as anything then would it not be computationally too expensive to have tolerance as small too?

And of course you could email me the model. I hope that my email address is accessible to you through my forum profile?

Posted: 10 years ago

Hi,

I am doing transient simulations in RF-module for observing nonlinear effects of SHG in Plasmonic systems. The problem is to define dispersion properties for both metal and dielectrics involved.

Usually we model it with a time convolution of the expression of material's permittivity with Electric field to introduce dispersive effects. In standard FDTD literature, we find auxilliary differential equations (ADE) as another famous method for doing just that. This requires knowing the values of Electric field and Polarization one and two steps back, respectively. Is there anyone who has implemented or knows how to do either of the two in script/gui?

Thanks

Hello,
I am very happy to find your post here. And I am simulating SPP in transient RF. I do not need to solve nonlinear problem.
To include the dispersion of the metal in transient problem, why can't I directly use drude/lorenz formula of the metal ? Like what I usually did in the stationary problem?

Can COMSL transfer the drude model from frequency domain to time domain automatically.

Posted: 10 years ago
I presented a paper (attached) at the 2008 Comsol Conference showing how to incorporate Lorentz and/or Drude dispersion with or without nonlinearity in time-dependent RF/optical models. I hope that you will find it to be of some help.

-Jim Toney

P.S. There is an error in equation (4). omegap^2 should be (omegap/omeg0)^2