Skip to content
Snippets Groups Projects
Commit fd3fe07c authored by Marcel Koch's avatar Marcel Koch Committed by Dominic Kempf
Browse files

use mixin to get quadrature inames

parent 19588ec7
No related branches found
No related tags found
No related merge requests found
......@@ -307,7 +307,7 @@ def name_jacobian_inverse_transposed(restriction):
# translate a point in the micro element into macro coordinates
def define_point_in_macro(name, point_in_micro):
def define_point_in_macro(name, point_in_micro, visitor):
dim = local_dimension()
if get_form_option('vectorization_blockstructured'):
temporary_variable(name, shape=(dim,), managed=True)
......@@ -327,17 +327,17 @@ def define_point_in_macro(name, point_in_micro):
# TODO relax within inames
instruction(assignee=prim.Subscript(prim.Variable(name), (i,)),
expression=expr,
within_inames=frozenset(subelem_inames + get_backend(interface="quad_inames")()),
within_inames=frozenset(subelem_inames + visitor.quadrature_inames()),
tags=frozenset({subelem_inames[i]})
)
# TODO add subelem inames if this function gets called
# TODO change input parameter to string
def name_point_in_macro(point_in_micro):
def name_point_in_macro(point_in_micro, visitor):
assert isinstance(point_in_micro, prim.Expression)
name = get_pymbolic_basename(point_in_micro) + "_macro"
define_point_in_macro(name, point_in_micro)
define_point_in_macro(name, point_in_micro, visitor)
return name
......
......@@ -8,9 +8,13 @@ import pymbolic.primitives as prim
@quadrature_mixin("blockstructured")
class BlockstructuredQuadratureMixin(GenericQuadratureMixin):
def quadrature_position(self):
def quadrature_position(self, index=None):
original = GenericQuadratureMixin.quadrature_position(self)
return prim.Variable(name_point_in_macro(original))
qp = prim.Variable(name_point_in_macro(original, self), )
if index is not None:
return prim.Subscript(qp, (index,))
else:
return qp
#
# @backend(interface="quad_pos", name='blockstructured')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment