aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
diff options
context:
space:
mode:
authorrhaas <rhaas@ac85fae7-cede-4708-beff-ae01c7fa1c26>2012-08-09 06:10:15 +0000
committerrhaas <rhaas@ac85fae7-cede-4708-beff-ae01c7fa1c26>2012-08-09 06:10:15 +0000
commit3c0323ec4a6d0cceefd1a2c1dcfd45144fea1f21 (patch)
treeae3c8168cbd07d72d44b4fb4ba6566d538cf5db1 /schedule.ccl
parentd2b532c48a0ec8bd2eaa27ab01945df853820c5b (diff)
Introduce a better treatment of the shocktube boundaries.
* The 2d diagonal boundary conditions are correctly applied when using multiprocessors. * The ymin (ymax) surfaces have their points in the region indsum < minsum (indsum > maxsum) fixed after a first sync operation. A second sync guarantees the neighbour grid receives the correct value of the boundary on those regions. * Mirror symmetries applied at the faces intercepting the upper right corner assumed cubic local domain. However, rectangular local domains are common after domain decomposition. This commit fixes the indexes applying this symmetry for these cases. * Upper right corner/edge/surface condition should use sten instead of stenp1. Thanks for catching this Josh! * Attempt at a 3d diagonal boundary treatment (Josh's commit) git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/GRHydro_InitData/trunk@135 ac85fae7-cede-4708-beff-ae01c7fa1c26
Diffstat (limited to 'schedule.ccl')
-rw-r--r--schedule.ccl42
1 files changed, 34 insertions, 8 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 2e32506..2b72ab4 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -43,20 +43,46 @@ if (CCTK_Equals(initial_hydro,"shocktube")) {
if(CCTK_Equals(shocktube_type,"diagshock"))
{
- schedule GRHydro_Diagshock_BoundaryM IN ApplyBCs AFTER BoundaryConditions AFTER Boundary::Boundary_ClearSelection
- {
- LANG: Fortran
- } "Diagonal shock boundary conditions"
+ if(clean_divergence){
+ schedule GRHydro_Diagshock_BoundaryM IN ApplyBCs AFTER BoundaryConditions AFTER Boundary::Boundary_ClearSelection
+ {
+ LANG: Fortran
+ SYNC: GRHydro::dens, GRHydro::tau, GRHydro::scon, GRHydro::Bcons, GRHydro::psidc
+ } "Diagonal shock boundary conditions"
+ } else {
+ schedule GRHydro_Diagshock_BoundaryM IN ApplyBCs AFTER BoundaryConditions AFTER Boundary::Boundary_ClearSelection
+ {
+ LANG: Fortran
+ SYNC: GRHydro::dens, GRHydro::tau, GRHydro::scon, GRHydro::Bcons
+ } "Diagonal shock boundary conditions"
+ }
}
if(CCTK_Equals(shocktube_type,"diagshock2d"))
{
- schedule GRHydro_Diagshock2D_BoundaryM IN ApplyBCs AFTER BoundaryConditions AFTER Boundary::Boundary_ClearSelection
- {
- LANG: Fortran
- } "2-D Diagonal shock boundary conditions"
+ schedule GRHydro_Diagshock2D_BoundaryM IN ApplyBCs AFTER BoundaryConditions AFTER Boundary::Boundary_ClearSelection
+ {
+ LANG: Fortran
+ } "2-D Diagonal shock boundary conditions"
}
+# if(CCTK_Equals(shocktube_type,"diagshock2d"))
+# {
+# if(clean_divergence){
+# schedule GRHydro_Diagshock2D_BoundaryM IN ApplyBCs AFTER BoundaryConditions AFTER Boundary::Boundary_ClearSelection
+# {
+# LANG: Fortran
+# SYNC: GRHydro::dens, GRHydro::tau, GRHydro::scon, GRHydro::Bcons, GRHydro::psidc
+# } "2-D Diagonal shock boundary conditions"
+# } else {
+# schedule GRHydro_Diagshock2D_BoundaryM IN ApplyBCs AFTER BoundaryConditions AFTER Boundary::Boundary_ClearSelection
+# {
+# LANG: Fortran
+# SYNC: GRHydro::dens, GRHydro::tau, GRHydro::scon, GRHydro::Bcons
+# } "2-D Diagonal shock boundary conditions"
+# }
+# }
+
} else {
schedule GRHydro_shocktube in HydroBase_Initial
{