Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor improvements to code #79

Merged
merged 4 commits into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions ttim/aquifer.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,21 @@ def __init__(
):
"""Kzoverkh and model3d only need to be specified when model is model3d."""
self.model = model
self.kaq = np.atleast_1d(kaq).astype("d")
self.z = np.atleast_1d(z).astype("d")
self.kaq = np.atleast_1d(kaq).astype(float)
self.z = np.atleast_1d(z).astype(float)
self.naq = len(self.kaq)
self.nlayers = len(self.z) - 1
self.Haq = np.atleast_1d(Haq).astype("d")
self.Hll = np.atleast_1d(Hll).astype("d")
self.Haq = np.atleast_1d(Haq).astype(float)
self.Hll = np.atleast_1d(Hll).astype(float)
self.T = self.kaq * self.Haq
self.Tcol = self.T.reshape(self.naq, 1)
self.c = np.atleast_1d(c).astype("d")
self.c = np.atleast_1d(c).astype(float)
self.c[self.c > 1e100] = 1e100
self.Saq = np.atleast_1d(Saq).astype("d")
self.Sll = np.atleast_1d(Sll).astype("d")
self.Saq = np.atleast_1d(Saq).astype(float)
self.Sll = np.atleast_1d(Sll).astype(float)
self.Sll[self.Sll < 1e-20] = 1e-20 # Cannot be zero
self.poraq = np.atleast_1d(poraq).astype("d")
self.porll = np.atleast_1d(porll).astype("d")
self.poraq = np.atleast_1d(poraq).astype(float)
self.porll = np.atleast_1d(porll).astype(float)
self.ltype = np.atleast_1d(ltype)
self.zaqtop = self.z[:-1][self.ltype == "a"]
self.zaqbot = self.z[1:][self.ltype == "a"]
Expand All @@ -50,7 +50,7 @@ def __init__(
self.phreatictop = phreatictop
self.kzoverkh = kzoverkh
if self.kzoverkh is not None:
self.kzoverkh = np.atleast_1d(self.kzoverkh).astype("d")
self.kzoverkh = np.atleast_1d(self.kzoverkh).astype(float)
if len(self.kzoverkh) == 1:
self.kzoverkh = self.kzoverkh * np.ones(self.naq)
self.model3d = model3d
Expand Down Expand Up @@ -96,10 +96,10 @@ def initialize(self):
self.kzoverkh[:-1] * self.kaq[:-1]
) + 0.5 * self.Haq[1:] / (self.kzoverkh[1:] * self.kaq[1:])
#
self.eigval = np.zeros((self.naq, self.model.npval), "D")
self.lab = np.zeros((self.naq, self.model.npval), "D")
self.eigvec = np.zeros((self.naq, self.naq, self.model.npval), "D")
self.coef = np.zeros((self.naq, self.naq, self.model.npval), "D")
self.eigval = np.zeros((self.naq, self.model.npval), dtype=complex)
self.lab = np.zeros((self.naq, self.model.npval), dtype=complex)
self.eigvec = np.zeros((self.naq, self.naq, self.model.npval), dtype=complex)
self.coef = np.zeros((self.naq, self.naq, self.model.npval), dtype=complex)
b = np.diag(np.ones(self.naq))
for i in range(self.model.npval):
w, v = self.compute_lab_eigvec(self.model.p[i])
Expand Down
24 changes: 12 additions & 12 deletions ttim/aquifer_parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ def param_maq(
phreatictop=False,
):
# Computes the parameters for a TimModel from input for a maq model
z = np.atleast_1d(z).astype("d")
kaq = np.atleast_1d(kaq).astype("d")
Saq = np.atleast_1d(Saq).astype("d")
poraq = np.atleast_1d(poraq).astype("d")
c = np.atleast_1d(c).astype("d")
Sll = np.atleast_1d(Sll).astype("d")
porll = np.atleast_1d(porll).astype("d")
z = np.atleast_1d(z).astype(float)
kaq = np.atleast_1d(kaq).astype(float)
Saq = np.atleast_1d(Saq).astype(float)
poraq = np.atleast_1d(poraq).astype(float)
c = np.atleast_1d(c).astype(float)
Sll = np.atleast_1d(Sll).astype(float)
porll = np.atleast_1d(porll).astype(float)
H = z[:-1] - z[1:]
assert np.all(H >= 0), (
"Error: Not all layer thicknesses are" + " non-negative" + str(H)
Expand Down Expand Up @@ -106,18 +106,18 @@ def param_3d(
toppor=0.3,
):
# Computes the parameters for a TimModel from input for a 3D model
kaq = np.atleast_1d(kaq).astype("d")
z = np.atleast_1d(z).astype("d")
kaq = np.atleast_1d(kaq).astype(float)
z = np.atleast_1d(z).astype(float)
naq = len(z) - 1
if len(kaq) == 1:
kaq = kaq * np.ones(naq)
Saq = np.atleast_1d(Saq).astype("d")
Saq = np.atleast_1d(Saq).astype(float)
if len(Saq) == 1:
Saq = Saq * np.ones(naq)
kzoverkh = np.atleast_1d(kzoverkh).astype("d")
kzoverkh = np.atleast_1d(kzoverkh).astype(float)
if len(kzoverkh) == 1:
kzoverkh = kzoverkh * np.ones(naq)
poraq = np.atleast_1d(poraq).astype("d")
poraq = np.atleast_1d(poraq).astype(float)
if len(poraq) == 1:
poraq = poraq * np.ones(naq)
Haq = z[:-1] - z[1:]
Expand Down
209 changes: 0 additions & 209 deletions ttim/aquifernew.py

This file was deleted.

14 changes: 9 additions & 5 deletions ttim/circareasink.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,12 @@ def potinf(self, x, y, aq=None):
"""Can be called with only one x,y value."""
if aq is None:
aq = self.model.aq.find_aquifer_data(x, y)
rv = np.zeros((self.nparam, aq.naq, self.model.nint, self.model.npint), "D")
rv = np.zeros(
(self.nparam, aq.naq, self.model.nint, self.model.npint), dtype=complex
)
if aq == self.aq:
r = np.sqrt((x - self.xc) ** 2 + (y - self.yc) ** 2)
# pot = np.zeros(self.model.npint, "D")
# pot = np.zeros(self.model.npint, dtype=complex)
if r < self.R:
for i in range(self.aq.naq):
for j in range(self.model.nint):
Expand All @@ -103,10 +105,12 @@ def disvecinf(self, x, y, aq=None):
"""Can be called with only one x,y value."""
if aq is None:
aq = self.model.aq.find_aquifer_data(x, y)
qx = np.zeros((self.nparam, aq.naq, self.model.npval), "D")
qy = np.zeros((self.nparam, aq.naq, self.model.npval), "D")
qx = np.zeros((self.nparam, aq.naq, self.model.npval), dtype=complex)
qy = np.zeros((self.nparam, aq.naq, self.model.npval), dtype=complex)
if aq == self.aq:
qr = np.zeros((self.nparam, aq.naq, self.model.nint, self.model.npint), "D")
qr = np.zeros(
(self.nparam, aq.naq, self.model.nint, self.model.npint), dtype=complex
)
r = np.sqrt((x - self.xc) ** 2 + (y - self.yc) ** 2)
if r < self.R:
for i in range(self.aq.naq):
Expand Down
Loading