From 5f75ac9d6941b7ea5d4fb1dea6c060bfc82f7694 Mon Sep 17 00:00:00 2001 From: Rowan Cockett Date: Wed, 6 Nov 2013 10:58:48 -0800 Subject: [PATCH] Issue #29 moved ave and ddx to utils. --- SimPEG/mesh/DiffOperators.py | 12 +----------- SimPEG/utils/__init__.py | 2 +- SimPEG/utils/sputils.py | 10 ++++++++++ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/SimPEG/mesh/DiffOperators.py b/SimPEG/mesh/DiffOperators.py index 598b392a..b295b970 100644 --- a/SimPEG/mesh/DiffOperators.py +++ b/SimPEG/mesh/DiffOperators.py @@ -1,11 +1,6 @@ import numpy as np from scipy import sparse as sp -from SimPEG.utils import mkvc, sdiag, speye, kron3, spzeros - - -def ddx(n): - """Define 1D derivatives, inner, this means we go from n+1 to n+1""" - return sp.spdiags((np.ones((n+1, 1))*[-1, 1]).T, [0, 1], n, n+1, format="csr") +from SimPEG.utils import mkvc, sdiag, speye, kron3, spzeros, ddx, av def checkBC(bc): @@ -39,11 +34,6 @@ def ddxCellGrad(n, bc): return D -def av(n): - """Define 1D averaging operator from cell-centres to nodes.""" - return sp.spdiags((0.5*np.ones((n+1, 1))*[1, 1]).T, [0, 1], n, n+1, format="csr") - - class DiffOperators(object): """ Class creates the differential operators that you need! diff --git a/SimPEG/utils/__init__.py b/SimPEG/utils/__init__.py index ae83222e..244c3103 100644 --- a/SimPEG/utils/__init__.py +++ b/SimPEG/utils/__init__.py @@ -6,6 +6,6 @@ import ModelBuilder import Solver from Solver import Solver from matutils import getSubArray, mkvc, ndgrid, ind2sub, sub2ind -from sputils import spzeros, kron3, speye, sdiag +from sputils import spzeros, kron3, speye, sdiag, ddx, av from lomutils import volTetra, faceInfo, inv2X2BlockDiagonal, inv3X3BlockDiagonal, indexCube, exampleLomGird from interputils import interpmat diff --git a/SimPEG/utils/sputils.py b/SimPEG/utils/sputils.py index 39444c27..4f71e69e 100644 --- a/SimPEG/utils/sputils.py +++ b/SimPEG/utils/sputils.py @@ -20,3 +20,13 @@ def kron3(A, B, C): def spzeros(n1, n2): """spzeros""" return sp.coo_matrix((n1, n2)).tocsr() + + +def ddx(n): + """Define 1D derivatives, inner, this means we go from n+1 to n""" + return sp.spdiags((np.ones((n+1, 1))*[-1, 1]).T, [0, 1], n, n+1, format="csr") + + +def av(n): + """Define 1D averaging operator from cell-centres to nodes.""" + return sp.spdiags((0.5*np.ones((n+1, 1))*[1, 1]).T, [0, 1], n, n+1, format="csr")