From 6dae890941bbfcadc93be03e3004e479495b972b Mon Sep 17 00:00:00 2001 From: Ellis <eshoag@illinois.edu> Date: Fri, 20 Oct 2017 12:56:48 -0500 Subject: [PATCH] working --- grudge/execution.py | 3 ++- grudge/symbolic/mappers/__init__.py | 3 ++- grudge/symbolic/operators.py | 14 ++++++++------ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/grudge/execution.py b/grudge/execution.py index ceb413a..402bb6b 100644 --- a/grudge/execution.py +++ b/grudge/execution.py @@ -532,6 +532,7 @@ def process_sym_operator(sym_operator, post_bind_mapper=None, dumper("before-empty-flux-killer", sym_operator) sym_operator = mappers.EmptyFluxKiller(mesh)(sym_operator) + dumper("before-cfold", sym_operator) sym_operator = mappers.CommutativeConstantFoldingMapper()(sym_operator) @@ -560,7 +561,7 @@ def process_sym_operator(sym_operator, post_bind_mapper=None, sym_operator = mappers.GlobalToReferenceMapper(mesh.ambient_dim)(sym_operator) dumper("before-distributed", sym_operator) - sys_operator = mappers.DistributedMapper()(sym_operator) + sym_operator = mappers.DistributedMapper()(sym_operator) # Ordering restriction: # diff --git a/grudge/symbolic/mappers/__init__.py b/grudge/symbolic/mappers/__init__.py index 94bf973..323cc4a 100644 --- a/grudge/symbolic/mappers/__init__.py +++ b/grudge/symbolic/mappers/__init__.py @@ -340,7 +340,8 @@ class DistributedMapper(CSECachingMapperMixin, IdentityMapper): def map_operator_binding(self, expr): if isinstance(expr.op, op.OppositeInteriorFaceSwap): - return op.OppositeRankFaceSwap()(self.rec(expr.field)) + return (op.OppositeInteriorFaceSwap()(self.rec(expr.field)) + + op.OppositeRankFaceSwap()(self.rec(expr.field))) else: return IdentityMapper.map_operator_binding(self, expr) diff --git a/grudge/symbolic/operators.py b/grudge/symbolic/operators.py index 23ca69b..05a23ad 100644 --- a/grudge/symbolic/operators.py +++ b/grudge/symbolic/operators.py @@ -383,16 +383,18 @@ class OppositeRankFaceSwap(Operator): def __init__(self, dd_in=None, dd_out=None): sym = _sym() - from meshmode.mesh import BTAG_PARTITION + # from meshmode.mesh import BTAG_PARTITION if dd_in is None: - dd_in = sym.DOFDesc(BTAG_PARTITION, None) + # FIXME: What is FRESTR_INTERIOR_FACES? + dd_in = sym.DOFDesc(sym.FRESTR_INTERIOR_FACES) + # dd_in = sym.DOFDesc(sym.BTAG_PARTITION) if dd_out is None: dd_out = dd_in - if dd_in.domain_tag is not BTAG_PARTITION: - raise ValueError("dd_in must be a rank boundary faces domain") - if dd_out != dd_in: - raise ValueError("dd_out and dd_in must be identical") + # if dd_in.domain_tag is not BTAG_PARTITION: + # raise ValueError("dd_in must be a rank boundary faces domain") + # if dd_out != dd_in: + # raise ValueError("dd_out and dd_in must be identical") super(OppositeRankFaceSwap, self).__init__(dd_in, dd_out) -- GitLab