COMSOL-nanoparticles-PML-scattering formalism in RF module

  • Thread starter Srbasket
  • Start date
  • #1
Srbasket
19
0
Hi, all,
I am starting with calculating scattering cross sections of metallic nanoparticles. I have some doubt about what type of scattering boundaries conditions and PML to use, since near field shows some surface waves on PML´s inner side and some reflections which affect my far-field results. Since I am not theoretician, I do a lot of guessing here...
If anyone likes to discuss just reply, and I have tons of questions ready...
Cheers
 

Answers and Replies

  • #2
Srbasket
19
0
Hi, to make it a little bit clearer:
I have a problem with reflection of scattered field from PML (I guess). I remove scatterer, and just solve problem with geometry I want to use. There is always some kind of interference pattern of scattered field. I can decrease the reflection intensity by making PML thicker (better solution), or moving it further away (not so efficient), or both. But it´s wasting my memory. Patern depends on direction of excitation as well as on wavelength.
My geometry is spherical encapsulated in spherical PML. Pattern is different depending on what parameters i set (cartesian or spherical), although the natural choice must be spherical. Also I define scattering boundary conditions on outer boundaries.
Metallic scatterer is inside. It looks like reflections are independent of presence of scatterer. I know that solving is not selfconsistent procedure, but anyway it looks weird that it´s independent.
Any tips?
ps. I know there must be always some reflection, but in my case is comparable to the strength of field scattered by object of interest
 

Attachments

  • case2lambda750nm.jpg
    case2lambda750nm.jpg
    49.8 KB · Views: 2,224
  • dimers.jpg
    dimers.jpg
    40.9 KB · Views: 2,126
  • #3
mahinda
13
0
i think maybe relocate the PML further from the particle helps. the evanescent tail of the surface plasmon should be avoid from extending into the PML.
 
  • #4
Srbasket
19
0
Hi,
I have solved some of the problems I had, and decreased the reflections. The problem was definiion of the excitation fields in different media, cause I thought that scaling down of wavelength in different media was automatic in COMSOL, and it's not.
Now, I have the folowing problem- My model consists of substrate, scattering particle lying down on substrate and air. I define PMLs next to different media as materials with ref.indices to be same as adjacent media, and in that case reflection comes from boundary between two PMLs. In order to avoid that, I read in some paper that one should calculate first scattering field in the same model geoetry but without particle first, and then use the solution as excitation in case when particle is present...
So, nw problem is not the COMSOL but MAtlab, and what is the best way to extract solutions from fem.sol.u and to use it is excitation in the next loop. I don'tt have time to spend on that at the moment, but would appreciate if someone might answer few of mine questions:
1) In harmonic scattering propagation in RF module in solver parameters there is a tab with label SOLVE FOR, and there I see variables tExscEyscEzsc10,tExscEyscEzsc20, tExscEyscEzsc11. I nknow that sc means scattered , and don't know what numbers mean and t letter.
2) in fem.sol.u I got array with some solution, and since I don't know answer to question 1) I don't know what is there. Also, If I want to use that as excitation for the next step, I don't know where and how to define it. I am sure that meshing must be the same, but don't know how to overlay former solution in the same mesh element as a new excitation for that element. Maybe sme function might be used like posteval, and similar, but ...

Thanks
 
  • #5
mahinda
13
0
thanks for the update man!
 
  • #6
mahinda
13
0
hi dude. i have one question. do you know how to use the dielectric function of metal from the material library to perform the scattering simulation?
 
  • #7
mahinda
13
0
BTW. do you have any idea about whether PML can be implemented in transient propagation mode? thank you very much.
 
  • #8
Srbasket
19
0
Well, I use complex refractive index for metals from different sources (Palik, I think), n-j*k for particular wavelength, I am not sure about data in implemented library of COMSOL.
PMLs in transient propagation mode, don't have any idea. I am using occasionally scattering harmonic propagation only, so cannot help with that...
 
  • #9
mahinda
13
0
oh. my goodness. does that mean each time you do the simulation you get only the result for a single frequency?

i haven't anticipated such difficulty with comsol simulation. i am actually a beginner doing light scattering by metallic nanoparticles. and i pretty much want to find the spectra of such interactions.
 
  • #10
Srbasket
19
0
Yes, one frequency at time since COMSOL is FEM. (U may try with some software based on FDTD method, it's faster but with some drawbacks)...
Well, I am doing the same, scattering of metallic particles, and it works fine if u calculate spectra of particles in uniform medium, but if there is some interface, problems come into play, as I have mentioned in posts at the beginning...
 
  • #11
stealf
2
0
Hi, I have the same problem to solve and I think I have the same problem of reflection of scattered field caused by PML. I tried to remove the scattered element but it doesn't work... I read that you solved the problem..
Can you explain me how to define the excitation fields in different media?
thanks
 
  • #12
Srbasket
19
0
I´ll try to explain. When I keep my excitation as exp(-j*k0_rfw*z) it works fine for vacuum medium. But in medium with ref. index of n, you have to define it as exp(-j*k0_rfw*n*z). If u have different media in your model, for example substrate and air, you have to define it in each subdomain separately. I use signum function, so if I have glass/air interface (glass for z<0) I define excitation as (1-sign(z))/2*exp(-j*k0_rfw*n*z)+(1+sign(z))/2*exp(-j*k0_rfw*z). U should incorporate also Fresnel formulae in this, but anyway like this it will work better.
Send me an email to srbasket@yahoo.com for more informations
ps. put COMSOL into subject
Cheers
 
  • #13
tatarin
5
0
I´ll try to explain. When I keep my excitation as exp(-j*k0_rfw*z) it works fine for vacuum medium. But in medium with ref. index of n, you have to define it as exp(-j*k0_rfw*n*z). If u have different media in your model, for example substrate and air, you have to define it in each subdomain separately. I use signum function, so if I have glass/air interface (glass for z<0) I define excitation as (1-sign(z))/2*exp(-j*k0_rfw*n*z)+(1+sign(z))/2*exp(-j*k0_rfw*z). U should incorporate also Fresnel formulae in this, but anyway like this it will work better.
Send me an email to srbasket@yahoo.com for more informations
ps. put COMSOL into subject
Cheers

Thank you for sharing.
 
  • #14
Srbasket
19
0
Hi, all,
folks keep contacting me about different things regarding this subject. I have advanced a bit, but still some issues remaining.
1) In excitation field definition you can forget about using complicated formulae with different expressions for z>0 and z<0. It looks like that if u use k_rfw, COMSOL will automatically consider refractive index of material into k vector in different media.
2) THERE is a big difference if u are solving for SCATTERD or TOTAL field. You should read Jiaming Jin's book to find out more. In short, if u are solving for SCATTERD field your excitation should be defined in the most precize analytical way, using Fresnel coefficients, and in that case you need complicated formulae with z>0 and z<0, since in SCATTERING MODULE you have to define field present everywhere except PML. In total field calculation, you have to insert incident wave on one boundary (port or scattering boundary condition with excitation), and propagation should be calculated... There are some advantages/disadvantages in both cases, depending what you whant to calculatet, how much memory you have, and some FEM issues that you can read in Jim's book...
3) About 2 step procedure: When u create new model name your dependents variables to scEx1,etc, and Application mode name to rfw1. Then you can make your geometry. After, you go to Multyphysics/Module navigator and ADD new scEx2,...,rfw2, and now you have two models on the same geometry. In both models you define separately Subdomain setting, Boundary settings, etc. Meshing is the same, since you have one geometry, and 2 models defioned on the same geometry. So, first you solve situation when your particle is made of air let's say, and later use that solution as excitation in your second model. Thus, in Physics/Scalar Variables you set Eoix... with Fresnel coefficients (or not if u don't want), and for E0ix2 you set Ex, E0iy2 set Ey, etc... First step is to SOLVER MANAGER/Solve for you highlight rfw1, and for the output rfw1 (not necessary), and when it is done, you go to SOLVER MANAGER/Initial value, there you first Store solution, and check STORED SOLUTION option as initial values, SOLVE FOR you highlight rfw2, and the same for OUTPUT... That should work. Theoretical benefits of this procedure are not so clear to me. IF SOMEONE COMPARES IT; PLEASE PUT YOUR RESULTS AND CONCLUSION HERE...
4) Someone asked me "How did you separate the scattered field from the substrate and from the nanoparticle?" Maybe this 2 step procedure is the answer to that. Maybe you can normalized what you get for particle air and partice made of metal case, I don't know exactely.
5)Scattering cross-section: Read RF module reference guide. There is a Stratton-Chu formula implemented ion COMSOL for calculating far-fileld components. Onece you have them, you need spherical surface (it doesn't have to be the same as one for Stratton-Chu, can be smaller to save you integratin time) and one should do boundary integration of normEfar*normEfar, and that is proportional to scattering cross section. If you want to be more precise calculate this expresion: (normEfar*normEfar)/(Surface of particle*Ein*Ein*R*R) where R is the radius of your integrating spherical surface.
6) IF ANYONE HAVE GOOD RECIPE FOR PML THAT WORKS FINE, please POST IT!

Cheers
 
  • #15
Srbasket
19
0
This is how it looks.
Cylindar made of gold, 50nm diameter, 10nm height, laying on glass substrate...
Integration sphere for Straton-Chu was placed on 175nm from the center... That is the one geometry that worked fine in my case...Spectra are in case of air, water and dielectric of 1.517 ref. index...
 

Attachments

  • example.gif
    example.gif
    3.7 KB · Views: 1,531
  • #16
Srbasket
19
0
Hi, all,
folks keep contacting me about different things regarding this subject. I have advanced a bit, but still some issues remaining.
1) In excitation field definition you can forget about using complicated formulae with different expressions for z>0 and z<0. It looks like that if u use k_rfw, COMSOL will automatically consider refractive index of material into k vector in different media.
2) THERE is a big difference if u are solving for SCATTERD or TOTAL field. You should read Jiaming Jin's book to find out more. In short, if u are solving for SCATTERD field your excitation should be defined in the most precize analytical way, using Fresnel coefficients, and in that case you need complicated formulae with z>0 and z<0, since in SCATTERING MODULE you have to define field present everywhere except PML. In total field calculation, you have to insert incident wave on one boundary (port or scattering boundary condition with excitation), and propagation should be calculated... There are some advantages/disadvantages in both cases, depending what you whant to calculatet, how much memory you have, and some FEM issues that you can read in Jim's book...
3) About 2 step procedure: When u create new model name your dependents variables to scEx1,etc, and Application mode name to rfw1. Then you can make your geometry. After, you go to Multyphysics/Module navigator and ADD new scEx2,...,rfw2, and now you have two models on the same geometry. In both models you define separately Subdomain setting, Boundary settings, etc. Meshing is the same, since you have one geometry, and 2 models defioned on the same geometry. So, first you solve situation when your particle is made of air let's say, and later use that solution as excitation in your second model. Thus, in Physics/Scalar Variables you set Eoix... with Fresnel coefficients (or not if u don't want), and for E0ix2 you set Ex, E0iy2 set Ey, etc... First step is to SOLVER MANAGER/Solve for you highlight rfw1, and for the output rfw1 (not necessary), and when it is done, you go to SOLVER MANAGER/Initial value, there you first Store solution, and check STORED SOLUTION option as initial values, SOLVE FOR you highlight rfw2, and the same for OUTPUT... That should work. Theoretical benefits of this procedure are not so clear to me. IF SOMEONE COMPARES IT; PLEASE PUT YOUR RESULTS AND CONCLUSION HERE...
4) Someone asked me "How did you separate the scattered field from the substrate and from the nanoparticle?" Maybe this 2 step procedure is the answer to that. Maybe you can normalized what you get for particle air and partice made of metal case, I don't know exactely.
5)Scattering cross-section: Read RF module reference guide. There is a Stratton-Chu formula implemented ion COMSOL for calculating far-fileld components. Onece you have them, you need spherical surface (it doesn't have to be the same as one for Stratton-Chu, can be smaller to save you integratin time) and one should do boundary integration of normEfar*normEfar, and that is proportional to scattering cross section. If you want to be more precise calculate this expresion: (normEfar*normEfar)/(Surface of particle*Ein*Ein*R*R) where R is the radius of your integrating spherical surface.
6) IF ANYONE HAVE GOOD RECIPE FOR PML THAT WORKS FINE, please POST IT!

Cheers

One clarification:
In 3) second time you are solving press RESTART, not the SOLVE
 
  • #17
tatarin
5
0
This is how it looks.
Cylindar made of gold, 50nm diameter, 10nm height, laying on glass substrate...
Integration sphere for Straton-Chu was placed on 175nm from the center... That is the one geometry that worked fine in my case...Spectra are in case of air, water and dielectric of 1.517 ref. index...

Did you compared it to any experimental data?
thx
 
  • #18
Srbasket
19
0
Not particles of that size, but they behave in expected way. For instance Bulk refractive index sensitivity is more-less expected. I did long time ago for the bigger cylinders that I fabricate, and it fitted well.
I can try again.
Anyway, it looks like one have to optimize PML and meshing to get geometry that will behave fine. I was lucky with this one...
 
  • #19
tatarin
5
0
This is how it looks.
Cylindar made of gold, 50nm diameter, 10nm height, laying on glass substrate...
Integration sphere for Straton-Chu was placed on 175nm from the center... That is the one geometry that worked fine in my case...Spectra are in case of air, water and dielectric of 1.517 ref. index...


Does it take a lot of time to do integration by using Stratton-Chu in Comsol?

The only way to speed up the process is by making integration sphere smaller?
 
  • #20
tatarin
5
0
Not particles of that size, but they behave in expected way. For instance Bulk refractive index sensitivity is more-less expected. I did long time ago for the bigger cylinders that I fabricate, and it fitted well.
I can try again.
Anyway, it looks like one have to optimize PML and meshing to get geometry that will behave fine. I was lucky with this one...

When you doing your simulations, do you place nanoparticle directly on the substrate or putting it some distance away?
If I'm placing nanoparticle directly on the substrate I'm getting huge discontinuity in the electric field right at the edge between substrate and air. Do you get something like that?

In this paper they place nanosphere 1 nm away from substrate.

http://pubs.acs.org/doi/abs/10.1021/nl900945q
 
  • #21
Srbasket
19
0
Does it take a lot of time to do integration by using Stratton-Chu in Comsol?

The only way to speed up the process is by making integration sphere smaller?

With my machine to solve model of 200.000 elements it takes around 35min for 2 step procedure (2 solver runs, GMRES), where Stratton-Chu integration is part of second solver run, so I imagine it takes less than few minutes, but again depends on number of mesh elements that your sphere is composed of.
Making integration sphere smaller-I am not sure. Me and few of my friends are still having some doubts regarding Stratton-Chu formula and its definition. In RF module guide they say that one should put integration sphere in the near-field of your scatterer. That is maybe correct for dielectrics, but for metallic nanoparticles there are strong evanescent fields, so maybe you have to avoid collecting them into Stratton-Chu. I am not a theoretician so I don't know yet how Stratton-Chu is really defined, and we are trying to clarify it with COMSOL support at the moment.
So far, I am placing integration sphere on the distance few times larger than evanescent field decaying length, and that is easy for simple structure (spheres, etc...)
ANY DISSCUSSION about interpretation on Stratton-Chu is welcome here...
 
  • #22
Srbasket
19
0
When you doing your simulations, do you place nanoparticle directly on the substrate or putting it some distance away?
If I'm placing nanoparticle directly on the substrate I'm getting huge discontinuity in the electric field right at the edge between substrate and air. Do you get something like that?

In this paper they place nanosphere 1 nm away from substrate.

http://pubs.acs.org/doi/abs/10.1021/nl900945q

I put my structures directly on the substrate, but my structures are flat cylindars, in case of spheres might be a problem, but if you mesh it nicely might work.
What you get depends on if are you solving for scattered field or total field, how did you defined excitation and similar. If u upload your model I can take a look, or just plot images...

Regarding that paper, they have done single particle spectroscopy in dark field reflection configuration. So somehow they immobilized nanoshells on glass substrate. Probably they just spun coated them on glass. Also they noticed that the best correspondence between theory and experiment was in case where particle is floating 1nm above substrate. Since nanoshells in experiment are not perfect spheres I guess, they did it just for that, and not due to interface problems in COMSOL calculations.
 
  • #23
Srbasket
19
0
Hi, to make it a little bit clearer:
I have a problem with reflection of scattered field from PML (I guess). I remove scatterer, and just solve problem with geometry I want to use. There is always some kind of interference pattern of scattered field. I can decrease the reflection intensity by making PML thicker (better solution), or moving it further away (not so efficient), or both. But it´s wasting my memory. Patern depends on direction of excitation as well as on wavelength.
My geometry is spherical encapsulated in spherical PML. Pattern is different depending on what parameters i set (cartesian or spherical), although the natural choice must be spherical. Also I define scattering boundary conditions on outer boundaries.
Metallic scatterer is inside. It looks like reflections are independent of presence of scatterer. I know that solving is not selfconsistent procedure, but anyway it looks weird that it´s independent.
Any tips?
ps. I know there must be always some reflection, but in my case is comparable to the strength of field scattered by object of interest

IMPORTANT Update regarding this post:
It looks like COMSOL has problems regarding PMLs performance for versions older than COMSOL 3.5a+patch.
I made geometry as always in scattering formulation (solving for scE), all air and PML, and have launched plane wave with amplitude 1 V/m. Scatered field instead of 0, was on the order of 10-40% of my excitation throughout the whole volume. That was solved in my COMSOL 3.5 version.
My friend solved my model in his 3.5a+patch, and he got scattered field on the order of 10 to power of -4. (4 orders of magnitude, without any optimization of PML, just default values)

So, if you have older versions forget about scattering formalism, you should solve it for total field...

I am about to get new version, and I will post how it behaves!
Regards
 
  • #24
Srbasket
19
0
Last update:
If you don´t have COMSOL 3.5a with installed patch, just forget about solving for scatered field (scatered harmonic propagation in RF module)...
Just got Comsol 3.5a, and default PMLs work very good. No more weird reflections, near field looks very neat...
Cheers
 
  • #25
Srbasket
19
0
Hi, all,
I have compared 2-step procedure with 1-step procedure, and results are the same, so don't do 2 step procedure if you are solving for SCATTERED FIELD.
I am planning to compare 1-step procedure where Solving for scattered field, and 2-step procedure when solving for total field... Excitations are defined in different ways in these cases...
Maybe the latter might be solution for those of you who don't have COMSOL 3.5a+patch...

2) Use symmetry always if possible, results are same (1-2nm difference in resonance position) for far-field calculations

3) Use swept mesh for PML layer. In order to do it in spherical geometry, you have to divide outer layer (and whole geometry) into 8 equal parts by drawing squares (big enough to envelope your geometry) in planes x=0,y=0 and z=0, and embedding them into 3D model. Later Select all objects in 3D, and press COERCE to solid... Then you can use SWEPT mesh, without errors, after meshing everything except PMLs

That would be all
 
  • #26
Mtl81
2
0
Hi,

I am a comsol beginner. Can you advice me how to start with comsol simulation of gold nanoparticles,,,can u send me some documents and/or sample examples using comsol v4..

Your help is highly appreciated
 
  • #27
tatarin
5
0
  • #28
Mtl81
2
0
Thanks tatarin
 
  • #29
Srbasket
19
0
Hi, all,
Thanks to my good friend V, I am able to update u all about COMSOL issues related to nanoparticles.
There is a mistake that I and many more were doing. If you take a look at Stratton-Chu formulae that is implemented directly in comsol, you will notice that it works only for scatterer embeded in uniform medium, more precisely vacuum. If it is embeded in water, let's say, spectra will keep the same shape, so no worries about that.
If you think that it can be implemented and modify easily for substrate case, you are wrong.
To keep it as simple as possible: Scattered light by particle is composed of many k-vectors, and if you have substrate, everty k-vectror will behave different when passing through the interface, so for each k-vector one needs to incorporate guess what, Fresnel coefficients, so some components can feel TIR, some not, and that is tricky to implement into Stratton-Chu. For more detailes type in in google, "Forbiden light dipole" and you would get some papers by famous Lukas Novotny.
So, what was accounted to be COMSOLs advantage over other programs (substrate calculations), it is not.
Thanks V for these remarks
Question is what to do:
1) You can disregard this post and continue as you do. If you get something fairly similar to experiments, you are fine (Of couse, someone can say that it is not correct)
2) We can forget about SC formulae, and combine approach where calculating Scattered field in one point for each wavelength, where this point should be as far from the antenna as possible (in far-field zone, meaning one wavelength away). Same as always, incorporate Fresnel coeff. into excitation, and if you choose good point for evaluation, you might get something useful.
3) There are also methods (see on COMSOL website, about nanoantennas) where you put particle on 200nm thick glass substrate, and below is air. You can get some results, but again it is not the optimum solution. (I have tried once, and got some numerical or bad meshing related peaks, but there was also main plasmonic peak. Probably can be optimized...See the document). There you solve for Electric field. You can use also semy infinite substrate, but the excitation can only come from air side. If it comes from glass side, there is some inclear problem about defining excitation: I will probably try to solve this if I get some spare time...
4) I thank once again to V, and if I or anyone else get some great idea about solving this problems, we will update this thread

I will try to convince V to join the thread, since he is the theoretician who knows what he is doing, acontrary to us experimentalists

Cheers, folks
Enjoj WC

Yours (to some extent dissapointed in COMSOL) Srbasket
 
  • #30
Srbasket
19
0
Hi, all, just to update this post.
We have been checking if SC gives similar result to Green dyiadic method for substrate case, and the found resonance by both methods coincide pretty much. However, it looks like for anything else, like radiation pattern calculations, or real physical values of cross sections, one should not rely on SC in case of substrates.

So, hope that COMSOL guys will find some solutions to this problem.
Cheers
 
  • #31
sammy_doctor
1
0
My research is in magnetic nanoparticle behavior. I am new to comsol. I have been using fluent for this. Can u guide me for modeling nanoparticles in comsol. which module should be used and modeling guide or any tutorials, examples, etc.?

thanks
 
  • #32
Srbasket
19
0
My research is in magnetic nanoparticle behavior. I am new to comsol. I have been using fluent for this. Can u guide me for modeling nanoparticles in comsol. which module should be used and modeling guide or any tutorials, examples, etc.?

thanks

Hi,
go for RF module. You should be able to download example of Mie scattering calculations from comsol website. That is very good starting point. Also there are many more models that might be usefull. You should also read carefully all the posts. Check also Discussion on comsol web site, and there is one group on yahoo.
For magnetics you will need to use tensors, but shouldn´t be that difficult.
Good luck
Also, if u have subscription for comsol supprt, that is cool, since they reply quite fast
 
  • #33
Srbasket
19
0
This might help, it is under construction, but...
srdjancomsol.weebly.com
 
  • #34
greencurry
1
0
Hi Srbasket,

I found your thread and website are very useful.

Thanks man!
 
  • #35
Quba
1
0
Hi Srbasket,
your information is very usefull for me. I tried to do tests of PML as you described using Fresnel coefficients. But I still have big reflections.

When I simulated propagation of planar wave in air, scattered field was was in order of magnitude 1e-2 which is insufficient. For air/glass interface was scattered fiedl about 2e-1 magnitude, so very poor performance.

I computed my result in 3.5a+fix and also 4.2 versions.

http://physics.fme.vutbr.cz/files/zlamal/air3_5a.mph" [Broken]
http://physics.fme.vutbr.cz/files/zlamal/glass3_5a.mph" [Broken]
http://physics.fme.vutbr.cz/files/zlamal/3Dair4_2.mph" [Broken]

Can you have a look at my projects and tell me please what I am doing wrong?
Can you describe how to tune up PML if it is cause of my problems (I tried also much denser meshes but no advance)?
 
Last edited by a moderator:

Suggested for: COMSOL-nanoparticles-PML-scattering formalism in RF module

Replies
0
Views
1K
  • Last Post
Replies
3
Views
2K
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
4
Views
89
Replies
3
Views
2K
Replies
1
Views
1K
Replies
2
Views
1K
Replies
3
Views
2K
Replies
1
Views
2K
Top