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

Different Meshscalings #195

Open
BenK3nobi opened this issue Dec 19, 2019 · 4 comments
Open

Different Meshscalings #195

BenK3nobi opened this issue Dec 19, 2019 · 4 comments
Labels
feature-request something that could be added to the code

Comments

@BenK3nobi
Copy link

Heyho,
I am currently trying to setup some TNSA calculations.
As long as the laser is interacting with the plasma a very fine mesh is needed. (Have to resolve the laser parameters).
Afterwards to see how the particles drift on a coarser mesh is possible to decrease the amount of data that needs to be saved.
Is there any way to do this properly in smilei?
I thought about the checkpoints utility, but it states that it needs the same input file. Which then also uses the same fine mesh again?
Is there something I did not find yet? Or is it not possible to change this calculation domains?

@beck-llr
Copy link
Contributor

Hi
Technically you can initialize a Smilei simulation by setting yourself the caracteristics of each single macro-particle and the value of electromagnetic fields on each grid point through the External field feature.
So in order to start a simulation with a different mesh, you would have to manually extract the data of all particles from simulation 1 in order to reuse it in simulation 2 as initial position, weight and momenta. You would also have to extract the full field information (via a Field diag for instance), manually interpolate it to the coordinates of the second simulation mesh and finally use the Externalfield feature to initialize that field in simulation 2. I would advise in that case to run a Poisson correction on top of it because I doubt the interpolation will be good enough to respect Poisson equation. Especially if you coarsen the mesh.

This is quite a technical accomplishment and it is not something which is implemented for the moment but it should be technically possible with python manipulations only.
Cheers

@mccoys
Copy link
Contributor

mccoys commented Dec 19, 2019

I would say it is currently unrealistic. The tricks suggested by @beck-llr are really complicated.

We could imagine a new feature in which the restart from a checkpoint would use a different mesh resolution, but this is quite a challenge. One difficulty is to treat correctly the boundary conditions for fields. Note that, for TNSA, it is unclear for me how the evolution of fields due to the dense target expansion will affect the accelerated ions. I am not sure you can safely discard the dense target and use a low resolution. In addition, the accelerating field is created by escaping electrons, which are affected by the 2D geometry : only 3D will accurately describe them. Thus this seems quite a stretch to try to simulate late-time evolution in 2D.

@MickaelGrech
Copy link
Contributor

To build up on the answers by @beck-llr and @mccoys I would say that:
1- this is indeed in principle (using python) but quite tricky;
2- the 2D is really problematic for the long-term evolution of TNSA as the Coulomb potential as a logarithmic dependence with space in 2d (\propto ln(x)); as a result, electrons are always bound to the target (no escape velocity). As pointed out by @mccoys it can thus be tricky to remove the solid density target correctly.
3- when considering a solid density (or in general over-dense) target as usually considered for TNSA, the resolution is constrained by the electron skin-depth, which is much smaller than the laser optical cycle... so even after the laser is turned off, you still need a high-resolution.

@BenK3nobi
Copy link
Author

There was a publication by Z. Lecz et al. at ICAP 2012 [1],[2], where the assumption of a drifting plasma after a specific acceleration time allows for a coarser \Delta x and \Delta t meshing.
That was what I wanted to reproduce.
I see that this is a little more complicated than I thought.
Since I probably won't get it done before christmas I will postpone this idea and will simulate everything with the same fine mesh.
BUT if this would be possible in a future release I would really find that interesting :)
If I get to properly implement and test that, I will let you know ^^

Cheers,
Benedikt

[1] https://accelconf.web.cern.ch/accelconf/ICAP2012/papers/frsai3.pdf
[2] https://accelconf.web.cern.ch/accelconf/ICAP2012/talks/frsai3_talk.pdf (Slide 8)

@mccoys mccoys added the feature-request something that could be added to the code label Jan 8, 2020
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

4 participants