diff options
author | cott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2010-05-26 23:40:05 +0000 |
---|---|---|
committer | cott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2010-05-26 23:40:05 +0000 |
commit | 1eee8cf0b4736d858f432eaada22b66e7e07f572 (patch) | |
tree | d6c5b1297d697179b454ccb56138b12ff4512223 | |
parent | 44fb191dd3df6bc0836eaa6156d4ff9a1e8c6bbf (diff) |
* initial structural modifications to start with MHD development (Noble/Ott)
-> add comoving b-field: bcom[3] and bcom0
-> add integer variable MHD which is set in ParamCheck to 0 or 1
according to HydroBase::Bvec_evolution_method being GRHydro or something
else (don't want to do string comparisons very often)
-> skeleton routine Conservative2PrimitiveM in separate .F90 file
-> extend keyword Bvec_evolution_method with "GRHydro"
* code compiles, should not hurt anything already there, does not do
anyting (yet)
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@115 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
-rw-r--r-- | interface.ccl | 7 | ||||
-rw-r--r-- | param.ccl | 4 | ||||
-rw-r--r-- | schedule.ccl | 11 | ||||
-rw-r--r-- | src/GRHydro_Con2PrimM.F90 | 16 | ||||
-rw-r--r-- | src/GRHydro_ParamCheck.F90 | 9 | ||||
-rw-r--r-- | src/make.code.defn | 1 |
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"' @@ -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 \ |