Skip to content

Commit a005835

Browse files
committed
dsl: Revise interpolation dimensions extraction
1 parent 10fb6a9 commit a005835

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

devito/operations/interpolators.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,14 +248,17 @@ def _rdim(self, subdomain=None):
248248

249249
def _augment_implicit_dims(self, implicit_dims, extras=None):
250250
if extras is not None:
251-
# Get Grid Dimensions from the variables supplied
251+
# If variables are defined on a SubDomain of the Grid, then temprarily add
252+
# their dimensions to self._gdims for the purpose of checking if extra
253+
# dimensions have been included.
252254
edims = []
253255
for v in extras:
254256
try:
255-
edims.extend(v.grid.dimensions)
257+
egrid = v.grid
258+
if egrid is not None and egrid.is_SubDomain:
259+
edims = [d for d in egrid.dims if d.root in self._gdims]
256260
except AttributeError:
257-
# Not on a Grid, use the variable's Dimensions instead
258-
edims.extend(v.dimensions)
261+
pass
259262

260263
gdims = filter_ordered(edims + list(self._gdims))
261264
extra = filter_ordered([i for v in extras for i in v.dimensions

0 commit comments

Comments
 (0)