Thursday, December 31, 2020

So...How Does AnAqSim Compare to MODFLOW?

Here at flexAEM, one of the questions that often comes up is “How does AnAqSim compare to MODFLOW?” Although this question is somewhat broad, and can be interpreted in different ways, two ways in which AnAqSim and MODFLOW can be compared are in their capabilities and their accuracy. As to a comparison of capabilities, AnAqSim includes many of the key features that have made MODFLOW so popular (and one of the most widely used groundwater modeling software programs in the world today). For instance:

  • Like MODFLOW, AnAqSim has the ability to incorporate multiple layers into a model, which allows for better representation of more complex aquifer systems. 
  • The subdomain method that AnAqSim is based on allows you to apply this mult-layer capability only in the area of interest within a broader, less detailed regional model domain.  This flexible layering scheme is similar to nested grid models that can be generated using more recent versions of MODFLOW, such as MODFLOW-USG and MODFLOW-6.
  • The area of the aquifer for which you build an AnAqSim model can be hydraulically linked to extended areas of the aquifer you are analyzing using the same types of specified head, specified flow, or general head boundary conditions that are applied in MODFLOW.
  • AnAqSim, like MODFLOW, can simulate both steady-state and transient flow conditions.
  • With regard to Transient simulations, similar to MODFLOW, AnAqSim allows the user to specify stress periods and time steps, and vary several different model inputs through time, including aquifer recharge, well pumping rates, and river stages. 
  • AnAqSim (like MODFLOW) also allows for the incorporation of anisotropy.
  • AnAqSim can be used to trace particle pathlines in three dimensions (which can be done using MODPATH upon generation of a flow field using MODFLOW).
  • Like MODFLOW, PEST can be used in conjunction with AnAqSim to automate and greatly streamline the model calibration process (see our Blog post on using PEST with AnAqSim HERE). 

But what about accuracy?  How do modeling results from AnAqSim compare to those generated by MODFLOW?  Since the AEM method is based on exact analytical solutions, whereas MODFLOW uses the finite difference method to approximate those solutions, the answer is that AnAqSim is typically more accurate than MODFLOW. To illustrate this, a simple box model with three pumping wells was generated using AnAqSim and MODFLOW. As shown in Figures 1 and 2 below, the MODFLOW results become increasingly more accurate as the model is further discretized, and to achieve a similar level of accuracy as the results generated by AnAqSim, a grid spacing of 2.5’ x 2.5’ must be utilized in the MODFLOW model, which can be computationally taxing.

Figure 1 – Comparison of simulated head field using AnAqSim and MODFLOW with Variable Grid Spacing

Figure 2 – Comparison of simulated heads using AnAqSim and MODFLOW with Variable Grid Spacing (with MODFLOW grids turned off and heads at pumping wells displayed)

How about particle pathline tracing?  Again, a comparison of particle pathlines generated using AnAqSim and MODFLOW/MODPATH in a model with a “stepped” base elevation indicates that the results match almost exactly (see Figure 3 below).

Figure 3
 – Comparison of AnAqSim and MODFLOW particle pathlines with a 5-ft stepped base elevation

For additional comparisons of AnAqSim to MODFLOW (and other analytical solutions), please visit Fitts Geosolutions’ “Checks of AnAqSim” page.As demonstrated above, a comparison of the features and accuracy of results generated by AnAqSim and MODFLOW indicates that AnAqSim incorporates many of the key features and capabilities that make MODFLOW such a versatile, widely used tool, and produces results that are typically more accurate than those generated by MODFLOW. These capabilities make AnAqSim a great alternative to MODFLOW for most simple to moderately complex modeling projects.

Tuesday, November 3, 2020

AnAqSim Instructional Series Set 8!

With summer in the rear-view mirror and cooler temperatures approaching, there’s never been a better time to hunker down and get back to the basics of AnAqSim with the flexAEM AnAqSim Instructional Series!  In this post we highlight Exercise Set 8, which provides an in-depth look at the key AnAqSim features and tools for constructing groundwater models and analyzing model results. Topics covered in the series include:

  • Working with Data Grids
  • Solver Settings and Checks
  • Model Inspector Tools
  • Analysis Tools
  • Digitizing Tools
  • Editing XML Model Input files
  • Exporting Model Data and Graphic results

Although Set 8 explores all these tools and features in detail, there are several in particular that are useful when building models and analyzing results in AnAqSim.

Inspector Tools

The model inspector tools (which are displayed along the left side of the plot view window – see diagram below) allow you to explore flow system conditions at any model location such as saturated thickness, head, specific discharge, layer-to-layer leakage and many more. As you move the cursor over the model, parameters are updated based on the cursor location and current model solution.

Model Inspector Tool displaying parameters of the model

Digitizing Tools

One of the most common ways to begin constructing a model is by importing a basemap and using AnAqSim’s Digitization tools to digitize key features in your model, such as domain boundaries, monitoring wells, lakes and streams, or other internal line boundaries (e.g., an extraction trench associated with a groundwater remediation system). These tools can also be used to accurately position pathline starting locations along lines or within areas. AnAqSim provides instructions on how to digitize any shape, which makes it easy to build any features needed in model construction.

Analysis Tools

AnAqSim’s suite of analysis tools allow the user to develop models with ease, explore model results, and gain important information from the model.  For instance, the Graph Conditions Along a Line feature allows you to create graphs of head, domain elevations, interface elevations, aquifer discharge, or extraction rates along a line chosen by the user. These graphs are useful to view how pathlines will move through the model, check a head profile over a boundary, or check to see if the model is functioning properly. Additional analysis tools allow modelers to create plots of head or drawdown hydrographs, plots of boundary discharges, and plots that display calibration results for the current model solutions.

Graph output from Graph Condition Along a Line tool displaying pathlines, head levels, and domain boundaries.

AnAqSim Instructional Series Exercise Set 8 is a great way to learn how to use these tools and learn helpful tips on model construction (e.g. proper solver settings and editing of XML input files if necessary) to make the best use of AnAqSim’s capabilities.

For further information on the instructional series, or if you would like to purchase the series, please visit

Friday, October 2, 2020

Using the Drain/Fracture Element – Part 3 of 3: Flow in Bedrock Fracture or Fault Zones

 As described in Part 1 and Part 2 of this series, Drain/Fracture elements are useful internal boundaries for easily modeling a variety of hydrologic features including collector trenches, interconnected ponds, and transmissive fracture or fault zones.

This example will demonstrate the use of a drain/fracture line element to represent a zone of more transmissive fractured or faulted rock within a lower permeability bedrock aquifer.

Discrete Fractures and Fracture Zones

In areas with discrete water-bearing fractures, drain elements can be incorporated into an AnAqSim model to direct flow along the higher conductance fracture(s). This capability can be useful when looking at groundwater contours and drawdown; however, particle pathlines cannot be tracked through drain/fracture elements, making interpretation of groundwater flow paths difficult, especially when multiple drain/fracture elements are combined.

To address this pathline issue, the use of separate fractured domains with anisotropy (different K1_horizontal and K2_horizontal values and an Angle_K1_to_x_axis aligned with the fracture strike) is recommended when using particle pathline tracing to evaluate model results is important. As shown in the examples below, the drawdown caused by pumping within a fractured region represented by discrete fractures is nearly identical to the drawdown caused by pumping within a fractured region represented by an anisotropic domain with representative bulk hydraulic conductivities along strike and perpendicular to strike (Fig 1 and Fig 2).

AnAqSim Fracture and Drain Elements

Fig 1. Drawdown caused by extraction well located within a fractured region represented by discrete fractures

AnAqSim Equivalent Porous Media Fractured Zone

Fig 2. Drawdown caused by extraction well located within the equivalent anisotropic porous media fractured region

While the two fractured zone representations both provide similar drawdown plots, they do not produce equivalent particle pathlines to the pumping well located within the fractured region. Pathlines within the equivalent anisotropic porous media agree with the flow of groundwater, predominantly along strike within fractures (Fig 4), while the pathlines tracked from the well located within the discrete fractures appear to flow across strike rather than along it (Fig 3). This is because pathlines that intercept the drain/fracture elements are terminated, so only pathlines that aren’t captured by the drains are tracked perpendicular to the hydraulic gradient.

AnAqSim pathlines through fractured region

Fig 3. Pathlines tracked to an extraction well located within a fractured region represented by discrete fractures

AnAqSim equivalent porous media fractured zone pathlines

Fig 4. Pathlines tracked to an extraction well located within the equivalent anisotropic porous media fractured region

Pathlines in the discrete fracture model primarily terminate at the closest fractures on either side of the well, while the pathlines in the equivalent anisotropic porous media model travel along strike while within the fractured region. The equivalent anisotropic porous media model produces a more representative capture zone and thus may be more useful when determining capture zones for wells within fractured regions.


Drain/fracture elements can easily produce hydraulic head contours resulting from discrete fractures, pipes, or karst zones located within an aquifer and can effectively represent drawdown resulting from pumping near those drain/fracture elements. If capture zones are desired, drain/fracture elements are not the right choice because the particles are not tracked along the line elements. Instead, representative anisotropic domains may be more appropriate for representing capture zones. The discrete drain/fracture elements can still play a role in developing the representative anisotropic domain if the number, aperture (width), and hydraulic conductivity of the fractures is approximately known. This will allow a model with an anisotropic domain to be fit to the discrete fracture model (by adjusting K1_horizontal, K2_horizontal, and Angle_K1_to_x_axis in the fracture domain window).

Tips and Tricks

  • Use more closely spaced nodes near the end of drain/fracture line elements where the boundary condition is changing rapidly if head contours are not smooth.
  • Using equations within excel can be useful to quickly set up multiple line boundaries that are aligned parallel to each other.

The models used in the above examples are available in this zipped file. The above examples require the full version of AnAqSim to solve. AnAqSim is available from Fitts Geosolutions.

Friday, September 4, 2020

Using the Drain/Fracture Element – Part 2 of 3: Connecting a Series of Ponds

 As described in Part 1 of this series, Drain/Fracture elements are useful internal boundaries for easily modeling a variety of hydrologic features including collector trenches, interconnected ponds, and transmissive fracture or fault zones.

This example will demonstrate the use of a drain/fracture line element to connect a series of ponds in such a way that water flows freely between the ponds and keeps them hydraulically linked regardless of additions or withdrawals from one of the ponds.

A pond in direct communication with the aquifer

In this example, a series of three ponds are in direct communication with the aquifer, and each pond is connected by a small stream. Because the ponds are in direct communication with the aquifer, groundwater is able to easily flow through the ponds as if they were a high hydraulic conductivity unit within the aquifer. And because the three ponds are linked by streams, the water level within all three ponds is nearly identical. This simple model uses five drain elements with high conductance values to represent the three ponds and two connecting streams (Fig 1). The Drain elements conduct water along their length effectively causing the three ponds to have roughly equal surface elevations (Fig 2).

Fig 1. Three ponds (represented by circular drain elements) connected by short stream segments (represented by linear drain elements).

Fig 2. Groundwater elevations in the vicinity of the ponds and connecting stream. Note that the easy flow among the ponds transmitted by the stream drain segments maintains the elevation of water in the ponds, and elevation of the adjacent groundwater in the aquifer, very close to 90 ft msl.

Increasing or decreasing the conductance of the drain elements can be used to control the elevations of the ponds relative to each other. A higher conductance will cause the three pond surface elevations to be closer together, while using a lower conductance will cause the three pond surface elevations to be further apart. If we increase the conductance of the model shown in the previous figure by a factor of 10, we can see that the 90-foot contour extends around the first pond, rather than cutting between the first and second ponds (Fig 3).

Fig 3. Increasing drain element conductance in the model enhances the hydraulic connection among the ponds, and all elevations more closely approximate 90 ft msl.

Similarly, decreasing the conductance of the original model by a factor of 100 causes additional contours above and below the 90-foot contour to separate the ponds, resulting in a larger hydraulic gradient between the three ponds.

Fig 4. Decreasing drain element conductance in the model reduces the hydraulic connection between the ponds and the aquifer, and from pond to pond, causing a significant decreasing head condition through the pond system from left to right.

In the above examples, the conductances of all five drains used to represent the ponds and connecting streams were changed uniformly, but each drain segment can be adjusted individually to better represent observed conditions.


Drain/fracture elements can easily represent ponds and networks of ponds that are in direct communication with the aquifer and hydraulically linked to each other. Using a high conductance for the drain/fracture elements (on the order 1 Million to 10 Million ft2/d) will cause ponds to have approximately equal surface elevations. Ponds at different surface elevations can be manual matched by adjusting the conductance of some or all of the drain/fracture elements to match observed surface water elevations. Representing ponds and streams using drain/fracture elements assumes that the surface water bodies are in direct communication with the aquifer and are neither extracting nor supplying water to the aquifer system. If the ponds are in-fact a source or sink in the aquifer system, spatially variable area source/sinks should be used for separate pond domains and river line boundaries should be used for the streams.

Tips and Tricks

  • For larger ponds, adding one or more drain lines within the interior of the pond will help to maintain heads across the entire pond.
  • To represent water extraction from within one of the ponds, a well or constant flux line element can be placed within the pond at a specified extraction rate.

The models used to in the above examples are available in this zipped file. Both model files are solvable using either AnAqSimEDU (the free version) or the full version of AnAqSim. Both versions are available from the Fitts Geosolutions.

Friday, August 14, 2020

Using Drain/Fracture Line Boundaries in AnAqSim – Part 1 of 3: Collector Trench Example

Drain/Fracture elements in AnAqSim are useful internal line boundaries that conduct water at a high rate compared to the surrounding domain.  They can be used to easily model a variety of linear hydrologic features including:

  • Trench drains that collect water in a high permeability trench and direct flow towards an extraction well
  • Ponds in direct communication with the aquifer where modeling pond responses to model stresses is desired
  • Discrete fractures or fractured zones

This example will demonstrate the use of drain/fracture line elements to represent a collector trench for groundwater dewatering or remediation, and parts 2 and 3 will focus on modeling ponds and fractures using drain/fracture line elements.

AnAqSim employs these drain/fracture elements as line boundaries with specified conductance (hydraulic conductivity * width) that can transmit large volumes of water. Note that drain/fracture elements in AnAqSim are different than drain boundaries employed in MODFLOW. Drain/fracture elements do not remove water from the model and the user does not supply a reference elevation. If you are trying to simulate a MODFLOW type drain boundary in AnAqSim, it is best to use the River element with the “Dries_up” box ticked. Note also that, while the drain/fracture feature is referred to as a boundary in AnAqSim, it is created using a line dipole function and should not be used to form an external domain boundary, nor should it contact or be joined to an external domain boundary - it is strictly an internal boundary.

Drain/fracture elements can be employed in any instance where hydraulic features can be conceptualized as a thin linear zone with a greater hydraulic conductivity than the surrounding aquifer. While that zone may have a physical width in the real aquifer, as for example in the case of a trench, the mathematical line boundary has zero width. This prevents any pathline tracing along these features as they transmit flow along their orientation. This limitation, along with other tips for implementation, will be discussed in the following example.

Trench Drains

Trench drains with extraction sumps or wells are useful remedial technologies to consider when evaluating remedial options at sites with impacted groundwater, or for certain dewatering applications. AnAqSim allows for rapid simulation of trench drains and extraction wells using either trench drain domains separated from the aquifer by interdomain boundaries or drain/fracture elements with an equivalent conductance (Kx * w) within the aquifer.

Previously, we have represented trench drains as separate domains in flexAEM exercises and calculators (available from the flexAEM website); this is an effective strategy that allows for particle tracing within the drain, but it can be time consuming to input the nodes along the edge of the drain (especially for complex drain geometries that do not align with the x and y axes). Drain/Fracture elements have are easier to input because only a single line is required (although care should be taken near the ends of trench drains to add additional nodes where the boundary condition changes rapidly). Additionally, a node is required at locations that correspond to wells pumping within the trench drain, otherwise the pumping will not be properly conveyed to the trench drain.

The examples below show a trench drain represented with a separate domain (Fig 1) and a trench drain represented using the drain/fracture element (Fig 2). Both examples have three pumping wells located within the trench drain pumping at 4,000 ft3/d or approximately 30,000 gpd. The trench drain is 4 feet wide with a hydraulic conductivity of 1,000 ft/d; this corresponds to a conductance of 4,000 ft2/d for the drain/fracture element.

Fig 1. Trench Drain Represented by a High Hydraulic Conductivity Domain

Fig 2. Trench Drain Represented by a Drain/Fracture Element

Notice that the two trench drain representations yield identical head contours (compare Figs 3 and 4), but the separate trench drain domain model produces a much more complete representation of the particle pathlines (Fig 3)  that represent the capture zones of the three wells. Although the drain/fracture element model does not allow particles to travel along the length of the drain (Fig 4), the particles that are shown represent the overall extent of the trench drain and extraction well capture zone.

Fig 3. Trench Drain Represented by a Separate High Hydraulic Conductivity Domain

Fig 4. Trench Drain Represented by a Drain/Fracture Element


Drain/fracture elements are useful features in AnAqSim that can be utilized to rapidly model trench drains used for capturing impacted water or dewatering. Modeling the dewatering effect of a trench drain and sump, without the need for particle pathline tracing is an efficient use of drain/fracture elements since it allows the user to save time when digitizing the trench drain.

Tips and Tricks

  • In the above example, near the ends of the trench drain and near the three wells, the spacing of drain/fracture element nodes was decreased to less than 1-foot to provide greater resolution where the boundary condition changes rapidly. If you are experiencing jagged contours near the drain, try decreasing the node spacing to see if this helps to smooth the contours.
  • If you have used drain/fracture elements in your model and you would like to perform particle pathline tracing, try adding a line of pathlines that trace backwards from immediately upstream of the drain/fracture element and another line of pathlines that trace forward immediately downstream of the drain/fracture element. This will give you a fairly good understanding of the flow directions on either side of the drain/fracture element, but will not indicate how far particles travel along the drain/fracture element before reentering the aquifer.

The models used to in the above examples are available in this zipped file. Both model files are solvable using either AnAqSimEDU (the free version) or the full version of AnAqSim. Both versions are available from the Fitts Geosolutions.

Monday, March 2, 2020

Interview with Dr. Charles Fitts Regarding the Analytic Element Method and AnAqSim Groundwater Modeling Software

You can probably tell from our flexAEM website and blog that we like AnAqSim. So we wanted to find out a little more about its author, Dr. Charles Fitts, how he became involved in Analytic Element Method (AEM) groundwater modeling, and how AnAqSim was developed to have the features it has. We sent Dr. Fitts some questions and he has graciously responded. You can read the “interview” below.

We were fascinated to learn about how Dr. Fitts became interested in learning, coding, and applying AEM models. But we are especially grateful for the in-depth responses that he provided on some of AnAqSim’s features, complete with references for those who want to explore this topic further. We want to offer our thanks to Dr. Fitts, and we hope you enjoy his responses below.

Q: How did you first become interested in groundwater flow, mathematical modeling, and the AEM?

A: I always liked mathematics, maps, water, and geology. As a teen, my parents called me “Chuck Atlas” because I spent so much time perusing the Rand McNally atlas. As an undergrad I majored in Geology/Biology at Colby and then I studied engineering geology and soil mechanics at Cornell for an MS. Then in the early 1980s I worked for four years doing geotechnical consulting in the Boston area. During those years I worked on many projects with seepage and groundwater issues. I took a semester off work to take engineering classes at U. Minnesota (my home state) to prepare for PE exams, and one of the courses I took was Groundwater Mechanics with Dr. Otto Strack, the founder of the analytic element method (AEM). He is a gifted teacher and I really enjoyed learning analytic techniques and applying them to groundwater flow problems. I decided to pursue more graduate study under Otto, and eventually got a PhD in civil engineering. My research there focused on AEM methods for vertical plane flow, 2D heterogeneities, and 3D heterogeneities. I was drawn to the AEM because of the beauty of the mathematics and the promise of the method with its high accuracy, minimal inputs, and geometric flexibility.

Q: What led you to develop AnAqSim with an approach that is quite different from previous AEM programs?

A: For my research at U. Minnesota, I wrote Fortran programs which I kept improving and using in my consulting work after leaving school. Ultimately this code became TWODAN (two-dimensional analytic groundwater model), which I distributed in the 1990s and 2000s. TWODAN was a good tool with a decent interface, but like most AEM programs at that time, it was limited to a single layer (2D) and had almost no transient capabilities (merely adding Theis solutions to the steady solution). In the 2000s, the AEM declined in popularity while numerical methods like FDM (MODFLOW) and FEM were on the rise. This trend was probably due to the robust multilayer (3D) and transient capabilities of numerical models, whereas AEM programs were generally limited to 2D steady flow. Rather than keep up with multiple modeling techniques and programs, many modelers just used one numerical modeling program. I felt that the key to growing AEM use was to improve its 3D and transient capabilities.

I saw a significant break when Strack and Jankovic (1999) published their paper on solutions for spatially variable area sinks (SVAS). These are 2D functions with a sink term whose strength (rate) varies with position in the plane using radial basis functions. SVAS functions create a smooth, irregular surface of sink strength that passes through any number of basis points where the strength is set. The radial basis functions used by Strack and Jankovic (1999) were first employed by Hardy (1971) to interpolate smooth topographic surfaces from point elevation data. Strack and Jankovic demonstrated the SVAS functions in a model simulating leakage from a single-layer aquifer to an overlying surface water using relatively few basis points. I saw that these SVAS functions could be used in a different way with larger numbers of basis points to dramatically improve multi-layer and transient modeling with the AEM. The distributions of vertical leakage between layers in multi-layer models and the storage fluxes in transient models may be combined and viewed as spatially variable distributed sinks. The functions presented by Strack and Jankovic could be used to approximate the required sink distribution.  

On another front, I worked on methods for modeling anisotropy in the plane of the domain, using some old (Muskat, 1937) and new coordinate transformations (Fitts, 2006). At this time, I also worked on a subdomain approach in AEM where you break up a model layer into separate finite subdomains instead of one infinite domain (Fitts, 2004; Fitts, 2010). Each subdomain has its own mathematical model and can have its own direction and ratio of anisotropy, making for very robust anisotropy capabilities. A subdomain approach has been used with boundary element methods, which are like AEM but use numerical integrations along boundary elements instead of analytic solutions (Liggett and Liu, 1983; Bruch and Lejeune, 1989). The subdomain approach has other nice side-effects: (1) it makes the equations for potential or discharge shorter, (2) model layering can vary from one region of a model to another, and (3) heterogeneity boundaries can be a mix of different boundary types such as specified head, specified normal flux, and interdomain.

It was exciting to see how all these pieces could come together. I began writing code that used subdomains, SVAS, and coordinate transformations to make AEM models that had multi-layer and general anisotropy capabilities. I also incorporated high-order line elements which make it easier to tune accuracy and use longer line segments (Jankovic and Barnes, 1999). I later added storage terms and transience using the same SVAS functions as are used for vertical leakage between layers. The result is a program that has the accuracy, minimal inputs and other benefits of AEM, but with comprehensive capabilities for anisotropy, multi-layer systems, and transient flow.

The vertical leakages are computed using finite difference approximations of dh/dz and storage fluxes are computed using finite difference approximations of dh/dt. The flow models are based on the AEM while these derivatives are approximated with finite differences. Such approximations are employed by MODFLOW and other numerical modeling programs as well and afford a wide range of application to both AnAqSim and numerical models.

Q: What are the main differences between AnAqSim’s methods and methods used in other AEM modeling codes?

A:  This topic has many facets, and for a quick overview you may want to see this web page comparing AEM program capabilities:  I will discuss the major differences below.

Most AEM programs have elements that are all internal to a single infinite domain in each layer. In contrast, AnAqSim uses finite subdomains that extend laterally only as far as their polygonal external line boundaries. Each subdomain in AnAqSim has its own mathematical model, whereas the infinite domain approach has a single model per layer. This means the equations in AnAqSim are shorter (only elements within or on the boundary of a subdomain contribute to the potential or discharge functions of that subdomain), which leads to computational savings while solving the system of equations and while generating graphic outputs like contours and pathlines. Subdomains also allow complex layering schemes where, for example, three subdomains (layers) on one side of an interdomain boundary abut a single subdomain (layer) on the other. This lets you easily have more layers in the areas of interest and fewer layers farther out. No other AEM program has this feature.

Other AEM programs typically specify a reference head at a point outside the area of interest, which determines the flow to or from infinity. Since AnAqSim uses finite subdomains, this is not needed. The external boundary conditions in AnAqSim’s bounded models are more clearly defined than the infinity boundary condition generated by the reference head in infinite-domain AEM models. I know from my years of supporting TWODAN that the reference head was a source of confusion.

Most AEM programs are single layer (2D), but AnAqSim, MLAEM, and TimML all offer multi-level aquifer simulation (3D). TimML (and MLU, which is pumping test analysis software based on the same approach) is a multi-level simulator that provides exact distributions of the sink terms simulating vertical leakage and storage, whereas AnAqSim approximates these distributions between basis points. TimML has some limitations at this point in its development. For example all domains must be fixed transmissivity (confined), layers must be infinite, fewer kinds of line and area element boundary conditions are possible, and it lacks a graphic user interface. MLAEM appears to allow simulation of leakage in multi-level aquifer systems but after considerable online searching, I could not find documentation of how that is accomplished with area sinks, and the models are only for steady-state flow (not transient).

AnAqSim has comprehensive transient capabilities meaning that just about all key inputs (discharges, heads, recharge rates, normal fluxes, river stages) can be transient, varying from one time period to the next. Head-specified wells and line boundaries can have transient heads and they can turn off during specified periods. This on/off feature is handy for dewatering simulations. TTim is a transient AEM program like TimML that can also do transient simulations with transient discharges and heads, but TTim is subject to the same kinds of limitations listed above for TimML.

AnAqSim has general anisotropy capabilities, allowing unique directions and ratios in each subdomain. There are no other AEM programs that allow anisotropy in the plane of domains.

Q: Describe the process of creating and updating AnAqSim.  What were (are) some of the big hurdles?

A: AnAqSim is written in C#, an object-oriented language with many nice built-in components supplied by Microsoft. In the 2000s I switched from FORTRAN to C# because AnAqSim’s subdomains and transient time-stepping are complex and require a lot of bookkeeping that C#’s classes and objects are good at. I chose C# because it had the right language features, Microsoft is likely to be around for a while, it comes with a great development environment (Visual Studio), and there were good libraries for math and graphics. AnAqSim has tens of thousands of lines of code, so I had to build it incrementally and slowly from the ground up. I started with fundamental classes to represent spots (x, y, level, subdomain, potential and discharge functions), subdomains (elevations, properties, coordinate transformations, conversions between head and potential), and elements (wells, line elements, area sinks). I tested the daylights out of these fundamental classes before building higher-level classes (e.g. boundary conditions, equation-building) that use these lower-level classes.

It’s important to test the code thoroughly every step of the way and whenever anything is modified or added. Bugs are a fact of life with complex software and it takes time to root them out. Fortunately, AnAqSim has now been in use for almost a decade with many hundreds of users, so it is mature in the sense that serious bugs have been found and cured. I built lots of analysis features into AnAqSim, in part because the outputs are useful to users, but also because it makes thorough testing of the code much easier for me.

The biggest hurdle was the sheer magnitude of the project. It is a lot of work to write the computational parts of the code, the user interface, the documentation, the training tools, and the web site. I like the challenge of big projects and at this point I have invested probably a decade of work on this. I use bought components for the plotting, graphics, and math (complex variables, solvers), and these have saved time and made it possible. A difficult, but unseen part is creating an installation package that a user runs to install the software. This is a whole field unto itself, with specialized software that creates the install file and numerous arcane considerations such as .net frameworks, C++ libraries, dynamic link libraries, digital signatures, target platforms, etc.

Q: How has your use of groundwater modeling software evolved over time? 

A: In the 1990s I used TWODAN for 2-D steady flow analyses and MODFLOW for anything that was 3D and/or transient. I also used Aqtesolv, which is good software for analyzing pumping tests using various radial single-layer analytic solutions. I still use Aqtesolv for some pumping test analyses, but it has been a few years since I’ve used MODFLOW. I find that I can reasonably model most any situation with AnAqSim. I have been using AnAqSim often to analyze pumping tests in a more sophisticated way when one or more of these conditions are present: partial penetration of pumping or observation wells, heterogeneity, anisotropy, or irregular boundary conditions. With AnAqSim’s hydrograph features, it is easy to plot simulated vs. observed heads at all observation wells and tweak aquifer parameters to get a good match of those hydrographs.


Q: What types of groundwater projects have you or others applied AnAqSim to?

A: AnAqSim has been used on many projects for construction or mining dewatering simulations, which appears to be the most common application. Dewatering simulations have involved wells, sumps, trenches, sheet-pile barriers, and recharge trenches. The ability to turn specified head wells and line boundaries off is handy for dewatering projects that proceed in stages (e.g. an expanding and deepening excavation). I have also done transient analysis of the impact of constructed ponds on local groundwater flows and heads.

Another common application is capture zone analysis for remediation design and for water supply zone of contribution studies. These often involve multilayer models in the area of interest to simulate partially penetrating wells, drains, and surface waters; and they can be performed as part of groundwater protection zone delineation or groundwater remediation projects. AnAqSim’s area pathlines and capture constrain features give it unique capabilities for capture zone analysis. 

Several of my projects have involved simulating vertical plane flow. One was analyzing discharge to a ship channel with bulkheads and heterogeneous subsurface conditions, and another was looking at patterns of discharge from a sand and gravel aquifer to a lake. The anisotropy features are helpful with vertical plane models, where stratification typically makes subdomains anisotropic.

I often use AnAqSim to analyze pumping tests with partially penetrating wells, heterogeneous and layered systems, and surface water connections near the tested well. An analysis done this way can be accomplished in just a few hours. You get a much more sophisticated and realistic analysis compared to the typical pump test solution for a single layer, no boundaries, and radial symmetry. 

I’ve analyzed fresh/salt interface aquifers a couple of times and I know of other consultants who have done many projects analyzing interface positions in sandy coastal aquifers.

Q: What materials are available to help users learn to use AnAqSim?

A: The more capable a modeling software is, the more there is to learn. Since AnAqSim can do so many things, there is a lot to learn. So, I have worked hard to provide detailed documentation and training for users.  There is a 120+ page user guide that is available online and with the software, which explains all inputs and outputs. There are also instructional videos and tutorials at this web page, which are a good way to get up and running: McLane Environmental’s flexAEM training materials are well-designed and are a great way to learn AEM modeling and AnAqSim in particular.

The website has some other useful learning resources, including a detailed explanation of a transient construction dewatering model, a page explaining how to use AnAqSim with PEST (parameter estimation software), 19 different checks of AnAqSim complete with model files, and a reference list of helpful books and journal articles. 

Recently, we have been offering a six-session webinar series called AnAqSim in Depth at least once a year. The series aims to help a user learn how AnAqSim works and how to apply it. Each session is one hour and there is one session per week. This gives time for optional home exercises each week that walk you through building or modifying AnAqSim models that use the content of that week’s session. The next AnAqSim in Depth series starts March 10, 2020 and it is described at this web page:

Q: What are some useful, but possibly obscure, modeling techniques that you could share with AnAqSim users?

A: My first tips are about analyzing pumping tests. I often do this using multi-level models with an initial condition of head = zero everywhere, and just simulate the deviation from zero with the transient model, like is done in typical pumping test analysis. To do this, set the average head in all domains to zero, and have your elevation datum be the static water level if you have unconfined domains at the top. I select the constant head option for Starting Heads in the solve settings, which uses a domain’s average head as the starting head. I typically use Head-Specified External with Gradient line boundaries for the far-field boundary condition in all levels of the model, and I set the head and gradient at these to zero. Place these external boundaries far enough out so the drawdown doesn’t reach there by the end of the test. If there are constant head boundaries such as a surface water nearby, simulate them with a specified head = 0, so there is no drawdown there. These sorts of models set up quickly in an hour or so. I calibrate them manually using the Analysis/Hydrograph features in AnAqSim, but for PEST enthusiasts calibration can be automated that way.

Another feature that few people seem to use are the SVAS top/bottom condition surfaces. Most people apply SVAS top conditions of a constant recharge rate or sometimes of a constant head for leakage to an overlying surface water. But it is possible to use these surfaces to model recharge that varies with location, or leakage to an overlying surface water with a sloping surface (e.g. a wetland or stream). Likewise, at the bottom of a model, it is most common to specify zero flux (impermeable) everywhere. If there is leakage to/from a deeper layer that is not in your model, you can use a surface to represent the heads in that deeper layer below your lowest model layer, and simulate leakage to/from that deeper layer using a head-dependent flux for the bottom condition.

Q: Any closing remarks?

A: Thank you for the opportunity to do this Q&A. I want to encourage feedback from users, who help me track down bugs but also come up with suggestions for capabilities they’d like to see added. I keep a database “wish list” of these and chip away at them over time.


Bruch, E., and A. Lejeune (1989), An effective solution of the numerical problems at multi‐domain points for anisotropic Laplace problems, in
Advances in Boundary Elements, vol. 2, Field and Flow Solutions, edited by C. A. Brebbia and J. J. Connor, pp. 3–14, Comput. Mech., Boston.

Fitts, C.R. (2010), Modeling Aquifer Systems with Analytic Elements and Subdomains, Water Resources Research, 46, W07521, doi:10.1029/2009WR008331.

Fitts, C.R. (2006), Exact Solution for Two-Dimensional Flow to a Well in an Anisotropic Domain, Groundwater, 44(1), 99-101.

Fitts, C.R. (2004) Discrete Analytic Domains: A New Technique for Groundwater Flow Modeling in Layered, Anisotropic, and Heterogeneous Aquifer Systems, American Geophysical Union Fall Meeting, San Francisco, CA.

Hardy, R.L. (1971), Multiquadric equations of topography and other irregular surfaces. Journal of Geophysical Research 76, 1905–

Jankovic, I., and R. Barnes (1999), High‐order line elements in modeling two‐dimensional groundwater flow, Journal of Hydrology, 226, 211–223.

Liggett, J. A., and P. L‐F. Liu (1983), The Boundary Integral Equation Method for Porous Media Flow, Allen and Unwin, London.

Muskat, M. (1937) The Flow of Homogeneous Fluids through Porous Media. New York: McGraw-Hill.

Wednesday, January 15, 2020

MODFLOW and More 2019 – Using AEM as a Stepwise Tool for Analyzing Flow in Fractured Bedrock

Last June, several members of the McLane Environmental/flexAEM team attended and presented at the MODFLOW and More Conference at the Integrated Groundwater Modeling Center (IGWMC) at the Colorado School of Mines in Golden, Colorado.  Those presentations included two talks on AEM modeling, which were part of “The Analytic Element to the Rescue: Developments and Applications” session, chaired by AEM pioneers Henk Haitjema and Otto Strack.  Now, one of those talks, which illustrated how AEM can be utilized as a stepwise tool for analyzing flow in fractured bedrock aquifers, can be viewed HERE.

As described in the video, analysis of groundwater flow in fractured bedrock aquifers may be performed using a spectrum of modeling approaches that includes (in general order of complexity) analytic solutions; analytic element method (AEM) models; numerical (FD / FE) models with few discrete fractures/faults; and discrete fracture network (DFN) models with many (often stochastically generated) fractures. On that analysis spectrum, AEM models offer a number of advantages, including allowing the modeler to:
  • Build on a selected analytic solution
  • Move beyond the analytic solution to create a more useable model framework that incorporates other hydraulic and hydrologic features for site analyses
  • Represent any fracture or fault geometry and orientation without problems of cutting across or excessively refining the grid, because there is no grid!
  • Examine the flow field on scales from inches (near a fracture or fault) to miles (in the far field)
  • Use insight gained to develop a more complex numerical model if required.

The current study described in the video shows techniques for using AEM models to analyze pumping tests in wells fed by a fracture or fault; using fracture elements to explicitly represent the discrete fracture features that cause anisotropy in fractured rock aquifers; and analyzing pathways in natural and pumping-influenced flow fields in fractured and faulted bedrock aquifers.

To learn more, check out our Example Application Page on this topic, or Contact Us with any questions.