示例#1
0
    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
示例#2
0
    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
示例#3
0
 def ext_dependencies(self):
     from hedge.optemplate.tools import get_flux_dependencies
     return set(get_flux_dependencies(
             self.flux_expr, self.bpair, bdry="ext"))
示例#4
0
 def dependencies(self):
     from hedge.optemplate.tools import get_flux_dependencies
     return set(get_flux_dependencies(
         self.flux_expr, self.field_expr))
示例#5
0
 def ext_dependencies(self):
     from hedge.optemplate.tools import get_flux_dependencies
     return set(
         get_flux_dependencies(self.flux_expr, self.bpair, bdry="ext"))
示例#6
0
 def dependencies(self):
     from hedge.optemplate.tools import get_flux_dependencies
     return set(get_flux_dependencies(self.flux_expr, self.field_expr))