From f3a2829b5b32b6fad8383ac16c16ac6c2f58b696 Mon Sep 17 00:00:00 2001 From: hawke Date: Wed, 21 May 2003 09:12:14 +0000 Subject: Add support for evolving complex GFs and (real and complex) GAs. Only works with ICN or RK2 for now - in fact this commit may break the generic RK methods temporarily. Note the documentation isn't quite right - there's no longer a seperate function for each different type... git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@12 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b --- interface.ccl | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 146 insertions(+), 2 deletions(-) (limited to 'interface.ccl') diff --git a/interface.ccl b/interface.ccl index 46d3a96..36758a6 100644 --- a/interface.ccl +++ b/interface.ccl @@ -5,9 +5,15 @@ implements: MethodOfLines inherits: nanchecker -INCLUDE HEADER: MoLFunctions.h IN MoLFunctions.h -INCLUDE HEADER: MoL.h IN MoL.h +#INCLUDE HEADER: MoLFunctions.h IN MoLFunctions.h +#INCLUDE HEADER: MoL.h IN MoL.h USES INCLUDE: NaNChecker.h + +################################################################ +### Aliased registration and type changing functions for the ### +### standard (i.e., real) GFs. ### +################################################################ + CCTK_INT FUNCTION MoLRegisterEvolved(CCTK_INT IN EvolvedIndex, \ CCTK_INT IN RHSIndex) CCTK_INT FUNCTION MoLRegisterConstrained(CCTK_INT IN ConstrainedIndex) @@ -40,6 +46,132 @@ PROVIDES FUNCTION MoLChangeToSaveAndRestore WITH MoL_ChangeToSaveAndRestore \ LANGUAGE C PROVIDES FUNCTION MoLChangeToNone WITH MoL_ChangeToNone LANGUAGE C +################################################################ +### Aliased registration and type changing functions for the ### +### complex GFs. ### +################################################################ + +# CCTK_INT FUNCTION MoLRegisterEvolvedComplex(CCTK_INT IN EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLRegisterConstrainedComplex(CCTK_INT IN ConstrainedIndex) +# CCTK_INT FUNCTION MoLRegisterSaveAndRestoreComplex(CCTK_INT IN SandRIndex) +# CCTK_INT FUNCTION MoLRegisterEvolvedComplexGroup(CCTK_INT IN EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLRegisterConstrainedComplexGroup(CCTK_INT IN \ +# ConstrainedIndex) +# CCTK_INT FUNCTION MoLRegisterSaveAndRestoreComplexGroup(CCTK_INT IN SandRIndex) +# CCTK_INT FUNCTION MoLChangeToEvolvedComplex(CCTK_INT IN EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLChangeToConstrainedComplex(CCTK_INT IN ConstrainedIndex) +# CCTK_INT FUNCTION MoLChangeToSaveAndRestoreComplex(CCTK_INT IN SandRIndex) +# CCTK_INT FUNCTION MoLChangeToNoneComplex(CCTK_INT IN RemoveIndex) +# +# PROVIDES FUNCTION MoLRegisterEvolvedComplex WITH MoL_RegisterEvolvedComplex \ +# LANGUAGE C +# PROVIDES FUNCTION MoLRegisterConstrainedComplex WITH \ +# MoL_RegisterConstrainedComplex LANGUAGE C +# PROVIDES FUNCTION MoLRegisterSaveAndRestoreComplex WITH \ +# MoL_RegisterSaveAndRestoreComplex LANGUAGE C +# PROVIDES FUNCTION MoLRegisterEvolvedComplexGroup WITH \ +# MoL_RegisterEvolvedComplexGroup LANGUAGE C +# PROVIDES FUNCTION MoLRegisterConstrainedComplexGroup WITH \ +# MoL_RegisterConstrainedComplexGroup LANGUAGE C +# PROVIDES FUNCTION MoLRegisterSaveAndRestoreComplexGroup WITH \ +# MoL_RegisterSaveAndRestoreComplexGroup LANGUAGE C +# PROVIDES FUNCTION MoLChangeToEvolvedComplex WITH \ +# MoL_ChangeToEvolvedComplex LANGUAGE C +# PROVIDES FUNCTION MoLChangeToConstrainedComplex WITH \ +# MoL_ChangeToConstrainedComplex LANGUAGE C +# PROVIDES FUNCTION MoLChangeToSaveAndRestoreComplex WITH \ +# MoL_ChangeToSaveAndRestoreComplex LANGUAGE C +# PROVIDES FUNCTION MoLChangeToNoneComplex WITH MoL_ChangeToNoneComplex \ +# LANGUAGE C + +################################################################ +### Aliased registration and type changing function for real ### +### grid arrays of all dimensions. ### +################################################################ + +# CCTK_INT FUNCTION MoLRegisterEvolvedArray(CCTK_INT IN EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLRegisterConstrainedArray(CCTK_INT IN ConstrainedIndex) +# CCTK_INT FUNCTION MoLRegisterSaveAndRestoreArray(CCTK_INT IN SandRIndex) +# CCTK_INT FUNCTION MoLRegisterEvolvedArrayGroup(CCTK_INT IN EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLRegisterConstrainedArrayGroup(CCTK_INT IN \ +# ConstrainedIndex) +# CCTK_INT FUNCTION MoLRegisterSaveAndRestoreArrayGroup(CCTK_INT IN SandRIndex) +# CCTK_INT FUNCTION MoLChangeToEvolvedArray(CCTK_INT IN EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLChangeToConstrainedArray(CCTK_INT IN ConstrainedIndex) +# CCTK_INT FUNCTION MoLChangeToSaveAndRestoreArray(CCTK_INT IN SandRIndex) +# CCTK_INT FUNCTION MoLChangeToNoneArray(CCTK_INT IN RemoveIndex) +# +# PROVIDES FUNCTION MoLRegisterEvolvedArray WITH MoL_RegisterEvolvedArray \ +# LANGUAGE C +# PROVIDES FUNCTION MoLRegisterConstrainedArray WITH \ +# MoL_RegisterConstrainedArray LANGUAGE C +# PROVIDES FUNCTION MoLRegisterSaveAndRestoreArray WITH \ +# MoL_RegisterSaveAndRestoreArray LANGUAGE C +# PROVIDES FUNCTION MoLRegisterEvolvedArrayGroup WITH \ +# MoL_RegisterEvolvedArrayGroup LANGUAGE C +# PROVIDES FUNCTION MoLRegisterConstrainedArrayGroup WITH \ +# MoL_RegisterConstrainedArrayGroup LANGUAGE C +# PROVIDES FUNCTION MoLRegisterSaveAndRestoreArrayGroup WITH \ +# MoL_RegisterSaveAndRestoreArrayGroup LANGUAGE C +# PROVIDES FUNCTION MoLChangeToEvolvedArray WITH MoL_ChangeToEvolvedArray \ +# LANGUAGE C +# PROVIDES FUNCTION MoLChangeToConstrainedArray WITH \ +# MoL_ChangeToConstrainedArray LANGUAGE C +# PROVIDES FUNCTION MoLChangeToSaveAndRestoreArray WITH \ +# MoL_ChangeToSaveAndRestoreArray LANGUAGE C +# PROVIDES FUNCTION MoLChangeToNoneArray WITH MoL_ChangeToNoneArray LANGUAGE C + +################################################################### +### Aliased registration and type changing function for complex ### +### grid arrays of all dimensions. ### +################################################################### + +# CCTK_INT FUNCTION MoLRegisterEvolvedComplexArray(CCTK_INT IN EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLRegisterConstrainedComplexArray(CCTK_INT IN \ +# ConstrainedIndex) +# CCTK_INT FUNCTION MoLRegisterSaveAndRestoreComplexArray(CCTK_INT IN SandRIndex) +# CCTK_INT FUNCTION MoLRegisterEvolvedComplexArrayGroup(CCTK_INT IN \ +# EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLRegisterConstrainedComplexArrayGroup(CCTK_INT IN \ +# ConstrainedIndex) +# CCTK_INT FUNCTION MoLRegisterSaveAndRestoreComplexArrayGroup(CCTK_INT IN \ +# SandRIndex) +# CCTK_INT FUNCTION MoLChangeToEvolvedComplexArray(CCTK_INT IN EvolvedIndex, \ +# CCTK_INT IN RHSIndex) +# CCTK_INT FUNCTION MoLChangeToConstrainedComplexArray(CCTK_INT IN \ +# ConstrainedIndex) +# CCTK_INT FUNCTION MoLChangeToSaveAndRestoreComplexArray(CCTK_INT IN SandRIndex) +# CCTK_INT FUNCTION MoLChangeToNoneComplexArray(CCTK_INT IN RemoveIndex) +# +# PROVIDES FUNCTION MoLRegisterEvolvedComplexArray WITH \ +# MoL_RegisterEvolvedComplexArray LANGUAGE C +# PROVIDES FUNCTION MoLRegisterConstrainedComplexArray WITH \ +# MoL_RegisterConstrainedComplexArray LANGUAGE C +# PROVIDES FUNCTION MoLRegisterSaveAndRestoreComplexArray WITH \ +# MoL_RegisterSaveAndRestoreComplexArray LANGUAGE C +# PROVIDES FUNCTION MoLRegisterEvolvedComplexArrayGroup WITH \ +# MoL_RegisterEvolvedComplexArrayGroup LANGUAGE C +# PROVIDES FUNCTION MoLRegisterConstrainedComplexArrayGroup WITH \ +# MoL_RegisterConstrainedComplexArrayGroup LANGUAGE C +# PROVIDES FUNCTION MoLRegisterSaveAndRestoreComplexArrayGroup WITH \ +# MoL_RegisterSaveAndRestoreComplexArrayGroup LANGUAGE C +# PROVIDES FUNCTION MoLChangeToEvolvedComplexArray WITH \ +# MoL_ChangeToEvolvedComplexArray LANGUAGE C +# PROVIDES FUNCTION MoLChangeToConstrainedComplexArray WITH \ +# MoL_ChangeToConstrainedComplexArray LANGUAGE C +# PROVIDES FUNCTION MoLChangeToSaveAndRestoreComplexArray WITH \ +# MoL_ChangeToSaveAndRestoreComplexArray LANGUAGE C +# PROVIDES FUNCTION MoLChangeToNoneComplexArray WITH \ +# MoL_ChangeToNoneComplexArray LANGUAGE C + private: CCTK_REAL RKAlphaCoefficients TYPE=ARRAY DIM=2 SIZE=MoL_Intermediate_Steps,MoL_Num_Scratch_Levels+1 DISTRIB=CONSTANT @@ -70,3 +202,15 @@ CCTK_REAL ScratchSpace[MoL_Num_Evolved_Vars*MoL_Num_Scratch_Levels+1] TYPE = GF CCTK_REAL SandRScratchSpace[MoL_Num_SaveAndRestore_Vars+1] TYPE = GF Timelevels = 1 +CCTK_COMPLEX ComplexScratchSpace[MoL_Num_ComplexEvolved_Vars*MoL_Num_Scratch_Levels+1] TYPE = GF Timelevels = 1 + +CCTK_COMPLEX ComplexSandRScratchSpace[MoL_Num_ComplexSaveAndRestore_Vars+1] TYPE = GF Timelevels = 1 + +CCTK_REAL ArrayScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size Timelevels = 1 + +CCTK_REAL ArraySandRScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size Timelevels = 1 + +CCTK_COMPLEX ComplexArraySandRScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size Timelevels = 1 + +CCTK_COMPLEX ComplexArrayScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size Timelevels = 1 + -- cgit v1.2.3