Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EM reflection off Silver-Muller boundary #109

Closed
alexanderboe opened this issue Apr 24, 2019 · 10 comments
Closed

EM reflection off Silver-Muller boundary #109

alexanderboe opened this issue Apr 24, 2019 · 10 comments
Labels
feature-request something that could be added to the code

Comments

@alexanderboe
Copy link

Hi all,

I am using a Silver-Muller boundary condition in a 2D simulation, to absorb a laser pulse (800 nm, a0 = 0.6), incident at a normal to the boundary surface.

I observe that ~1/1000th of the incident electric field is reflected. This reflection back-propagates through the simulation domain, and seeds high-frequency perturbations of the electron density, that I would like to avoid.

The simulation resolution along the laser propagation is 15 cells per cycle (800 nm), the time-step is set to 0.95*CFL. I can replicate the reflection in 1D, and in an entirely empty simulation domain.

Is it possible to optimise the Silver-Muller boundary condition to reduce the amount of reflected light, possibly by altering parameters in the boundary implementation?
Enabling control of the Silver-Muller BC was discussed here #9, but as of now does not appear to be included in the code documentation.

Any thoughts or advice would be very helpful!

Alexander

@beck-llr
Copy link
Contributor

Hi Alexander

The current Silver-Muller BC implementation is the best one we are aware of. An improvement of these absorbing boundaries would be the "perfectly matched layer" (PML) which are not yet implemented in Smilei due to a lack of manpower. We hope to have them within 18 months.

Some tricks are currently possible to minimize reflections of the laser pulse on the transverse boundaries (where the wave vector of the laser is parallel to the boundary). But if you face problems with the normal incidence I'm afraid there is nothing to do for the moment without changing your global setup.

If the physics of your problem allows it, you can use a longer simulation domain, possibly empty of any particles, in order to let the laser propagate further away and delay the moment at which the reflection impacts your results. In a 2D simulation this should not be too costly. The required additional length depends of course of the total simulation time you need.

Hope this helps.
Arnaud

@mccoys mccoys added the feature-request something that could be added to the code label Apr 24, 2019
@alexanderboe
Copy link
Author

Hi Arnaud,

Many thanks for clarifying this and the advice. I will see if I can sufficiently delay the reflection by appending an empty region to the simulation.

All the best,

Alexander

@BenK3nobi
Copy link

Hello despite the closed issue:
Are there any news about the PML implementation?
I get similar issues as mentioned above and am currently looking for a solution.

@beck-llr
Copy link
Contributor

Hi
The implementation of PML is pretty advanced. We still have to work on it to make it compatible with the dynamic load balancing and the moving window. At that point we will probably make a first release. The results are quite promising so far.
Cheers

@BenK3nobi
Copy link

Perfect, thanks a lot for the update.
Does a timeframe for a release already exist?

@beck-llr
Copy link
Contributor

I'm sorry but no. Hopefully before March but we can not guarantee anything.

@Tissot11
Copy link

I was wondering if the PML is now implemented in SMILEI?

@beck-llr
Copy link
Contributor

PML are implemented in a developing branch for all geometries. It is not released yet because we are still working on PML for the envelope model which is a pretty tricky problem.
Computational performances of the PML have not been considered yet either.

@Tissot11
Copy link

How to get access to this developing branch? I only see four branches available; master, gh-pages,prescribed_fields and time_frozen... I'm interested in absorbing the electromagnetic fluctuations at the boundaries and currently with SM, I sometime see issues in my PIC simulations. So I would be keen to try PML. Also how to enable these in the Namelist?

@beck-llr
Copy link
Contributor

I am sorry but you can not access this branch. It is dedicate to work in progress. When the feature is released, the documentation will be updated and will answer your questions. These things are not well defined yet.
We hope to release an experimental version of the PML pretty soon. At that point we'd be glad to have you do some tests and give us feedback.
Cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request something that could be added to the code
Projects
None yet
Development

No branches or pull requests

5 participants