diff options
author | rhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2012-05-16 16:28:21 +0000 |
---|---|---|
committer | rhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2012-05-16 16:28:21 +0000 |
commit | 5894edf0407dad2f9d73e743ef2a9ea8877985f6 (patch) | |
tree | 3a888d4e9eee97f72fd706ce4b39dd16efce700f | |
parent | bf0af4bc506767bf32e656bb83f8b3442421c374 (diff) |
GRHydro: decouple Bvec(flux_direction) from other two for divclean
since it and psidc form a 2d subsystem of the characteristic system. See
eg. Mignonoe et al. arXiv:1001.2832v2 section 3.1.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@335 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
-rw-r--r-- | param.ccl | 4 | ||||
-rw-r--r-- | src/GRHydro_HLLEM.F90 | 6 |
2 files changed, 10 insertions, 0 deletions
@@ -549,6 +549,10 @@ CCTK_REAL setcharmin "Minimum characteristic speed for psidc if psidcspeed is se -1:0 :: "Any value smaller than speed of light - sign should be negative" } -1.0 +BOOLEAN decouple_normal_Bfield "when using divergence cleaning properly decouple Bx,psidc subsystem" +{ +} yes + boolean track_divB "Track the magnetic field constraint violations" { } "no" diff --git a/src/GRHydro_HLLEM.F90 b/src/GRHydro_HLLEM.F90 index 995dd67..1e274eb 100644 --- a/src/GRHydro_HLLEM.F90 +++ b/src/GRHydro_HLLEM.F90 @@ -442,6 +442,12 @@ subroutine GRHydro_HLLEM(CCTK_ARGUMENTS) !!$ Wavespeeds for psidc are +/-c, not Fast Magnetosonic? psidcf = 0.5d0 * (1.d0 * psidcfp - (-1.d0) * psidcfm + & 1.d0 * (-1.d0) * psidcdiff) + if(decouple_normal_Bfield .ne. 0) then ! same expression for HLLE and LLF + !!$ B^i field decouples from the others and has same propagation + !!$ speed as divergence + f1(5+flux_direction) = 0.5d0 * (1.d0 * fplus(5+flux_direction) - (-1.d0) * fminus(5+flux_direction) + & + 1.d0 * (-1.d0) * qdiff(5+flux_direction)) + end if case(2) charmax = setcharmax charmin = setcharmin |