Skip to content

Blank electric field option for implicit solvers - #7224

Open
JustinRayAngus wants to merge 14 commits into
BLAST-WarpX:developmentfrom
JustinRayAngus:implicit_blank_Efield
Open

Blank electric field option for implicit solvers#7224
JustinRayAngus wants to merge 14 commits into
BLAST-WarpX:developmentfrom
JustinRayAngus:implicit_blank_Efield

Conversation

@JustinRayAngus

@JustinRayAngus JustinRayAngus commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

This is the first of two PRs adding the capability to not evolve ("blank") user-specified components of the electric field when using the electromagnetic implicit solvers. This PR introduces the basic functionality, while a follow-on PR will exploit the blanking options to improve the efficiency of the implicit solve.

In 1D geometry, this feature enables the electromagnetic implicit solvers to be used as the energy-conserving electrostatic model described in https://doi.org/10.1016/j.jcp.2011.05.031, in which the electric field is advanced via Ampère's law. This approach has been used in the following works:

In 2D XZ and RZ geometries, this feature can be used to disable evolution of the out-of-plane y-component of the electric field. This is suitable for problems with symmetries for which only in-plane currents are relevant (e.g. m=0 modes in a Z-pinch).

When symmetries permit field blanking, there is potential to significantly improve the efficiency of the implicit solvers. For example, when the y-component of the electric field can be ignored, the number of required mass matrices is reduced from 9 to 4: only sigma_xx, sigma_xz, sigma_zx, and sigma_zz are needed.

TODO list:

  • Add CI test.

@JustinRayAngus JustinRayAngus added the component: implicit solvers Anything related to implicit solvers label Aug 31, 2026
Comment thread Docs/source/usage/parameters.rst Outdated
const amrex::IntVect ncomp_zz = m_ncomp_zz;

if (!m_blank_electric_field[0]) {
amrex::ParallelFor(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be indented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component: implicit solvers Anything related to implicit solvers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants