Add C kernel for BSSN-EM (Maxwell/electromagnetic field) RHS computation
New bssn_em_rhs_c.C computes EM field RHS (E,B,Kpsi,Kphi) and stress-energy tensor, then calls the C BSSN RHS kernel with source terms. Replaces empart.f90 when USE_CXX_EM_KERNEL=1. Supports all ghost_width orders via existing derivative kernels. Controlled by USE_CXX_EM_KERNEL switch (default 0, experimental). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -59,6 +59,12 @@ USE_CXX_Z4C_KERNELS ?= 1
|
||||
## Note: this requires USE_CXX_KERNELS=1 because the wrapper reuses the C BSSN kernel.
|
||||
USE_CXX_ESCALAR_KERNEL ?= 1
|
||||
|
||||
## BSSN-EM RHS switch
|
||||
## 1 : use BSSN-EM C kernel (bssn_em_rhs_c.C) on the normal patch path
|
||||
## 0 : keep the original Fortran empart.f90 RHS for the EM fields (default)
|
||||
## Note: experimental, requires USE_CXX_KERNELS=1
|
||||
USE_CXX_EM_KERNEL ?= 0
|
||||
|
||||
## Cached transfer switch
|
||||
## auto (default): enable for BSSN vacuum, keep other paths on the safe uncached path
|
||||
## 1 : force cached Sync/Restrict/OutBd transfer on evolution hot paths
|
||||
|
||||
Reference in New Issue
Block a user