Replies: 2 comments
-
Thank you for bringing this up. I think the main issue here is that the magnetostatic solver needs semi-coarsening to deal with skewed cells. MLMG without semi-coarsening is happiest when the cells are cuboid within a factor of 4/3. I will try to reproduce this issue and get back to you. |
Beta Was this translation helpful? Give feedback.
-
@BCatGA I have partially resolved some of these issues with #5446. Semi-coarsening should be working in 3D and I have changed some of the tolerances to be able to converge better. Please let me know if you still have issues. The PR has a workaround in RZ to use the outer grid boundary as the boundary and should be a bit more robust to changing the grids around. |
Beta Was this translation helpful? Give feedback.
-
Hi,
I would like to use the "warpx_magnetostatic=True" option for the Electrostatic solver so I have been running the WarpX Test input file "inputs_test_rz_magnetostatic_eb_picmi.py" to figure out how it works. In this RZ simulation, there is an electron beam of radius 0.1 m going down a pipe (embedded boundary) of radius 0.2 m. The domain is rmax=0.25 m X zmax=1 m, and there are 128 cells in the both the radial and axial directions. The input file is setup to run the simulation for only 1 time step, so it can calculate the electric and magnetic fields.
When I run the input file with Python the simulation converges. But I found that convergence is very sensitive to changes in the pipe radius (say, from 0.2 to 0.21 m) when "warpx_magnetostatic=True", but not when "warpx_magnetostatic=False". I figured out that this sensitivity goes away when I make the cells square (reducing nr to 32 for rmax = 0.25). In that case, I can put the pipe radius right on the domain boundary and the simulation will converge, as long as I make the boundary conditions at rmax the same as the pipe boundary condition (dirichlet,1V).
But that begs the question, why do I need the pipe as an embedded boundary? Why not just remove it and treat the outer boundary as the pipe by setting dirichlet boundary conditions with a constant voltage? However, when I do that, the multigrid solver converges but I get multiple segmentation faults and the simulation crashes. And again, if I set "warpx_magnetostatic=False" everything runs fine.
So, my questions are:
Thanks for your help,
Brian
Beta Was this translation helpful? Give feedback.
All reactions