Cylindrical coordinates Boundary and embedded mesh

How to use openEMS. Discussion on examples, tutorials etc

Moderator: thorsten

Post Reply
MPCEngineer
Posts: 31
Joined: Thu 02 Sep 2021, 18:29

Cylindrical coordinates Boundary and embedded mesh

Post by MPCEngineer » Mon 04 Oct 2021, 18:06

Hi Thorsten,

I have read your paper,

a free and open source equivalent-circuit (EC) FDTD simulation platform supporting cylindrical coordinates suitable for the analysis of traveling wave MRI applications.

On the Openems wiki page https://openems.de/index.php/FDTD_Mesh.html there is an example of a sub-grid. Does the grid definition have to match to a mesh line on the R-axis?
Can I suggest adding the picture below from your paper as this makes clear what the sub-grid looks like.
Screenshot from 2021-10-04 16-59-12.png
Screenshot from 2021-10-04 16-59-12.png (186.33 KiB) Viewed 850 times


When using circular coordinates from -pi to +pi you have a closed cylinder space. How do you define the boundary conditions for the closed cylinder?
I am using :
BC = {'MUR' 'MUR' 'MUR' 'MUR' 'MUR' 'MUR'}; % boundary conditions
FDTD = SetBoundaryCond( FDTD, BC );

But the a-axis does not have a boundary as it is closed.

Thanks,

MPC.

MPCEngineer
Posts: 31
Joined: Thu 02 Sep 2021, 18:29

Re: Cylindrical coordinates Boundary and embedded mesh

Post by MPCEngineer » Wed 06 Oct 2021, 12:12

I have also noticed for cylindrical coordinates that using 'MUR' boundary conditions the energy does not always tend to zero. I assume this is because a 'MUR' boundary only absorbs energy that is orthogonal.

If I use:
BC = {'PML_8' 'PML_8' 'PML_8' 'PML_8' 'PML_8' 'PML_8'}; % boundary conditions
FDTD = SetBoundaryCond( FDTD, BC );

Then I get 'nan' energy levels?

If I use 'PML_8' just n the z direction I get increasing energy levels.
BC = {'MUR' 'MUR' 'MUR' 'MUR' 'PML_8' 'PML_8'}; % boundary conditions
FDTD = SetBoundaryCond( FDTD, BC );

What is the best boundary conditions for a closed cylinder with r=0????

Thanks in advance.

MPC

thorsten
Posts: 1475
Joined: Mon 27 Jun 2011, 12:26

Re: Cylindrical coordinates Boundary and embedded mesh

Post by thorsten » Mon 11 Oct 2021, 22:30

Hi,

for r_0 and a_0 and a_max you should just define PEC (kind of the default as it is always there in any case)...
e.g. BC = [0, 3, 0, 0, 3, 3]
The engine should detect the grid type and implement the special boundary conditions as needed anyways.
It is very important that the mesh in alpha direction (mesh.y) spans over 2*pi between the first and last line and is a multiple of 2^N for N levels of subgrids you use (both should be obvious from the picture you posted)

But in general, using the cylindrical mesh is not trivial and you should really only use it if you have too...
Let me know how this goes.

br
Thorsten

Post Reply