How to generate the mesh to characterize discontinuities in a rectangular waveguide

42 views
Skip to first unread message

Jianan Zhang

unread,
May 8, 2017, 11:01:53 PM5/8/17
to deal.II User Group
Hi all,

I've been studying deal.ii for like a month and want to use it to characterize discontinuities in a rectangular waveguide. So I am using FE_Nedelec elements to solve the curl-curl equation:

curl(mu^(-1)curl(E)) + (-omega^2*epsilon+j*omega*sigma)*E=0,

with boundary conditions: n x E = 0, on waveguide walls
                                     n x (curl(E)) + gamma*n x (n x E) = U, on port 1 
                                     n x (curl(E)) + gamma*n x (n x E) = 0,  on port 2
where U and gamma are known.

I consider that the waveguide is loaded with an obstacle of PEC, so the boundary conditions will be n x E = 0 on its surfaces and inside the obstacle E is zero. Since we know E is zero inside the obstacle, we can ignore the its existence when we do mesh generation.

So basically the mesh we need is a block (hyper rectangle in 3D) subtracted by some small blocks or cylinders. Has anyone done this before and can provide any hints on how to generate this kind of mesh?
According to the topic on "How do I create the mesh for my problem?" in FAQ, it seems that creating it by hand is not feasible. or maybe I can generate it using Gmsh (which I am going to look into)? 

Thanks in advance.

Jianan Zhang 

Ce Qin

unread,
May 9, 2017, 12:59:45 AM5/9/17
to dea...@googlegroups.com
Another option:
You can use FE_Nothing inside the obstacle, see Step-46 for more details.

Best,
Ce

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jean-Paul Pelteret

unread,
May 9, 2017, 2:18:22 AM5/9/17
to deal.II User Group
Dear Jianan,

deal.II does have some tools that can help you to incrementally build up complex meshes. These helper functions include GridGenerator::create_triangulation_with_removed_cells and GridGenerator::merge_triangulations, as well as the transformation operations demonstrated in step-49. The GridGenerator::subdivided_hyper_rectangle function could also be useful in your case. So if your mesh is regular and you just want to remove some cells, then this is actually quite straight forward to achieve. If you have cylinders in the domain, its a little more tricky but also might be possible. At some point you may want to weight up the time cost between working out how to build a more complex mesh in deal.II itself versus using a mesh generator.

I hope that this helps you.

Kind regards,
Jean-Paul

Jianan Zhang

unread,
May 9, 2017, 10:46:31 AM5/9/17
to deal.II User Group
Hi, Ce,

Thanks for the hint, I'll take a look at Step-46.

Regards
Jianan

在 2017年5月9日星期二 UTC-4上午12:59:45,Ce Qin写道:
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.

Jianan Zhang

unread,
May 9, 2017, 11:03:24 AM5/9/17
to deal.II User Group
Dear Jean-Paul,

Thanks for the suggestions. Yes, I do know the existence of these helper functions and have seen the demonstration in step-49. For some cases the mesh I need can be generated in deal.II itself. But Just as you said, I need to consider the time costs between generating the mesh in deal.II itself and using a mesh generator, especially when the mesh become more complex.

Anyway, I would take a look at Gmsh and may use both methods interchangeably.

Best
Jianan  

在 2017年5月9日星期二 UTC-4上午2:18:22,Jean-Paul Pelteret写道:
Reply all
Reply to author
Forward
0 new messages