From 33ec7d1cb74c47a0082682c881cf9aa4f8eb3985 Mon Sep 17 00:00:00 2001 From: pollney Date: Tue, 9 Sep 2003 14:49:37 +0000 Subject: This is Ian's patch to LegoExcision, which provides a function aliased interface. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/LegoExcision/trunk@36 f75ba9e5-694f-0410-ac2c-87ea7ce7132b --- interface.ccl | 35 +++++++++++++++++++++++++++++++++++ param.ccl | 12 ++++++++++++ schedule.ccl | 6 ++++++ src/make.code.defn | 2 +- 4 files changed, 54 insertions(+), 1 deletion(-) diff --git a/interface.ccl b/interface.ccl index 00f9b28..88decb5 100644 --- a/interface.ccl +++ b/interface.ccl @@ -2,3 +2,38 @@ # $Header$ implements: legoexcision + +inherits: spacemask, grid + +SUBROUTINE ExcisionFindBoundary(CCTK_INT OUT ierr, \ + CCTK_REAL INOUT ARRAY mask, \ + CCTK_INT IN ni, \ + CCTK_INT IN nj, \ + CCTK_INT IN nk) +PROVIDES FUNCTION ExcisionFindBoundary WITH excision_findboundary \ + LANGUAGE Fortran + +SUBROUTINE ExcisionExtrapolate(CCTK_INT OUT ierr, \ + CCTK_REAL INOUT ARRAY var, \ + CCTK_REAL IN ARRAY oldvar, \ + CCTK_REAL IN ARRAY mask, \ + CCTK_REAL IN ARRAY dirx, \ + CCTK_REAL IN ARRAY diry, \ + CCTK_REAL IN ARRAY dirz, \ + CCTK_INT IN ni, \ + CCTK_INT IN nj, \ + CCTK_INT IN nk, \ + CCTK_REAL IN var0) +PROVIDES FUNCTION ExcisionExtrapolate WITH excision_extrapolate \ + LANGUAGE Fortran + +SUBROUTINE ExcisionFindNormals(CCTK_INT OUT ierr, \ + CCTK_REAL IN ARRAY mask, \ + CCTK_REAL IN ARRAY dirx, \ + CCTK_REAL IN ARRAY diry, \ + CCTK_REAL IN ARRAY dirz, \ + CCTK_INT IN ni, \ + CCTK_INT IN nj, \ + CCTK_INT IN nk) +PROVIDES FUNCTION ExcisionFindNormals WITH excision_findnormals \ + LANGUAGE Fortran diff --git a/param.ccl b/param.ccl index 0123585..6769626 100644 --- a/param.ccl +++ b/param.ccl @@ -1,2 +1,14 @@ # Parameter definitions for thorn LegoExcision # $Header$ + +KEYWORD fixed_excision "Excise a fixed region?" +{ + "sphere" :: "A sphere about the origin of a given radius" + "cube" :: "A cube about the origin with a given corner" + "none" :: "No fixed excision" +} "none" + +REAL fixed_size "The size (radius or corner location) of the fixed region" +{ + 0:* :: "Positive" +} 1.0 diff --git a/schedule.ccl b/schedule.ccl index b27d880..fa9d462 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -1,2 +1,8 @@ # Schedule definitions for thorn LegoExcision # $Header$ + +schedule Lego_FixedSphere in CCTK_PRESTEP +{ + LANG:Fortran +} "Excise a fixed lego sphere" + diff --git a/src/make.code.defn b/src/make.code.defn index 854a5e8..82aec7c 100644 --- a/src/make.code.defn +++ b/src/make.code.defn @@ -2,7 +2,7 @@ # $Header$ # Source files in this directory -SRCS = extrapolate.F90 findboundary.F90 findnormals.F90 +SRCS = extrapolate.F90 findboundary.F90 findnormals.F90 fixedsphere.F90 # Subdirectories containing source files SUBDIRS = -- cgit v1.2.3