1 #ifndef WARPX_PEC_KERNELS_H_
2 #define WARPX_PEC_KERNELS_H_
33 std::array<amrex::MultiFab*, 3> Efield,
38 bool split_pml_field =
false);
54 std::array<amrex::MultiFab*, 3> Bfield,
PatchType
Definition: WarpXAlgorithmSelection.H:59
Definition: WarpX_PEC.H:15
void ApplyPECtoElectronPressure(amrex::MultiFab *Pefield, const amrex::Vector< FieldBoundaryType > &field_boundary_lo, const amrex::Vector< FieldBoundaryType > &field_boundary_hi, const amrex::Geometry &geom, int lev, PatchType patch_type, const amrex::Vector< amrex::IntVect > &ref_ratios)
Apply the PEC boundary to the electron pressure field.
Definition: WarpX_PEC.cpp:949
void ApplyReflectiveBoundarytoRhofield(amrex::MultiFab *rho, const amrex::Vector< FieldBoundaryType > &field_boundary_lo, const amrex::Vector< FieldBoundaryType > &field_boundary_hi, const amrex::Vector< ParticleBoundaryType > &particle_boundary_lo, const amrex::Vector< ParticleBoundaryType > &particle_boundary_hi, const amrex::Geometry &geom, int lev, PatchType patch_type, const amrex::Vector< amrex::IntVect > &ref_ratios)
Reflects charge density deposited over the PEC boundary back into the simulation domain.
Definition: WarpX_PEC.cpp:658
void ApplyPECtoEfield(std::array< amrex::MultiFab *, 3 > Efield, const amrex::Vector< FieldBoundaryType > &field_boundary_lo, const amrex::Vector< FieldBoundaryType > &field_boundary_hi, const amrex::IntVect &ng_fieldgather, const amrex::Geometry &geom, int lev, PatchType patch_type, const amrex::Vector< amrex::IntVect > &ref_ratios, bool split_pml_field=false)
Sets the tangential electric field at the PEC boundary to zero. The guard cell values are set equal a...
Definition: WarpX_PEC.cpp:458
void ApplyReflectiveBoundarytoJfield(amrex::MultiFab *Jx, amrex::MultiFab *Jy, amrex::MultiFab *Jz, const amrex::Vector< FieldBoundaryType > &field_boundary_lo, const amrex::Vector< FieldBoundaryType > &field_boundary_hi, const amrex::Vector< ParticleBoundaryType > &particle_boundary_lo, const amrex::Vector< ParticleBoundaryType > &particle_boundary_hi, const amrex::Geometry &geom, int lev, PatchType patch_type, const amrex::Vector< amrex::IntVect > &ref_ratios)
Reflects current density deposited over the PEC boundary back into the simulation domain.
Definition: WarpX_PEC.cpp:748
void ApplyPECtoBfield(std::array< amrex::MultiFab *, 3 > Bfield, const amrex::Vector< FieldBoundaryType > &field_boundary_lo, const amrex::Vector< FieldBoundaryType > &field_boundary_hi, const amrex::IntVect &ng_fieldgather, const amrex::Geometry &geom, int lev, PatchType patch_type, const amrex::Vector< amrex::IntVect > &ref_ratios)
Sets the normal component of the magnetic field at the PEC boundary to zero. The guard cell values ar...
Definition: WarpX_PEC.cpp:556