Open wangjia-ai opened 2 years ago
@wangjia-ai
Thank you for reporting this. A few bug fixes that address this issue were just merged this morning, see commit 48c1a86047fb06b957474c5a92d15f104c77b039 and the corresponding PR, #3290.
Would you like to try rerunning your simulation with the very latest version of WarpX and see if the issue is resolved thanks to these bug fixes?
With the latest version and "psatd.current_correction = 1", the electric field appears to have some nonphysical distortion points.
@wangjia-ai
Glad to see that the main issue is solved. Regarding the distortion points you see, we discussed among a few developers and we think the distortion might go away by increasing the number of guard cells used in the simulation (in which case it would be caused by the non-locality of the current correction).
I tried rerunning your simulation using more guard cells but I think I do not get the same results as you, so I might be doing something wrong on my side (maybe in the way I plot the output data).
It is probably easier for you to try rerunning the simulation with more guard cells and reproduce the plot above to compare the results.
In order to use more guard cells, I would suggest setting the order of the spectral solver explicitly with psatd.nox = 16
and psatd.noz = 16
(these are the default values, so the ones you already use) together with psatd.nx_guard = 16
and psatd.nz_guard = 24
(or even 32
if the boxes in your domain decomposition are big enough).
This would test if using more guard cells only longitudinally makes a difference (I have reasons to believe that the longitudinal guard cells might matter more than the radial ones in this case). If this does not work, you can try increasing also the radial guard cells, by increasing the value of psatd.nx_guard
.
The problem still exists with psatd.nx_guard=24 and psatd.nz_guard=48.
@wangjia-ai
Thank you.
Can you please confirm to us that these distortion points do not show up if current correction is turned off (psatd.current_correction=0
)?
Yes, the distortion points do not show up as "psatd.current_correction=0"
Dear developers: I found there may have some nonphysical results when using "psatd.current_correction = 1", are some key parameters missing in the input file? inputs_2d.txt