Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

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 definition

Please login with a confirmed email address before reporting spam

Hi

Currently COMSOL is unable to define frequency dependent metals. I want to define a new material for frequency dependent effective refractive index of a metal based on Johnson, P. and R. Christy (1972) Physical Review B 6(12): 4370-4379. But being a newbie I am not sure how to do go about it. Can anyone please explain this to me?

Thanks,

Amin

13 Replies Last Post 17.10.2014, 08:54 GMT-4
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 15.01.2011, 15:44 GMT-5
Hi

Why, if you can make Temperature and Pressure dependent density, heat capacity ... why not also frequency dependent refractive index/absorption ?

You should be able to do it the same way, as for T or p.

Perhaps it's wiser to use a material dependency variable name such as "Myfreq" to avoid any confusion with the frequenc variable used by COMSOL, and then add a user varaible for your model with Myfreq=freq, or what ever your frequency variable is

--
Good luck
Ivar
Hi Why, if you can make Temperature and Pressure dependent density, heat capacity ... why not also frequency dependent refractive index/absorption ? You should be able to do it the same way, as for T or p. Perhaps it's wiser to use a material dependency variable name such as "Myfreq" to avoid any confusion with the frequenc variable used by COMSOL, and then add a user varaible for your model with Myfreq=freq, or what ever your frequency variable is -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 16.01.2011, 08:12 GMT-5
Hi Ivar

I tried to import the wavelength v/s real (function name: real_eps) and imaginary (function name: imag_eps) permittivity from 2 files using interpolation function under material->Basic. Next I added dielectric losses to the material content and setting the value to real_eps(t[m]) and imag_eps(t[m]) but as a last step I dont know how to link comsol frequency (freq) to the independent variable wavelength(t) imported in the file.

Can you please guide me on this?

Thanks,
Hi Ivar I tried to import the wavelength v/s real (function name: real_eps) and imaginary (function name: imag_eps) permittivity from 2 files using interpolation function under material->Basic. Next I added dielectric losses to the material content and setting the value to real_eps(t[m]) and imag_eps(t[m]) but as a last step I dont know how to link comsol frequency (freq) to the independent variable wavelength(t) imported in the file. Can you please guide me on this? Thanks,

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 16.01.2011, 08:31 GMT-5
Hi

first you are in 4.0a ? As I only have 4.1 there might be differences, 4.0/4.0a was rather "raw" on many things

then I do not understand your imag_eps(t[m]) as "t" is for me default time in seconds. Is this in the function definition ? OK got it it's the default variable name in the materials, perhaps not the best "neutral" choice from COMSOL ;)
I must say I havent tried really such things in v4 yet, have managed to use default values to now ;)
So I will have to check again how it works in the new v4.

First conclusions, use rather piecvise or analytical, as there you can define the variable, interpolation is restricted to time t[s], see the doc

or just load in a material from the library that has T or p dependence, and see how it's done

--
Good luck
Ivar
Hi first you are in 4.0a ? As I only have 4.1 there might be differences, 4.0/4.0a was rather "raw" on many things then I do not understand your imag_eps(t[m]) as "t" is for me default time in seconds. Is this in the function definition ? OK got it it's the default variable name in the materials, perhaps not the best "neutral" choice from COMSOL ;) I must say I havent tried really such things in v4 yet, have managed to use default values to now ;) So I will have to check again how it works in the new v4. First conclusions, use rather piecvise or analytical, as there you can define the variable, interpolation is restricted to time t[s], see the doc or just load in a material from the library that has T or p dependence, and see how it's done -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 16.01.2011, 09:19 GMT-5
Hi

Thanks for your reply. Infact I am using 4.0a. t seems to me a local variable but if it refers to a global variable time which means a bad choice from comsol as you pointed out. :)

The analytical or piecewise functions do not support uploading from a file. Yes looking into your second option for T and p dependence might give clues to solve the problem.

Thanks,
Amin
Hi Thanks for your reply. Infact I am using 4.0a. t seems to me a local variable but if it refers to a global variable time which means a bad choice from comsol as you pointed out. :) The analytical or piecewise functions do not support uploading from a file. Yes looking into your second option for T and p dependence might give clues to solve the problem. Thanks, Amin

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 16.01.2011, 09:22 GMT-5
Hi
at least this "t" is confusing, or I might have missed an ssential point, maybe ;)

--
Good luck
Ivar
Hi at least this "t" is confusing, or I might have missed an ssential point, maybe ;) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 17.01.2011, 03:49 GMT-5
Hi Ivar

I gave an input for interpolation function controlled relative permittivity such as imag_eps(c[m/s]/freq[Hz]) and real_eps(c[m/s]/freq[Hz]). But it cannot recognize the c as velocity of light or freq as computational frequency as it gives an error "Unexpected units of input". Do you have any clues?

Thanks,
Hi Ivar I gave an input for interpolation function controlled relative permittivity such as imag_eps(c[m/s]/freq[Hz]) and real_eps(c[m/s]/freq[Hz]). But it cannot recognize the c as velocity of light or freq as computational frequency as it gives an error "Unexpected units of input". Do you have any clues? Thanks,

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 17.01.2011, 07:32 GMT-5
Hi

check the doc for the naming of the variables and the internal constants (these are different for v3.5 and v4, such as "c_const" for v4 and I wounder now if it was even defined in v3.5 internally ?)

then the units: if you define a constant c = 300e6[m/s] and a frequency freq=10[Hz] then

imag_eps(c_const[m/s]/freq[Hz]) gives you m^2/s^2*s^2=m^2. normally the functions are asking for unitless entries so if your
imag_eps(lambda)
expects a lamda unitless, while normally lambda is defined as [m] then you must write:

imag_eps(lambda[1/m]) = imag_eps(c_const[s/m]/(freq[s])) as lamda[m]=c_const[m/s]/(freq[Hz])

note in 3.5 you need to be careful with the () and englobe the units 1/x[m] is not equal to1/(x[m]) in v4.1 this is not longer required, but not sure how it is in v4.0

Now it might be more that is holding you up, difficult for me to tell like that

--
Good luck
Ivar
Hi check the doc for the naming of the variables and the internal constants (these are different for v3.5 and v4, such as "c_const" for v4 and I wounder now if it was even defined in v3.5 internally ?) then the units: if you define a constant c = 300e6[m/s] and a frequency freq=10[Hz] then imag_eps(c_const[m/s]/freq[Hz]) gives you m^2/s^2*s^2=m^2. normally the functions are asking for unitless entries so if your imag_eps(lambda) expects a lamda unitless, while normally lambda is defined as [m] then you must write: imag_eps(lambda[1/m]) = imag_eps(c_const[s/m]/(freq[s])) as lamda[m]=c_const[m/s]/(freq[Hz]) note in 3.5 you need to be careful with the () and englobe the units 1/x[m] is not equal to1/(x[m]) in v4.1 this is not longer required, but not sure how it is in v4.0 Now it might be more that is holding you up, difficult for me to tell like that -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 17.01.2011, 13:09 GMT-5
Hi there!

When I defined materials for metals from Johnson and Christy's dataset in Comsol, I finally decided to modify my raw data files and change wavelength to frequency there. This way, you can directly use the global Frequency "freq" defined by the solver. I guess this is best practice for Comsol 4+.
Make sure to add "Frequency" as Model Input for the material. Then you define the two functions for real and imaginary part of the permittivity and add "Dielectric Loss" to your material. There, use the two interpolation functions with (freq) as argument. Then, also make sure to select "Dielectric Loss" in the "Electromagnetic Waves > Wave Equation" section for permittivity model.

I prefer working with wavelengths, so for wavelength sweeps, I define two parameters: freqmin=c_const/lambdamax and similar for the upper frequency bound. When I do the postprocessing, I first make a global evaluation of the expression "c_const/freq", which gives the wavelength for each frequency and then evaluate anything else in the same table. Then, you can always plot your results as a function of wavelength. The only drawback is that if you use equidistant frequency points, the wavelengths will not be equidistant.
Hi there! When I defined materials for metals from Johnson and Christy's dataset in Comsol, I finally decided to modify my raw data files and change wavelength to frequency there. This way, you can directly use the global Frequency "freq" defined by the solver. I guess this is best practice for Comsol 4+. Make sure to add "Frequency" as Model Input for the material. Then you define the two functions for real and imaginary part of the permittivity and add "Dielectric Loss" to your material. There, use the two interpolation functions with (freq) as argument. Then, also make sure to select "Dielectric Loss" in the "Electromagnetic Waves > Wave Equation" section for permittivity model. I prefer working with wavelengths, so for wavelength sweeps, I define two parameters: freqmin=c_const/lambdamax and similar for the upper frequency bound. When I do the postprocessing, I first make a global evaluation of the expression "c_const/freq", which gives the wavelength for each frequency and then evaluate anything else in the same table. Then, you can always plot your results as a function of wavelength. The only drawback is that if you use equidistant frequency points, the wavelengths will not be equidistant.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 19.01.2011, 02:47 GMT-5
Thanks everyone.
Thanks everyone.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 23.01.2011, 08:46 GMT-5

I need to enter a complex relative permittivity into material settings - can I do this and if so, how? The value is -9.96+0.82i.

Answer:
But be aware that COMSOL uses the opposite convention for imaginary parts that a lot of the literature uses, such that a lossy material has a negative imaginary part of epsilon. So you should probably enter -9.96-0.82i.


Hi

With reference to a previous question posted above if I want to specify a lossy material using Dielectric loss model i.e. -9.96+0.81i , should I use -ive imaginary input for my imaginary part of epsilon (-0.81)? Or comsol will cater (0.81) for it. I am using comsol version 4.0a.

Thanks,
Amin
[QUOTE] I need to enter a complex relative permittivity into material settings - can I do this and if so, how? The value is -9.96+0.82i. Answer: But be aware that COMSOL uses the opposite convention for imaginary parts that a lot of the literature uses, such that a lossy material has a negative imaginary part of epsilon. So you should probably enter -9.96-0.82i. [/QUOTE] Hi With reference to a previous question posted above if I want to specify a lossy material using Dielectric loss model i.e. -9.96+0.81i , should I use -ive imaginary input for my imaginary part of epsilon (-0.81)? Or comsol will cater (0.81) for it. I am using comsol version 4.0a. Thanks, Amin

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 23.01.2011, 16:25 GMT-5
Hi

you are right you must be slightly careful with imaginary parts, because there are several conventions for the sign. Check carefully the doc, and then recheck with a simple trivial model to be sure you are in line with the way of COMSOL

--
Good luck
Ivar
Hi you are right you must be slightly careful with imaginary parts, because there are several conventions for the sign. Check carefully the doc, and then recheck with a simple trivial model to be sure you are in line with the way of COMSOL -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 17.04.2012, 14:20 GMT-4
Dear Christian,

This way seems straightforward, and thanks a lot to you for sharing it.
Could you please share a simple structure in which it is shown that this way works?
Actually my program doesn't work well, and the function I have defined can not be recognized by the program.

Waiting for your response
Regards
Dear Christian, This way seems straightforward, and thanks a lot to you for sharing it. Could you please share a simple structure in which it is shown that this way works? Actually my program doesn't work well, and the function I have defined can not be recognized by the program. Waiting for your response Regards

Please login with a confirmed email address before reporting spam

Posted: 10 years ago 17.10.2014, 08:54 GMT-4
Hi all,

I want to apply a variable ( linear ) load but i don't know how to do it ?
Could you please help me ??
For now, am trying like 1000*(t<4) but still the load graph is straight but i want it to be linearly varying.
Am totally new here being a student :(

Thanks in advance,
Gopi
Hi all, I want to apply a variable ( linear ) load but i don't know how to do it ? Could you please help me ?? For now, am trying like 1000*(t

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.