How to make distance-from-surface-dependent permittivity
In CADFEKO, I would like to create a sphere where the relative permittivity is a function of distance from the center (or surface) of the sphere. In earlier models I've made spherical shells with permittivities on the curve of my function but am looking for something more accurate. I attempted to use a 3D anisotropic medium, but I could not figure out how to use it to accomplish my objective. Is this possible, and if so, how would I go about doing it?
Thanks!
Best Answer
-
It is only possible to do this discreetly.
With script recording and playback you can setup an import of e.g. a number of points and create spheres from them. If you have many different spheres then the FEM would be a better solver to use.
It might be a good idea to base the placement of the spheres on the electrical lengths rather than absolute distances.
1
Answers
-
It is only possible to do this discreetly.
With script recording and playback you can setup an import of e.g. a number of points and create spheres from them. If you have many different spheres then the FEM would be a better solver to use.
It might be a good idea to base the placement of the spheres on the electrical lengths rather than absolute distances.
1 -
Hi Mel,
Just to make sure I understand correctly, the only way to accomplish something like this is to have multiple discrete layers. If the layers are electrically thin enough, they should act like a smooth transition. The parameters for the spherical layers can be imported from a file. I have this crude drawing below to illustrate what I mean - darker shading equals higher relative permittivity.
I probably should have put this in the original post to better show what I wanted to accomplish, but it's here now.
0 -
You are correct!
0 -
Thanks! I'll implement it and follow up with how it goes. In the meantime I'll mark your answer as the correct one.
0 -
It wasn't too hard to implement the script - script recording made a massive difference in finding the sequence of functions I needed. For anyone who's interested, here's final pseudocode for the script I used.
- Create the outermost sphere with the outer radius and assign it to a large sphere variable.
- Set a current radius variable to the outer radius.
- Create a counter variable used for naming solids and media.
- While the current radius is greater than min wavelength / layers per wavelength (large enough that we could fit another sphere inside of it) …
- Create a sphere with radius = current radius - min wavelength / layers per wavelength and assign it to a small sphere variable.
- Do a Boolean subtraction of the small sphere from the large sphere and assign it to a new shell variable.
- Make a new dielectric medium with relative permittivity equal to the current radius put through the desired permittivity curve and assign it to a current medium variable.
- Assign the current medium to the region of the new shell at index 1 (the inside).
- Set the region of the new shell at index 1 to use the FEM solver.
- Set the current radius to the current radius - min wavelength / layers per wavelength.
- Make a copy of the small sphere and assign it to the large sphere variable.
- Increment the counter.
- Make a new dielectric medium with relative permittivity equal to the desired innermost permittivity and assign it to a current medium variable.
- Assign the medium to the innermost shell, which is in the large sphere variable from the last run of the loop.
After unioning the resulting layers the solver ran without any trouble.
0