illinois-ceesd / mirgecom

MIRGE-Com is the workhorse simulation application for the Center for Exascale-Enabled Scramjet Design at the University of Illinois.
Other
11 stars 19 forks source link

Error with `integral@grudge` in mirgecom McKenna burner sim #936

Open MTCam opened 1 year ago

MTCam commented 1 year ago

Getting a strange (platform-independent) error when trying to perform an integral using integral@gruge in McKenna burner driver. The driver code is (https://github.com/illinois-ceesd/drivers_mckenna/blob/main/McKenna_phenolics/2D_burner_phenolics.v1a.py) (#900).

Reproduce:

Error looks like this:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: DictOfNamedArrays({'_ary': IndexLambda(expr=Sum((0, Variable('_in1'))), shape=(), dtype='float64', bindings={'_in1': IndexLambda(expr=Reduce(Subscript(Variable('in'), (Variable('_r0'), Variable('_r1'))), <pytato.reductions.SumReductionOperation object at 0x7f6a754d4d10>, immutables.Map({'_r0': (0, 1404), '_r1': (0, 10)})), shape=(), dtype='float64', bindings={'in': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((-1, Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...)}), '_in1': Einsum(tags={FirstAxisIsElementsTag()}, access_descriptors=((EinsumElementwiseAxis(dim=1), EinsumReductionAxis(dim=0)), (EinsumElementwiseAxis(dim=0), EinsumReductionAxis(dim=0)), (EinsumElementwiseAxis(dim=0), EinsumReductionAxis(dim=0))), args=((...), (...), (...)), redn_axis_to_redn_descr={EinsumReductionAxis(dim=0): ReductionDescriptor(tags=frozenset())}, index_to_access_descr={'e': EinsumElementwiseAxis(dim=0), 'j': EinsumReductionAxis(dim=0), 'i': EinsumElementwiseAxis(dim=1)})})})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Sum((0, Variable('_in1'))), shape=(), dtype='float64', bindings={'_in1': IndexLambda(expr=Reduce(Subscript(Variable('in'), (Variable('_r0'), Variable('_r1'))), <pytato.reductions.SumReductionOperation object at 0x7f6a754d4d10>, immutables.Map({'_r0': (0, 1404), '_r1': (0, 10)})), shape=(), dtype='float64', bindings={'in': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((-1, Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...)}), '_in1': Einsum(tags={FirstAxisIsElementsTag()}, access_descriptors=((EinsumElementwiseAxis(dim=1), EinsumReductionAxis(dim=0)), (EinsumElementwiseAxis(dim=0), EinsumReductionAxis(dim=0)), (EinsumElementwiseAxis(dim=0), EinsumReductionAxis(dim=0))), args=((...), (...), (...)), redn_axis_to_redn_descr={EinsumReductionAxis(dim=0): ReductionDescriptor(tags=frozenset())}, index_to_access_descr={'e': EinsumElementwiseAxis(dim=0), 'j': EinsumReductionAxis(dim=0), 'i': EinsumElementwiseAxis(dim=1)})})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Reduce(Subscript(Variable('in'), (Variable('_r0'), Variable('_r1'))), <pytato.reductions.SumReductionOperation object at 0x7f6a754d4d10>, immutables.Map({'_r0': (0, 1404), '_r1': (0, 10)})), shape=(), dtype='float64', bindings={'in': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((-1, Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in1': Einsum(tags={FirstAxisIsElementsTag()}, access_descriptors=((EinsumElementwiseAxis(dim=1), EinsumReductionAxis(dim=0)), (EinsumElementwiseAxis(dim=0), EinsumReductionAxis(dim=0)), (EinsumElementwiseAxis(dim=0), EinsumReductionAxis(dim=0))), args=(DataWrapper(axes=(Axis(tags=frozenset()), Axis(tags=frozenset())), tags={NameHint(name='mass_mat')}, data=<arraycontext.impl.pyopencl.taggable_cl_array.TaggableCLArray object at 0x7f6a769d4250>, shape=(10, 10)), DataWrapper(axes=(Axis(tags=frozenset({DiscretizationElementAxisTag()})), Axis(tags=frozenset({DiscretizationDOFAxisTag()}))), tags={NameHint(name='jac'), FEMEinsumTag(indices=((FreeEinsumIndex(discr_entity=DiscretizationElementAxisTag(), length=1404), FreeEinsumIndex(discr_entity=DiscretizationDOFAxisTag(), length=1)), (FreeEinsumIndex(discr_entity=DiscretizationElementAxisTag(), length=1404), FreeEinsumIndex(discr_entity=DiscretizationDOFAxisTag(), length=1)))), PrefixNamed(prefix='area_el_v_sample')}, data=<arraycontext.impl.pyopencl.taggable_cl_array.TaggableCLArray object at 0x7f6a769d6e10>, shape=(1404, 1)), IndexLambda(tags={NameHint(name='vec')}, expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 1.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': (...)})), redn_axis_to_redn_descr={EinsumReductionAxis(dim=0): ReductionDescriptor(tags=frozenset())}, index_to_access_descr={'e': EinsumElementwiseAxis(dim=0), 'j': EinsumReductionAxis(dim=0), 'i': EinsumElementwiseAxis(dim=1)})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((-1, Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=0.0, shape=(1404, 10), dtype='float64', bindings={})})}), '_in1': Einsum(tags={FirstAxisIsElementsTag()}, access_descriptors=((EinsumElementwiseAxis(dim=1), EinsumReductionAxis(dim=0)), (EinsumElementwiseAxis(dim=0), EinsumReductionAxis(dim=0)), (EinsumElementwiseAxis(dim=0), EinsumReductionAxis(dim=0))), args=(DataWrapper(axes=(Axis(tags=frozenset()), Axis(tags=frozenset())), tags={NameHint(name='mass_mat')}, data=<arraycontext.impl.pyopencl.taggable_cl_array.TaggableCLArray object at 0x7f6a769d4250>, shape=(10, 10)), DataWrapper(axes=(Axis(tags=frozenset({DiscretizationElementAxisTag()})), Axis(tags=frozenset({DiscretizationDOFAxisTag()}))), tags={NameHint(name='jac'), FEMEinsumTag(indices=((FreeEinsumIndex(discr_entity=DiscretizationElementAxisTag(), length=1404), FreeEinsumIndex(discr_entity=DiscretizationDOFAxisTag(), length=1)), (FreeEinsumIndex(discr_entity=DiscretizationElementAxisTag(), length=1404), FreeEinsumIndex(discr_entity=DiscretizationDOFAxisTag(), length=1)))), PrefixNamed(prefix='area_el_v_sample')}, data=<arraycontext.impl.pyopencl.taggable_cl_array.TaggableCLArray object at 0x7f6a769d6e10>, shape=(1404, 1)), IndexLambda(tags={NameHint(name='vec')}, expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 1.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(axes=(Axis(tags=frozenset({DiscretizationElementAxisTag()})), Axis(tags=frozenset({DiscretizationDOFAxisTag()}))), expr=0.0, shape=(1404, 10), dtype='float64', bindings={})})), redn_axis_to_redn_descr={EinsumReductionAxis(dim=0): ReductionDescriptor(tags=frozenset())}, index_to_access_descr={'e': EinsumElementwiseAxis(dim=0), 'j': EinsumReductionAxis(dim=0), 'i': EinsumElementwiseAxis(dim=1)})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Product((-1, Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=If(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 0.0, Subscript(Variable('_in2'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in2': (...)}), '_in1': IndexLambda(expr=If(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 0.0, Subscript(Variable('_in2'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in2': (...)})}), '_in1': IndexLambda(expr=0.0, shape=(1404, 10), dtype='float64', bindings={})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=If(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 0.0, Subscript(Variable('_in2'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Comparison(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), '<', 333.3), shape=(1404, 10), dtype='bool', bindings={'_in0': (...)}), '_in2': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in1': IndexLambda(expr=If(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 0.0, Subscript(Variable('_in2'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Comparison(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), '<', 555.6), shape=(1404, 10), dtype='bool', bindings={'_in0': (...)}), '_in2': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})})}), '_in1': IndexLambda(expr=0.0, shape=(1404, 10), dtype='float64', bindings={})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=If(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 0.0, Subscript(Variable('_in2'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Comparison(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), '<', 333.3), shape=(1404, 10), dtype='bool', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in2': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 12000.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': (...)}), '_in1': IndexLambda(expr=Call(Variable('pytato.c99.exp'), (Subscript(Variable('in_0'), (Variable('_0'), Variable('_1'))),)), shape=(1404, 10), dtype='float64', bindings={'in_0': (...)})})}), '_in1': IndexLambda(expr=If(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 0.0, Subscript(Variable('_in2'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Comparison(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), '<', 555.6), shape=(1404, 10), dtype='bool', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in2': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 4480000000.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': (...)}), '_in1': IndexLambda(expr=Call(Variable('pytato.c99.exp'), (Subscript(Variable('in_0'), (Variable('_0'), Variable('_1'))),)), shape=(1404, 10), dtype='float64', bindings={'in_0': (...)})})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=If(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 0.0, Subscript(Variable('_in2'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Comparison(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), '<', 333.3), shape=(1404, 10), dtype='bool', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})})}), '_in2': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 12000.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((-1, Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...)})}), '_in1': IndexLambda(expr=Call(Variable('pytato.c99.exp'), (Subscript(Variable('in_0'), (Variable('_0'), Variable('_1'))),)), shape=(1404, 10), dtype='float64', bindings={'in_0': IndexLambda(expr=Quotient(-8556.0, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in1': (...)})})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Comparison(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), '<', 333.3), shape=(1404, 10), dtype='bool', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 1.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': (...)}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})})}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 1.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': Placeholder(tags={PrefixNamed(prefix='cse')}, shape=(1404, 10), dtype='float64', name='_actx_in_1_3_0')}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})})}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 1.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': Placeholder(tags={PrefixNamed(prefix='cse')}, shape=(1404, 10), dtype='float64', name='_actx_in_1_3_0')}), '_in1': IndexLambda(expr=Quotient(Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1')))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Product((-1, Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})}), '_in1': IndexLambda(expr=Sum((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)}), '_in1': IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), Subscript(Variable('_in1'), (Variable('_0'), Variable('_1'))))), shape=(1404, 10), dtype='float64', bindings={'_in0': (...), '_in1': (...)})})})})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: IndexLambda(expr=Product((Subscript(Variable('_in0'), (Variable('_0'), Variable('_1'))), 1.0)), shape=(1404, 10), dtype='float64', bindings={'_in0': Placeholder(tags={PrefixNamed(prefix='cse')}, shape=(1404, 10), dtype='float64', name='_actx_in_1_3_0')})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 192, in rec
    return self._cache[key]
           ~~~~~~~~~~~^^^^^
KeyError: Placeholder(tags={PrefixNamed(prefix='cse')}, shape=(1404, 10), dtype='float64', name='_actx_in_1_3_0')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/miniforge3/envs/main/lib/python3.11/site-packages/mpi4py/__main__.py", line 7, in <module>
    main()
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/miniforge3/envs/main/lib/python3.11/site-packages/mpi4py/run.py", line 198, in main
    run_command_line(args)
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/miniforge3/envs/main/lib/python3.11/site-packages/mpi4py/run.py", line 47, in run_command_line
    run_path(sys.argv[0], run_name='__main__')
  File "<frozen runpy>", line 291, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "2D_burner_phenolics.v1a.py", line 3064, in <module>
    main(actx_class, use_logmgr=args.log, casename=casename, 
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/mirgecom/mirgecom/mpi.py", line 226, in wrapped_func
    func(*args, **kwargs)
  File "2D_burner_phenolics.v1a.py", line 2980, in main
    advance_state(
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/mirgecom/mirgecom/steppers.py", line 439, in advance_state
    _advance_state_stepper_func(
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/mirgecom/mirgecom/steppers.py", line 159, in _advance_state_stepper_func
    state, dt = pre_step_callback(state=state, step=istep, t=t, dt=dt)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "2D_burner_phenolics.v1a.py", line 2569, in my_pre_step
    rhs = my_rhs(t, state)
          ^^^^^^^^^^^^^^^^
  File "2D_burner_phenolics.v1a.py", line 2901, in my_rhs
    rhs_state = unfiltered_rhs_compiled(t, state)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/arraycontext/arraycontext/impl/pytato/compile.py", line 337, in __call__
    output_template = self.f(
                      ^^^^^^^
  File "2D_burner_phenolics.v1a.py", line 2667, in unfiltered_rhs
    integral(dcoll, dd_vol_sample, sample_source_gas)
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/grudge/grudge/reductions.py", line 291, in integral
    return nodal_sum(
           ^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/grudge/grudge/reductions.py", line 138, in nodal_sum
    comm.allreduce(actx.to_numpy(nodal_sum_loc(dcoll, dd, vec)), op=MPI.SUM))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/arraycontext/arraycontext/impl/pytato/__init__.py", line 381, in to_numpy
    self._rec_map_container(_to_numpy, self.freeze(array)),
                                       ^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/arraycontext/arraycontext/impl/pytato/__init__.py", line 491, in freeze
    normalized_expr, bound_arguments = _normalize_pt_expr(
                                       ^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/arraycontext/arraycontext/impl/pytato/utils.py", line 94, in _normalize_pt_expr
    normalized_expr = normalize_mapper(expr)
                      ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 215, in __call__
    return self.rec(expr)  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 309, in map_dict_of_named_arrays
    return DictOfNamedArrays({key: self.rec(val.expr)
                             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 309, in <dictcomp>
    return DictOfNamedArrays({key: self.rec(val.expr)
                                   ^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 222, in map_index_lambda
    bindings: Dict[str, Array] = {
                                 ^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 223, in <dictcomp>
    name: self.rec(subexpr)
          ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 194, in rec
    result = super().rec(expr)  # type: ignore[type-var]
             ^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/pytato/pytato/transform/__init__.py", line 165, in rec
    return method(expr, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tulio/Desktop/postdoc/MIRGE-Com/main/emirge/arraycontext/arraycontext/impl/pytato/utils.py", line 77, in map_placeholder
    raise ValueError("Placeholders cannot appear in"
ValueError: Placeholders cannot appear in DatawrapperToBoundPlaceholderMapper.
majosm commented 1 year ago

After refreshing my memory on the reduction code in grudge, I think I see why this isn't working. The global reductions call MPI internally, and they do it in a way that's not compatible with pytato (i.e., they call MPI directly instead of creating send/recv nodes). So as currently written they can't be used in compiled functions. IIRC we would need to add MPI reduction nodes to pytato; not sure how much work would be involved with that.

@tulioricci Is there any way this could be rewritten in a more local way? I don't suppose an elementwise integral could be used somehow instead?

Edit: How rapidly does the blowing velocity change? Another option might be updating it once per timestep, outside the RHS. (Could slow things down though, since the reductions have uncompiled code in them.)

tulioricci commented 1 year ago

I don't see a way to treat it with elementwise operations because I need the actual integral in the entire volume for the current level of approximation/simplification of the problem. If there is a way to make it lazy friendly, I am all ears.

It is such a crude approximation that I don't see a problem making it fixed during the step. We can chat over slack on the particular details on passing it through to the RHS.

For reference, this is what I am trying to prescribe at the boundary:

Screenshot from 2023-07-18 13-01-10