From 81a6c748e62387606b9ebb80aca112530bfcdf0e Mon Sep 17 00:00:00 2001
From: "Timothy A. Smith" <tasmith4@illinois.edu>
Date: Mon, 27 May 2019 22:58:13 -0500
Subject: [PATCH] add FluxDerivativeArrays object and setup fixture for
 multiple arrays

---
 setup_fixtures.py | 16 ++++++++++++++++
 test.py           |  2 ++
 2 files changed, 18 insertions(+)

diff --git a/setup_fixtures.py b/setup_fixtures.py
index 3b51fce..9e24722 100644
--- a/setup_fixtures.py
+++ b/setup_fixtures.py
@@ -8,6 +8,7 @@ class FluxDerivativeParams:
         self.nx = nx
         self.ny = ny
         self.nz = nz
+        self.nhalo = 6
 
 
 class FluxDerivativeArrays:
@@ -20,3 +21,18 @@ class FluxDerivativeArrays:
 
 def random_array(*shape):
     return np.random.random_sample(shape).astype(np.float32).copy(order="F")
+
+
+def random_flux_derivative_arrays(params):
+    nvars = params.nvars
+    ndim = params.ndim
+    nx_halo = params.nx + params.nhalo
+    ny_halo = params.ny + params.nhalo
+    nz_halo = params.nz + params.nhalo
+
+    states = random_array(nvars, nx_halo, ny_halo, nz_halo)
+    fluxes = random_array(nvars, ndim, nx_halo, ny_halo, nz_halo)
+    metrics = random_array(ndim, ndim, nx_halo, ny_halo, nz_halo)
+    metric_jacobians = random_array(nx_halo, ny_halo, nz_halo)
+
+    return FluxDerivativeArrays(states, fluxes, metrics, metric_jacobians)
diff --git a/test.py b/test.py
index 999959b..d99f84f 100644
--- a/test.py
+++ b/test.py
@@ -31,6 +31,8 @@ def test_matvec(ctx_factory):
 
 def test_compute_flux_derivatives(ctx_factory):
     params = setup.FluxDerivativeParams(ndim=3, nvars=5, nx=10, ny=10, nz=10)
+    arrays = setup.random_flux_derivative_arrays(params)
+
     ndim = 3
     nvars = 5
     nx = 10
-- 
GitLab