From 3f183ce4a972d3ae34da4e830299af9a67a9ef3e Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 4 Apr 2013 12:19:13 -0400 Subject: Carpet: Don't call Requirements when only asking about allocated storage When CCTK_GroupStorage{De,In}crease is called to only inquire about storage (and not modify it), don't call the Requirements thorn. --- Carpet/Carpet/src/Storage.cc | 51 +++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 22 deletions(-) (limited to 'Carpet') diff --git a/Carpet/Carpet/src/Storage.cc b/Carpet/Carpet/src/Storage.cc index d6ec2260a..f8f6f3516 100644 --- a/Carpet/Carpet/src/Storage.cc +++ b/Carpet/Carpet/src/Storage.cc @@ -59,6 +59,35 @@ namespace Carpet { assert (tls[n] >= 0); } +#ifdef REQUIREMENTS_HH + vector vgroups, vtimelevels; + vgroups.reserve(n_groups); + vtimelevels.reserve(n_groups); + for (int i=0; i ntls); + } + if (do_change) { + vgroups.push_back(gi); + vtimelevels.push_back(ntls); + } + } + if (not vgroups.empty()) { + Requirements::ChangeStorage(vgroups, vtimelevels, reflevel); + } +#endif + bool const can_do = is_meta_mode() or is_global_mode() or is_level_mode(); bool const all_ml = is_meta_mode(); int const min_ml = all_ml ? 0 : mglevel; @@ -219,28 +248,6 @@ namespace Carpet { min_num_timelevels = 0; } -#ifdef REQUIREMENTS_HH - vector vgroups(n_groups), vtimelevels(n_groups); - for (int i=0; i