Menus

File Menu

This menu allows you to open and save input files and create files that are used for creating initial head conditions for transient models.

Open

This selection opens a dialog that allows you to find and open existing input files (.anaq extension).  These files store the data you edit under the Model Input, Plot Input, or Analysis Input menus in XML file format.  XML is a common ASCII database file format.  You could edit these directly with a text or XML editor, but that is not recommended since it risks corrupting input with improper values or format.  When you open a file, the layout of elements in the model is drawn to the plot view.

If you want to be able to open .anaq files by double-clicking on them in Windows Explorer, in addition to opening them from the File/Open menu, the Windows operating system must associate .anaq files with Anaqsim.  In case this association was not established during installation you can manually do it with Windows Explorer.  To do this, locate a .anaq file in Windows Explorer.  Right click on the file and then select Open with, then select Chose default program.  In the dialog that pops up, check the box next to Always use the selected program to open this kind of file and then select the Browse button and browse to find the Anaqsim.exe file in the Program Files / Fitts Geosolutions / Anaqsim software directory.  Now Windows will associate .anaq files with Anaqsim.exe, and you can open any .anaq file directly from Windows Explorer by double-clicking on it.

Save, Save As

The Save As option brings up a dialog that allows you to save your input to a file with a new name.  Using Save saves the input to the same file name.  If you have yet to save input and have no filename, it will function like Save As.  When you save, you save the input data tables to an XML format database file with the .anaq extension.

Close

This closes the input you are working on and clears all the associated data tables in memory.  After selecting Close, you may begin editing a new model.

Save locations for Initial Transient Heads

A transient model needs initial heads so it can compute the head change that occurs during the first time step.  These values are needed at the location of each basis point in each spatially-variable area sink, which account for storage fluxes.  The initial head values come from a pre-existing model, which could be steady or transient.  Initial heads are also retrieved for discharge-specified wells, hydrograph points, and transient line conditions (see Analysis Input Menu for the last two items).  

The initial conditions model must have the same number and extent of layers as the transient model, at least in areas with basis points, wells, hydrograph points, or transient line condition lines.  When the initial head locations are written, each location is identified by its x,y coordinates and its layer.  This is new in release 2020-1; prior releases wrote the x,y coordinates and the internal domain number.  The change made in release 2020-1 allows different domain configurations between the initial and the transient models, which can be helpful.  Because of this change, you must not mix initial head location or initial head files created prior to release 2020-1 with a release 2020-1 or later model.  To avoid incompatibility when you switch to release 2020-1, re-create the initial head location file and the initial heads file as outlined below using release 2020-1.

To create a transient model that has a proper set of initial heads, these steps are necessary:

  1. Make sure the transient model you begin to create has been saved to it's own unique file name, different from the file that contains the input for the model that will provide the initial condition heads.
  2. Set up the transient model (i.e. uncheck Steady under Model Input/General, establish the time step sequence under Model Input/Time Steps, adjust input for the transient case, set up all spatially-variable area sinks, make the appropriate settings under Analysis Input/Hydrograph Points and Analysis Input/Transient Line Conditions, etc.
  3. Select File/Save Locations for Initial Transient Heads, which saves the locations for transient starting heads from the transient model (these are the locations of all basis points associated with spatially-variable area sinks in the transient model and locations of hydrograph points, wells, and transient line conditions.  This saves the level and the coordinates of each of these to a binary file with the .ihl extension.
  4. Close the transient model.
  5. Open the initial conditions model (the one that represents conditions at the start of the transient run).  Solve it.  Select File/Write Initial Transient Heads, click on the initial heads file you would like to use for this simulation, and click Open. This reads in the locations saved from the .ihl file saved in step 3.
  6. A dialog opens asking you to name the binary initial heads file.  The default name is the same as the initial conditions input file but with the .hds ending.  Anaqsim then writes the initial heads at the locations in the .ihl file to a binary file with the .hds file extension.
  7. Close the initial conditions model.
  8. Open the transient model.  After checking that all model parameters are set correctly for the transient run, select Solve. At this point Anaqsim will ask you to select the .hds file containing the initial heads created in step 6.

When you solve the transient model, the heads are read in and used to determine the head change in the first time step at each basis point.

Write Initial Transient Heads

See the discussion under  Save Locations for Initial Transient Heads for an overview of setting  up initial heads for transient models.

Save Solution

This allows you to save the model solution after you have solved.  Later, you can open the model input file, then load the saved solution, and avoid the "Solve" step.  This is particularly handy for large models that have longer solve times, and allows you to save your solution and come back to it later for making plots or doing analysis of the solution.  All model objects with their strengths are saved in a binary format, to a file that has the same name as the input file, but with the ".solu" filename extension instead of ".anaq".

Load Saved Solution

This allows you to load in a previously saved model solution.  To make use of this, first open the model input file for the model, then load the saved solution, which avoids the need for the "Solve" step.  This is particularly handy for large models that have longer solve times, and allows you to save your solution and come back to it later for making plots or doing analysis of the solution.  All model objects and their strengths are read in from a binary file that has the same name as the input file, but with the ".solu" filename extension instead of ".anaq".

Export Input Data to Excel File

This causes the entire input database to be written to one excel file in the same directory as the input file (*.anaq), written to a file with the same name but the excel suffix (*.xlsx).  The Excel file has multiple sheets, one for each data table.  Each sheet contains the same headers as the data tables plus all rows of input.  This is a handy way to document model inputs all in one readable file.

Exit

This exits Anaqsim.  A dialog asks if you want to save the current input before exiting.  The same is achieved by clicking on the red "x" at the upper right corner of the Anaqsim window.

Edit Menu

This is like edit menus in most other Windows applications with Cut, Copy, and Paste menu choices.  These functions are also available with the usual keyboard shortcuts: control-x (cut) control -c (copy) control -v (paste).

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

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.

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:

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:

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

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:

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

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:

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

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 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.

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.

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:

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.

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.

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:

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:

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:

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).

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:

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:

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:

RiverGraph.jpg

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:

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:

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:

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:

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:

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:

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

Area 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.

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:

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.

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.

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:

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:

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.

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:

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.

Plot Input Menu

Items under this menu control what appears in the plot created when you select Make Plot/Level... from the menu.

What to Plot

This line of input controls what gets plotted when you select Make Plot/Level 1, Level2, etc.

Set Plot Window to Current View

Selecting this sets the plot view coordinates in the What to Plot/Window cell to the coordinates of the current plot window.  Make this selection after using the zoom functions in the Plot View Menu to get the window you want for subsequent plots.

Set Plot Window to Entire Model

Selecting this sets the plot view coordinates in the What to Plot/Window cell to the limits of all elements in the current model, making the window for subsequent plots encompass the entire model extent.

Contour Settings

This selection lets you customize how contours are drawn.

Pathline Settings

These settings control the drawing of all flow pathlines you enter under Plot Input/Pathlines.  In steady simulations, the pathlines are traced through a steady flow field.  In transient simulations, pathlines are generally traced through the simulated transient flow field, and time along a pathline is synchronized with the simulation time.  The exception is if you check Freeze_transient pathlines, as described below.  The rest of this discussion of transient pathlines assumes Freeze_transient  is not checked.  Each time step in a transient model has a flow solution that, for the purposes of pathline tracing, applies from the start to the end of the time step. Transient pathlines are only traced during the simulated time window.  Transient pathlines terminate when one of the following conditions occurs:

  1. the simulation time along the pathline is less than 0 or greater than the total simulation time (sum of time period lengths), 
  2. the total elapsed time exceeds Total_time or, 
  3. the pathline exits the model or enters a well or linesink.  

Steady pathlines terminate when condition 2 or 3 in the previous sentence is reached.

Pathlines can be displayed with three aspects:

You can control which of these three is displayed in the plot by selecting View Manager from the Plot View Menu.  You can toggle the display of these on/off by clicking on the Freeze column in the View Manager. 

Vector Settings

These settings control the drawing of vectors.  Vectors are computed using the domain’s function for the discharge vector.  When vectors are drawn, the center of the vector is at the spot where the vector was computed.

Pathlines

This menu is where you specify the starting points and tracing directions of pathlines that are  drawn.  You can specify single pathlines, pathlines distributed along a line, or pathlines distributed along a circle.  Well pathlines are like circle pathlines but linked to a particular well.  Pathlines are demonstrated in detail in the tutorial videos at the website.

Single

This table allows input for single pathlines.

Line

This allows starting a number of pathlines equally spaced along segments of a polyline.

Area

This allows starting a number of pathlines equally spaced within an area defined by a polygon.  This can be useful for tracing pathlines from a source area, or for defining capture zones for wells.

Circle

Circle pathlines start equally spaced on a circle that the user specifies.  For wells, the well pathline is a better choice, since it is linked to the well and will move with the well if its location is changed.

Well

Well pathlines are like circle pathlines, but are linked to a specific well.  When you move a well graphically, the reference to the well is maintained and pathlines will be drawn correctly.  The circle that the pathlines start on is centered on the well center and has a radius that is 1.2 times the well radius.  The direction of tracing is upstream if the well is extracting and downstream if the well is injecting.

Analysis Input Menu

Items under this menu allow you analyze the results of a simulation after the system of equations is solved (Solve).

Hydrograph Points

These allow you to track head (or drawdown) vs. time at specific points during a transient simulation.  They may be used to check the simulated water level at some other point such as an observation well location.  After solving, you can make hydrographs with the model-simulated head (or drawdown) and observed values read from a file;  this is done with Analysis / Graph Head Hydrographs or Analysis / Graph Drawdown Hydrographs.  This output is also available in automated runs.

A similar functionality is available in the plot context menu (right-click over the plot), which allows you to create hydrographs of all model levels at any location in a transient model.  However, hydrographs created with the plot context menu lack initial (t=0) heads, and the location is determined by the cursor position.

The locations of hydrograph points can be included in plots.  These locations may also be edited graphically, like can be done with well locations: click on a hydrograph point, then drag the purple square to the new location.

Transient Line Conditions

This allows you to track head or extraction along a line during both a steady and a transient simulation.  Tracking extraction along a line is useful for checking the accuracy of the governing equation approximation in transient simulations.  Tracking head along a line allows you to see how head profiles evolve during a transient simulation.  After solving, use these menu selections to make graphs: Analysis/Transient Line Conditions.  This output is also available in automated runs.

These lines can be displayed on plots.  These lines may also be edited graphically, like can be done with line boundaries: click on a line, then drag the purple squares at the vertexes to new locations.

Calibration Targets

Here is where you input information about targets for calibration.  Targets may be heads or head differences between two locations.

Head

Head calibration targets may be imported from spreadsheets like Excel.  Start by creating a spreadsheet table with the same columns as Anaqsim's head calibration table.  Then highlight and copy the block of data you want to paste, like is shown in the first image below for an Excel spreadsheet.  Then right-click over the Anaqsim head calibration table and select Paste New Rows.  The new rows will appear as shown in the second image below.  If your data has X and Y in separate columns, you can use Excel's CONCATENATE function to combine the X and Y columns with a "," between them into one column.

CopyExcelHeadCalibrationData.jpg

HeadCalibrationImport.PNG

Head Difference

This allows comparison of model-calculated head differences to target head differences.  The difference is computed between two head targets listed in the Analysis Input/Calibration Targets/Head table.   This may be used to calibrate to temporal variations in head at one location during a transient simulation (e.g. rate of drawdown) , or to spatial head differences (e.g. head gradients).  The labels are selected from drop-down lists generated from the head calibration targets data.

Velocity

This option is useful for calibrating a model to a known discharge direction indicated by an observed chemical plume.  You can specify the direction of the observed horizontal velocity parallel to the observed plume and compare this to the modeled horizontal velocity direction.  If you also know the magnitude of velocity in the plume, you can compare modeled to observed horizontal and vertical velocity components.

Head-specified Well Discharges

Here you select one or more head-specified wells to compare their simulated total discharge to some target or observed value of total discharge.  This could be used to calibrate to an observed total discharge from a group of flowing artesian wells, for example.

Internal Line Boundary Discharges

Here you select one or more internal discharging line boundaries (head-specified internal or river) to compare their simulated total discharge to some target or observed value of total discharge.  This could be used to calibrate to an observed discharge at a stream gauge or discharge from a pit dewatering system, for example.  

Vertical Leakage Over Polygon Area

This feature allows numerical computation of vertical leakage discharges integrated over a polygon area.  The area may be defined as the area covered by a specified domain or the area covered by a user-defined polygon.  The discharges are computed by evaluating the vertical leakage rate [L/T] at a large number of regularly-spaced points, and numerically integrating contributions over the small increments of area each point represents.  The total leakage discharge [L3/T] over the area is reported.  This tool will examine vertical leakages for each level that exists within the domain or polygon specified.  For example, if levels 1,2,3, and 5 exist in the area of the polygon, the output will include:

After solving, use Analysis / Write Vertical Leakages Over Polygon Areas to Run Log to view computed total leakage discharges.  This output is also available in automated runs.

Input parameters for this feature are:

These polygons can be displayed on plots.  They may also be edited graphically, like can be done with line boundaries: click on a polygon, then drag the purple squares at the vertexes to new locations.  You may also insert or delete vertexes once the polygon is selected.

Solve and Cancel Solve

Solve

Pressing Solve begins the process of solving the system of equations associated with your model.  The program constructs the system of equations and then invokes a direct LU solver to determine the unknown strength parameters associated with wells, line elements, and area sink elements.  Boundary conditions like river boundaries in unconfined aquifers generate nonlinear equations. When a model contains some nonlinear equations, the solution is found by repeated iterations, where the non-linear equations are linearized (an approximation) with the linearization updated at each iteration.  The program displays iteration information in the run log as iterations proceed and when they terminate due to one of two conditions: 1) the solution converged within the check settings, or 2) the solution did not converge within the check settings but stopped iterating after the maximum number of iterations.   The solve process is executed on a background thread, so you may continue with some input editing tasks as the solve process runs.  You can abort the solve process by selecting Cancel Solve.

Solve must be executed after any change to the Model Input so that results examined in the Make Plot or Analysis menus reflect the current input.  Changes to the Plot Input do not require re-solving.  In transient models, changes to Analysis Input/Hydrograph Points or Analysis Input/Transient Line Conditions requires you to re-establish the initial heads files and to Solve again before running related items under the Analysis menu.

Solving takes longer for more complex simulations with more equations.  It is good modeling practice to start with a relatively simple model and incrementally add complexity, so you can monitor the level of complexity, number of equations, and solve times as you proceed.  The spatially-variable area source/sinks can add large numbers of equations to the system if the spacing of basis points is small.  To save computation time, you can increase the basis point spacing of spatially-variable area sinks and reduce the number of parameters per line on line boundaries.  When you want to make a final, presentation-quality model, you can alter these for more accuracy and better aesthetics.

Another way to keep computation minimal and start simple is to make as much of the model linear as possible (linear boundary conditions can solve in a single iteration, as opposed to non-linear boundary conditions).  You can do this by making domains confined (fixed T and saturated thickness).  You can also employ head-specified line boundaries (linear) instead of river line boundaries (often nonlinear).  For complex problems, it probably makes sense to do most of the modeling work in with linear features and then change to nonlinear features later in the modeling process.

You may adjust Solve Settings and Check Settings to control the Solve process.

Cancel Solve

This allows you to abort the ongoing solve process.  Use this if you don't want to wait for solve to finish and you know the input is not what you want.  If you select Make Plot/All Selected Features after canceling the solve process, Anaqsim will attempt to make a plot with the available solution.  For example, a transient solution canceled after 5 time steps were complete will be able to display plots and pathlines up through this point in the simulation.  In a steady simulation, the plot will show the last iteration results before canceling.

Make Plot Menu

Selections here cause a plot to be generated.  The view is automatically shifted to the map view with any of these selections.

All Selected Features, Choose Level / Time

After selecting a model level and time step (for transient models) in the pop-up window, this creates a map-view plot of the model results, using your settings from the Plot Input menu.  To use this selection, you must have solved a model.

Everything shown in the plot will be specific to the selected level and time step , except for pathlines, which may traverse multiple levels and progress through time.  Regardless of the level and time selected, entire pathlines are plotted.

All Selected Features, Same Level / Time

This creates a map-view plot of the model results, using your settings from the Plot Input menu.  The level and time of the plot are the same as in the prior plot.  If this is the first plot made, it defaults to level 1 at the first time step.  To use this selection, you must have solved a model.

Everything shown in the plot will be specific to the selected level and time step , except for pathlines, which may traverse multiple levels and progress through time.  Regardless of the level and time selected, entire pathlines are plotted.

Model Elements Only

This selection is used if you are part way through constructing a model and want to digitize features or see what model input features you have so far, without solving the partially-constructed system.  This allows you to see the layout of model elements and of control points (points where boundary conditions are met).  The control points are collocation points along line boundaries (“x” symbols) and the basis points for spatially-variable area source/sinks (“+” symbols).  To see control points and basis points, make sure to select "elements w/details, control points" under Plot Input / What to Plot / Elements.

Along line boundaries, there are circles at the line segment end points.  If you move the cursor over one of these circles, information about the line boundary condition at that corner is displayed.  At the start and end points of line boundaries, these circle are slightly offset away from the start or end point, which is helpful when multiple line boundaries start/end at the same point.

The pop-up window allows you to select the model level of the elements you want to display.

When you make a plot this way, there is no valid solution to examine, since the Solve step is bypassed.  So, you can't use any of the post-solve analysis features such as Make Plot /All Selected Features or any of the options under the Analysis menu, and some of the options under the Plot Context menu.

SVAS Top/Bottom Condition Surface

Use this to contour and examine a SVAS top/bottom condition surface that you have defined.  When you select this, a dialog will pop up that asks you to select one of the surfaces you have defined.  Then a plot will be made that shows contours of the surface using contours settings defined under Plot Input/Contour Settings.   The plot will also show dark blue circles at each surface data point location, and if you move the mouse over the circle, it will display the specified value at that data point.

Depending what you have selected under Plot Input/What to Plot, the plot may or may not also show the basemap, elements, and SVAS polygons.

When you make a plot this way, there is no valid solution to examine, since the Solve step is bypassed.  So, you can't use any of the post-solve analysis features such as Make Plot /All Selected Features or any of the options under the Analysis menu, and some of the options under the Plot Context menu.

Analysis Menu

Under this menu there are many choices for analyzing a model after the system of equations has been solved.  Remember to Solve the system after making input changes and before using this menu.  Some choices generate graphs, others generate text output to the run log.  Many of the functions under this menu are demonstrated in detail in the tutorial videos at the website.

Check Boundary Conditions at Latest Iteration

Selecting this causes the program to run through a check of all boundary conditions at the end of the most recent iteration (solved model of last time step if it converged, or last iteration in the case of a model that didn't converge), to see if they are met within the tolerances specified under Model Input/Solution/Check Settings.  The results are written to the run log and the view is switched to the view with the run log.  This can be useful to see which boundary conditions are causing non-convergence, if your model doesn't converge.  It may steer you to relax certain check settings or reconfigure the model.

In the following example, all of the boundary conditions met the check tolerances, so no specific boundary condition is listed:

CheckBC_allOK.jpg

After decreasing the Qn_check_tolerance to 2 x 10-9 and the Extraction_check_tolerance to 4 x 10-7,  the same model had some of the boundary conditions exceeding their check tolerances:

CheckBC_notAllOK.jpg

This output may also be written in automated runs.  

Head-Specified Well Discharges

Under this menu, selecting Write Discharges to Run Log writes a listing of head-specified well discharges to the run log. If the model is steady, it will list one discharge per well.  If the model is transient, it will list period, step, time, and discharge at each time step.  The time listed is the time at the end of the step.  The discharge listed applies from the start to the end of the step. Discharges of such wells are not known prior to solving the system (Solve).  

If you select Write Discharges to CSV, a dialog pops up to select an output file location.  The discharges of all head-specified wells are then written to that file location, providing period, step, time and discharge at each time step.

If you select Graph Transient Discharges, a dialog pops up where you select one well, and a graph is made of the discharge vs. time at the selected well.  Discharges are constant during a time step, so plots show abrupt changes in discharge between steps. Exporting the graph or the underlying data is described here.

This output may also be written in automated runs.  

Discharge-Specified Well Heads

Under this menu, selecting Write Heads to Run Log writes a listing of heads at all discharge-specified wells to the run log. This is head at the specified well radius.  If the model is steady, it will list one head per well.  If the model is transient, it will list period, step, time, and head at each time step.  Heads at such wells are not known prior to solving the system (Solve).  

If you select Write Heads to CSV, a dialog pops up to select an output file location.  The heads of all discharge-specified wells are then written to that file location, providing period, step, time and head at each time step.

If you select Graph Transient heads, a dialog pops up where you select one well, and a graph is made of the head vs. time at the selected well.   Exporting the graph or the underlying data is described here.

This output may also be written in automated runs.  

Multi-Domain Well Discharges by Domain

Under menu, selecting Write Discharges to Run Log writes a listing of the discharge contributed by each domain in a discharge-specified multi-domain well to the run log. If the model is steady, it will list one discharge per domain.  If the model is transient, it will list period, step, time, and discharge at each time step in each domain.   The time listed is the time at the end of the step.  The discharge listed applies from the start to the end of the step.  The discharges in each domain are not known prior to solving the system (Solve).

If you select Write Discharges to CSV, a dialog pops up to select an output file location.  The discharge of all multi-domain wells are then written to that file location, providing period, step, time and discharge at each time step in each domain.

If you select Graph Transient Discharges, a dialog pops up where you select one  discharge-specified multi-domain well, and a graph is made of the discharge contributed by each domain vs. time at the selected well. Discharges are constant during a time step, so plots show abrupt changes in discharge between steps.  Exporting the graph or the underlying data is described here.

This output may also be written in automated runs.  

Internal Head-Specified Line Boundary Discharges

Under this menu, selecting Write Discharges to Run Log writes a listing of internal head-specified line boundary discharges to the run log. If the model is steady, it will list one total discharge per line boundary.  If the model is transient, it will list total discharges vs. time, with period, step, time, and discharge at each time step.  The time listed is the time at the end of the step.  The discharge listed applies from the start to the end of the step.  The discharges of such line boundaries are not known prior to solving the system (Solve).  

If you select Write Discharges to CSV, a dialog pops up to select an output file location.  The discharges of all internal head-specified lines are then written to that file location, providing period, step, time and discharge at each time step.

If you select Graph Transient Discharges, a dialog pops up where you select one internal head-specified line boundary, and a graph is made of the total discharge vs. time at the selected line boundary.   Discharges are constant during a time step, so plots show abrupt changes in discharge between steps.  Exporting the graph or the underlying data is described here.

This output may also be written in automated runs.  

River Line Boundary Discharges

River line boundary discharges are split into two sections, individual reaches and grouped reaches.  Anaqsim will sum a group of river line boundary discharges if your river line boundaries have labels with a common root. A common root consists of any label that contains the common character string "____:#".  For example, if you had three river line boundaries and their labels were dark creek:#1, dark creek:#2, and dark creek:#3, the discharges of each of these 3 are available individually as well as their total discharge.  The discharges of river line boundaries are not known prior to solving the system (Solve).

Selecting Write Discharges to Run Log writes a listing of river line boundary discharges to the run log. If the model is steady, it will list one total discharge per line boundary.  If the model is transient, it will list period, step, time, and total discharge at each time step.  The time listed is the time at the end of the step.  The discharge listed applies from the start to the end of the step. Discharges are negative for flow out of the domain into the river and positive for flow from the river into the domain.

If you select Write Discharges to CSV, a dialog pops up to select an output file location.  The discharges of all river line boundaries are then written to that file location, providing period, step, time and discharge at each time step.

If you select Graph Transient Discharges, a dialog pops up where you select one river line boundary, and a graph is made of the total discharge vs. time at the selected line boundary.   Discharges are constant during a time step, so plots show abrupt changes in discharge between steps.  This option is not yet available for grouped reaches.  Exporting the graph or the underlying data is described here.

This output may also be written in automated runs.  

Conditions Along a Line

This selection allows you to create graphs of head, domain elevations, interface elevations, aquifer discharge, or extraction rate along a line.

There are three options:

Pre-defined lines are defined prior to solving the model, and must be defined in Analysis Input/Transient Line Conditions. Graphing outputs from a new line can be specified after model solve, but graphs are limited to a single time step.

Whilst the predefined lines are called 'Transient Line Conditions' they can be used to provide outputs from both steady and transient models.

The options for choosing a variable to plot and/or write to CSV file are:

When Graphing outputs from a new line, some additional options are present. A dialog box pops up which requires the following input:

If you select Vertical profile, you have the option of showing head, domain boundaries, fresh/salt interface elevations, pathlines, and/or pathline time markers. Depending on what you select under Level, you will make a profile of the selected levels.  

When you have made a graph, it shows the selected item(s) vs. distance along the selected line.  You may export a bitmap graphic of the graph or the underlying data (see the Exporting X-Y Graphs topic).  For a transient simulation, this shows the conditions at the end of the simulation.

The location of this line can be displayed on plots.  The line may also be edited graphically, like can be done with line boundaries: click on a line, then drag the purple squares at the vertexes to new locations.

Fresh/salt interface profiles

There are two options for plotting fresh/salt interface profiles.  The Dupuit option computes the interface position using the model-simulated head for the domain, regardless of the elevation of the interface within the domain.  This assumes that there is no vertical resistance to flow within a domain and no vertical head gradients within a domain (this is commonly called the Dupuit approximation, which is inherent in Anaqsim's domain discharge model).   The Dupuit interface position is always computed using the model-simulated head, and assuming pressure equilibrium between this fresh water head and static salt water.  

The Dupuit plotting option can be used for single- and multi-level domain interface models. In multi-level models where there are significant head differences between levels, the Dupuit option will generate an interface that has discontinuities at boundaries between levels.  This saw-tooth shaped interface is consistent with the Dupuit and Ghyben-Herzberg approximations used in Anaqsim.  With the Dupuit approximation, head jumps abruptly at horizontal boundaries between domains at different levels, so the interface elevation computed with the Ghyben-Herzberg equation must also jump.  

Such discontinuities in the interface may be realistic for cases where a thin aquitard, included in the Anaqsim model by adjusting the K3 of an aquifer domain above or below, is the main cause of vertical resistance between levels.  On the other hand, if the main source of vertical resistance is not an aquitard but the actual K3 of the domains involved, the interface discontinuities are just an artifact of the Dupuit approximation.  These discontinuities can be smoothed by selecting the Non-Dupuit plotting option.

The Non-Dupuit option uses heads that are calculated in a post-processing step, heads that do vary with elevation within a domain.  In multi-level models simulating vertical leakage between levels, there is information available to approximate the vertical distribution of head within a domain.  Using the simulated heads in the domain and in overlying or underlying domains, and the vertical hydraulic conductivity of the domains (K3), and assuming that the simulated domain head applies at the mid-height of a domain, is is possible to construct an estimated vertical profile of heads within a domain at a point.  This profile is non-Dupuit, since head varies with elevation in a domain. For example, if the K3 of the lower half of  level 1 domain A equals K3 of the upper half of level 2 domain B, the approximated head would vary linearly from the midpoint of domain A to the midpoint of level B.  On the other hand, if the K3 of the lower half of  level 1 domain A were twice the K3 of the upper half of level 2 domain B, the approximated head would vary linearly in the lower half of domain A and linearly in the upper half of domain B, but the vertical head gradient in the upper half of B would be twice that in the lower half of A.  If you elect the Non-Dupuit option for interface position, the interface position is computed so that this approximated head balances pressure with static salt water.  The Non-Dupuit option will have these characteristics compared to the Dupuit option:

Where no vertical leakage can be computed, no non-Dupuit interface can be computed, so none can be displayed.  This is true in single-level areas of models.

Pathlines

When you check pathlines, the profile will show thin lines along each pathline, which is projected onto the line using a normal (right angle) projection.   If you check pathline time markers, a dot is displayed at each time marker (arrow in the plot) location. The pathlines and markers drawn will be those from the most recent plot made with the open model.  In a transient model, the pathline is transient, and not based on the flow field just at the selected time step.

This output may also be written in automated runs.  

Sum Discharge Across a Polyline

This sums the domain discharge [L3/T] across a polyline that has been digitized and is currently residing in the clipboard after being digitized.  You must first digitize a polyline in the plot view (Digitize/Polyline) before making this selection.  The discharge is written to the run log.  Discharge is positive for flow going left to right across the polyline as you proceed from the first vertex to the last.  For a transient simulation, discharges at each time step are written to the run log, so you can see how discharge evolved during the simulation.  

The discharge is computed by numerically summing normal components of aquifer discharge at 1000 equally-spaced points on each segment of the digitized polyline.

Sum Discharge Across External Boundaries

This sums the domain discharge [L3/T] across all external boundaries (head specified, normal flux-specified, and head-dependent normal flux). Discharge is positive for flow going left to right across the boundary as you proceed from the first vertex towards the last.  The discharge is computed by numerically summing normal components of aquifer discharge at 1000 equally-spaced points on each segment of the boundary.  The polyline vertexes that are used for this is computation are very slightly displaced into the interior of the boundary from the actual vertexes (within 10-4 of the segment length from the actual vertexes).

Selecting Write Heads to Run Log writes these discharges to the run log.  For a transient simulation, discharges at each time step are written to the run log, so you can see how these discharges evolve during the simulation.

If you select Write Discharges to CSV, a dialog pops up to select an output file location.  The heads of all discharges across external boundaries are then written to that file location, providing period, step, time and discharge at each time step.

If you select Graph Transient Discharges, a dialog pops up where you select a boundary, and a graph is made of the discharge vs. time at the selected boundary.   Exporting the graph or the underlying data is described here.

This output may also be written in automated runs.  

Vertical Leakage Over Polygon Areas

This causes Anaqsim to estimate and output leakages [L3/T] over polygon areas.  The leakages will be computed in all model levels over x-y plane areas defined in Analysis Input / Vertical Leakage Over Polygon Area.  These polygons can be displayed on plots. They may also be edited graphically, like can be done with line boundaries: click on a polygon, then drag the purple squares at the vertexes to new locations.  You may also insert or delete vertexes once the polygon is selected.

Under this menu, selecting Write Leakage to Run Log writes a listing of leakage at all defined polygons to the run log.  If the model is steady, it will list one leakage per model level per polygon.  If the model is transient, it will list period, step, time, and leakage at each time step.  The output text also includes the area of the polygon.  

If you select Write Leakage to CSV, a dialog pops up to select an output file location.  The leakage of all polygons are then written to that file location, providing period, step, time, level and head at each time step.

If you select Graph Transient Leakage, a dialog pops up where you select one polygon, and a graph is made of the leakage vs. time at the selected polygon.   Exporting the graph or the underlying data is described here.

This output may also be written in automated runs.  

Write Number of Displayed (Captured) Pathlines to Run Log

Selecting this causes the number of displayed pathlines to be written to the run log.  This can be handy if you are trying to optimize the capture of pathlines originating from a contaminant source area.  Use in combination with the capture constrain option, so only pathlines captured by selected wells are displayed.  This information can also be written to the text output file generated by an automated Anaqsim run, which allows you to use PEST or other parameter estimation software to perform the optimization.

Head Hydrographs

After solving a transient simulation, this calculates head vs. time data at the hydrograph points input under the Analysis Input/Hydrograph Points menu.  The data points relate to the end of each time step in the simulation, as defined in the Model Input/Time Steps menu.  To calculate this data, which include initial heads, the following steps must be taken in this sequence:

  1. Hydrograph points must be defined in Analysis Input/Hydrograph Points,
  2. Create initial head files as outlined in the Save Locations for Initial Transient Heads topic.
  3. Solve.
  4. Select this menu choice, which outputs the data in 1 of 3 ways:

If you select Write Head Hydrographs to Run Log, the period, step, time and head will be written at each time step to the log file.

If you select Write Head Hydrographs to CSV, a dialog pops up to select an output file location.  The head hydrographs for all hydrograph points are then written to that file location, providing period, step, time and head at each time step.

If you select Graph Head Hydrographs, a dialog pops up and asks if you want to read in observed hydrograph data from a file and plot those data as well as the modeled hydrograph. If you select Yes, you will then open a text file that has data that is either tab-delimited or comma-delimited.  The file can have as many series and data values as you would like. An example of the file format for a tab-delimited file is shown below. Each row has 2*n columns for n series of data. The first row has the series label in columns 1, 3, 5,...

The second and subsequent rows have time, value pairs for each series. In this example, columns 1 and 2 have time, value pairs for well1, columns 3 and 4 have time, value pairs for well2, and columns 5 and 6 have time, value pairs for well3. Note there can be different numbers of records in different series (e.g. these three series have 11, 7, and 10 records). This tab-delimited format can be generated directly from Excel by saving as a tab-delimited text (.txt) file.

well 1        well2        well3
1    101    1    201    1    301
2    102    2     202     2     302
3     103     3     203     3     303
4     104     4     204     4     304
5     105     5     205     5     305
6     106     6     206     6     306
7     107     7     207     7     307
8     108             8     308
9     109             9     309
10     110             10     310
11     111

The equivalent comma-delimited (.csv) file, a format that can also be saved from Excel, would look like:

well 1,,well2,,well3,
1,101,1,201,1,301
2,102,2,202,2,302
3,103,3,203,3,303
4,104,4,204,4,304
5,105,5,205,5,305
6,106,6,206,6,306
7,107,7,207,7,307
8,108,,,8,308
9,109,,,9,309
10,110,,,10,310
11,111,,,,

You may export a bitmap graphic of the graph or the underlying data (see the Exporting X-Y Graphs topic).

A similar functionality is available in the plot context menu (right-click over the plot), which allows you to create hydrographs of all model levels at any location in a transient model.  However, hydrographs created with the plot context menu lack initial (t=0) heads.

The locations of hydrograph points can be included in plots.  These locations may also be edited graphically, like can be done with well locations: click on a hydrograph point, then drag the purple square to the new location.

This output may also be written in automated runs.  

Drawdown Hydrographs

This item does roughly the same thing as Analysis/Head Hydrographs except that it calculates data for initial head - head to give you drawdown vs. time instead of head vs. time. To  allow log-log graphing of drawdown vs. time, the (time=0, drawdown=0) data point is omitted.  See Analysis/Head Hydrographs for a detailed description of how to set up this sort of analysis and how to display observed drawdown in addition to modeled drawdown.

Three options of writing outputs to Log, CSV and providing graphs are available. This output may also be written in automated runs.  

Calibration Results

Items under this menu allow you to write or graph head calibration results.  You can include all head calibration targets or only the selected ones.

This output may also be written in automated runs.  

Write All Targets to Run Log

This writes the results of calibration to the run log, including all head, head difference, and velocity calibration targets.  All calibration targets are input under the Analysis Input/Calibration Targets menu. 

Write Selected Targets to Run Log

This writes the results of calibration to the run log, including all head, head difference, and velocity calibration targets.  All calibration targets are input under the Analysis Input/Calibration Targets menu. 

Graph All Head Targets

This creates a and x-y graph of modeled heads vs. observed heads for all head calibration targets. Head and head difference calibration targets are input under the Analysis Input/Calibration Targets menu. 

Graph Selected Head Targets

This creates a and x-y graph of modeled heads vs. observed heads for the selected head calibration targets. Head and head difference calibration targets are input under the Analysis Input/Calibration Targets menu.

X-Y Graphs: Exporting, Changing Axes

Several of the choices under the Analysis menu lead to X-Y graphs.  All such graphs are displayed in a separate window like the one shown below, which has two menu items for exporting.  Selecting Save Chart Image lets you export a bitmap graphic of the graph to a file in png, jpg, or bmp formats.  Selecting Save Chart Data exports the underlying data of the graph to a text file in tab-delimited form so that it may be later imported into documents or spreadsheets like Excel.

You can customize the axes of X-Y graphs under the Change Axes menu item.  You can make either the X or Y axis logarithmic, but this only is possible if all values on that axis  are positive.   You can also change the upper and lower limits and the label/grid interval of the X and Y axes.

When the cursor is moved over a curve on the plot, the label of that curve is displayed.

XYGraph.PNG

License Menu

These are topics about your Anaqsim license - how to activate it and check its status.  

License Status this Computer

Selecting this prints the current license information for this computer to the run log.  If a valid license is present, it prints the expiration date.

License Key Activation Status

When prompted, enter your activation key code (sent via email to the purchaser at the time of the purchase) and press OK.  

The implementation of licenses has been changed from October 2024. Anaqsim version 2024-2-0 or later will be required to check a license key activation status of a license purchased after October 2024.

Each license key provides a single activation license for activation on a single computer.  Each key remains valid whilst an active monthly or annually recurring subscription is in place.  A subscription may be cancelled at any time and the associated license will remain valid until the end of the period that has been paid for (i.e. the full month or year from date of purchase / date of last automatic renewal payment). For more details please see Licensing Anaqsim. You may view and manage your active subscriptions by signing into your Anaqsim Account which will have been created when you purchased your subscription.

For licenses purchased after December 2023 but prior to June 2024 – Each activation key contains a single activation.  If you have purchased multiple licenses, you will receive multiple activation keys.  Each key is valid on one computer for 1 year from the date of purchase. The type of license and expiry date will be printed to the screen.

For licenses purchased prior to December 2023 – Each activation key may contain one or more activations.   Each activation is valid on one computer for 1 year from the time of activation, and there is no time limit for initialising activations. The number of activations initially purchased, the number of activations used so far and the number of activations still available will be printed to the screen.

Activate License on this Computer

Anaqsim licenses must be activated for key program functions to work.  Anaqsim licenses are locked to a specific computer for a specific time period (June 2024 onwards - whilst active subscription is in place, December 2023 to June 2024 - 1 year from purchase; prior to December 2023 - 1 year from activation).  The following process is required for activating a licence:

  1. Make sure your computer is connected to the internet (required).
  2. Select 'License'/'Activate License on this Computer'.  
  3. When prompted, enter your activation key code (sent via email to the purchaser at the time of the purchase) and press OK.  
  4. Anaqsim will activate a license on your computer.
  5. Check that the license is functioning correctly by selecting 'License'/'License Status this Computer'.  The license expiration date will be printed to the run log.

De-activate License on this Computer

An Anaqsim license can be de-activated and then re-activated for example if you upgrade computers and need to move Anaqsim to the new computer.  The following process should be followed: 

  1. Make sure your computer is connected to the internet (required).
  2. Select 'License'/'De-activate License on this Computer'.  
  3. When prompted, enter your activation key code (sent via email to the purchaser at the time of the purchase) and press OK.  
  4. Anaqsim will de-activate the license on your computer.
  5. Follow the Activating a License instructions on the new computer.

De-activating a license is only possible with licenses purchased after June 2024.  The activation key entered must match the activation key that was used to activate a license on that computer.

Help

Pressing this opens this Anaqsim User Guide Windows help file.  The User Guide gives and overview of Anaqsim modeling concepts and then details about the program's user interface and all menu items.

Use the contents tab at the left to navigate to and open desired sections or use the search tab to search for topics related to specific word(s).  The buttons on the bar at the bottom navigate to the next topic, and previous topic.

About Anaqsim

This causes the Anaqsim release number and the www.anaqsim.com web site URL to be presented in a pop-up window.