Skip to main content

Model Input Menu

General

This item has only one line of input.  The first item is checked if the model is steady-state and not checked if the model is transient.  To simulate storage fluxes in transient models, spatially-variable area sinks (SVAS) are required.  If you try to solve a transient model without any SVAS, Anaqsim gives an error message.

The other three items are text values that document the length and time units used in the model, and provide comments to document the run.  The model uses consistent length and time units throughout.  For example, if you chose meters and days, then hydraulic conductivity, specific discharge, and average linear velocity are in m/day, well discharges are in m3/day, and time markers on pathlines are in days.

Solution

The two data tables under this menu define settings involved in solving the system of equations in your model.   The first defines parameters involved in solver iterations, and the second lays out the solution accuracy needed before iteration ceases.

Solve Settings

  • Underrelaxation is a parameter that governs how unknown strength parameters are updated at each iteration.  If underrelaxation is 1.0, the new strength parameter equals the parameter from the most recent iteration.  If this value is 0.7, the new strength parameter is weighted 70% by the parameter at the most recent iteration and 30% by the parameter at the previous iteration.  Lower values help damp out oscillations in parameter values from iteration to iteration and may improve convergence in some situations.  Higher values close to 1.0 speed convergence when oscillation is not a problem.  A good range for most cases is 0.9 to 1.0.
  • Maximum Iterations. When solving, iteration continues until the tolerances specified in Check Settings are met at all boundary condition control points or basis points, or if those criteria are not met, iteration ceases when this maximum number of iterations is reached.
  • Starting Heads. For transient runs, the first time step needs initial heads from some source.  There are two possibilities here:  
    1. Assign a constant value of head for each domain.  The starting head at a point is set to the domain's average head, which is specified under Domains input.  In the case of a Discharge-Specified (Multi-Domain) well, the starting head is set to the average head of the first domain listed.  This option should only be used for very simple transient runs where the initial condition is a uniform, flat, constant head.
    2. Read initial heads from a file.  This file is written by the initial (time zero) model, which is another Anaqsim model of the same area that may be steady or transient (see discussion of this file under the File menu).
  • Almost_dry_fraction. This parameter affects the solution in cases with unconfined, confined/unconfined, unconfined interface, and confined interface domains, where the heads  can drop to low enough levels that the freshwater saturated thickness of the domain approaches zero.  Instead of letting the domain have zero or negative saturated thickness, Anaqsim has a minimum saturated thickness.  In an unconfined, confined/unconfined, or unconfined interface domain, the minimum saturated thickness = (average head -  base elevation) * Almost_dry_fraction.  In a confined interface domain, the minimum saturated thickness = (top elevation - bottom elevation) * Almost_dry_fraction.   When heads drop to or below a level that would create this minimum saturated thickness, the aquifer is treated like a confined aquifer with this fixed minimum saturated thickness.  This prevents domains from actually going completely dry and helps models converge despite portions of some domains approaching "dry" conditions.  Setting
  • Almost_dry_fraction to a low value means that very little simulated horizontal discharge will occur in "'dry" portions of the domain.  Heads in these "dry"' areas will drop to unrealistically low levels (below the base of an unconfined domain, for example), and have little real meaning.  When contour plots are made of head, these unrealistically low values are neglected.  These low heads do appear in other outputs such as the panel to the left of the plot and in profiles.  Using higher values of Almost_dry_fraction may help convergence by limiting the magnitude  of head gradients in "dry" areas, at the expense of allowing more actual discharge in "dry" areas.  You can check the amount of discharge in a "dry" area by using the Analysis/Conditions Along a Line and making a profile of domain discharge along or across a line. Chose a low enough value of Almost_dry_fraction so the discharge in these "dry" areas is acceptably small.
  • Interface_leakage_option. This specifies one of two options for computing vertical leakage at a spatially-variable area sink basis point where a fresh/salt interface is present.  If unchecked (default), the vertical leakage is computed just like it is in all other cases: the vertical leakage rate is proportional to the difference in head from one level to the next.  If this column is checked and an interface is present in the overlying layer, the head difference is computed by using the freshwater head that is at pressure equilibrium with static salt water at the base of the overlying layer; the head in the overlying layer is not used to compute the head difference.  The head that is used to represent the overlying layer is the same as the head at the toe of the interface in the overlying layer.  The unchecked mode is appropriate when the resistance to vertical flow between levels is due to the K3 of the domains themselves.  The checked mode is appropriate when the resistance to vertical flow between levels is due to an aquitard between the levels that is not explicitly modeled (in this case the resistance of the aquitard must be incorporated into the K3 values specified in the upper and/or lower domain).  See Fitts et al (2015) for comparisons of these methods and discussion.

Check Settings

These settings define the accuracy of boundary conditions required of the solution; iteration continues until these conditions are met.   If when Solve is pressed the solution converged before reaching the maximum number of iterations, all boundary conditions were met within the tolerances specified here.

These settings also affect the function of Analysis/Check Boundary Conditions at Latest Iteration, which is used to check how well the solution meets specified boundary conditions.  Such conditions include heads at head-specified wells and linesinks, extraction at spatially-variable area sink basis points, etc.  When you select Analysis/Check Boundary Conditions at Control Points, each boundary condition is checked, and if the discrepancy between the specified condition and the model-simulated condition is greater than a threshold you specify here, the program prints the discrepancy to the run log.  If the discrepancy is less than the threshold, nothing is printed.  In cases where the solution did not converge to within these tolerances during the Solve process, the offending boundary conditions are listed along with their accuracy.  This can be a help to home in on which boundary conditions are holding up the Solve process.

Four kinds of boundary condition tolerances are defined as follows.

  • Head_check_tolerance is the threshold for the magnitude of discrepancy between specified and modeled heads, used at head-specified wells and line boundaries.
  • Qn_check_tolerance is the threshold for discrepancies in the computed discharge per length along River line elements.  It units are discharge/length [(L3/T)/L  = L2/T].
  • Q_check_tolerance is the threshold for discrepancies in discharge, which are used along inter-domain line boundaries and normal-flux specified boundaries.  In both cases, the condition being checked is the total discharge across a segment along the line [L3/T]. For inter-domain boundaries, it is the comparison of discharges on opposite sides of the boundary.  For normal-flux specified boundaries it is the difference between modeled and specified discharges based on the specified discharge per length times the length of the segment.
  • Extraction_check_tolerance is the threshold for discrepancies in the modeled extraction (Equation 13 of Fitts (2010)) and the extraction computed from head values (Equation 6 of Fitts (2010)).  The units of extraction and this threshold are discharge/area [(L3/T)/L2  = L/T].

Time Steps

This input is used only for transient models.  If you are doing a transient model, make sure you uncheck Steady under Model Input/General.  Each row of input in the Time Steps table defines a time period, during which all boundary conditions are constant. For example, a model could have three time periods with different recharge rates, river stages, or well discharge rates in each of the three periods, but within each period the values remain constant.  

For each time period, you specify the total length of the time period (Period_Length), the number of time steps the period is divided into (Steps_in_period), and the time step multiplier (Step_multiplier).  The multiplier causes the length of successive time steps to grow by a factor equal to the time step multiplier.  The following table illustrates the lengths of time four time steps for a period that is 100 time units long, using various time step multipliers.

Time Step Multiplier = 1.0 Multiplier = 1.5 Multiplier = 2.0
1 25.00 12.31 6.67
2 25.00 18.46 13.33
3 25.00 27.69 26.67
4 25.00 41.54 53.33
Total Time: 100.00 100.00 100.00

In all cases, the total time of the period is 100, but the lengths of the four steps change as the time step multiplier changes.  This scheme is the same as employed in MODFLOW.  Using a multiplier larger than 1.0 helps concentrate computing power early in the time period when there is more transient change occurring.  Transient storage fluxes, which are part of spatially-variable extraction, are computed for each time step using a finite-difference approximation of the governing equation (Equation 6 of Fitts, 2010).

Domains

The properties of each domain (called a subdomain in Fitts, 2010) are set with data tables under this menu.  Different tables define the properties of different kinds of domains.  A domain is a polygonal region of the model in a certain model level.  Inside a domain, the aquifer properties (hydraulic conductivities, base elevation, storativity, porosity, etc) are homogeneous.

The boundary of a particular domain is defined by a combination of line boundaries that, in their input, are listed as external to the domain.  Head-specified, normal flux-specified, and inter-domain boundaries can be external boundaries for domains.  Other line boundaries like river and discharge-specified line boundaries are internal to domains and do not define domain boundaries.  See the discussion under Subdomains and Model Levels for more detail and some examples.

All domain input data tables may be accessed through the main menu or by using a pop-up context menu when the cursor is over the plot.

Boundaries of Domains

The geometry of the boundary of each domain is not specified in the domain data tables, but is determined by the distribution line boundaries that define the external domain boundaries.  Line boundaries that can be external domain boundaries are head-specified, normal flux-specified, and inter-domain.  The data that is input for these types of line boundaries include information about which domain(s) that they bound.  All domains should be completely bounded by such line boundaries, so that their geometry is unambiguous.  See the discussion under Subdomains and Model Levels for more detail and some examples.

For the best accuracy, make sure the coordinates of the starting and ending points of adjacent external line boundaries match exactly (copy them).  For example, if a domain boundary has two line boundaries defining it - one head-specified and the other inter-domain, make sure that the start/end points where these two line boundaries join have the exact same coordinates.

Input Common to All Domains

Several parameters are common and required input for any type of domain:

  • The label_unique allows you and the model keep track of which domain is which.  When adding wells, line boundaries, etc. to the model, this label defines which domain these features are in.  These labels are required and must be unique (no two domains should have the same label).  Once the labels have been declared and other features have been added to the model, do not change the labels because doing so would require changing the domain label of each well, line boundary, and area source/sink that is in that domain.
  • The level of a domain refers to where this domain fits in the vertical sequence of model levels.  In a multi-layered part of a model, the level begins at 1 at the uppermost level and increases in deeper levels.  The level may be from 1 to a maximum of 15.  If there are vertically stacked domains in a multi-level part of the model, vertical leakage is assumed to occur between domains that are at different levels but occur at the same x,y coordinate.  For example, if three domains in a three-level part of the model were assigned levels 1, 2, and 4, there could be vertical leakage between levels 1 and 2 and between levels 2 and 4, if this area of the model has spatially-variable area source/sinks.  When making plots of model results, plots show one level at a time.
  • For Average_head, list your best estimate of the average head in this domain for your simulation.  This then defines a constant that is added to the discharge potential for this domain.  More details are given about this in the next topic.
  • The value of Porosity is used in computing average linear velocity and advection travel times along pathlines.   The average linear velocity = specific discharge/porosity.  For a solute that adsorbs to the porous medium, the solute travel time will be be longer than the pure water advective travel time.  If you want to plot travel times that factor in retardation of a solute, you may input Retardation Factor * Porosity instead of Porosity in this column and the travel times will reflect travel of a retarded solute plume.
  • K1_horizontal is the horizontal hydraulic conductivity.  In a domain that is anisotropic in the horizontal plane, K1 differs from K2, and these represent the principle hydraulic conductivities in the horizontal plane.  K1 > K2, K1 < K2,  and K1 = K2 are all possible.
  • K2_horizontal is the horizontal hydraulic conductivity.  In a domain that is anisotropic in the horizontal plane, K2 is in the direction normal to the K1_horizontal direction.  To simplify inputs, you can enter "=K1" if K2=K1 and the domain is isotropic in the plane of the domain.  If you want a fixed ratio of anisotropy, you can enter "=K1*D" where D is a real number.  Using  "=K1" or  "=K1*D" is particularly handy for parameter estimation, to limit the number of parameters being estimated.
  • Angle_K1_to_x is the angle, in degrees, between the x axis and the direction of K1_horizontal.  Positive angles are measured counter-clockwise from the x axis.
  • K3_vertical_top defines the vertical hydraulic conductivity of the upper half of the domain.  This parameter is only used if there is vertical leakage with spatially-variable area source/sinks.  To simplify inputs, you can enter "=K1" if K3=K1 and the domain is isotropic normal to the plane of the domain.  If you want a fixed ratio of anisotropy, you can enter "=K1*D" where D is a real number less than or equal to 1.0.  For example, make K1/K3 = 10 by entering "=K1*0.1".  Using  "=K1" or  "=K1*D" is particularly handy for parameter estimation, to limit the number of parameters being estimated.
  • K3_vertical_bottom defines the vertical hydraulic conductivity of the lower half of the domain.  This parameter is only used if there is vertical leakage with spatially-variable area source/sinks.  To simplify inputs, you can enter "=K1" if K3=K1 and the domain is isotropic normal to the plane of the domain.  If you want a fixed ratio of anisotropy, you can enter "=K1*D" where D is a real number less than or equal to 1.0.  For example, make K1/K3 = 10 by entering "=K1*0.1".  Using  "=K1" or  "=K1*D" is particularly handy for parameter estimation, to limit the number of parameters being estimated.

Details about Average_head

In other two-dimensional AEM programs such as TWODAN, the flow region is open to infinity, and one unknown that needs to  be solved for is the amount of flow that goes between the modeled area and infinity.  In these programs, to generate an equation to solve for that additional unknown, you specify a head at one location ("reference head" in TWODAN).  

In Anaqsim, each domain model is closed and finite, so there is not that extra unknown.  You specify the average head in each domain. which in turn defines a constant that is added to the potential for that domain.  Since there are linesinks that bound each subdomain, the flow field outside those linesinks does not matter (the flow to/from infinity doesn't affect the solution inside the domain boundary).  You could specify a variety of different average head values, within a reasonable range (close to the actual average), and get essentially identical results.

Say you have a simple Anaqsim one-domain model that has head-specified boundaries all around the external boundary, with h=100.  There is zero recharge, so h should be 100 everywhere inside the domain.  If you specify the average domain h=100, the program adds a constant to the potential that is the potential corresponding to h=100.  On solving, it will turn out that the boundary conditions are met perfectly everywhere on the boundary and the boundary linesinks all have zero discharge; the analytical model will boil down to the simple equation h(x,y)=100.  With zero discharges in the boundary linesinks, there is no flow to or from infinity to the model boundary from the outside (even though you never see this part of a domain model, it exists).

Now imagine that instead you set the average domain head to 110, which adds a larger constant to the potential for this domain.  Now, to achieve the boundary h=100, the boundary linesinks need to extract water to pull the head surface down.  In this case the solution on and inside the boundary will still be approximately h=100, but there will be flow to the outside of the boundary linesinks from infinity.  Likewise, if you set the average domain head to 90, the solution on and inside the boundary will be approximately h=100, but there will be flow from the outside of the boundary linesinks to infinity.  When you change the average head for a domain, it changes the part of the domain solution that you never see - the part that lies outside the external boundary of the domain.  

If you use long line elements with few parameters and the average head is not close to the actual average, the differences in the external, unseen part of the model may have some visible impact on the model within the domain boundary.  The most likely manifestation will be some lumpiness in the head surface near those boundary elements.  Correct this by choosing a more representative average head and/or shortening line boundary elements and increasing the number of parameters per line.

Confined and/or Unconfined

Starting with release 2015-1, confined, unconfined, and confined/unconfined domains are in the same data table, which allows the user to quickly switch between these domain types.  For confined and/or unconfined domains, these parameters are needed in addition to those that are common to all domains:

  • Domain_Type determines which type of domain is to be modeled.  Confined, Unconfined, and Confined/Unconfined are the three options.  For Confined, the domain is always a fixed saturated thickness equal to the top elevation minus the bottom elevation, and the domain's transmissivity is independent of head.  Confined domains generate linear equations, while the other two options can generate nonlinear equations.  It is often wise to begin your modeling with confined domains which tend to converge faster and be less prone to numerical issues associated with nonlinearity and drying up. Later, it is easy to switch to unconfined or confined/unconfined domain types.  With the Unconfined domain type, the domain is always unconfined and the Top_elevation is not used (although some value must be input).  The Confined/Unconfined domain type behaves like a confined aquifer when the head equals or exceeds the top elevation, but like an unconfined aquifer where the saturated thickness depends on head, when head drops below the top elevation (see Strack, 1989, section 8; Haitjema, 1995, section 3.1.3; Strack, 2003, equation 3).

Never put an unconfined domain beneath an overlying domain, because the unconfined domain saturated thickness is always computed as head minus base elevation. If you think an underlying domain may become unconfined, use confined/unconfined rather than unconfined

  • Top_elevation defines the elevation of the top of the domain.  Not used for unconfined domain type.
  • Bottom_elevation defines the elevation of the bottom of the domain.
  • Storativity (S)  is the dimensionless elastic storage parameter.  S normally is the saturated thickness times specific storage (Ss).  Starting with release 2021-1, there is an option to input the value of specific storage instead of storativity.  This can simplify input by avoiding the step of multiplying by saturated thickness.  To input specific storage, enter "Ss:" in front of the value.  For example, if you entered "Ss: 0.0037", the value of storativity in this confined domain would be set to 0.0037 * b, where b is the saturated thickness (top elevation - bottom elevation).  See Storage Parameter Details for more on how different storage parameters apply for different domain types.
  • Specific_yield (Sy) is the dimensionless storage parameter for the unconfined domain type.  See Storage Parameter Details for more on how these parameters apply for different domain types.

For numerical stability where the saturated thickness of an unconfined or confined/unconfined domain approaches zero, Anaqsim imposes a minimum saturated thickness.  When heads drop near or below the bottom, the domain reverts to a confined-type domain with a fixed minimum saturated thickness.  This facet of Anaqsim is governed by a parameter called Almost_dry_fraction under Solution/Solve Settings.

Confined Interface

For confined interface domains, these parameters are needed in addition to those that are common to all domains:

  • Top_elevation defines the elevation of the top of the domain.
  • Bottom_elevation defines the elevation of the bottom of the domain. The saturated thickness is the difference between the top and bottom elevations.
  • Storativity is the dimensionless storage parameter that applies in the confined portion of this type of aquifer, equal to saturated thickness times specific storage.  As described under Confined and/or Unconfined domains, you may enter specific storage values here instead of storativity values.
  • Salt_elevation defines the elevation of the surface of the salt water, which is assumed to be static. Typically this is about the elevation of sea level.
  • DensityRatio is the ratio of the salt water density to fresh water density. This varies from place to place, but is often near 1.025.

Interface domains in Anaqsim are based on the Ghyben-Herzberg approximation:

  • The salt water is hydrostatic - pressure is proportional to depth below Salt_elevation.  This assumption is reasonable when the flow is roughly steady.
  • The fresh/salt water interface is sharp, with no mixing.
  • Fresh water within a domain is hydrostatic (Dupuit approximation); there is no vertical resistance to flow.

The confined interface domains are based on the techniques presented by Strack (1989) on pages 101-106 and in Fitts et al (2015). These domains are confined with fresh water from top to bottom when heads are high enough that there is no interface, or they are confined with an interface and some salt water if heads are low enough.  Confined interface domains would go to zero fresh water saturated thickness when the fresh water head drops to a level where the fresh water pressure at the top of the domain equals the salt water pressure at that elevation. This occurs where the freshwater head = Top_elevation + (Salt_elevation - Top_elevation) * DensityRatio.  For numerical stability where the fresh water saturated thickness approaches zero, Anaqsim imposes a minimum saturated thickness.  When heads are low enough, the domain reverts to a confined-type domain with this minimum saturated thickness.  This facet of Anaqsim is governed by a parameter called Almost_dry_fraction under Solution/Solve Settings.

Generally transient simulations with interface domains will be inaccurate because it is assumed that the salt water has a hydrostatic distribution of pressure on the interface.  In most transient situations, the salt water is moving, and when that movement has a vertical component, the hydrostatic pressure assumption is violated.  If you feel the hydrostatic salt water assumption is still reasonable, you may proceed with a transient simulation but Anaqsim will issue a warning.  See Storage Parameter Details for more on how storage parameters apply to this domain type.

Unconfined Interface

For unconfined interface domains, these parameters are needed in addition to those that are common to all domains:

  • Bottom_elevation defines the elevation of the bottom of the domain.  The saturated thickness is the difference between the head and the bottom elevation.
  • Specific_yield is the dimensionless storage parameter for an unconfined aquifer.
  • Salt_elevation defines the elevation of the surface of the salt water, which is assumed to be static. Typically this is about the elevation of sea level.
  • DensityRatio is the ratio of the salt water density to fresh water density. This varies from place to place, but is often near 1.025.

Interface domains in Anaqsim are based on the Ghyben-Herzberg approximation:

  • The salt water is hydrostatic - pressure is proportional to depth below Salt_elevation.
  • The fresh/salt water interface is sharp, with no mixing.
  • Fresh water within a domain is hydrostatic (Dupuit approximation); there is no vertical resistance to flow.

The unconfined interface domains are based on the techniques presented by Strack (1989) on pages 108-111 and in Fitts et al (2015). These domains are unconfined with fresh water from the water table to the bottom when heads are high enough that there is no interface, or they are unconfined with an interface and some salt water if heads are low enough. Unconfined interface domains would go to zero fresh water saturated thickness when the fresh water head drops to Salt_elevation. To avoid dry conditions, keep all heads in the domain above Salt_elevation.  For numerical stability where the fresh water saturated thickness approaches zero, Anaqsim imposes a minimum saturated thickness.  When heads are low enough, the domain reverts to a confined-type domain with this minimum saturated thickness.  This facet of Anaqsim is governed by a parameter called Almost_dry_fraction under Solution/Solve Settings.

Generally transient simulations with interface domains will be inaccurate because it is assumed that the salt water has a hydrostatic distribution of pressure on the interface.  In most transient situations, the salt water is moving, and when that movement has a vertical component, the hydrostatic pressure assumption is violated.  If you feel the hydrostatic salt water assumption is still reasonable, you may proceed with a transient simulation but Anaqsim will issue a warning.  See Storage Parameter Details for more on how storage parameters apply to this domain type.

Storage Parameter Details

Storage parameters are defined differently for different domain types as explained below.

  • In confined domains, the storage parameter is always S (storativity) regardless of head.  
  • In unconfined domains, the storage parameter Sy (specific yield) applies when h > the head at minimum saturated thickness (see Almost_dry_fraction under Solve Settings).  When head is lower than the level at minimum saturated thickness,  the storage parameter equals S *  Almost_dry_fraction (usually a very small value).  This scheme helps with convergence in cases where heads fall below the bottom of the domain, but makes storage changes small under these conditions.
  • In confined/unconfined domains, storage is like a confined domain when h >= top elevation, and like an unconfined domain when h < top elevation.
  • In confined interface domains, the storage parameter = S + (porosity / (DensityRatio - 1)) where an interface is present. Where the domain is confined with no interface present (higher heads), the storage parameter = S. Generally, storage contributed by interface shifts greatly exceed elastic storage; S << porosity / (DensityRatio - 1).
  • In unconfined interface domains, the storage parameter = Sy + (porosity / (DensityRatio - 1)) where an interface is present.  Where head is high  enough that there is no interface (inland from the toe of the interface), the storage parameter = Sy.  Generally the storage contributed by interface shifts is larger than water table storage; Sy < porosity / (DensityRatio - 1).

In all but confined domains, the storage parameter is a function of head.  The head at the start of a time step is used to determine the storage parameter that applies for the time step, even though the head at the end of the time step may correspond to a different storage parameter.  This approximation helps convergence and is minor if time steps are small enough.

Pumping Wells

Pumping wells may be either discharge-specified or head-specified.  The discharge-specified type may be screened in one domain or across multiple domains if the well screen spans multiple model levels.  All well input data tables may be accessed through the main menu or by using a pop-up context menu when the cursor is over the plot.

Input Common to all Pumping Wells

With all types of pumping wells, the following parameters are required.

  • Label is a text label that helps you keep track of multiple wells.
  • X,Y defines the horizontal coordinates of the well.  To graphically edit a well's coordinates, left click to select it.  Once selected, the well will be enclosed in a purple square box as shown below

SelectedWell.jpg

When highlighted in this way, the well can be moved by clicking on the purple box and dragging it.  This will automatically alter the coordinates of the well in the model input table. To stop graphic editing, press Esc to de-select the well.

  • Radius defines the radius of the well.  If there is a high conductivity filter pack around the well screen, the radius should be the radius of the borehole, not the radius of the screen.

Discharge-Specified

With discharge-specified wells, negative rates are used for extraction from the aquifer and positive rates are used for injection into the aquifer.  Additional parameters defined here are:

  • Domain defines the domain that the well screen is in.
  • Discharge is the discharge of the well in units of [L3/T].  In transient simulations, this parameter may vary from one time period to the next.

Discharge-Specified (Multi-Domain)

Use this type of well to simulate a well with a screen that spans multiple domains and levels in the vertical direction.  Anaqsim computes the appropriate discharge from each domain spanned so that the total discharge equals the specified discharge, and the heads at the well radius in each domain match each other.  With discharge-specified wells, negative rates are used for extraction from the aquifer and positive rates are used for injection into the aquifer.

  • Domains defines the domains that the well screen spans.
  • Discharge is the discharge of the well in units of [L3/T].  In transient simulations, this parameter may vary from one time period to the next.

Head-Specified

With head-specified wells, you specify a head that applies at the well radius and Anaqsim computes the discharge needed to achieve that head.  The discharge of a head-specified well may be checked after solving from the Analysis menu.

  • Domain defines the domain that the well screen is in.
  • Head_at_well defines the head at the well radius. In transient simulations, this parameter may vary from one time period to the next.
  • Off_Periods is used in transient simulations if you want the well discharge to be zero during certain periods.  The periods you want the well off are delimited with comma(s).  For example, the following input is for a transient model with five time periods.  The well pumps at rates such that at the end of period 1 the head at the well is 80, the well is off during periods 2 and 3, and the well pumps so that the head at the well is 115 and 118, respectively, at the ends of periods 4 and 5.  

HSpecWellOffPeriods.png

Line Boundaries

A variety of line boundary conditions are available in Anaqsim.  Each line boundary is a multi-segmented line (polyline) and the user inputs a list of vertexes in sequence from one end of the polyline to the other.  The line boundary condition is approximated using linesink elements similar to those described by Jankovic and Barnes (1999).

Most line boundaries have a parameter that varies from one value at the starting vertex to another value at the ending vertex.  The  interpolation scheme between the end points is described in the next topic.

Anaqsim approximates the specified boundary conditions along line boundaries, as discussed by Fitts (2010).  You may check the accuracy of line boundary condition approximations under the Analysis menu.

For internal line boundaries, the coordinates of all polyline points must not be outside the subdomain boundary, otherwise numerical havoc will be wreaked!  It is possible for the start or end point of an internal line boundary to coincide exactly with a corner point of an external line boundary.

All line boundary input data tables may be accessed through the main menu or by using a pop-up context menu when the cursor is over the plot.

Input Common to all Line Boundaries

The following input items are common to all of the line boundaries:

  • Label is a text label that helps you keep track of multiple line boundaries.  Please see  River Line Boundary Discharges for special labeling of River line boundaries so that you may sum the discharges of groups of river boundaries.
  • Each line segment has a line element with a certain number of unknown parameters that is defined in the Parameters_per_line column.  If you choose 1 for this, the strength of the element is constant along the line, if you chose 2 for this, the strength of the element varies linearly along the line, if you choose 3 for this, the strength of the element varies parabolically along the line, etc. Using more parameters per line can increase the accuracy of the boundary condition approximation along the line, but at the cost of additional equations in the system of equations that is solved.   You only need a high number of parameters per line if the heads or discharges along the element are expected to vary complexly.  In many cases, 3 or fewer parameters per line is plenty. Experiment with this and reduce the number of parameters to the minimum that gives you reasonable boundary condition accuracy, which you can check using right-click / Check Line Boundary Conditions.  In the case of a Discharge-Specified line boundary, the user does not define Parameters_per_line because it is always set to 1; the discharge/length of these line elements is constant and equal to the specified discharge of the line boundary divided by its total length.
  • Coordinates defines the x,y coordinates of the polyline vertexes.  When you click on a cell in this column, a small text box window appears.  In this text box, enter/edit lines of coordinate data, one line per vertex.  Each line should have x and y values separated by either a comma or a tab character.  You may digitize the coordinates of a polyline in the plot view and then paste the coordinates into this text box.  In the case of normal flux-specified external boundaries, the coordinates must be listed in counter-clockwise order with the domain to the left of the boundary as you proceed along it.  Once input, coordinates can be edited graphically by selecting the line boundary and then moving the vertexes or inserting or deleting vertexes.  To graphically edit a line boundary's coordinates, left click to select it.  Once selected, the vertexes will be enclosed in purple square boxes as shown below   

SelectedVertexes.jpg

When highlighted in this way, the vertexes can be moved by clicking on the purple box and dragging it.  This will automatically alter the coordinates of the line boundary in the model input table. To de-select a line boundary, press Esc. Procedures for graphic editing of line boundaries are covered in the tutorial videos on the website.   To reverse the order of the vertexes (this can be handy if you digitized in the wrong direction), click the Reverse button.

Most line boundaries have additional parameters defined at the start and end points, such as heads for head-specified line boundaries.  With all such parameters, the same algorithm is employed to interpolate the specified values along the line boundary:

  1. Apportion the intermediate values to the vertexes based on the number of line segments in the polyline.  For example, if there are 4 segments and the end values are 100 and 110, the values at the vertexes would be 100, 102.5, 105, 107.5, and 110.  If there are 5 segments, the values at the vertexes would be 100, 102, 104, 106, 108, and 110.
  2. Linearly interpolate values to the control points within a line segment, assuming a linear distribution from one end to the other.

The additional parameters specific to each type of line boundary are listed in the following topics.

Head-Specified

With head-specified line boundaries you specify these additional items:

  • Domain defines the domain that the line boundary is in.  Double-click on this cell to open a drop-down list and make a selection.
  • Check the Domain_Boundary check box if this line boundary is on the external boundary of the domain.
  • The h_start and h_end are the specified head values at the starting and ending vertexes.  In transient simulations, these parameters may vary from one time period to the next.
  • Off_Periods is used in transient simulations if you want the line boundary discharge to be zero during certain periods.  This could be handy for a dewatering trench that is turned off and on.  The periods you want off are delimited with comma(s).  For example, the following input is for a transient model with three time periods.  The line boundary discharges at rates such that at the end of period 1 the heads along it are 104, the line boundary is zero during periods 2, and the line boundary discharges at rates such that at the end of period 3 the heads along it are 106.

HSpecLineOffPeriods.png

Boundary condition equations are written at each control point on each line segment.  The equation specifies that the modeled head = specified head (interpolated between endpoints of the line boundary).  The specified head condition is approximated between control points and may be checked graphically.

Normal Flux-Specified

With normal flux-specified line boundaries you specify these additional items:

  • Domain defines the domain that the line boundary is in.  Double-click on this cell to open a drop-down list and make a selection.
  • Check the Domain_Boundary check box if this line boundary is on the external boundary of the domain.  

When the boundary is external, it is necessary to list the coordinates of the polyline in counter-clockwise order with the domain to the left of the boundary as you proceed along it.  If coordinates are specified in the wrong (clockwise) order, there is a check in the program that will detect and report this error.  This error can occur if you mistakenly specified the coordinates in clockwise order around the outside of the domain.  This message can also result if you have made errors in specifying additional external line boundaries either at these same coordinates (e.g. have two external line boundaries in the input that share the same vertex coordinates), or have erroneous external line boundaries to the right of this one (see discussion of left/right algorithm).

  • The Normal_flux_start and Normal_flux _end are the specified normal flux values at the starting and ending vertexes.  Normal flux is the component of domain discharge normal to the line segment, and has units of discharge per length [L3/T/L] = [L2/T].  This may also be thought of as the normal component of specific discharge times saturated thickness.  The normal flux is positive for flow across the boundary from left to right as you proceed from the start toward the end.  Normal flux is negative for flow from right to left as you proceed from the start toward the end.   In transient simulations, the normal flux parameters may vary from one time period to the next.

Boundary condition equations are written for sub-intervals in each line segment (e.g. three subintervals for 3 parameters/line).  The equation specifies that the total discharge across the line over the subinterval equals the total to interpolated specified fluxes over the interval.  The accuracy of this approximation may be checked graphically.

Head-Dependent Normal Flux (3rd type)

This allows head-dependent normal flux into or out of the model, depending on the modeled head at the boundary.  Boundary conditions like this are sometimes called 3rd type, Robin, general head (GHB in MODFLOW), or mixed boundary conditions; they involve both head and flux.  The boundary must be an external boundary of a domain.  It is necessary to list the coordinates of the polyline in counter-clockwise order with the domain to the left of the boundary as you proceed along it.  If coordinates are specified in the wrong order, there is a check in the program that will detect and report this error.   This error can occur if you mistakenly specified the coordinates in clockwise order around the outside of the domain.  This message can also result if you have made errors in specifying additional external line boundaries either at these same coordinates (e.g. have two external line boundaries in the input that share the same vertex coordinates), or have erroneous external line boundaries to the right of this one (see discussion of left/right algorithm).

This kind of boundary is illustrated conceptually in the vertical profile sketched below.  It is as though there is a fictional domain beyond the boundary (orange) outside of the domain (blue) , and at a distance b outside the boundary, there is a fixed head h*. The head difference between h* and the head at the boundary (h) drives a component of discharge normal to the boundary.

3rd type boundary.png

You specify these additional items with this type of boundary:

  • Domain defines the domain that the line boundary borders.  Double-click on this cell to open a drop-down list and make a selection.
  • Conductance_start and Conductance_end  = K*/b at the starting and ending vertexes, where b is the horizontal width of the fictional domain normal to the line boundary and K* is the fictional domain horizontal K*.  When K*/b is smaller, there is low conductance at this boundary and the normal component of discharge is smaller.  The entry for Conductance_end  can be "=start" if you want the same conductance for the entire line boundary.  Alternatively, the entry for Conductance_end can be "=start*D" if you want the Conductance_end to be equal to Conductance_start times the real constant D.  Using "=start" or  "=start*D" is particularly handy for parameter estimation, to limit the number of parameters being estimated.  Prior to release 2016-3, the conductance parameter for this kind of line boundary was defined as C/b = (K*/b/K), which differs from this conductance by the factor K, which is the K of the domain.   When a domain is anisotropic in the plane of the domain, the factor K = (K1 * K2)1/2.
  • The h*_start and h*_end are the specified head values at the starting and ending vertexes, representing head a distance b outside the boundary.  

The component of aquifer discharge normal to the boundary is Qn [L2/T], determined by this equation: 

Where Φ* is the aquifer discharge potential computed for the domain using h*, and Φ is the aquifer discharge potential computed using modeled h at the boundary.  Qn is positive for discharge out of the domain.  The equation relating h to Φ depends on the domain type - it is a linear relation for confined domains but is nonlinear for unconfined and interface domains.  Books describing Φ(h) equations in the analytic element method include Fitts (2023), Strack (1989), and Haitjema (1995).  By writing the boundary condition equation this way, the boundary condition is linear, even when Φ(h) is nonlinear.  

For a confined isotropic domain, the normal component of aquifer discharge is:

Where T is the transmissivity of the domain and h is the modeled head at the boundary.  

For an unconfined isotropic domain, the normal component of aquifer discharge is:

Where K is the horizontal K of the domain, and h and h* are measured from the base of the domain.

The boundary condition equation 

is written at each control point on each line segment.  The values of conductance and Φ* are interpolated between the values specified at the start and end of the boundary.  The modeled boundary condition is approximated between control points and may be checked graphically.

Discharge-Specified

With discharge-specified line boundaries you specify these additional items:

  • Domain defines the domain that the line boundary is in.  Double-click on this cell to open a drop-down list and make a selection.
  • Discharge of the entire polyline in volume/time units [L3/T].

With this type of line boundary, the discharge per length of line is constant along the entire length of the polyline. Negative discharge implies extraction from the aquifer and positive discharge implies injection into the aquifer.  In transient simulations, this parameter may vary from one time period to the next. This type of line boundary must always be internal, not on the external boundary of a domain.  To specify discharge into or out of the external boundary of a domain, use Normal Flux-Specified boundaries.  

River

With river line boundaries you specify these additional items:

  • Label. Please see River Line Boundary Discharges for special label format of River line boundaries so that you may output the total discharges of groups of river boundaries.
  • Domain defines the domain that the line boundary is in.  Double-click on this cell to open a drop-down list and make a selection.
  • Check the Dries_up check box if this river boundary is allowed to dry up (revert to zero discharge per length) when the head falls below the specified stage.  Check Dries_up in cases where the river is small and would dry up if aquifer heads drop below stage.  If Dries_up is not checked, the river’s discharge is computed based on a head difference and a river bed conductance factor in accordance with Darcy’s Law.  There are two possibilities for how the head difference is computed:  1) if the domain head is above the base of the resisting bed, then it is the difference between the stage and the head in the domain, and 2) if the domain head is below the base of the resisting bed, then it is the difference between the stage and the elevation of the base of the resisting bed. The following graph illustrates how the discharge/length to the river line boundary would vary with or without Dries_up checked, for  the following assumptions: stage = 100, resisting bed base = 98,  resisting bed conductance C = Kv w / d = 0.2.

RiverGraph.jpg

  • Stage_start and Stage_end are the specified river stages (water surface elevations) at the starting and ending vertexes.  In transient simulations, these parameters may vary from one time period to the next.
  • Conductance_start and Conductance _end are the specified river bed conductance factors at the starting and ending vertexes.  The conductance factor equals Kv w/d where Kv is the vertical hydraulic conductivity of the resistant river bed, w is the horizontal width of the river bed, and d is the thickness of the resistant river bed.   Kv w/d has units of [L/T].  The entry for Conductance _end  can be "=start" if you want the same conductance for the entire line boundary.  Alternatively the entry for Conductance _end  can be "=start*D" if you want Conductance _end to be equal to Conductance_start times the real constant D.  Using "=start" or  "=start*D" is particularly handy for parameter estimation, to limit the number of parameters being estimated.
  • Base_resisting_layer_start and Base_resisting_layer_end are the specified elevations of the bottom of the river bed resisting layer at the starting and ending vertexes.

Boundary condition equations are written at each control point on each line segment.  The equation specifies that the discharge/length of the linesink be related to the stage and conductance(interpolated between endpoints of the line boundary) as described above.  The specified head condition is approximated between control points and may be checked graphically.  In the graphical check, the sign of the discharge is negative for flow from the domain to the river, consistent with other discharging elements.

Instead of digitizing rivers and adding line boundaries to the data table one row at a time, you may import river line boundary data from tab-delimited text that has been copied into the clipboard from a file or from a spreadsheet (e.g. Excel).  This may be a useful way to transfer large amounts of river data from other software into Anaqsim.

Import River Data from Clipboard

This menu selection is an alternate way to create new river line boundaries, in addition to Model Input Menu / Line Boundaries / River.  This alternative, found under Model Input Menu / Line Boundaries / Import River Data from Clipboard,  allows you to import text data to build river line boundary input multiple rows at a time, instead of digitizing and creating river boundaries one at a time. This could be useful for importing river data from GIS, for example.  

This command reads tab-delimited text from the clipboard and creates new River data rows in the database.  If you have the data in an Excel spreadsheet, you can highlight and copy the portion of the sheet into the clipboard, and then execute this command to import that data.  An example of the correct data format is shown below in the selected area of an Excel spreadsheet bounded by the green dotted line:

ExcelRiverDataSelection.png

First Row

The first selected row (row 2 of the spreadsheet) contains data that applies to all subsequent rows.  In this first row of input data are:

  • a text label for these river line boundaries (column A)
  • the Domain the river line boundaries are in (column B)
  • the Parameters_per_line for the river line boundaries (Column C)
  • The Dries_up value for the river line boundaries (enter "true" or "false")

Vertex Rows

The subsequent rows (rows 3-9 of the above spreadsheet) contain data for each vertex of the river line boundaries.  In these rows, the data are:

  • X coordinate of vertex (column A)
  • Y coordinate of vertex (column B)
  • Conductance at the vertex (column C) [optional parameter]
  • Base_resisting_layer at the vertex (column D) [optional parameter]
  • Stage at the vertex (column E) [optional parameter, may have multiple comma-separated values for a transient simulation with changing stages]

In the above example, two river line boundaries are input.  The first one includes the vertex data from rows 3-6 and the second one includes vertex data from rows 6-9.  If a vertex row contains only the X, Y coordinates (like rows 4,5,7,8), those vertexes are within a line boundary, not at the start or end of one.  A vertex at the start or end of a river line boundary must have all 5 columns of data to specify beginning and ending values of Conductance, Base_resisting_layer, and Stage.  All 5 columns of data are required of the first vertex row (e.g. row 3) and the last vertex row (e.g. row 9).  The example data above, when imported, created these two rows of river line boundary input:

RiverImportNewRows.PNG

Note that the label for these two rows took the label specified in the first row of the clipboard data and then added ":#1", ":#2"...to the labels of the multiple river line boundaries created.  This gives each a unique label, and the common root of the label ("test label:#" in this case) is used by Anaqsim in Analysis / River Line Boundary Discharges to sum up the discharges of all river line boundaries with this common root, in addition to the discharge of each river line boundary.  For the example above, the coordinates of "test label:#1" are:
1, 2
3, 4
5, 6
7, 8
and the coordinates of "test label:#2" are:
7, 8
9, 10
11, 12
13, 14

Drain/Fracture

Drain/Fracture line boundaries allow modeling of thin features like drains or fractures that conduct water at a high rate compared to the surrounding domain.  The drain or fracture is represented in the model as a line with zero actual width using line dipole functions.  With these line boundaries, specify these additional items:

  • Domain defines the domain that the line boundary is in.  Double-click on this cell to open a drop-down list and make a selection.
  • Conductance_start and Conductance_end = bK* at the starting and ending vertexes, where b is the horizontal width of the drain normal to the direction of the line, and K* is the drain hydraulic conductivity.  This formulation assumes the drain fully penetrates the domain. The entry for Conductance_end  can be "=start" if you want the same conductance for the entire line boundary.  Alternatively the entry for Conductance_end can be "=start*D" if you want the Conductance_end to be equal to Conductance_start times the real constant D.  Using "=start" or  "=start*D" is particularly handy for parameter estimation, to limit the number of parameters being estimated.  Prior to release 2016-3, the conductance parameter for this kind of line boundary was defined as bR = (bK*/K), which differs from this conductance by the factor K, which is the K of the domain.   When a domain is anisotropic in the plane of the domain, the factor K = (K1 * K2)1/2.

Boundary condition equations are written at each control point on each line segment.  The equation specifies that the modeled discharge within the drain (jump in stream function across drain) equals Conductance/K (interpolated between endpoints of the line boundary) times the gradient of the aquifer discharge potential in the direction of the drain.  This condition is approximated between control points and may be checked graphically.  In the graphical check, the discharge is positive for flow from the start of the boundary toward the end of the boundary, as defined by the order of vertexes.  To achieve better accuracy of this approximation, use shorter line segments and/or more parameters/line.  Shorter segments are particularly helpful at the ends of the line boundary, where the boundary condition changes rapidly.

Leaky Barrier

Leaky Barrier line boundaries allow modeling of thin features like sheet pile walls or slurry walls that create a barrier to flow, but allow some leakage.  The leaky barrier is represented in the model as a line with zero actual width using line doublet functions. With these line boundaries, specify these additional items:

  • Domain defines the domain that the line boundary is in.  Double-click on this cell to open a drop-down list and make a selection.
  • Conductance_start and Conductance_end =  K*/b at the starting and ending vertexes, where b is the width of the barrier normal to the direction of the line, and  K* is the horizontal conductivity of the barrier.  It is assumed that the barrier fully penetrates the domain.  The entry for Conductance_end  can be "=start" if you want the same conductance for the entire line boundary.  Alternatively the entry for Conductance_end can be "=start*D" if you want the Conductance_end to be equal to Conductance_start times the real constant D.  Using "=start" or  "=start*D" is particularly handy for parameter estimation, to limit the number of parameters being estimated.  Prior to release 2016-3, the conductance parameter for this kind of line boundary was defined as R/b = (K*/b/K), which differs from this conductance by the factor K, which is the K of the domain.  When a domain is anisotropic in the plane of the domain, the factor K = (K1 * K2)1/2.

Boundary condition equations are written at each control point on each line segment.  The equation specifies that the modeled aquifer discharge component normal to the barrier equals Conductance/K (interpolated between endpoints of the line boundary) times the jump in aquifer discharge potential across the barrier.  This condition is approximated between control points and may be checked graphically.   In this check, discharge is positive  for flow going from left to right as you proceed along the boundary from the start towards the end.  To achieve better accuracy of this approximation, use shorter line segments and/or more parameters/line.  Shorter segments are particularly helpful at the ends of the line boundary, where the boundary condition changes rapidly.

Inter-Domain

Inter-domain line boundaries define the boundaries between abutting domains.  It is possible to use these boundaries to abruptly shift the layering (levels) in the model.  For example, there could be a single level on one side of the boundary and multiple levels on the other side.  For inter-domain boundaries, you specify these additional items:

  • Domains_left defines the domains that are to the left of the boundary as you proceed from the first towards the last vertex listed under Coordinates.  Imagine you were on the ground walking along the boundary heading towards the last vertex - the left domains would be on your left and the right domains would be on your right.  Select these domains by clicking on the Select button.
  • Domains_right defines the domains that lie to the right of the boundary as you proceed from the first towards the last vertex listed under Coordinates.  Select these domains by clicking on the Select button.

It is easy to make a mistake specifying Domains_left or Domains_right, so Anaqsim checks this and will alert you with an error message if it detects an error.  This error can occur if you mistakenly specified the left domain(s) on the right or vice versa.   This message can also result if you have made errors in specifying additional external line boundaries either at these same coordinates (e.g. have two external line boundaries in the input that share the same vertex coordinates), or have erroneous external line boundaries to the right of this one (see discussion of left/right algorithm).

On one side of the inter-domain boundary, there should be a single domain.  The reasons for this are explained in the Anaqsim Modeling Concepts section.  At inter-domain boundaries, the domain discharges normal to the boundary are matched so that over sub-segments of each line segment, the total normal discharge of domains to the left matches the total normal discharge of domains to the right. The number of sub-segments per line segment equals the number of parameters per line.  The heads in all domains match at control points along the line segment.  The number of such control points equals the number of parameters per line.  Fitts (2010) provides more discussion of how boundary conditions are approximated at inter-domain boundaries.  The accuracy of the modeled boundary conditions may be checked graphically.

Head-Specified External with Gradient

This is a useful line boundary for simple models where you want to impose a uniform groundwater flow across your area of interest, but do not want to specify a lot of other details.  Head-specified line boundaries are placed around a roughly circular outer boundary, and the specified heads create a uniform cross-flow in the absence of other elements.  This feature creates a 12-sided approximately circular boundary consisting of specified head line boundaries, which forms the entire external boundary of the domain.

With this type of line boundary you specify these additional items:

  • Domain defines the domain that the line boundary is external to.  Double-click on this cell to open a drop-down list and make a selection.
  • X,Y defines the coordinates of the center of the circle (put at the center of the area of interest).
  • Radius is the radius of the circle.
  • Gradient is the desired horizontal hydraulic gradient at the center of the circle, in the absence of any other elements.
  • Gradient_direction is the angle that the down-gradient direction of the gradient makes with the positive x axis, in degrees.

Boundary condition equations specifying head are written at each control point on each line segment.  The specified head condition is approximated between control points and may be checked graphically.

In all types of domains, this boundary by itself produces a uniform flow across the circle, with a uniform aquifer discharge (specific discharge * saturated thickness), and head at the center of the circle will equal the Average_head specified for the domain.  With a confined domain, the specified gradient will be the gradient everywhere along the circle boundary and everywhere within the circle in the absence of other elements.  With unconfined or interface domains and no other elements, the gradient changes with saturated thickness (higher gradient with less saturated thickness), and the specified head gradient will occur at the center and along the midline of the circle.  

The head contours below show a model with only this type of line boundary and an unconfined domain where the saturated thickness ranges from 33.4 to  11.5 across the circle; note the larger hydraulic gradient where the saturated thickness is smaller.  The aquifer discharge is constant within the circle, as is the saturated thickness * hydraulic gradient.  In this case, the average head of 25 and the specified gradient occur at the center and midline.

HSpecExternalWithGradientUnconfined.png

Areas Source / Sink

Area sources or sinks are used to distribute extraction/discharge over an area in a domain as opposed to wells and line boundaries, which have extraction/discharge at a point or line.  Area source/sink extraction/discharge rates are in units of volume/time/area [L3/T/ L2] = [L/T], like is typical of precipitation or recharge rates.  Area source/sinks can represent recharge, vertical leakage, or storage fluxes in transient models.  See the Recharge, Leakage and Transient Storage section for more discussion.

In steady-state models in domains that are in a single-level part of the model, it can be efficient and appropriate to use a uniform (extraction rate independent of x,y) area source/sink over the entire domain to represent a constant rate of recharge, for example. The Uniform, Domain area source/sink is for such cases.  In these cases, the governing equations for aquifer flow are satisfied exactly.

In other cases where the vertical leakage or storage fluxes vary with location (x,y), you'll need to use spatially variable area sinks (SVAS).  SVAS are usually needed in multi-level areas of a model, and in transient models.

SVAS and uniform area sinks are mutually exclusive.  To avoid this dilemma, no SVAS basis points are placed inside any area that is also covered by a uniform area sink.

All area sink input data tables may be accessed through the main menu or by using a pop-up context menu when the cursor is over the plot.

Uniform, Domain

With this, the model simulates a constant rate of recharge/leakage over the entire domain.

  • Domain defines the domain that the uniform recharge/leakage applies in.
  • Top_flux defines the recharge/leakage rate that is applied at the top of the domain, with [L/T] units.  This is positive for flux into the aquifer.
  • Bottom_flux defines the recharge/leakage rate that is applied at the bottom of the domain, with [L/T] units.  This is positive for flux into the aquifer.

Spatially Variable Area Sink Overview

With non-uniform vertical leakage or transient flow, the area source/sink extraction/discharge needs to be spatially variable (varies with x,y) because leakage and/or storage fluxes are not constant over the entire domain.  Anaqsim uses multi-quadric interpolator functions to simulate spatially variable area source/sinks (SVAS) (see Fitts (2010) or Strack and Jankovic (1999)).  With SVAS, the governing equations of aquifer flow are approximated, and this approximation can be quite good if the density of basis points is high enough (Fitts, 2010).  You can check the accuracy of the approximation with the Analysis/Conditions Along a Line which does the same check as shown in Figures 10 and 11 of Fitts (2010).

When you use SVAS, you may assign them over the area of a domain or over the area of a polygon.  In either case, SVAS are created in all domains at all levels that are within the area of the specified domain or polygon.   If there is a multi-level area of the model, you only input SVAS in one of the levels in the stack.  Anaqsim automatically assigns SVAS in the other subdomains that are vertically above or below the ones you specify the SVAS in.   When you specify a SVAS by domain or polygon, you specify the condition at the top of the top layer of the model and at the bottom of the bottom layer of the model in the area of the domain or polygon.  This condition may be flux-specified, or head-dependent flux -specified.  The top or bottom condition may be a specified constant, or it may be defined by an irregular surface (new in release 2017-1).

You have two ways of assigning SVAS and associated basis points:

  1. spreading basis points in all model levels at a specified spacing over the area of a domain (Spatially Variable, Domain), and
  2. spreading basis points in all model levels at a specified spacing over the area of a polygon (Spatially Variable, Polygon).  SVAS polygons are used to refine the top condition, bottom condition,  and/or basis point spacing.   SVAS polygons first erase any basis points that were inside the polygon and then replaces them at the specified top/bottom conditions and spacing.

In addition, you can refine basis point spacing (but not top/bottom conditions) in the near vicinity of wells (Spatially-Variable, Well Basis Points).  This places basis points with an efficient radial, logarithmic spacing to achieve accurate solutions near wells.

The spatially-variable area sink functions are smooth within a domain, but can change abruptly across a domain boundary.  An example of this is the pond boundary in the example model in the Fitts (2010) paper.  This is a nice feature because at some boundaries like the pond shoreline, you want the extraction to change abruptly.

The rules governing SVAS specifications are summarized below:

  • No SVAS are allowed in domains that have uniform area sinks.
  • No SVAS basis points are placed in areas also covered by uniform area sinks.
  • SVAS-polygon specifications overwrite SVAS-domain specifications, where they overlap.
  • SVAS-polygon specifications with a higher nesting level overwrite SVAS-polygon specifications with a lower nesting level.
  • The basis point spacings defined with the SVAS-well feature overwrite SVAS-domain and SVAS-polygon basis point spacings, but do not alter the top and bottom conditions in the well vicinity.
Spatially Variable, Domain

This sets up a spatially-variable area source/sink over a whole domain with a uniform spacing of basis points.  The governing equation is met perfectly at the basis points, which are distributed on hexagonal centers at the specified spacing.  The governing equation is approximated in between basis points.

  • Domain defines the domain that the spatially-variable area source/sink applies in.
  • Condition_Top defines the type of condition that applies at the top of the domain.  This is either flux-specified (e.g. a specific recharge rate) or head-dependent flux-specified (e.g. leakage from a lake into the underlying domain).  With the latter condition, the source/sink extraction rate is computed using the head difference between a specified head and the domain head, and the vertical resistance to flow offered by the upper or lower half of the domain, in accordance with Darcy’s Law.
  • Top_flux_or_head defines the flux (flux-specified) or head (head-dependent flux-specified) at the top of the domain.  This applies throughout the domain.   In transient simulations, this parameter may vary from one time period to the next.  If you select "none" under Top_surface, the value specified here applied over the entire area of the domain.  If you select a surface instead of "none" under Top_surface, the value specified here is a multiplier that scales the surface (see description below under Top_surface).  If you want to use the surface values directly, enter "1.0" here.  If, for example, you want to use double the values of the surface as your top flux, enter "2.0" here.
  • Top_surface allows you to define a surface for a spatially-variable top condition.  This could be used to represent an irregular distribution of recharge at the top of the model, or an irregular distribution of head in an aquifer below the model which the lowest model level leaks to/from.  To use this feature, you must first define the surface by adding it under Area Source/Sink/SVAS Top/Bottom Condition Surfaces.  Once you have created the surface, you may select it in the drop-down list that appears in this column.  Your choices will be "none" (just use the specified constant value under Top_flux_or_head), or one of the previously-defined surfaces.  If you choose a surface, the value of the top/bottom condition flux (flux-specified) or head (head-dependent flux-specified) will be equal to the value of the surface at x,y times the number entered under Top_flux_or_head.  If you select a surface and put "1.0" in the Top_flux_or_head field, the value at x,y, will be the value at x,y in the specified surface.  If you had entered "1.3" in the Top_flux_or_head field, the value at  x,y, will be the value at x,y in the specified surface * 1.3.  When you have a surface selected, the Top_flux_or_head field becomes a multiplier that allows you to scale the magnitude of the surface used in the model.  In transient models, you can vary this scaling factor from one time period to the next by entering multiple values separated by commas (see this guidance for transient inputs)
  • Condition_Bottom defines the type of condition that applies at the bottom of the domain and is analogous to the Condition_Top (see above).
  • Bottom _flux_or_head defines the flux (flux-specified) or head (head-dependent flux-specified) at the bottom of the domain, analogous to the Top_flux_or_head (see above).  This applies throughout the domain.  In transient simulations, this parameter may vary from one time period to the next.
  • Bottom_surface allows you to define a surface for a spatially-variable bottom condition, and is analogous to the Top_surface (see above).
  • Node_spacing defines the distance between basis points in the spatially-variable area source/sink.  Smaller numbers here improve the approximation of the governing flow equations, at the cost of more computation.  The appropriate spacing of nodes depends on the transmissivity of the domains and on the vertical conductances involved with the domain, and on how abruptly heads vary with position.  A parameter called the leakage factor [L] can provide useful guidance for assigning basis point spacing.  For more discussion of appropriate node spacing and the leakage factor, see Strack and Jankovic (1999) or Hansen (2002).  The guidance in these papers recommends basis point spacings on the order of the leakage factor to 2x or 3x the leakage factor.  The leakage factors are computed and displayed on the left of plots, as discussed in the Plot View section of this user guide.  Checking extraction along a line in Anaqsim is the best way to know if your spacing is small enough for a satisfactory approximation of the governing equations.  The two curves in the extraction plot will not deviate significantly if the basis point spacing is small enough.
Spatially Variable, Polygon

This modifies spatially-variable area source/sinks within a polygonal area.  This can be used in addition to the Spatially Variable, Domain option to make the spacing of basis points denser in some areas, and to specify different flux or head-dependent flux conditions in some areas.

  • Label is a text label that helps you keep track of multiple spatially variable, polygon area source/sinks.
  • Nesting_level is a parameter that allows you to nest several spatially variable, polygon area source/sinks inside each other.  If you are not nesting or overlapping these Spatially Variable, Polygon features, specify 1 for this.  If you want to place a smaller polygon with denser basis point spacing inside another polygon with less dense spacing, use nesting level 1 for the larger polygon and nesting level 2 for the smaller one inside of it.  You may nest up to 5 levels to drill down to finer basis point spacing in the key areas (e.g. near a well).  The polygons with the higher nesting level overwrite the basis point spacing and flux condition of polygons with lower nesting levels.
  • Condition_Top, Top_flux_or_head, Top_surface, Condition_Bottom, Bottom _flux_or_head, Bottom_surface, and Node_spacing are all the same as defined for Spatially Variable, Domain area source/sinks.
  • Coordinates defines the coordinates of the closed polygon, inside of which the specified flux and node spacing apply.  The polygon is automatically closed from the last vertex listed to the first one listed here.  You may digitize the polygon using Digitize/Polyline in the Plot View.  You may also later edit the polygon graphically, moving, inserting, and deleting vertexes.
Spatially Variable, Well Basis Points

Here you can define special, efficient spatially-variable area sink (SVAS) basis point spacings that apply near pumping wells, to improve the accuracy of modeled vertical leakage and storage fluxes.  The basis points are drawn with density that is high near the well and decreases with radial distance from the well.  The closest basis points to the well are placed at a radius two times the radius of the well.  Basis points are placed on larger and larger circles out from the well, where the distance between circles increases logarithmically between adjacent circles (like a steady well flow flow-net).   The outer limit of these basis points is determined by the Max_node_spacing parameter - circles of basis points continue to be added in the outward direction, until the basis point spacing would exceed Max_node_spacing.  Every other circle has all the basis point locations rotated by an angle that is half the angle between basis points on a circle.   For example, if you chose 4 Points_per_circle, the angle between basis points on a circle would be 360/4 = 90 degrees, and every other circle would have these positions rotated by 45 degrees compared to adjacent circles of basis points (see figures below). These special well basis points replace basis points in this area that were established with SVAS domain or polygon input.  The well basis point input only refines the basis point spacing and does not alter the top and bottom conditions that are determined by the SVAS domain or polygon input.

These data are input:

  • Well_Labels allows you to select which wells this row of input data applies to.  You may select one or multiple wells.  Make sure all wells in your model have unique labels, so you can identify them in this list.
  • Max_node_spacing defines the maximum node spacing at the outer edge of these special basis points.  Generally you should have this spacing slightly smaller (about 10-30% less) than the background basis point spacing for the well vicinity.
  • Points_per_circle defines how many basis points will be placed on each circle around the well.  Chose from the drop-down list.  A higher number here will make the approximation of storage fluxes and vertical leakage near the well more accurate, but at the expense of more basis points, more equations, and more computation.

The algorithm for placing basis points is illustrated below with a well flow-net plot and basis point placement shown with green triangles for the case of 6 points per circle (basis points shown for 5 outermost circles).

WellBasisPointsAlgorithm.PNG

An Anaqsim plot showing well basis points with 8 points per circle is shown below, with a circle drawn in red around the area of special well basis points.  Outside this circle is the regular hexagonal basis point spacing defined by SVAS domain or polygon inputs.

welBasisPoints.png

SVAS Top/Bottom Condition Surfaces

This allows you to input a surface, so that spatially-variable area sink (SVAS) top and bottom conditions can be a assigned using an interpolation function of (x,y) position instead of being constant and independent of (x,y).   Some possible applications of this include:

  • recharge rate that varies spatially - e.g. more in uplands, less in lowlands.
  • irregular distribution of head in an aquifer below the model, which the lowest model level leaks to/from.
  • an irregular, sloping freshwater head surface that an interface aquifer leaks toward at the sea shore.  The freshwater head increases with depth below sea level, so the specified head condition at the top of an interface domain should be a surface.

The data points  that define these surfaces do not correspond to basis points in the SVAS - these data points only define the surface that defines flux or head-dependent flux that is assigned at each basis point.  Such surfaces may be referenced by both SVAS, domain and SVAS, polygon input.  The surface is created using interpolation between data points that are specified as x,y,value triplets.   You must specify at least 3 data points.  

If you specify exactly 3 data points, the surface will be a planar surface that passes through each of the 3 points, using the function:

Value(x,y) = Ax + By + C   (A, B, C are scalar constants)

If you specify 4 or more data points, the surface is defined using an interpolation function described by Hardy (1971):

Value(x,y) = a1 r1 + a2 r2 + a3 r3 + ... + D  (a1, a2 ,a3... and D are scalar constants and r1, r2 ,r3... are radial distances from each (x,y) data point)

This surface passes through each data point and is a smooth but irregular surface.

  • Label is a text label that helps you keep track of multiple SVAS top/bottom condition surfaces.
  • Data defines the list of x,y,value triplets that define the surface.  When you click on this button, an input window pops up, where you can enter the data in a comma-delimited, tab-delimited, or space-delimited form like the following:
        x1, y1, value1
        x2, y2, value2
        x3, y3, value3
        x4, y4, value4
        ...

You can enter the data manually, you can paste the data in from other software (e.g. a copied block of cells in an Excel spreadsheet), or you can digitize the surface data within Anaqsim.

When you use a surface for an SVAS top or bottom condition, be sure to read about how the surface is scaled by the number(s) you input for the Top_flux_or_head  in the SVAS domain or SVAS polygon input.

Input of Transient Model Parameters

Many parameters in Anaqsim models may vary during a transient simulation. In all cases, the parameters must be constant during each time period, but may change from one time period to another.  The following Model Input parameters may be transient:

  • Discharges at discharge-specified wells and discharge-specified line boundaries
  • Heads at head-specified wells and head-specified line boundaries
  • Normal fluxes at normal flux-specified line boundaries
  • Stages at River line boundaries
  • The flux rate (top or bottom) at a flux-specified spatially-variable area source/sink
  • The head (top or bottom) at a head-dependent flux-specified spatially-variable area source/sink

For each of these parameters, you may enter one value that applies through the entire simulation, or you may enter multiple values separated by commas, one value per time period.  If you enter fewer values than the number of time periods, the last value entered applies to all subsequent time periods.