def __init__(self):
     MultiFunction.__init__(self)
     self.ufl_to_replaced_ufl = dict()
     self.ufl_to_sympy = dict()
     self.sympy_to_ufl = dict()
     self.ufl_to_sympy_id = dict()
     self.sympy_id_to_ufl = dict()
Exemple #2
0
 def __init__(self, mapping):
     MultiFunction.__init__(self)
     self._mapping = mapping
     if not all(k._ufl_is_terminal_ for k in mapping.keys()):
         error("This implementation can only replace Terminal objects.")
     if not all(k.ufl_shape == v.ufl_shape for k, v in mapping.items()):
         error("Replacement expressions must have the same shape as what they replace.")
Exemple #3
0
 def __init__(self, side=None):
     MultiFunction.__init__(self)
     self.current_restriction = side
     self.default_restriction = "+"
     if self.current_restriction is None:
         self._rp = {"+": RestrictionPropagator("+"),
                     "-": RestrictionPropagator("-")}
Exemple #4
0
 def __init__(self, predefined, coefficients, tempVars):
     MultiFunction.__init__(self)
     self.using = set()
     self.predefined = predefined
     self.coefficients = [] if coefficients is None else coefficients
     self.code = []
     self.tempVars = tempVars
Exemple #5
0
 def __init__(self,
              argument_names=None,
              coefficient_names=None,
              colorama_bold=False):
     MultiFunction.__init__(self)
     self.argument_names = argument_names
     self.coefficient_names = coefficient_names
     self.colorama_bold = colorama_bold and has_colorama
Exemple #6
0
 def __init__(self, argument_deps=None, coefficient_deps=None):
     MultiFunction.__init__(self)
     if argument_deps is None:
         argument_deps = {}
     if coefficient_deps is None:
         coefficient_deps = {}
     self.argument_deps = argument_deps
     self.coefficient_deps = coefficient_deps
Exemple #7
0
 def __init__(self, argument_deps=None, coefficient_deps=None):
     MultiFunction.__init__(self)
     if argument_deps is None:
         argument_deps = {}
     if coefficient_deps is None:
         coefficient_deps = {}
     self.argument_deps = argument_deps
     self.coefficient_deps = coefficient_deps
Exemple #8
0
    def __init__(self, context):
        # MultiFunction.__init__ does not call further __init__
        # methods, but ufl2gem.Mixin must be initialised.
        # (ModifiedTerminalMixin requires no initialisation.)
        MultiFunction.__init__(self)
        ufl2gem.Mixin.__init__(self)

        # Need context during translation!
        self.context = context
Exemple #9
0
 def __init__(self, side=None):
     MultiFunction.__init__(self)
     self.current_restriction = side
     self.default_restriction = "+"
     if self.current_restriction is None:
         self._rp = {
             "+": RestrictionPropagator("+"),
             "-": RestrictionPropagator("-")
         }
Exemple #10
0
    def __init__(self, context):
        # MultiFunction.__init__ does not call further __init__
        # methods, but ufl2gem.Mixin must be initialised.
        # (ModifiedTerminalMixin requires no initialisation.)
        MultiFunction.__init__(self)
        ufl2gem.Mixin.__init__(self)

        # Need context during translation!
        self.context = context
Exemple #11
0
 def __init__(self, mapping):
     MultiFunction.__init__(self)
     self._mapping = mapping
     if not all(k._ufl_is_terminal_ for k in mapping.keys()):
         error("This implementation can only replace Terminal objects.")
     if not all(k.ufl_shape == v.ufl_shape for k, v in mapping.items()):
         error(
             "Replacement expressions must have the same shape as what they replace."
         )
Exemple #12
0
    def __init__(self, ir, language, symbols, parameters):
        MultiFunction.__init__(self)

        # Store ir and parameters
        self.entitytype = ir["entitytype"]
        self.integral_type = ir["integral_type"]
        self.language = language
        self.symbols = symbols
        self.parameters = parameters
Exemple #13
0
    def __init__(self, ir, language, symbols, parameters):
        MultiFunction.__init__(self)

        # Store ir and parameters
        self.entitytype = ir["entitytype"]
        self.integral_type = ir["integral_type"]
        self.language = language
        self.symbols = symbols
        self.parameters = parameters
Exemple #14
0
 def __init__(self, side=None):
     MultiFunction.__init__(self)
     self.current_restriction = side
     self.default_restriction = "+"
     # Caches for propagating the restriction with map_expr_dag
     self.vcaches = {"+": {}, "-": {}}
     self.rcaches = {"+": {}, "-": {}}
     if self.current_restriction is None:
         self._rp = {
             "+": RestrictionPropagator("+"),
             "-": RestrictionPropagator("-")
         }
Exemple #15
0
 def __init__(self, mapping):
     MultiFunction.__init__(self)
     for k in mapping:
         if (not k._ufl_is_terminal_
                 and not isinstance(k, (Indexed, ListTensor))):
             error(
                 "This implementation can only replace Terminal objects or non terminal Indexed"
                 + " and ListTensor objects.")
     if not all(k.ufl_shape == v.ufl_shape for k, v in mapping.items()):
         error(
             "Replacement expressions must have the same shape as what they replace."
         )
     # Prepare the mapping extracting each Indexed from any ListTensor
     self._mapping = dict()
     for (k, v) in mapping.items():
         if isinstance(k, ListTensor):
             split_k = k.ufl_operands
             split_v = split(v)
             assert len(split_k) == len(split_v)
             for (sub_k, sub_v) in zip(split_k, split_v):
                 self._mapping[sub_k] = sub_v
         else:
             self._mapping[k] = v
Exemple #16
0
 def __init__(self):
     MultiFunction.__init__(self)
     self._one = as_ufl(1.0)
     self._arg = None
 def __init__(self):
     MultiFunction.__init__(self)
     # caches for reuse in the dispatched transformers
     self.vcaches = defaultdict(dict)
     self.rcaches = defaultdict(dict)
Exemple #18
0
 def __init__(self, argument_names=None, coefficient_names=None, colorama_bold=False):
     MultiFunction.__init__(self)
     self.argument_names = argument_names
     self.coefficient_names = coefficient_names
     self.colorama_bold = colorama_bold and has_colorama
Exemple #19
0
 def __init__(self, var_shape):
     MultiFunction.__init__(self)
     self._var_shape = var_shape
Exemple #20
0
 def __init__(self, test=None, trial=None):
     self.restrictions = {0: test, 1: trial}
     MultiFunction.__init__(self)
Exemple #21
0
 def __init__(self, coordinates):
     self.coordinates = coordinates
     MultiFunction.__init__(self)
 def __init__(self, preserve_types=()):
     MultiFunction.__init__(self)
     # Store preserve_types as boolean lookup table
     self._preserve_types = [False] * Expr._ufl_num_typecodes_
     for cls in preserve_types:
         self._preserve_types[cls._ufl_typecode_] = True
Exemple #23
0
 def __init__(self):
     MultiFunction.__init__(self)
Exemple #24
0
 def __init__(self, argument_names=None, coefficient_names=None):
     MultiFunction.__init__(self)
     self.argument_names = argument_names
     self.coefficient_names = coefficient_names
 def __init__(self):
     self.varmapping = OrderedDict()
     MultiFunction.__init__(self)
     ufl2gem.Mixin.__init__(self)
Exemple #26
0
 def __init__(self, arguments):
     MultiFunction.__init__(self)
     self.derivatives = {arg: set() for arg in arguments}
Exemple #27
0
 def __init__(self, side=None):
     MultiFunction.__init__(self)
     self.side = side
Exemple #28
0
 def __init__(self, arguments):
     MultiFunction.__init__(self)
     self.arguments = arguments
     self._et = ()
Exemple #29
0
 def __init__(self, coordinates):
     self.coordinates = coordinates
     MultiFunction.__init__(self)
Exemple #30
0
 def __init__(self, preserve_types=()):
     MultiFunction.__init__(self)
     # Store preserve_types as boolean lookup table
     self._preserve_types = [False]*Expr._ufl_num_typecodes_
     for cls in preserve_types:
         self._preserve_types[cls._ufl_typecode_] = True
Exemple #31
0
 def __init__(self, e2i, V_sizes, V_symbols):
     MultiFunction.__init__(self)
     self.symbol_count = 0
     self.e2i = e2i
     self.V_sizes = V_sizes
     self.V_symbols = V_symbols
Exemple #32
0
 def __init__(self):
     MultiFunction.__init__(self)
     self.nodetype = {}
Exemple #33
0
    def __init__(self, tabulation_manager, context):
        MultiFunction.__init__(self)
        ufl2gem.Mixin.__init__(self)

        context.tabulation_manager = tabulation_manager
        self.context = context
Exemple #34
0
 def __init__(self, t, timedep_coeffs):
     MultiFunction.__init__(self)
     self.t = t
     self.timedep_coeffs = timedep_coeffs
Exemple #35
0
 def __init__(self, test=None, trial=None):
     self.restrictions = {0: test, 1: trial}
     MultiFunction.__init__(self)
Exemple #36
0
 def __init__(self, language):
     MultiFunction.__init__(self)
     UFL2CNodesMixin.__init__(self, language)
Exemple #37
0
 def __init__(self, return_list):
     MultiFunction.__init__(self)
     self.return_list = return_list
Exemple #38
0
 def __init__(self, split):
     MultiFunction.__init__(self)
     self._split = split
Exemple #39
0
    def __init__(self, context):
        MultiFunction.__init__(self)
        ufl2gem.Mixin.__init__(self)

        self.context = context
Exemple #40
0
 def __init__(self, require_restriction):
     MultiFunction.__init__(self)
     self.current_restriction = None
     self.require_restriction = require_restriction
Exemple #41
0
 def __init__(self, language):
     MultiFunction.__init__(self)
     UFL2CNodesMixin.__init__(self, language)
 def __init__(self):
     MultiFunction.__init__(self)
Exemple #43
0
 def __init__(self, split):
     MultiFunction.__init__(self)
     self._split = split
 def __init__(self):
     MultiFunction.__init__(self)
     self.vcache = defaultdict(dict)
     self.rcache = defaultdict(dict)
Exemple #45
0
 def __init__(self):
     MultiFunction.__init__(self)
     self._ngrads = 0
     self._restricted = ''
     self._avg = ''
Exemple #46
0
 def __init__(self, var_shape):
     MultiFunction.__init__(self)
     self._var_shape = var_shape
 def __init__(self):
     MultiFunction.__init__(self)
     self.nodetype = {}
Exemple #48
0
 def __init__(self):
     MultiFunction.__init__(self)
     self._one = as_ufl(1.0)
     self._arg = None
Exemple #49
0
 def __init__(self, arguments):
     MultiFunction.__init__(self)
     self.arguments = arguments
     self._et = ()