aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interface.ccl7
-rw-r--r--param.ccl4
-rw-r--r--schedule.ccl11
-rw-r--r--src/GRHydro_Con2PrimM.F9016
-rw-r--r--src/GRHydro_ParamCheck.F909
-rw-r--r--src/make.code.defn1
6 files changed, 47 insertions, 1 deletions
diff --git a/interface.ccl b/interface.ccl
index 39a8463..2af666b 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -186,8 +186,11 @@ real dens type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolo
real tau type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="Scalar" tensorweight=+1.0 interpolator="matter"' "internal energy"
-real scon[3] type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="D" tensorweight=+1.0 interpolator="matter"' "generalized momenta"
+real scon[3] type = GF Timelevels = 3 tags='Prolongation="HydroBase::prolongation_type" tensortypealias="D" tensorweight=+1.0 interpolator="matter"' "generalized momenta"
+real bcom[3] type = GF Timelevels = 3 tags='Prolongation="none" tensortypealias="D" tensorweight=+1.0 interpolator="matter"' "comoving magnetic field components"
+
+real bcom0 type = GF Timelevels = 3 tags='Prolongation="none" tensortypealias="Scalar"' "0 component of the comoving magnetic field"
real GRHydro_tracers[number_of_tracers] type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="Scalar"'
{
@@ -257,6 +260,8 @@ real GRHydro_fluxes type = GF Timelevels = 1 tags='Prolongation="None" checkpoin
private:
+int MHD type = SCALAR tags='checkpoint="no"' "Are we doing MHD? Set in ParamCheck"
+
int GRHydro_reflevel type = SCALAR tags='checkpoint="no"' "Refinement level GRHydro is working on right now"
real GRHydro_con_bext type = GF Timelevels = 1 tags='Prolongation="None" checkpoint="no"'
diff --git a/param.ccl b/param.ccl
index 2cb4919..0420c82 100644
--- a/param.ccl
+++ b/param.ccl
@@ -30,6 +30,10 @@ EXTENDS KEYWORD evolution_method ""
{
"GRHydro" :: "Use GRHydro to evolve the hydro variables"
}
+EXTENDS KEYWORD Bvec_evolution_method ""
+{
+ "GRHydro" :: "Use GRHydro to evolve the MHD variables"
+}
#########################################
### PARAMETRES SHARED FROM MoL ###
diff --git a/schedule.ccl b/schedule.ccl
index eeb03f2..b91c57d 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -23,6 +23,11 @@ if (timelevels == 3)
}
STORAGE: ADMBase::metric[3], ADMBase::curv[3]
STORAGE: ADMBase::lapse[3]
+ if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
+ {
+ STORAGE:bcom0[3]
+ STORAGE:bcom[3]
+ }
}
else
{
@@ -36,7 +41,13 @@ else
}
STORAGE: ADMBase::metric[2], ADMBase::curv[2]
STORAGE: ADMBase::lapse[2]
+ if(CCTK_Equals(Bvec_evolution_method,"GRHydro"))
+ {
+ STORAGE:bcom0[2]
+ STORAGE:bcom[2]
+ }
}
+STORAGE:MHD
STORAGE:GRHydro_reflevel
STORAGE:densrhs
STORAGE:taurhs
diff --git a/src/GRHydro_Con2PrimM.F90 b/src/GRHydro_Con2PrimM.F90
new file mode 100644
index 0000000..292c8b4
--- /dev/null
+++ b/src/GRHydro_Con2PrimM.F90
@@ -0,0 +1,16 @@
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+#include "SpaceMask.h"
+
+
+subroutine Conservative2PrimitiveM(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+
+end subroutine Conservative2PrimitiveM
diff --git a/src/GRHydro_ParamCheck.F90 b/src/GRHydro_ParamCheck.F90
index 51da4f0..07ef0ee 100644
--- a/src/GRHydro_ParamCheck.F90
+++ b/src/GRHydro_ParamCheck.F90
@@ -90,5 +90,14 @@ subroutine GRHydro_ParamCheck(CCTK_ARGUMENTS)
if (CCTK_EQUALS(bound,"static")) then
call CCTK_PARAMWARN("GRHydro::bound = 'static' is no longer supported, use 'none' instead");
end if
+
+ if (CCTK_EQUALS(Bvec_evolution_method,"GRHydro")) then
+ MHD = 1
+ else
+ MHD = 0
+ endif
+
+
+
end subroutine GRHydro_ParamCheck
diff --git a/src/make.code.defn b/src/make.code.defn
index b3f2ccd..c7dadf2 100644
--- a/src/make.code.defn
+++ b/src/make.code.defn
@@ -7,6 +7,7 @@ SRCS = Utils.F90 \
GRHydro_Boundaries.F90 \
GRHydro_CalcUpdate.F90 \
GRHydro_Con2Prim.F90 \
+ GRHydro_Con2PrimM.F90 \
GRHydro_Eigenproblem.F90 \
GRHydro_Eigenproblem_Marquina.F90 \
GRHydro_ENOReconstruct.F90 \