Skip to content

An AEM model program with built-in functions for: head specified boundaries, head specified wells and uniform flow.

Notifications You must be signed in to change notification settings

eriktoller/AEM_model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AEM model

An AEM model program with built-in functions for: head specified boundaries, head specified wells and uniform flow.

Author: Erik Toller
Current version: 0.3 (2019-12-20)
Master script: run_aem.py

Functions

This groundwater model is constructed out of mutiple complex discharge fucntions with which the solutions are super-positionable. In the current program the following discharge potential functions are included:

  • Phi_from_fi
  • fi_from_Phi
  • z_of_chi
  • chi_of_z
  • Omega_total
  • Omega_uni
  • Omega_well
  • Omega_lake
  • Cauchy_integral
  • get_AMQ
  • solve_Q_e
  • solve_lakes

Discharge Potential from Head

Function named as Phi_from_fi(fi, k, H) in functions.py

Calculations

if

else

Head from Discharge Potential

Function named as fi_from_Phi(Phi, k, H) in functions.py

Calculations

if

else

z of

Function named as z_of_chi(chi, nu, z1, z2) in functions.py

Calculations

of z

Function named as chi_of_z(z, nu, z1, z2) in functions.py

Calculations

Omega Total

Function named as Omega_total(z, C, W, nw, zw, rw, Q, M, nu, z1, z2, a, m, chi_far, M_not) in functions.py

Calculations

Omega Uniform Flow

Function named as Omega_uni(z, W) in functions.py

Calculations

Omega Well

Function named as Omega_well(z, zw, rw, Q) in functions.py

Calculations

if

else

Omega Lake

Function named as Omega_lake(chi, a, Q, chi_far, m) in functions.py

Calculations

if

else

Cauchy Integral

Function named as Cauchy_integral(N, C, W, nw, zw, rw, Q, M, nu, z1, z2, a, m, chi_far, M_not) in functions.py

Calculations

AM Matrix

Function named as get_AMQ(N, z_ref, nw, zw, rw, Q, M, nu, z1, z2, m, chi_far) in functions.py

Calculations

Generates a matrix of each elemets far field condition

KN Matrix and Q Solver

Function named as solve_Q_e(AM, Phi0, Phi_lake, N, C, z_ref, W, nw, zw, rw, M, nu, z1, z2, a, m, chi_far) in functions.py

Calculations

Generates a vector of each elemets difference in discharge potential without the far field condition

Then the discharges for the far field condition are calculated as

Coefficient Solver

Function named as solve_lakes(Phi_lake, N, Phi0, z_ref, W, nw, zw, rw, M, nu, z1, z2, m, chi_far) in functions.py

Calculations

AN iterative solver for the coefficients and . It solves firstly for all and then for each coefficient excluding the element who’s coefficients it is solving for. The loop solving for then is repeated until the maximum difference between two solves are smaller than a given number, typically .

Definition of variables

Reference point and aquifer properties
H aquifer thickness
k hydraulic conductivity
z_ref complex coordinate reference point
fi_ref hydraulic head at reference point
W uniform flow (complex)

Well data
zw list of complex coordinates for wells
rw list of radii of wells
fi_nw hydraulic head at wells
nw number of wells

Lake data
z1 list of complex coordinates for ellipse locii start
z2 list of complex coordinates for ellipse locii end
nu list of ν for ellipse
m list of number of coefficient for head specified boundary elements
N number of integration point for Cauchy integral
fi_M hydraulic head at head specified boundary elements
M number of head specified boundary elements

Plot properties
Nx grid plot size in x-direction
Ny grid plot size in y-direction
xmin start value in x-direction
xmax start value in x-direction
ymin start value in y-direction
ymax start value in y-direction
lvs number of contour levels

About

An AEM model program with built-in functions for: head specified boundaries, head specified wells and uniform flow.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages