- Thank you received: 6
question on pml
- Guosheng Fu
- Topic Author
- Offline
- Elite Member
Less
More
7 years 2 months ago #165
by Guosheng Fu
question on pml was created by Guosheng Fu
Hi guys,
I am trying to solve a 2D rectangular waveguide problem, domain is infinite in x-direction.
I am imposing homogeneous dirichlet bc on y-direction, and want to use pml in x-direction. I don't know how to set up pml just in one direction
Is it easy to do? I am totally new to pml, didn't find related demos on pml yet...
Best regards,
Guosheng
I am trying to solve a 2D rectangular waveguide problem, domain is infinite in x-direction.
I am imposing homogeneous dirichlet bc on y-direction, and want to use pml in x-direction. I don't know how to set up pml just in one direction
Is it easy to do? I am totally new to pml, didn't find related demos on pml yet...
Best regards,
Guosheng
7 years 2 months ago #166
by schruste
Replied by schruste on topic question on pml
Hi Guosheng,
Did you take a look at the pde_tutorial/pml-directory and ngsolve.org/docu/latest/how_to/pml.html ?
There are several predefined PMLs that you can set in the mesh, e.g. pml.HalfSpace or pml.Radial. The pml.HalfSpace should do the trick in your case. Please have a look at the demos and the explanation.
Best,
Christoph
Did you take a look at the pde_tutorial/pml-directory and ngsolve.org/docu/latest/how_to/pml.html ?
There are several predefined PMLs that you can set in the mesh, e.g. pml.HalfSpace or pml.Radial. The pml.HalfSpace should do the trick in your case. Please have a look at the demos and the explanation.
Best,
Christoph
- christopher
- Offline
- Administrator
Less
More
- Thank you received: 101
7 years 2 months ago - 7 years 2 months ago #167
by christopher
Replied by christopher on topic question on pml
Hi Guosheng,
maybe have a short look at ngsolve.org/docu/latest/how_to/pml.html
You would need a cartesian pml. Just set the mins and maxs so that the x values are inside the domain (where the pml should start) and the y values are outside (so that you don't have a pml in y direction).
Best
Christopher
PS: I think the pde_tutorial/pml folder is pretty much outdated, this can be done easier by applying the complex mesh transformation to the mesh itself
maybe have a short look at ngsolve.org/docu/latest/how_to/pml.html
You would need a cartesian pml. Just set the mins and maxs so that the x values are inside the domain (where the pml should start) and the y values are outside (so that you don't have a pml in y direction).
Best
Christopher
PS: I think the pde_tutorial/pml folder is pretty much outdated, this can be done easier by applying the complex mesh transformation to the mesh itself
Last edit: 7 years 2 months ago by christopher.
- Guosheng Fu
- Topic Author
- Offline
- Elite Member
Less
More
- Thank you received: 6
7 years 2 months ago #181
by Guosheng Fu
Replied by Guosheng Fu on topic question on pml
Hi Christopher,
I have played with pml for Helmholtz, and it works great.
But I got some trouble turning to Maxwell.
I tried to use the same setup for the scatering.py problem in pde_tutorial/pml/, by only changing finite element to Hcurl and bilinear form to curl*curl
It gave me the error:
PML not supported for diffop curl
Also, I noticed the old way:
a += BFI('PML_laplace',coef=1)
stop working for pml, and the error is:
RuntimeError: please set global variable constant_table_for_FEM
Any idea how to fix this?
Thanks in advance,
Guosheng
I have played with pml for Helmholtz, and it works great.
But I got some trouble turning to Maxwell.
I tried to use the same setup for the scatering.py problem in pde_tutorial/pml/, by only changing finite element to Hcurl and bilinear form to curl*curl
It gave me the error:
PML not supported for diffop curl
Also, I noticed the old way:
a += BFI('PML_laplace',coef=1)
stop working for pml, and the error is:
RuntimeError: please set global variable constant_table_for_FEM
Any idea how to fix this?
Thanks in advance,
Guosheng
- christopher
- Offline
- Administrator
Less
More
- Thank you received: 101
7 years 2 months ago #184
by christopher
Replied by christopher on topic question on pml
The pml support boolean was missing for 2D, we added that about two weeks ago, so if you check out the most recent version it should work. Note that the visualization inside the PML domain is currently broken, so using version v.6.2.1709 you should get waves running into the pml but nothing there. I'll let you know when the pml visualization is fixed.
Best
Christopher
Best
Christopher
- Guosheng Fu
- Topic Author
- Offline
- Elite Member
Less
More
- Thank you received: 6
7 years 2 months ago #185
by Guosheng Fu
Replied by Guosheng Fu on topic question on pml
Opps... the most recent version in git repository is v.6.2.1707, most recent updated is July 18, 2017
How do I get v.6.2.1709?
How do I get v.6.2.1709?
Time to create page: 0.109 seconds