From f2e9cb9c3ce27e436b14933405b1f6fdcd4db6cc Mon Sep 17 00:00:00 2001 From: mloubout Date: Thu, 25 Sep 2025 13:00:54 -0400 Subject: [PATCH] api: avoid double fill in initializer --- devito/builtins/initializers.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/devito/builtins/initializers.py b/devito/builtins/initializers.py index 307b353a76..99c4f386b0 100644 --- a/devito/builtins/initializers.py +++ b/devito/builtins/initializers.py @@ -367,6 +367,11 @@ def initialize_function(function, data, nbl, mapper=None, mode='constant', if any(isinstance(f, dv.TimeFunction) for f in functions): raise NotImplementedError("TimeFunctions are not currently supported.") + # Allocate data and avoid pre-filling with zeros since we immediately overwrite + # the data with the provided `data` + for f in functions: + f._create_data() + if nbl == 0: for f, data in zip(functions, datas): if isinstance(data, dv.Function): @@ -376,6 +381,7 @@ def initialize_function(function, data, nbl, mapper=None, mode='constant', else: lhss, rhss, optionss = [], [], [] for f, data in zip(functions, datas): + lhs, rhs, options = _initialize_function(f, data, nbl, mapper, mode) lhss.extend(lhs)