def __init__(self, is_lift, interiors, boundaries, quadrature_tag): from hedge.optemplate.tools import get_flux_dependencies self.is_lift = is_lift self.interiors = tuple(interiors) self.boundaries = tuple(boundaries) self.quadrature_tag = quadrature_tag from pytools import set_sum interior_deps = set_sum(iflux.dependencies for iflux in interiors) boundary_int_deps = set_sum(bflux.int_dependencies for bflux in boundaries) boundary_ext_deps = set_sum(bflux.ext_dependencies for bflux in boundaries) self.interior_deps = list(interior_deps) self.boundary_int_deps = list(boundary_int_deps) self.boundary_ext_deps = list(boundary_ext_deps) self.boundary_deps = list(boundary_int_deps | boundary_ext_deps) self.dep_to_tag = {} for bflux in boundaries: for dep in get_flux_dependencies( bflux.flux_expr, bflux.bpair, bdry="ext"): self.dep_to_tag[dep] = bflux.bpair.tag
def __init__(self, is_lift, interiors, boundaries, quadrature_tag): from hedge.optemplate.tools import get_flux_dependencies self.is_lift = is_lift self.interiors = tuple(interiors) self.boundaries = tuple(boundaries) self.quadrature_tag = quadrature_tag from pytools import set_sum interior_deps = set_sum(iflux.dependencies for iflux in interiors) boundary_int_deps = set_sum(bflux.int_dependencies for bflux in boundaries) boundary_ext_deps = set_sum(bflux.ext_dependencies for bflux in boundaries) self.interior_deps = list(interior_deps) self.boundary_int_deps = list(boundary_int_deps) self.boundary_ext_deps = list(boundary_ext_deps) self.boundary_deps = list(boundary_int_deps | boundary_ext_deps) self.dep_to_tag = {} for bflux in boundaries: for dep in get_flux_dependencies(bflux.flux_expr, bflux.bpair, bdry="ext"): self.dep_to_tag[dep] = bflux.bpair.tag
def ext_dependencies(self): from hedge.optemplate.tools import get_flux_dependencies return set(get_flux_dependencies( self.flux_expr, self.bpair, bdry="ext"))
def dependencies(self): from hedge.optemplate.tools import get_flux_dependencies return set(get_flux_dependencies( self.flux_expr, self.field_expr))
def ext_dependencies(self): from hedge.optemplate.tools import get_flux_dependencies return set( get_flux_dependencies(self.flux_expr, self.bpair, bdry="ext"))
def dependencies(self): from hedge.optemplate.tools import get_flux_dependencies return set(get_flux_dependencies(self.flux_expr, self.field_expr))