Skip to content
Snippets Groups Projects
quadrature.py 552 B
from dune.perftool.generation import generator_factory
from dune.perftool.transformer import quadrature_iname, loopy_temporary_variable
from dune.perftool.pdelab import dune_symbol, quadrature_preamble, dune_preamble

@dune_symbol
def quadrature_rule():
    return "rule"

@quadrature_preamble(assignees="fac")
def define_quadrature_factor(fac):
    rule = quadrature_rule()
    return "auto {} = {}->weight();".format(fac, rule)

@dune_symbol
def name_factor():
    loopy_temporary_variable("fac")
    define_quadrature_factor("fac")
    return "fac"