Skip to main content

Tutorial 1 - Under construction

Building a single-layer heterogeneous, anisotropic model with various boundary conditions

Introduction

This first tutorial will introduce you to Anaqsim’s user interface and walk you through building a single-layer steady flow model with a variety of boundary conditions. All tutorial models may be built with the unlicensed version of Anaqsim.

Before starting the tutorials, you should read the User Guide (available on this documentation site, and via the 'help' menu in the user interface) in particular the section titled “User Interface”. These tutorials presume you have already read these sections of the User Guide. It is also assumed that you have installed Anaqsim.

Please see the Introduction | Anaqsim Section of the User Guide for instructions on downloading, installing and licensing.

Starting Anaqsim

Anaqsim can be started by clicking on the Windows Start button at the lower left of your screen and searching for Anaqsim.

The user interface consists of three tabs: Plot, Data and Log.  You can move between them by clicking on the tab at left.  The currently displayed tab is shown in blue:

image.png

The Plot tab displays various plots in the X-Y plane, the Data tab is where you enter and edit input data, and the Log tab displays text outputs from Anaqsim.

There is a main menu across the top (File, Edit, Model Input...) and in the Plot tab there is another menu at the left below the main menu (Plot File, View Manager, Digitize...). In addition, both the Plot and Data tabs have right-click menus that pop up and offer many options.

Setting up a Basemap

It's very hand to have a basemap and then digitize model elements over the basemap.  Anaqsim uses DXF basemaps, a format that can typically be exported from CAD and GIS programs.

Select Plot Input / What to Plot from the main menu.

Edit the Basemap and Elements cells of data grid so that it looks like the following image.

image.png

With these settings, the basemap will be displayed gray (or you could chose to display it in its original colors) and when elements are displayed, they will show control points and have pop-up text explaining details. Click the Select button in the Basemap_File column, then find and select the basemap file, which should be located here:

C:\Program Files\Yellow Sub Hydro\Anaqsim\Documentation\basemap.dxf 

By leaving the Window cell blank, plots will include the entire area covered by the model elements. If you want to make a plot of a smaller window, coordinates can be entered in this cell.

Display the Basemap

Select Make Plot / Model Elements Only and then press the OK button int he dialog that shows.

Select Zoom All in the plot view menu, and you will see the basemap with these features:

  • a lake shore along the east side
  • an impermeable aquifer boundary to the south, west, and north
  • a polygon recharge basin area
  • a well
  • a stream that goes from stage 121 in the west to 106 in the east

image.png

At this point, save your input by selecting File / Save As, and then choose a file name and path that suits you.

General Input

Begin creating model input by selecting Model Input / General under the main menu.  Check the Steady cell since this will be a steady-state, not transient, model.  Enter the units you choose for the model and a comment to characterize the model; these are just optional text entries to help document your model.  Here is a completed example:

image.png

Units in Anaqsim

In Anaqsim, all input is in a consistent set of units.  For example with meter and day units, discharges would be in m3/day and hydraulic conductivities would be in m/day.  Anaqsim doesn't keep track of what units you are using, so it is up to you to make sure all input is in terms of one consistent system of units based on the same length and time units.

Domain Input

Before entering other model inputs, we must first define the properties of the aquifers or regions within the model.  Anaqsim uses the term domain to refer to regions within which the aquifer properties are constant.  These can vary by layer in multilayer models and by location within a layer in heterogeneous models.

Select Model Input / Domains / Confined and/or Unconfined  and edit the table so it has two completed rows and looks like the following.

image.png

The domain labels need to be unique because they are referenced by other kinds of model inputs such as wells and line boundaries.  The 'all' domain will span all of the model, except for the small polygon area that will be the 'recharge basin' domain.  These two domains are identical in their properties, but defining them separately allow sus to define different recharge rates in the two domains.

The domains are both unconfined with a base at elevation 82.  With unconfined domains the top elevation is not used.

Average_head is your best estimate of the average head in the domain, and this determines a constant that is added to the solution.  Your choice of Average_head will no matter so long as it is close to the middle of the range of simulated heads in the domain.

Porosity is used in computations of travel time along pathlines.  The storage parameters Storativity and Specific_yield have no bearing on a steady model.

The horizontal hydraulic conductivity is anisotropic, with K1=3 and K2=0.6.  The K1 direction is oriented 30 degrees counter clockwise from the positive x-axis (30 degrees N from due E).  The K2 direction is normal to the K1 direction.

The values of K3 define the resistance to vertical flow in multi-level models or in sing-level models with head-dependent leakage.  Since this model has neither, the values of K3 are not used.

Now you have defined the properties of the two domains.  The location and extent of these domains are defined by the external line boundaries, which we will enter in the next sections.

Save your model again using File / Save or by typing the keyboard shortcut Ctrl-S.

Adding the Lake Boundary

Next we will add a constant head boundary at the lake shore using the digitizing features in Anaqsim.

Select Model Input / Line Boundaries / Head-Specified to bring up that data table.  Edit the table so it looks like this:

image.png

This line boundary is an external boundary to the 'all' domain, hence the Domain_Boundary cell is checked.  If this boundary was internal to the domain, this would not be checked.  The specified head is set to 104 along this entire boundary.

The Parameters_per_line entry defines how many degrees of freedom each segment of the boundary will have and at the number of points on each segment where the specified head condition will be met perfectly.  Larger numbers here will make for more accurate boundary conditions at the cost of more equations and longer solve computation time.  In transient models, you can turn the boundary conditions off during the Off_periods you enter, but that has no bearing on this steady model.

Digitizing a line boundary

Next, you will digitize the coordinates of the line boundary.  Click on the Plot tab to display the plot and basemap.  Before starting, please watch this video about digitizing and snap settings.

Ditigize the lakeshore boundary either from N to S or S to N (for head-specified boundaries, direction doesn't matter).  After digitizing, your digitized line (yellow) should look something like this:

image.png

Click on the Data tab to display the data table for head-specified line boundaries.

Click on the Edit button in the Coordinates column to show the coordinates window and paste (Ctrl-V) the digitized coordinates in, resulting in something like this:

image.png

Press OK to save and close this window.

Save your model again using File / Save or by typing the keyboard shortcut Ctrl-S

Adding the Impermeable Aquifer Boundary

Now we will add the impermeable aquifer boundary that forms the S, W, and N boundaries of the aquifer.  Select Model Input / Normal Flux-Specified to open the data table for this kind of boundary.  Edit the table so it looks like this:

image.png

This boundary is also external to the domain.  It will be impermeable because the normal flux is set to zero along it.  It is also possible to specify a non-zero flux in/out of the domain boundary.

The 3 parameters per line means there are three degrees of freedom per line segment, and the normal flux will be perfectly set to zero across three different sub-segments of each line segment.

Click on the Plot tab.  Make sure the Snap Settings are checked for Snap to Elements and Snap to Digitized Data. This will assure that your digitized boundaries match perfectly at common vertexes.

Digitize the 'Aquifer Boundary' shown in the basemap, from the north end of the lake shore boundary (NW of the northernmost 'Lake' on the basemap), going counter clockwise around the N, W, then S parts of this boundary until it ends at the south end of the lake shore boundary (SW of the southernmost 'Lake' on the basemap).  Digitizing this type of boundary must be done counter clockwise, since the boundary conditions are imposed on the left side of the boundary as you proceed from the first towards the last vertex.  See the User Guide for more information on this type of boundary.  After digitizing, the plot will look something like this:

image.png

Click on the Data tab to display the data table for normal flux-specified line boundaries.

Click on the Edit button in the Coordinates column of the row for this boundary to show the coordinates window and then paste (Ctrl-V) the digitized coordinates in, then press OK to save and close this window.  Save your model again using the File / Save or by typing the keyboard shortcut Ctrl-S.

Plotting the Elements and Examining the Details

Make a plot of the model elements that have been input so far by selecting Make Plot / Model Elements Only, then selecting Level 1 and pressing OK.  The resulting plot will look as follows, with the entered line elements shown green.

image.png

If you move the cursor over a line boundary, it turns black and a pop-up text window defines the boundary.  If you hover over the small circles at vertexes, it displays the boundary condition specifics at that vertex.

Graphically Editing a Line Boundary

Please see this video on how to graphically edit well and line boundary coordinates.

Select the outer impermeable 'outer' aquifer boundary and experiment with moving, adding, and deleting vertexes in the line boundary, then select Make Plot / Model Elements Only to see the altered line boundary.

Adding River and Line Boundaries

We will add three river line boundaries to represent three reaches of the stream shown in the basemap.  We will start with the lowest reach.

Select Model Input / Line Boundaries / River, and edit the table so it looks like this:

image.png

River boundaries are always internal to a domain.  By not checking the Dries_up, this river reach will maintain its stage and leak to/from the domain, even if the domain heads drop below stage.  The starting and ending stages correspond to the vertexes labeled 'h=106' and 'h=108' on the basemap.  See the User Guide for more information on this type of boundary.

Click on the Plot tab.

Right-click anywhere on the plot area and select Digitize / Polyline from the right-click menu.  Digitize the lower (east) river reach, starting at the east end where it meets the lake boundary, and ending at the vertex labeled 'h=108'.

Click on the Data tab to display the data table for river line boundaries.

Click on the Edit button in the Coordinates column to show the coordinates window and then paste (Ctrl-V) the digitized coordinates in, then press OK to save and close this window.

Select Make Plot / Model Elements Only to make a plot that should look like this:

image.png

Repeat these steps to create the input for the middle ('h=108' to 'h=114') and upper ('h=114' to 'h=121') reaches of the stream, digitizing and entering the coordinates as you did with the lower reach:

image.png

Save your model again using the File / Save or by typing the keyboard shortcut Ctrl-S.

Adding the Interdomain Boundary

We will now add the interdomain boundary that defines the limits of the 'recharge basin' domain.  Select Model Input / Line Boundaries / Interdomain, and edit the table so it looks like this:

image.png

With 4 Parameters_per_line, heads will match perfectly at 4 points on each line segment, and discharges across the boundary will match perfectly for 4 sub-segments of each segment. See the User Guide for more information on this type of boundary.

Next, click the Select button in the Domains_left column to select the domains that will be to the left of this boundary.  Then select the 'recharge basin' domain like below and click OK.

image.png

Now do the same for Domains_right, selecting the 'all' domain as below.

image.png

Click on the Plot tab.

Right-click anywhere on the plot area and select Digitize / Polyline from the right-click menu.  Digitize the recharge area boundary going in a counter-clockwise direction, starting and ending at the same point.  Imagine walking along this boundary on the ground in the same counter-clockwise direction as you digitized; the 'recharge_basin' domain would be on your left and the 'all' domain would be on your right.

Click on the Data tab to display the data table for the interdomain line boundaries.

Click on the Edit button in the Coordinates column to show the coordinates window and then paste (Ctrl-V) the recently digitized coordinates in, then press OK to save and close the coordinates window.

Select Make Plot / Model Elements Only to make a plot that should look like this:

image.png

Adding the Well

To add the well, we will first digitize the well's location by right-clicking over the plot and then selecting Digitize / Point, then move the cursor to the location of the well (zoom in if you want to get a more accurate point) and then left-click.  Then select Model Input / Pumping Wells / Discharge-Specified and paste the digitized point coordinates into the Coordinates column and complete the other columns as shown below.  Make sure to press enter to register the new row in the database, which exposes a new blank row.

image.png

The negative sign for the Discharge means the well is pumping water out of the aquifer.

If you select Make Plot / Model Elements Only, you should now see the green well element over the basemap gray:

image.png

Adding Uniform Recharge

Next we will add in uniform recharge rate over the 'all' domain and a higher uniform rate over the 'recharge basin' domain.  Select Model Input / Area Source/Sink / Uniform, Domain and edit the table so it looks like this:

image.png

The Top_flux is the recharge rate [length/time] that applies at the top of the domain.  You could also specify a uniform rate of leakage into or out of the bottom of the domain.  For both the top and bottom fluxes, a positive value means flux into the domain and a negative value means flux out of the domain.  In this case, the bottom of each domain is impermeable with zero flux.  The recharge rate is substantially higher in the 'recharge basin' domain than in the surrounding 'all' domain.  Uniform area sinks are appropriate in this model, but if there were multiple levels with vertical leakage or significant transient storage fluxes, you would use spatially-variable area sinks (SVAS) instead.

Solution Settings

The model has many boundary conditions that are associated with unknowns that need to be solved for.  To do that, Anaqsim builds a system of simultaneous equations and then applies a matrix-solving routine to determine the unknowns.  There are several settings that apply to the solve process.  Select Model Input / Solution / Solve Settings, to bring up some of these settings:

image.png

These are the default settings and work reasonably well in most models.  If your model is not converging or taking many iterations to converge, you can adjust some of these inputs to improve convergence.  We will not change any of these, but if you want to understand these inputs, see explanations in the User Guide.

Select Model Input / Solution / Check Settings, to bring up the settings that determine how accurate a solution must be in order to achieve convergence:

image.png

These are default settings that are reasonable if your length unit is feet or meter, and your time unit is days.  For example, all head-specified boundary conditions must converge to within 0.001 units [L].  Decreasing these values improves boundary accuracy at control points, but at the expense of increased numbers of iterations to achieve these criteria.  Please see the User Guide for definitions of each of these.

Solving the Model

This is accomplished by simply selecting Solve in the main menu.  When you do that, the Log tab is displayed and information about the solve process is written there.  In my mode, this is what was written (your model may differ depending on how you digitized in your line boundaries).

image.png

The system of equations included 158 equations and it took 4 iterations to achieve boundary conditions accurate enough to meet the solution check criteria.  The time stamps show that this took only about one second.

Plot Input Settings

Before making a plot, we need to decide what to plot and establish some settings.

What to Plot

Select Plot Input / What to Plot and edit the table so it looks like this:

image.png

Leaving the Window column blank will default to making a plot of the entire model.  The plot will include the basemap (gray), elements with details and control points (green), contours of head (blue), and velocity vectors (red).

Contour Settings

Select Plot Input / Contour Settings and edit the table so it looks like this:

image.png

In this case, the surface contoured is head (h).  See the User Guide for a description of other surface choices.

The Subtract option is for subtracting this surface from a previously saved surface, which is handy for drawdown and other comparison plots.  In this case, we will not subtract and just contour heads.  The Points_Evaluated sets the number of points where head will be evaluated.  These points are the basis for drawing contours, and are arrayed on a regular grid.  A larger number here makes for smoother, more accurate contours at the cost of more computation.  Increment is the increment between adjacent contours.  If Increment is left blank, Anaqsim will set the increment such that about 25 contours are drawn.

Minimum and Maximum define the range of contours drawn.  If these are left blank, Anaqsim selects minimum and maximum levels that span the range of values among the points evaluated.

Vector Settings

Select Plot Input / Vector Settings and edit the table so it looks like this:

image.png

In this case, vectors of average linear velocity (v) are created.  Other choices include specific discharge (q) and aquifer discharge (Q), which is specific discharge times saturated thickness.

Points_Evaluated sets the number of points where vectors will be evaluated.  A larger number here makes for more, but shorter vectors on the plot.  Selecting a larger number here can make the plot too busy.

Scale_Factor lets you scale the length of all vectors drawn up or down by entering a larger or smaller number.  Try 1.0 here and adjust as needed.