aboutsummaryrefslogtreecommitdiff
path: root/src/driver/driver.hh
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-05-13 14:15:01 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-05-13 14:15:01 +0000
commit56c143d35416ed3ff9cb0d7d3e0f379483499479 (patch)
tree625c81b7d3890958a039216e92d1832df58f5b7c /src/driver/driver.hh
parente4e46a64b58ac6d9830eb738e4307128dc1e18b3 (diff)
redo excision mask:
* there are now 3 states (inside/buffer/outside) * there is now a "noshrink" option * many other changes too -- see thorn guide for details the new excision support isn't very well tested yet :( :( git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@1056 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'src/driver/driver.hh')
-rw-r--r--src/driver/driver.hh38
1 files changed, 23 insertions, 15 deletions
diff --git a/src/driver/driver.hh b/src/driver/driver.hh
index c9961c4..1f29ea2 100644
--- a/src/driver/driver.hh
+++ b/src/driver/driver.hh
@@ -168,23 +168,29 @@ struct verbose_info
//
struct mask_info
{
- bool do_mask;
- const fp* radius_multiplier; // --> array [hn] which we do *not* own
- const fp* radius_offset; // ditto
+ bool set_mask;
+ CCTK_REAL radius_multiplier, radius_offset;
+ CCTK_REAL buffer_thickness;
+ bool mask_is_noshrink;
bool set_old_style_mask, set_new_style_mask;
struct old_style_mask_info
{
- const char* mask_gridfn_name;
- int mask_gridfn_varindex;
- CCTK_REAL* mask_gridfn_data;
- CCTK_REAL inside_value, outside_value;
+ const char* gridfn_name;
+ int gridfn_varindex;
+ CCTK_REAL* gridfn_dataptr;
+ CCTK_REAL inside_value, buffer_value, outside_value;
} old_style_mask_info;
struct new_style_mask_info
{
- const char* mask_gridfn_name;
- int mask_gridfn_varindex;
- CCTK_INT* mask_gridfn_data;
- CCTK_INT bitfield_mask, inside_value, outside_value;
+ const char* gridfn_name;
+ int gridfn_varindex;
+ CCTK_INT* gridfn_dataptr;
+ const char* bitfield_name;
+ CCTK_INT bitfield_bitmask;
+ const char* inside_value;
+ const char* buffer_value;
+ const char* outside_value;
+ CCTK_INT inside_bitvalue, buffer_bitvalue, outside_bitvalue;
} new_style_mask_info;
};
@@ -379,15 +385,17 @@ void output_Jacobians(const patch_system& ps,
int hn, bool print_msg_flag, int AHF_iteration = 0);
// mask.cc
+void setup_mask_dataptrs_and_bitfields(const cGH *GH,
+ struct mask_info& mask_info);
void set_mask_gridfn(int N_horizons,
const struct AH_data* const AH_data_array[],
const struct cactus_grid_info& cgi,
const struct mask_info& mask_info,
const struct verbose_info& verbose_info);
-// misc.cc
+// misc-driver.cc
int Cactus_gridfn_varindex(const char gridfn_name[]);
template <typename T>
- T* Cactus_gridfn_data_ptr(const cGH *GH, int varindex,
- const char gridfn_name[],
- bool check_for_NULL = true);
+ T* Cactus_gridfn_dataptr(const cGH *GH, int varindex,
+ const char gridfn_name[],
+ bool check_for_NULL = true);