3 Pre- and Post-Processing with “Processing SHEMAT” Michael Kühn and Wen-Hsing Chiang 3.1 What is Processing SHEMAT? Processing SHEMAT (PS) is a graphical user interface for the finite difference code SHEMAT. PS is based on an interface for MODFLOW, Processing MODFLOW version 5.0, by Chiang and Kinzelbach (2001). PS comes complete with a professional graphical pre- and post-processor, the 3-D finite difference fluid-flow, heat and species transport code SHEMAT, and the chemical reaction module. 3.1.1 Professional Graphical Data Input Features PS checks the final models for potential problems prior to starting the simulation. PS can use the computer’s entire available memory. The model grid can be shifted, rotated, and refined. Model data can be specified either for each finitedifference cell individually or for constant parameter zones. PS can import Processing Modflow (PM5) files. PS can read in geo-referenced raster graphics (bitmaps) and vector graphics (DXF or Line Maps) as background sitemaps. PS exports results into vtk-format1 and TecPlot® data files2. The user can opt for parts of the simulation results (e.g. temperature or mineral distributions) to be transferred back to input values or to be exported to data files which can be read by MayaVi3. 3.1.2 Sophisticated Modeling Tools The results of a simulation are distributions in space and time of, for instance, hydraulic head, Darcy-velocity, temperature, species and mineral concentration, permeability, and porosity. The Result Viewer permits a visual check of the input data and simulation results. It can plot logs of selected parameters versus depth at defined locations of the model. The Converter can edit TecPlot® result files or 1 VTK = Visualization Toolkit (http://www.vtk.org) TecPlot is registered trade marks of Golden Software Inc. and Amtec Inc., respectively. 3 MayaVi is a free scientific data visualizer which can be downloaded from the internet (http://mayavi.sourceforge.net). 2 76 Michael Kühn and Wen-Hsing Chiang export ASCII files from the 3-D diagrams of the Result Viewer for import by the Data Editor. The Permeability Estimator allows to infer the initial permeability of a given domain in the model from available supplementary data. 3.2 Modeling Environment A toolbar with buttons representing PS operations or commands is displayed below the menus. The Toolbar is a shortcut for the pull-down menus. To execute one of these shortcuts, move the mouse cursor over the toolbar button and click on it. PS contains the menus File, Grid, Type, Time, Flow, Heat, Transport, Reaction, Models, Tools and Help. The Value and Options menus are available only in the Grid Editor and Data Editor. PS uses a menu system to assist in controlling the modeling process. It is strongly recommended to proceed through the menu from left to right and through the pull-down menus from top to bottom. If you specified a data set for your model, the corresponding item of the menu will be checked. If you do not know whether all model data are correctly specified, you can try a test run by selecting the menu item Create SHEMAT Input File... from the Models menu. PS will then check and tell which parameters or model data are lacking. 3.2.1 Units Table 3.1. Units of properties used in Processing SHEMAT and SHEMAT Property Length Time Permeability Porosity Pumping rate Rock compressibility Volumetric thermal capacity Thermal conductivity Dispersivity Chemical diffusion coefficient Temperature Tracer concentration Fluid composition Mineral content Internal surface area Unit m s m2 m3 s-1 Pa-1 MJ m-3 K-1 W m-1 K-1 m 10-8 m2 s-1 °C mmol L-1 mmol L-1 mol m-3 ( with respect to rock volume) m2 PS assumes that data are provided in the units listed in 149. 3 Pre- and Post-Processing with “Processing SHEMAT” 77 3.2.2 Toolbar Clicking the different Toolbar buttons of the Grid Editor corresponds to: Leave the Grid Editor Assign Value: Allows to move the grid cursor and to assign values to the grid. Zoom In: Allows to drag a zoom-window over a part of the model domain. Zoom Out: Forces the Grid Editor to display the entire worksheet. Rotate Grid: To rotate the model grid, click the mouse on the worksheet and hold down the left button while moving the mouse. Shift Grid: To shift the model grid, click the mouse on the worksheet and hold down the left button while moving the mouse. Duplication On/Off: If Duplication is selected, the size of the current row or column is copied to all rows or columns over which the grid cursor passes. Duplication is on when the button is displayed as pressed. Clicking the different Toolbar buttons of the Data Editor corresponds to: Leave the Data Editor Assign value: Allows to move the grid cursor and to assign values to cells. Zoom In: Allows to drag a zoom-window over a part of the model domain. Zoom Out: Forces the Grid Editor to display the entire worksheet. Activate Cell-By-Cell Input mode. Activate Zonal Input mode. Local Display Mode: switch to the local display mode. Real-World Display Mode: switch to the real-world display mode. Duplication On/Off: If Duplication is selected, the cell value of the current cell is copied to all cells over which the grid cursor passes. Duplication is on, when the button is displayed as pressed. Layer Copy On/Off: If Layer Copy is selected, moving to another layer will copy the zones and cell values of the current layer to the new one. Layer Copy is on, when the button is displayed as pressed. 78 Michael Kühn and Wen-Hsing Chiang 3.2.3 Grid Editor The first steps in modeling are: (1) define the goal of the simulation; (2) select a computer code (here: SHEMAT); (3) collect the required data; (4) develop a conceptual model of the system; (5) define the spatial discretization of the model domain. In the block-centered finite difference method an aquifer system is represented by a discretized domain consisting of an array of nodes and associated finite difference blocks (cells). Fig. 3.1 shows a spatial discretization of an aquifer system with a mesh of cells and nodes at which all field variables are calculated, such as hydraulic head, temperature, concentration, porosity, and permeability. The nodal grid forms the basis of the numerical model. One or more model layers can represent stratigraphic units. In SHEMAT, all cells in a layer share a common constant thickness. Similarly, all cells in a column or row share a uniform width. However, these constant values may vary from column to column, row to row, and layer to layer. Cells are addressed in index notation [I, J, K] in respect to column, row, and layer numbers, respectively. For example, the address of the cell located in the 2nd column, 6th row, and 1st layer is [2, 6, 1]. Please note, that the node numbering convention used in PS deviates from that in SHEMAT (see section 2.2.1) Users of the package SHEMAT/PS need not be concerned with these details, however, as both conventions are being made compatible internally. Columns (I) Rows (J) 9 Layers (K) 8 7 6 5 4 3 2 1 1 2 34 5 6 7 8 9 10 11 12 13 1 2 3 4 5 Fig. 3.1. Spatial discretization of an aquifer system and notation of cells To generate or modify a model grid, choose Grid>Mesh Size.... If a grid does not yet exist, a Model Dimension dialog box (Fig. 3.2) will ask you to specify the number of layers and the numbers and widths of columns and rows of the model grid and the orientation of your model layers (horizontal or vertical). Alternatively, a vertical cross-section in cylindrical coordinates can be selected. After 3 Pre- and Post-Processing with “Processing SHEMAT” 79 these selections have been confirmed by clicking the OK button, the Grid Editor displays a worksheet with a plan view of the model grid (Fig. 3.3). Using the Environment Options dialog box, you can adjust the coordinate system, size of the worksheet, and position of the model grid to the real-world coordinates of your study site. By default, the origin of the coordinate system is the lower left corner of the worksheet, and the size of the worksheet is twice that of the model grid. Fig. 3.2. The Model Dimension dialog box Worksheet Grid cursor Position of mouse cursor [x,y] Position of grid cursor [J,I] Refinement of row I Refinement of column J Width of row I Width of column J Fig. 3.3. The Grid Editor 80 Michael Kühn and Wen-Hsing Chiang The first time you use the Grid Editor, you can insert or delete columns or rows (see below). After leaving the Grid Editor and saving the grid, you cannot anymore insert or delete individual columns or rows, but still subsequently refine the existing model grid by calling the Grid Editor again. At each call, you may change the size of any column or row. In grid refinement, all model parameters are conserved. For instance, if a cell containing a pumping well is divided into four cells, all four new cells will again contain wells, and the sum of their pumping rates will be equal to that of the previous single well. Changing the width of a column or row 1. Click on the Assign Value button. The grid cursor will appear only if the Assign Value button is pressed. You don’t need to click this button if it is already displayed as pressed. 2. Move the grid cursor to the desired cell using the arrow keys or by clicking the cursor onto the desired position. The widths of the current column and row are displayed on the status bar. 3. Press the right mouse button once; the Grid Editor will pop up the Size of Column and Row dialog box (Fig. 3.4). 4. Type the new values into the dialog box and click OK. Inserting or deleting columns or rows Inserting or deleting columns or rows is possible only at the very first use of the Grid Editor, as long as clicking OK has not saved the model dimensions. 1. Click on the Assign Value button. 2. Move the grid cursor to the desired cell using the arrow keys or by clicking the cursor on the desired position. 3. Hold down the Ctrl-key and press the up or right arrow key to insert a row or a column; press the down or left arrow key to delete the current row or column. Refining a column or row Columns or rows can be refined only after the grid has been saved at least once. 1. Click on the Assign Value button. 2. Move the grid cursor to the desired cell using the arrow keys or by clicking the cursor on the desired position. 3. Hold down the Ctrl-key and press the up or right arrow key to refine a row or a column; press the down or left arrow key to remove the refinement. The refinements of a column or a row are shown on the status bar. 3 Pre- and Post-Processing with “Processing SHEMAT” 81 Fig. 3.4. The Size of Column and Row dialog box 3.2.4 Data Editor The Data Editor is used to assign parameter values to the model cells. To start the Data Editor, select a corresponding item from the Grid, Flow, Heat, Transport, or Reaction menus. For example, for assigning initial temperature to model cells, select Initial Temperature from the Heat menu. When the Data Editor is active, it shows a plan view of the first model layer. You can navigate between layers by pressing the PgDn or PgUp keys; alternatively, you can click on the Current Layer edit field in the tool bar, type the new layer number, and press Enter. The Data Editor provides two display modes - Local and Real-World, and two input methods – Cell-by-Cell Input and Zonal Input. In the Local display mode, the display is zoomed to the model grid as shown in Fig. 3.5. In the Real-World display mode, the entire worksheet is displayed as shown in Fig. 3.6. Similar to the Grid Editor, you can adjust the coordinate system, the worksheet size, and the position or the model grid to the real-world coordinates of your site using the Environment Options dialog box. Regardless of the choice of the display modes, the mouse position ([x, y] in the status bar) is always displayed in real-world coordinates. 82 Michael Kühn and Wen-Hsing Chiang value associated with cell [J,I,K] position of the mouse cursor (in real world [x,y] coordinates) position of the grid cursor (in cell indices [J,I,K]) period number, if current data is time-dependent current parameter Fig. 3.5. The Data Editor (local display mode) Worksheet Fig. 3.6. The Data Editor (real-world display mode) 3 Pre- and Post-Processing with “Processing SHEMAT” 83 Input Methods To activate the Cell-by-Cell input method, click on the tions>Input Method>Cell-by-Cell. button or choose Op- To assign a new value to a cell: button; you don’t need to click this button if it is 1. Click on the Assign Value already displayed as pressed. 2. Move the grid cursor to the desired cell using the arrow keys or by clicking the cursor on the cell. The value of the current cell will be shown in the status bar. 3. Press the right mouse button once. The Data Editor shows a dialog box. 4. Type the new value into the dialog box, and click OK. To check or modify a cell value: 1. Double-click a cell; the Data Editor will highlight cells with identical values. 2. Hold down the Shift key and press the left mouse button to open a Cell Information dialog box (Fig. 3.7) for checking (not editing) the user-specified data of the cell under the grid cursor. 3. Hold down the Ctrl-key and press the left mouse button to open a Search and Modify Cell Values dialog box (Fig. 3.8). This allows displaying all cells whose value falls within the Search Range (to be specified). Cell values can be easily modified using the specified Value and the Options selected. For example, if Add is used, the user-specified value will be added to the current cell value. The Parameter drop-down menu shows the available parameters. Select the parameter to which the subsequent Search and Modify operation applies. Fig. 3.7. The Cell Information dialog box The Zonal Input method allows assigning parameter values to zones of several cells. To activate this method, click on the Method>Zones from the Options menu. button or choose Input 84 Michael Kühn and Wen-Hsing Chiang Fig. 3.8. The Search and Modify Cell Values dialog box To draw a zone: 1. Click on the Assign Value button; you don’t need to click this button if it is already displayed as pressed. 2. Click the cursor on a desired position to anchor one end of a line. 3. Move the cursor to another position, then press the left mouse button again. 4. Repeat steps 2 and 3 until the zone is closed or press the right mouse button to abort. To delete a zone: 1. Click on the Assign Value button; you don’t need to click this button if it is already displayed as pressed. 2. Move the cursor into a zone. The boundary of the zone will be highlighted. The value(s) of the current zone will be shown on the status bar. 3. Press the Del key. To assign a new value to a zone: 1. Click on the Assign Value button; you don’t need to click this button if it is already displayed as pressed. 2. Move the cursor into a zone. The boundary of the zone will be highlighted. The value(s) of the current zone will be shown on the status bar. 3. Press the right mouse button once. The Data Editor displays a dialog box. 4. Type the new value into the dialog box, then click OK to assign the new value to the cells in the zone. Note that PS always uses cell data for computations. Thus, if you omit to assign the zone data to the grid cells, the previous cell values will still be in use. To modify a zone: 1. You may shift a node of a zone by pointing the mouse cursor at the node and pressing down the left mouse button while moving the mouse. 2. In case of several zones, some may intersect or even overlay others. If you move the mouse cursor into a covered zone, the boundary of this zone will not be highlighted. In this case, move the mouse cursor into this zone, hold down 3 Pre- and Post-Processing with “Processing SHEMAT” 85 the Ctrl-key and press the left mouse button once. The Data Editor will then rearrange the order of the zones and the "hidden" zone will be accessible. Time Dependent Data Up to now Well is the only parameter for which time dependent rates can be specified. In case of more than one stress period, a Time Dependent Data dialog box appears after clicking on the Leave Editor button. This dialog box allows specifying model data for transient simulations: 1. You can edit model data for a particular stress period by selecting a period in the table and clicking on the Edit Data button. After model data have been specified for a given stress period, the Data flag in the corresponding row is checked. 2. You may click on the Use flag to check or uncheck it. If the Use flag is checked, the data of the corresponding stress period will be used for the flow simulation. If the Use flag is not checked, the data of the previous stress period will be used. The Use flag of a stress period is automatically deactivated if the corresponding model data are not available. 3. Use Copy Data, to copy model data from one stress period to another. Fig. 3.9. The Time Dependent Data dialog box Fig. 3.9 shows an example in which time dependent data are specified for stress periods 1, 2, 3, and 4. The data specified for the first two periods will be used throughout the first three periods. The data for the third period will not be used because the Use flag is unchecked for the third period. The data for the fourth period will be used for the rest of the simulation. 86 Michael Kühn and Wen-Hsing Chiang 3.2.5 Value The Value menu appears only in the Data Editor. Array... Use the Browse Array dialog box (Fig. 3.10) to examine cell values. The spreadsheet displays a series of columns and rows, which correspond to the columns and rows of the finite difference grid. The cell data are shown in the spreadsheet. The Column Width drop-down menu is used to change the display width of the columns of the spreadsheet. You may edit the cell data within the Browse Array dialog box. You may also assign a value to a group of cells by using the mouse to mark the cells and then enter the desired value. You may save the cell data by clicking the Save... button and specifying the file name and the file type in a Save Array As... dialog box. There are four file types, ASCII array (wrap form), ASCII array, Surfer® files (local coordinates) and Surfer® files (real-world coordinates). An ASCII array file may be loaded into the spreadsheet at a later time. The ASCII array file has three columns containing the (x, y) coordinates and the value of each cell. If the file type is Surfer® files, the origin of the coordinate system for saving the file is set at the lower-left corner of the model grid. If the file type is Surfer® files (real-world), the real-world coordinates of each cell will be saved. The real-world coordinate system is defined by Options>Environment. To load an ASCII array or a Surfer® GRD-file: Click on the Load... button. The and select a file type (i.e., Load Array dialog box appears (Fig. 3.11). Click on ASCII array or Surfer® GRD) and a file from an Open File dialog box. Specify the starting position. As shown in Fig. 3.12, the starting position indicates the column and row at which an array will be loaded. Numbers of rows and columns of the loaded array need not be identical to those of the finite difference grid. This allows replacing only part of the cell data by the array. Before a loaded matrix is inserted into the spreadsheet, its values will be modified according to the option specified. Select one the following Options: Replace: Spreadsheet cell data are replaced by those of the ASCII matrix. Add: Spreadsheet cell data are added to those of the ASCII matrix. Subtract: Spreadsheet cell data are subtracted from those of the ASCII matrix. Multiply: Spreadsheet cell data are multiplied by those of the ASCII matrix. Divide: Spreadsheet cell data are divided by those of the ASCII matrix. In case of a zero cell value in the ASCII matrix, the corresponding spreadsheet cell value remains unaltered. 3 Pre- and Post-Processing with “Processing SHEMAT” Fig. 3.10. The Browse Array dialog box Fig. 3.11. The Load Array dialog box 87 88 Michael Kühn and Wen-Hsing Chiang I J Starting position ASCII Matrix finite difference grid Fig. 3.12. The starting position of a loaded ASCII array Reset Array... Using Reset Array... a new value can be specified in the Reset Array dialog box. The new value will be assigned to all finite difference cells of the current layer. Zones The Zones menu allows saving or loading the zones into or from a Zone file. All zones in the layer being edited can be deleted by selecting Zones Delete All. Using Zone files, you can transfer zonal information between parameters or between models with different grid configuration. Search and Modify... Use the Search and Modify dialog box (Fig. 3.13), to modify automatically part of the cell data or to create solid fill plots based on the cell data. The items of the dialog box are described below: Trace Table: You define a search range and its attributes in an active row of the table. A row is active when the Active flag is checked. The search range is given by the minimum (lower limit) and the maximum (upper limit). The color in the Color column will be assigned to those finite-difference cells with values within this range. You can assign regularly spaced search ranges to all active rows by clicking on one of the headers Minimum or Maximum, and then enter a minimum and a maximum value into the Search Level dialog box. 3 Pre- and Post-Processing with “Processing SHEMAT” 89 The colors can be set automatically for a gradual change from one color to another. For this, click on the header Color of the table and assign a minimum color and a maximum color into the Color Spectrum dialog box. To select individual colors, click on the colored cell (a button appears), then on the button, and select a color from a Color dialog box. According to the user-specified value (in the Value column) and the operation option (in the Options column), you can easily modify cell values. The available options are listed below: − − − − Display Only: No operation other than display. Replace: The cell values are replaced by the user-specified value. Add: The user-specified value is added to the cell values. Multiply: The cell values are multiplied by the user-specified value. Ignore Inactive Cells: If checked, the Search and Modify operation will only be applied to active cells. Maps...: You may display background maps (DXF, Line Map, or georeferenced raster graphics) by using the Maps Option dialog box. Save... and Load...: The entries in the Trace Table can be saved or loaded in trace files. Fig. 3.13. The Search and Modify dialog box 90 Michael Kühn and Wen-Hsing Chiang 3.2.6 Options There are four menu items in the Options menu: Maps, Environment, Display Mode, and Input Method. The use of the menu items Maps and Environment is described below; refer to chapter 3.2.4, Data Editor, for a description of how to use the menu items Display Mode and Input Method. Maps... The Maps Options dialog box (Fig. 3.14) allows displaying up to five background DXF-maps, three line maps and one geo-referenced raster (bitmap) graphic. The options in this dialog box are grouped under two tabs - Vector Graphics and Raster Graphics: Vector Graphics: A DXF-file contains data, which describe in detail various CAD entities. An entity is a line or symbol placed on a drawing by the CAD system. PS supports the following entities: LINE, POLYLINE, POINT, ARC, SOLID, CIRCLE and TEXT. All other entities will be ignored. There is no maximum for the number of entities. A Line Map consists of a series of polylines. Each polyline is defined by a header line and a series of coordinate pairs. To import a DXF-map or a Line map 1. Select the Vector Graphics tab. 2. Click on any of the DXF File or Line Map File edit fields with the right mouse button, and select a file from a Map Files dialog box. 3. If necessary, use a scale factor to enlarge or reduce the display size of the map. Then use the values in X and Y to shift the scaled map to the desired position. For details, see Scaling a vector graphic below. 4. Click on the colored button in the front of the edit field and select a color for the DXF-map from a Color dialog box. The color will be assigned to a DXFgraphics entity only if the entity's color is not yet defined in the DXF file. A line map will always use the selected color. 5. Check the check box next to the edit field. The map will be displayed only if the box is checked. Scaling a vector graphic: X and Y should be 0 and Scale should be 1, if a DXF file is generated for PS. Because of different length units, DXF files created by some drawing or CAD software cannot be imported into PS without modifying the scale factor and the X, Y values. If these values are incorrect, a DXF-map will be displayed too small, too large, or outside the worksheet. In this case, use the Environment Options dialog box to define a worksheet of sufficient size to display the map within this worksheet. Then, check the units on the imported map by moving the mouse within the map and check X and Y coordinates displayed in the status bar. Choose two points whose real-world distance is known and check their 3 Pre- and Post-Processing with “Processing SHEMAT” 91 current distance according to their coordinates shown in the status bar. If this distance is incorrect, compute an appropriate scale factor and import the map again. After establishing the correct scale factor the scaled DXF-map can be moved to the desired position by selecting appropriate values for X and Y. This procedure of how the use X, Y, and the scale factor for scaling and shifting a map is illustrated in Fig. 3.15 for a triangle. Raster Graphics: Raster graphics saved in Windows Bitmap (*.bmp) or JPEG (*.jpg) formats can be imported and geo-referenced. To import a raster graphic 1. Click on the Raster Graphics tab. 2. Click on the open file button and select a file from a Raster Graphics dialog box. The map is displayed in the Maps Options dialog box (Fig. 3.16), and its size can be enlarged or reduced: − To zoom in, hold down the Shift-key and click on the map with the left mouse button. − To zoom out, hold down the Ctrl-key and click on the map with the right mouse button. − To display the entire map, hold down the Alt-key and click on the map with the left mouse button. − To move a part of the image to the center of the display, simply click on the desired position with the left mouse button. To set geo-reference points: 1. Enter the (x, y) coordinates into the corresponding Point 1 or Point 2 edit fields. Please note that the two geo-reference points must not lie on a vertical or horizontal line. 2. Click on the Set buttons for Point 1 and Point 2. The mouse cursor turns into crosshairs. 3. Place the crosshairs at a point with known (x, y) real-world coordinates and click on the left mouse button. 4. Repeat steps 2 and 3 for the second reference point. 92 Michael Kühn and Wen-Hsing Chiang Fig. 3.14. The Maps Options dialog box Y Y (s X3 + X, s Y3 + Y) (X3, Y3) (X1, Y1) (s X1 + X, s Y1 + Y) (X2, Y2) (s X2 + X, s Y2 + Y) X triangle before scaling and shifting Fig. 3.15. Scaling a vector graphic X triangle after scaling and shifting by a scale factor s and displacements X and Y, respectively 3 Pre- and Post-Processing with “Processing SHEMAT” 93 Fig. 3.16. Importing a geo-referenced raster map Environment... The Environment Options dialog box allows configuring the coordinate system and modifying the appearance of the model grid. Available settings are grouped under three tabs: Appearance, Coordinate System, and Contours. Checking the box Display zones in the Cell-by-Cell mode forces PS to display the userspecified zones in the Cell-by-Cell input mode. Appearance (Fig. 3.17) allows changing the visibility and display color of each specified component. A component is visible if the corresponding Visibility box is checked. To select a new color, click on the colored cell, then click on the button, and select a color from a Color dialog box. Coordinate System is used to define the size and location of the area of interest (the worksheet) and to define the location and orientation of the model grid (Fig. 3.18). As illustrated in, the worksheet is a window to the real-world. Your model grid is placed onto the worksheet. Size and location of the worksheet are defined by specifying the (real-world) coordinates of its lower-left and upper-right corners; i.e., by the coordinates (X1, Y1) and (X2, Y2) as shown in and Fig. 3.19. The location and orientation of the model grid are defined by the coordinates (X0, Y0) of its upper-left corner, and an azimuth (in degrees), subtended counterclockwise by the positive x-directions of the real-world and the model grid. 94 Michael Kühn and Wen-Hsing Chiang Contours: The Data Editor displays contours based on the cell data. The Contours table (Fig. 3.20) allows controlling the levels, labels and colors of the displayed contours. Checking the following boxes results in the effects described below: Visible: Contours are visible. Display contour lines: Contour lines (and labels) are displayed. Fill contours: The space between contour lines is filled using the color defined in the Contour Level Table. Orient label uphill: The top and base of contour labels point uphill and downhill, respectively. Ignore inactive cells: Data of inactive cells will be disregarded for contouring. Parameter: Select the quantity to be contoured from this pull-down menu. Contour level table: You may click on each cell of the table and modify individual values or you may click on the header button of each column of the table to set a uniform value for all cells of the column. − Level: To produce contours on regular intervals, click on the header of this column. A Contour Levels dialog box allows specifying the contour range and interval. By default, this dialog box displays the maximum and minimum values of the current layer. After having confirmed changes by clicking on OK, the contour levels in the table are updated accordingly. Line and Fill: Defines contour line color and fill color between two contour lines. Clicking on one of the headers prompts the Color Spectrum dialog box (Fig. 3.21) for defining contour colors corresponding to a gradual change from a minimum to a maximum color. To change the minimum or maximum color, simply click on the button, select a color from a Color dialog box, and confirm by clicking on OK. − Label: Use the Contour Labels dialog box (Fig. 3.22) to define the display frequency of contour labels. Specify the first contour line to be labeled (First labeled contour line), and how often contour lines are to be labeled (Labeled line frequency). After confirming changes by clicking on OK, the table is updated accordingly. You may also turn labels on or off individually by clicking on the or off boxes, respectively. − Label height specifies the label text size in the model’s length unit meter. − Label spacing specifies the distance between two contour labels size in the model’s length unit meter. Label Format: The Label Format dialog box (Fig. 3.23) allows specifying the format for the labels as follows: − The Fixed option displays numbers at least one digit to the left and N digits to the right of the decimal separator, where N is the value specified (Decimal digits). − The Exponential option displays numbers in scientific format and E is inserted between mantissa and exponent. 3 Pre- and Post-Processing with “Processing SHEMAT” 95 − Decimal digits determine the number of digits to the right of the decimal separator. For example, if decimal digits = 2, the value 1241.2 will be displayed as 1241.20 for the fixed option or as 1.24E+03 for the exponential option. − Prefix is a text string to precede each label. − Suffix is a text string to follow each label. Restore Defaults: Clicking this button, PS sets the number of contour lines to 11 and uses the maximum and minimum values of the current layer as minimum and maximum contour levels. The label height and spacing will be set to a hundredth and a tenth of the diagonal length of the entire model area, respectively. Load and Save: Load or save the settings of the current contour level table from or into a separate contour file, respectively. Fig. 3.17. The Appearance tab of the Environment Option dialog box 96 Michael Kühn and Wen-Hsing Chiang (X2, Y2) Worksheet Model Grid (X0, Y0) (X1, Y1) Fig. 3.18. Defining the location and orientation of the worksheet and model grid Fig. 3.19. The Coordinate System tab of the Environment Options dialog box 3 Pre- and Post-Processing with “Processing SHEMAT” Fig. 3.20. The Contours tab of the Environment Options dialog box Fig. 3.21. The Color Spectrum dialog box Fig. 3.22. The Contour Labels dialog box Fig. 3.23. The Label Format dialog box 97 98 Michael Kühn and Wen-Hsing Chiang 3.3 Menu System 3.3.1 File New Model... Select New Model to create a new model. The New Model dialog box allows specifying a filename for the new model on any available folder or drive. A PS model requires the file extension “.ps1”. File names with up to 36 characters can be used. It is good practice to save every model in a separate folder to store the model and its output data. This permits to run several models simultaneously (multitasking). Open Model... Use Open Model to load an existing PS or PM5 (Processing MODFLOW 5) model. Once a model is opened, PS displays the file name of the model on the title bar. Save As... Use Save As, to save your model under a different name. You can also save a Processing MODFLOW 5.0 file (PM5) as a PS file (PS1). Import Model... Old SHEMAT input (*.nml) and output (*.nlo) files can be imported. PS then generates a complete model from these files. This may be done e. g. for a specific period result of a previous simulation. The Import Model function is particularly useful to transfer a model constructed in horizontal layers (layer orientation, compare 3.2.3) into one constructed in vertical cross sections and vice versa. Set File Manager Path... A File Manager Path can be specified. This path is used every time an open or browse dialog box opens. 3 Pre- and Post-Processing with “Processing SHEMAT” 99 Model Information... A Model Information dialog box provides brief information about your model. You can input a simulation title in the dialog box. The maximum length of the simulation title is 132 characters, starting with the keywords “horizontal”, “vertical”, or “cylindrical”. The keywords are set by the program automatically depending on the user-defined model grid. The Model Information can also be printed. Save Plot As... Use Save Plot As to export the content of the worksheet into graphics files (Fig. 3.24). Three graphics formats are available: Drawing Interchange File (DXF), Hewlett-Packard Graphics Language (HP-GL) and Windows Bitmap (BMP). DXF is a fairly standard format developed by Autodesk Inc.4 for data exchange between CAD systems. HP-GL is a two-letter mnemonic graphics language developed by Hewlett-Packard. Most graphics- or word-processing software as well as graphics output devices could process these graphics formats. To save a plot, use the Format drop-down menu to select a graphics format. and select a file Then, enter a filename into the File edit field, or click on from the dialog box, and confirm by clicking on OK. Note that for the real-world display mode only the BMP-format can be used. Fig. 3.24. The Save Plot As dialog box Print Plot... This menu item is only activated in the Data Editor. Selecting this item prompts a Print Plot dialog box with a preview window. The options are: − Use full page: The plot is scaled to fit the paper, conserving the original aspect ratio. − Center on page: The plot is placed in the center of the page. − Image Size (millimeters): Specify the width and height of the printed image in millimeters. 4 AutoCAD is a registered trademark of Autodesk Inc. 100 Michael Kühn and Wen-Hsing Chiang − Margins (millimeters): Specify the left and top margins of the image in millimeters. − Printer: A Printer dialog box allows selecting an installed printer and specifying the print quality, the paper size, source, orientation, and other print parameters. − Print: Print the plot shown in the preview window. − Close: Close the Print Plot dialog box without printing. 3.3.2 Grid Mesh Size... Allows generating or modifying a model grid. See Grid Editor. You have to select whether you want to perform the simulation in vertical or horizontal direction or if you want to generate a cylindrical model. After leaving the Grid Editor the selection of the direction of your model layers is fixed and cannot be changed anymore. Layer Type... / Cross-section Options... Select Layer Type or Cross-section Options to open the Layer (horizontal model) or Cross-section (vertical model) Options dialog box. Fig. 3.25 shows the dialog boxes and its elements. Fig. 3.25. The Layer Options dialog box, new feature for vertical models (right hand side) 3 Pre- and Post-Processing with “Processing SHEMAT” 101 The layer types are: − Type 0, a confined layer for flow; − Type 1, an unconfined layer for flow. Cross sections of vertical models are treated no longer as confined aquifers by default. The user now has the choice to define the number of layers at the top of the model which are unconfined with respect to fluid flow (Fig. 3.25, right). In this case and also for vertical cross sections in cylindrical symmetry, the Layer Type / Cross-section Options dialog box is enabled. Additionally, the thickness of the different layers has to be defined. Note that at present only constant layer thicknesses are permissible. If you are using a PM5 file with varying layer thickness, the mean value is calculated and applied to all cells of the layer. By clicking the table header “Thickness [m]”, all layers or crosssections can be set to the same thickness. Property Zones Definition of constant property zones. As default value 1 is assigned to all cells. You can define 15 different zones in total. The property zone distribution is used for fluid flow, heat and species transport properties as well as chemical rock properties. You can also choose to adapt several properties (like e.g. porosity or permeability) individually, which means independent from the property zones. 3.3.3 Type Settings... Select the kind of simulation to perform in the Definition of Simulation Type dialog box (Fig. 3.26) by checking one or more of the following boxes: Groundwater Flow Heat Transport Species Transport Chemical Reactions For Groundwater Flow there is a choice between Simulated Flow and Prescribed Flow. For Prescribed Flow you need to define or load a Darcy flow field (vx, vy, vz). For Heat and Species Transport a choice is required in respect to the numerical treatment of the advection term in the transport equation: − Il'in: The Il'in-flux-blending scheme (Clauser and Kiesner 1987) is a combination of a central differences and an upwind term in which the amount of upwinding is controlled by the size of the local grid Péclet number. This way the local strength of the advection term in the transport equation is accounted for automatically. The resulting system of linear equations can be solved explicitly, 102 Michael Kühn and Wen-Hsing Chiang implicitly, or by a weighted combination of both using the "strongly implicit procedure" (SIP) (Weinstein et al. 1969, Fletcher 1991). The Il’in scheme can be used with explicit, implicit or a weighted combination of both time steps. The case where an implicit and explicit time step are weighted equally is identical to the Crank-Nicolson scheme, known for its unconditional stability (in contrast to explicit time steps) and its reduced numerical dispersion (in respect to fully implicit time steps). For more information refer to the SHEMAT documentation (Chapter 2). − Upwind: In the Upwind scheme the first and second derivatives are approximated by upwind differences. The truncation error of the second derivative is of second order but the truncation error of the first derivative is of first order. The disadvantage of this scheme is the amount of numerical dispersion introduced by the truncation error. This scheme is effective for advection-dominated but not too demanding problems. For more information refer to the SHEMAT documentation (Chapter 2). − Smolarkiewicz: The Smolarkiewicz method (Smolarkiewicz, 1983), combines an initial upwind step with a second correction step, in which the analytically determined amount of numerical dispersion of the initial step is subtracted. This scheme can be used only with explicit time steps (for species or heat transport). For more information refer to the SHEMAT documentation (Chapter 2). Among the three schemes, only the Smolarkiewicz scheme performs well for extremely advection-dominated transport problems with steep gradients or fronts to be preserved. With respect to heat transfer, Permafrost is now available as a new feature. If the user selects Yes a number of new menu items are activated under Heat (compare chapter 3.3.6 Heat). With respect to chemical Reactions, there is a choice between calculating only the thermodynamic equilibrium or additionally considering chemical reaction kinetics. With the new chemical module based on PHREEQC (Parkhurst and Appelo 1999) additional to the previous one based on PHRQPITZ, the user now has the choice between Debye-Hückel’s or Pitzer’s approaches for calculating the ion activity coefficients in the aqueous solutions. Since chemical reaction kinetics hasn not been tested yet in combination with Debye-Hückel’s approach, this feature is for now disabled when the new chemical module is selected for reaction calculations. 3 Pre- and Post-Processing with “Processing SHEMAT” Fig. 3.26. The Definition of Simulation Type dialog box 103 104 Michael Kühn and Wen-Hsing Chiang Coupling... In the Process Coupling dialog box (Fig. 3.27) select the processes to be coupled. All processes involved, i.e. groundwater flow, heat transport, multi species transport, and geochemical reactions can be coupled via (1) the dependence of the material and thermodynamic properties on temperature, pressure and species concentrations, and (2) by solving simultaneously the flow and transport equations for these quantities (compare 2.3.6 Process Coupling). The first kind of coupling accounts for the − dependence of the fluid properties density, heat capacity, thermal conductivity, compressibility on temperature; this way free convection flow due to temperature gradients can be simulated; these parameters can also be set to constant values separately; − dependence of fluid density on the concentration of dissolved species; this way density driven flow due to concentration gradients can be simulated; − dependence of rock thermal properties on temperature (compare Eq. 2.28 and section 2.2.4: Physical Properties); − dependence of the chemical equilibrium on temperature and species concentration; − dependence of the reaction kinetics on temperature; − changes in porosity due to the precipitation and dissolution of minerals; − fractal relationship between permeability and porosity. The fractal model is based on the observation that the shape of the internal surface of rock pores follows a self-similar rule. Thus the theory of fractals can be applied. The fractal relationship between permeability k and porosity φ was expressed by Pape et al. (1999) as a general three-term power series in porosity: k=Aφ Df ,1 +Bφ Df ,2 + C (10 φ ) Df ,3 , (3.1) where the exponents Df, 1, Df, 2, and Df, 3 depend on the fractal dimension of the internal surface of the pore space; generally, Df, 1=1. The coefficients A, B, and C, in turn, need to be calibrated for each type of sedimentary basin or porosity change due to chemical reactions. Eq (3.1) reflects the fact that in different porosity ranges different processes are responsible for porosity and permeability changes. In SHEMAT this is approximated by Eq. (3.2) and by defining different exponents for the three porosity intervals 0 %–1 %, 1 %–10 %, and 10 %–100 %: ⎛ φ⎞ k = k0 ⎜ ⎟ ⎝ φ0 ⎠ Df ,n ; n=1, 2, 3 . (3.2) Table 3.2 lists typical values for the fractal exponent of different types of sandstone. In Eq. (3.2), (k0, φ0) denote the initial values representing the same information as the coefficients A, B, and C in Eq. (3.1). 3 Pre- and Post-Processing with “Processing SHEMAT” 105 Table 3.2. Values for the fractal exponents Df, n (Eq. 3.2) for different types of reservoir sandstones Df, n 1 3 4.85 12 Rock Type Common value for the 0 %–1 % porosity range in most sandstones Clean sandstone with smooth equal sized grains e.g. quartz cemented Fontainebleau Sandstone with a porosity φ > 8 % Sandstone cemented by anhydrite on a geological time scale Result of sandstone core flooding laboratory experiment with dissolution and subsequent precipitation of anhydrite The coupling is due to the fact that chemical reactions act as a source or sink in respect to the transport of dissolved species. In SHEMAT this is approximated by calculating subsequently the transport of dissolved species and then the change in their concentrations due to mineral reactions between the reservoir rock and the reservoir fluid. Fig. 3.27. The Process Coupling dialog box Further, a number of well established k-φ-relations from the literature are implemented and can be selected as an alternative to the fractal relation (Eq. 3.1). They are summarized in Zarrouk and O'Sullivan (2001): 106 Michael Kühn and Wen-Hsing Chiang 1. An equation of Weir and White (1996), for the deposition of spheres on a surface in dense, rhombohedral packing; φc is a critical porosity, below which the permeability vanishes (Eq. 2.68). 2. The Blake-Kozeny equation (McCume et al. 1979) for flow in packed columns and applied permeability changes due to matrix acidizing in hydrocarbon wells (Eq. 2.69). 3. The Blake-Kozeny equation modified by Lichtner (1996) for the dependence of permeability on porosity in a mixture of potassium-feldspar, gibbsite, kaolinite and muscovite (Eq. 2.70). 4. The Kozeny-Stein equation for the precipitation of silica in the vicinity of injection wells (Itoi et al. 1987; Eq. 2.71). 5. The equation of Schechter and Gidley (1969) for permeability changes due to matrix acidizing in hydrocarbon wells in limestone (Eq. 2.72). Info/Result... The Info/Result dialog box (Fig. 3.28) allows to specify the amount of information displayed on the screen during a simulation and which additional result files will be created. Interfaces for vtk and TecPlot® are available. A new additional output file dhcall.out comes with the new chemical module. This particular file contains detailed information about the chemical reaction calculations. Output are resulting total element concentrations, aqueous speciation, amounts of dissolved or precipitated minerals, and saturation indices of minerals with respect to the actual composition of the solution. Please be aware that this file can be very large because it stores all results produced by the chemical module for each of the cells which have been updated during the current time step. The current file size depends on the total size of the simulated model. An output of this file is recommended only for debugging purposes in case that a chemically unstable system leads to an abnormal termination of SHEMAT. The user is informed about the file size issue when choosing dhcall.out as additional output. 3 Pre- and Post-Processing with “Processing SHEMAT” 107 Fig. 3.28. The Info/Results dialog box 3.3.4 Time Stress Periods... Use the Time Parameters dialog box (Fig. 3.29) to specify temporal parameters, including the length and number of stress periods, and the number of time steps. The table in this dialog box contains the columns Period, Active, Length, Time Step, Frequency, Temperature Shift. In SHEMAT, the total simulation time may be composed of several stress periods which, in turn, are divided into time steps. Check the Active flag to activate a stress period. For each stress period, you can specify time dependent parameters; at present this applies only to pumping rates and a constant temperature boundary condition. The length of the stress periods and the number of time steps is relevant only for transient, not for steady-state simulations. Monitoring Frequency specifies how often the results at the monitoring points are saved. For instance, a monitoring frequency of 2 means that the results at the monitoring points are saved every second time step. The time dependent constant temperature boundary can be varied between stress periods using different values for Temperature Shift. The value specified in Temperature Shift is added to the initial constant temperature specified for the top of the model domain. Simulation Time Unit: Select the basic time unit for the simulation from a drop-down menu. Checking Auto Update Period length and selecting a new time unit recalculates the period length to the chosen time unit. Simulation Flow Type: Select steady-state or transient flow simulations from the Simulation Flow Type group. Save... and Load...: Save or load the contents of the table into or from a time parameter file. 108 Michael Kühn and Wen-Hsing Chiang Fig. 3.29. The Time Parameters dialog box Solver Parameters... With the new version of SHEMAT the user has the choice between two different solvers to be applied, (1) the previous NAG solver and (2) the BiCGStab solver. The NAG solver dialog box (Fig. 3.30) requires the following input: Time weighting varies from 0-1, where 0 corresponds to fully explicit and 1 to fully implicit time steps; 0.5 corresponds to the Crank-Nicolson scheme and is often a good initial choice. Relaxation factor varies between 0 and [(I-1)²+(J-1)²+(K-1)²]/3, where I is the number of columns, J the number of rows, and K the number of layers. A relaxation factor of 1.0 corresponds to neither over- nor under-relaxation, a relaxation factor < 1 to under-relaxation (faster convergence), a relaxation factor > 1 to overrelaxation (slower convergence). The suggested range for the relaxation factor is 0–10. If your simulation diverges, try a larger relaxation factor. Convergence limit is the maximum change, which is tolerated between two time steps. When this limit is reached, no further iterations are performed for the current time step. Termination criteria defines if the convergence limit, described above, is applied as relative, absolute, or maximum value or as fourth choice in a mixed procedure between absolute and relative. Maximum Number of Iterations per time step limits the number of permissible iterations. The BiCGStab solver dialog box (Fig. 3.30) requires the following input: 3 Pre- and Post-Processing with “Processing SHEMAT” 109 Time weighting varies from 0–1, where 0 corresponds to fully explicit and 1 to fully implicit time steps; 0.5 corresponds to the Crank-Nicolson scheme and is often a good initial choice. Preconditioner to be chosen are ILU, SSOR, Diagonal, None. Convergence limit is the maximum tolerated change which between two time steps. When this limit is reached, no further iterations are performed for the current time step. Termination criteria defines if the convergence limit described above is applied as a relative, absolute, or maximum value or, as a fourth choice, in a mixed procedure between absolute and relative. Maximum Number of Iterations per time step limits the number of permissible iterations. Fig. 3.30. NAG solver parameters (to be continued on next page). 110 Michael Kühn and Wen-Hsing Chiang Fig. 3.30. The Solver Parameter dialog boxes for the NAG (top) and the BiCGStab (bottom) solvers Monitoring... Monitoring points can be specified in the Monitoring dialog box (Fig. 3.31). Monitoring Point: The name of the point is given in Node Name; this name is shown in the Data Editor. Check the Active flag to activate a monitoring point. For a horizontal or vertical model development, the location is specified in X(easting) and Y- (northing) coordinates and a layer number or in X- (easting) and Z- (towards the top) coordinates and cross-section number, respectively. Save, Load and Clear: Click on the Clear button to clear the monitoring table. Using the buttons Save and Load, you can save or load the contents of tables into or from a monitoring file from another project. OK: Click on the OK button to save the current monitoring points for the current project. Note that rows can be inserted or deleted in the table by pressing the Ctrl+Ins or Ctrl+Del key. SHEMAT accepts up to 100 different Monitoring Points. 3 Pre- and Post-Processing with “Processing SHEMAT” 111 Fig. 3.31. The Points of Monitoring dialog box 3.3.5 Flow Initial Hydraulic Heads SHEMAT requires initial hydraulic heads at the beginning of a flow simulation. The initial heads are first guesses in the iterative solution procedure. In some transient problems satisfactory solutions for the individual time steps may require initial heads specified reasonably close to the correct results. At constant-head cells these initial hydraulic heads remain unaltered during the flow simulation. Therefore, their values should be selected with special care. All other initial heads can be set with more freedom. For an unconfined layer (layer type 1), the initial hydraulic head of a constanthead cell must exceed the elevation of the cell bottom. Note that SHEMAT performs all calculations in equivalent hydraulic heads. The equivalent hydraulic head values refer to a reference density. Equivalent hydraulic head (h0) is defined as: h0 ( z) = z + h 1 ρf dz . ρ0 ∫z (3.3) Under the assumption that the fluid density remains constant in the depth interval (h-z), this simplifies to: 112 Michael Kühn and Wen-Hsing Chiang h0 ( z ) = z + ( h − z ) ρf . ρ0 (3.4) In Eqs. (3.3) and (3.4), h is the elevation of the water table, ρf the fluid density, ρ0 the reference density and z the elevation above datum. The datum in SHEMAT is always set to the bottom of the model. Flow Boundaries Different boundary conditions are identified by a number code. Choose between: – – – 1, for an impermeable boundary (NFLO); 2, for cells with a specified flow into or out of the cell (FLO); -1, for constant-head cells (HEAD, marked in blue in the Grid Editor). The default code for all cells is 1, which means impermeable boundaries for the boundary cells and active cells for all inner cells. For constant-head cells, the initial hydraulic head remains unchanged during the simulation. The initial hydraulic head is specified by choosing Initial Hydraulic Heads from the Flow menu. A constant-head boundary exists whenever an aquifer is in direct hydraulic contact with a river, a lake or a reservoir in which the water level is known. It is important to know that a constant-head boundary corresponds to an unlimited source or sink of water. In some situations, this may be unrealistic. Therefore, care must be taken when using constant-head boundaries. If you want to define recharge/leakage across a boundary you have to specify flag 2 and adjust the value for the cells in Flow>Flux. Note that for internal cells number code “1” corresponds to an active cell. Number codes “-1” and “2”, however, have the same meaning for internal and boundary cells. Reference Density... Fig. 3.32. The Fluid Reference Density dialog box 3 Pre- and Post-Processing with “Processing SHEMAT” 113 Check the Check to Define Reference Density flag for defining a reference density in kg m-³. The default value is 998 kg m-³ (Fig. 3.32). Initial Permeability / Porosity In SHEMAT, data is assigned to cells usually by defining rock properties for the different Property Zones. Fig. 3.33 shows the Fluid Flow Rock Properties dialog box where you can specify initial porosity and permeability as well as rock compressibility. Anisotropic permeability is defined by the size of the three major axes of the permeability tensor. At present, SHEMAT assumes the permeability tensor to be aligned along the coordinate axes. The size of the two horizontal major axes is defined by a factor relative to the size of the vertical major axis. Note that SHEMAT uses the vertical permeability and the anisotropy factors to calculate the horizontal permeability. SHEMAT uses a constant rock compressibility [Pa-1] for each property zone. However, for soils and unconsolidated rocks, the stress-strain relationship is neither linear nor elastic. The soil compressibility is therefore not constant but rather a function of the applied stress and also depends on the loading history. Table 3.3 shows a selection of typical compressibilities for water and various unconsolidated and consolidated rocks. Table 3.3. Compressibilities of water and various rocks (Freeze and Cherry 1979) Material Clay Sand Gravel Jointed Rock Sound Rock Water Compressibility [Pa-1] 10-6 – 10-8 10-7 – 10-9 10-8 – 10-10 10-8 – 10-10 10-9 – 10-11 4.4 x 10-10 Fig. 3.33. The Fluid Flow Rock Properties dialog box 114 Michael Kühn and Wen-Hsing Chiang Initial permeability and porosity can be specified via Property Zones (Grid>Property Zones) or individually and independent of the property zones via the Data Editor. When specifying permeability and porosity it is recommended (1) to use Property Zones and (2) then modify these values individually. Initial Permeability/Porosity>Defined by Property Zones overwrites the individually defined properties, particularly when definition by property zones is used again after assigning properties individually. This is indicated by removed check marks. Table 3.4. Porosities of different rock materials (Freeze and Cherry 1979) Rock Type Unconsolidated Rocks Gravel Sand Silt Clay Consolidated Rocks Fractured basalt Karst limestone Sandstone Limestone, dolomite Shale Fractured crystalline rock Dense crystalline rock Porosity [-] 0.25 – 0.40 0.25 – 0.50 0.35 – 0.50 0.40 – 0.70 0.05 – 0.50 0.05 – 0.50 0.05 – 0.30 0.00 – 0.20 0.00 – 0.10 0.00 – 0.10 0.00 – 0.05 Table 3.5. Permeabilities of different rocks (Freeze and Cherry 1979) Rock Type Permeability [m2] Unconsolidated rocks Gravel 10-7 – 10-10 Clean sand 10-9 – 10-13 Silty sand 1010 – 10-14 Silt, loess 10-12 – 10-16 Glacial till 10-13 – 10-19 Unweathered marine clay 10-16 – 10-19 Consolidated rocks Shale 10-16 – 10-20 Unfractured metamorphic and igneous rocks 10-17 – 10-20 Sandstone 10-13 – 10-17 Limestone and dolomite 10-13 – 10-16 Fractured igneous and metamorphic rocks 10-11 – 10-15 Permeable basalt 10-9 – 10-14 Karst limestone 10-9 – 10-13 (The Darcy is another unit commonly used for permeability: 1 Darcy ≈ 10-12 m²). Porosity: If the total volume V is divided into the volume of the solid portion Vs and the volume of voids Vv, the porosity n is defined as n=Vv/V. The effective porosity (with respect to flow through the medium) is usually smaller than the total porosity, because part of the fluid in the pore space is (partially) immobile. This 3 Pre- and Post-Processing with “Processing SHEMAT” 115 may be due to dead-end pore channels or to adhesion, i.e., the attraction of molecules in the fluid to the adjacent solid surface of the porous rock, such as in clay or other finely texture rocks. Typical values for porosities are given in Table 3.4. Permeability: Table 3.5 shows typical permeability ranges for different soil and rock types. SHEMAT calculates hydraulic conductivity based on rock permeability and temperature and pressure dependent fluid properties. Prescribed Flow Field If Prescribed Flow is checked in Type>Settings, the components (vx, vy, vz) of the Darcy flow field have to be specified in the Data Editor. In this case no input is required for flow boundaries, fluid recharge, and well parameters. Therefore these items are dimmed in the corresponding menus. Flux A constant Flux can be specified across the Top/Bottom, Front/Back and Left/Right boundaries. The values in [m s-1] are set in the Data Editor. SHEMAT interprets these values as source terms. Note, that for a recharge or leakage across a boundary the boundary condition’s numerical code must be set equal to 2 (FLO). Well Injection or pumping wells are defined in the Data Editor using the Cell Value dialog box (Fig. 3.34) to specify: – – the Recharge Rate of the Well [m³ s-1] and the Temperature of Recharged Water [°C]. Fig. 3.34. Cell Value dialog box The injection or pumping rate of a well remains constant during a given stress period and is independent of both the cell area and the head in the cell. SHEMAT 116 Michael Kühn and Wen-Hsing Chiang assumes that a well fully penetrates the entire cell. SHEMAT can also simulate wells that penetrate more than one model layer. In this case, the injection or pumping rate for each layer has to be specified. The total injection or pumping rate for a multi-layer well is equal to the sum of the layer rates. The Temperature of Recharged Water has to be specified only when modeling flow and heat transport. The Temperature of the Recharged Water and the Recharge Rate set in this dialog box is identical to the Temperature and Recharge Rate set in Heat>Well. Note that positive and negative rates apply to injection wells (shown in blue in the Grid Editor) and pumping wells (shown in red), respectively. 3.3.6 Heat Initial Temperatures SHEMAT requires initial temperatures at the beginning of a heat transport simulation. The initial temperatures are first guesses in the iterative solution procedure. In some transient problems satisfactory solutions for the individual time steps may require initial temperatures specified reasonably close to the correct results. At constant-temperature cells these initial temperatures remain unaltered during the heat transport simulation. Therefore, their values should be selected with special care. All other initial temperatures can be set with more freedom. Thermal Boundaries Different boundary conditions are identified by a number code. Choose between: – – – 1, for an insulated boundary (NFLO); 2, for cells with a specified heat flow into or out of the cell (WSD); -1, for constant-temperature cells (TEMP, shown in blue in the Grid Editor). The default code for all cells is 1, which means impermeable boundaries for the boundary cells and active cells for all inner cells. For constant-temperature cells, the initial temperature remains unchanged throughout the simulation. The initial temperature is specified by choosing Heat>Initial Temperature Field. Note that code 1 for inner cells (not boundary cells) means an active cell. Code -1 and 2 have the same meaning for inner and boundary cells. Thermal Rock Properties... In SHEMAT, data is assigned to cells usually by defining rock properties for the different Property Zones. 3 Pre- and Post-Processing with “Processing SHEMAT” 117 Fig. 3.35 shows the Thermal Flow Rock Properties dialog box where you can specify thermal capacity (the product of specific heat capacity and density), heat production rate, thermal conductivity, and anisotropy factors in x- and y-direction relative to the vertical thermal conductivity (z direction). The thermal conductivity anisotropy factors may differ from those specified for permeability. Note that SHEMAT uses the vertical thermal conductivity and the anisotropy factors to calculate the horizontal thermal conductivity. Typical values for rock thermal conductivity are listed in Table 2.2. Table 3.6 presents additional values for thermal conductivity, specific heat capacity and density for different soil and rock constituents. Fluid and rock thermal conductivity can be weighted according to either an arithmetic or geometric mean (see also Chapter 2) according to the selection in the Thermal Rock Properties dialog box (Fig. 3.35). Table 3.6. Thermal rock properties of soil constituents (Tindall and Kunkel 1999) Soil or Rock Constituent Mineral clay Quartz Soil organic matter Thermal Conductivity [W m-1 K-1] 2.9 8.8 0.25 Specific Heat Capacity Density [J kg-1 K-1] [kg m-3] 800 2650 800 2660 2500 1300 Fig. 3.35. The Thermal Rock Properties dialog box 118 Michael Kühn and Wen-Hsing Chiang Fluid Heat Production... For the fluid, too, a heat production rate can be defined in the Fluid Heat Production dialog box (Fig. 3.36). Fig. 3.36. The Fluid Heat Production Rate dialog box Permafrost Define the Ice Content and set the Solidus Temperature as well as the Liquidus Temperature. Constant Heat Flow A Constant Heat Flow can be specified across the top and bottom boundaries. The values in W m-2 are set in the Data Editor. SHEMAT interprets these values as source terms. Typical continental values range from 0.02 W m-2 - 0.12 W m-2. Note that for heat flow across the top or bottom of the model, the thermal boundary condition’s numerical code must be set equal to 2 (WSD). Well Injection or pumping wells are defined in the Data Editor using the Cell Value dialog box (Fig. 3.34) to specify: – – the Recharge Rate of the Well [m³ s-1]; and the Temperature of Recharged Water [°C]. The injection or pumping rate of a well remains constant during a given stress period and is independent of both the cell area and the head in the cell. SHEMAT assumes that a well fully penetrates the entire cell. SHEMAT can also simulate wells that penetrate more than one model layer. In this case, the injection or pumping rate for each layer has to be specified. The total injection or pumping rate for a multi-layer well is equal to the sum of the layer rates. The Temperature of Recharged Water has to be specified only when modeling flow and heat transport. 3 Pre- and Post-Processing with “Processing SHEMAT” 119 The Temperature of the Recharged Water and the Recharge Rate set in this dialog box is identical to the Temperature and Recharge Rate set in Heat>Well. Note that positive and negative rates apply to injection wells (shown in blue in the Grid Editor) and pumping wells (shown in red), respectively. 3.3.7 Transport Tracer... PS can handle up to five different, chemically inert tracers. Check the active box and set an initial tracer concentration here or define an individually distributed tracer distribution in Initial Tracer Distribution. The Tracer dialog box is shown in Fig. 3.37; βc [(kg m-3 density of solution)/(mmol tracer/L solution)] is the influence factor of the different tracers on the density of the fluid, with ρ = ρ 0 + βc c . (3.5) Note that using Eq (3.5) requires checking Density = f (concentration) in the Process Coupling dialog box (Fig. 3.27). A value of βc=1 means that the fluid's density is influenced by the additional weight of the tracer without altering the volume. A value of βc >1 means that the density of the solution increases more than by the weight of the tracer alone; the additional increase in density is due to a decrease in volume of the solution. A value of βc<1 means that the density of the solution increases less than by the weight of the tracer; this is due to a volume increase of the solution. A value of βc=0 means that the weight of the tracer does not influence the density of the fluid (no coupling between transport and flow via concentration dependence). Table 3.7 shows typical values for the density influence factor βc of different salts. Table 3.7. Density influence factor βc of different solutes Tracer NaCl (0-5000 mmol L-1 at 20°C) KCl (0-4000 mmol L-1 at 20°C) CaCl2 (0-2500 mmol L-1 at 20°C) MgCl2 (0-4000 mmol L-1 at 20°C) Density influence factor [kg mol-1] 0.04 0.04 0.08 0.07 120 Michael Kühn and Wen-Hsing Chiang Fig. 3.37. The Tracer dialog box Initial Concentrations SHEMAT requires initial concentrations at the beginning of a species transport simulation. The initial concentrations are first guesses in the iterative solution procedure. In some transient problems satisfactory solutions for the individual time steps may require initial concentrations specified reasonably close to the correct results. At constant-concentration cells these initial concentrations remain unaltered during the species transport simulation. Therefore, their values should be selected with special care. All other initial concentrations can be set with more freedom. You can define the initial tracer distribution either as the spatial distribution of a tracer of constant concentration defined in the Tracer dialog box Fig. 3.37 (Transport>Initial Tracer Concentration>Constant Concentration), or by assigning individual concentrations to specific cells (Transport>Initial Tracer Concentration>Variable Concentration). Constant Concentration: To define the spatial distribution of up to five tracers in the Data Editor, use the following number codes to identify the tracers in cells: – – 0 for no tracer 1-5 for up to active tracers. Note that you have to identify tracers as active by checking the corresponding checkbox box in the Tracer dialog box (Fig. 3.37). Variable Concentration: Select a tracer, click edit, and define concentrations [mmol L-1] in appropriate cells. Transport Boundaries Different boundary conditions are identified by a number code. Choose between: – 1, for an impermeable boundary (NFLO), 3 Pre- and Post-Processing with “Processing SHEMAT” – 121 -1, for constant-concentration cells (CONC, shown in orange in the Grid Editor). The default code for all cells is 1, which means impermeable boundaries for the boundary cells and active cells for all inner cells. For constant- concentration cells, the initial concentration remains unchanged throughout the simulation. The initial concentration is specified by choosing Transport>Initial Tracer Distribution. Note that code 1 for inner cells (not boundary cells) means an active cell. Code -1 has the same meaning for inner and boundary cells. Dispersion / Diffusion... Use the Transport Properties dialog Fig. 3.38 box to define homogeneous values in the entire modeling domain for dispersivity [m] and effective diffusion coefficient [10-8 m2 s-1] for the transported species. Note that due to the 5- and sevenpoint difference stencil implemented in SHEMAT in 2-D and 3-D, respectively, longitudinal dispersion is equal to transverse dispersion. Dispersion and diffusion across the model boundaries can be enabled or disabled (default) via the check box. Fig. 3.38. The Transport Properties dialog box Well Injected Concentration(s)...: In species transport it is possible to define the concentrations of the injected active tracers and, if reaction is simulated as well, of chemical species (Fig. 3.39). Available chemical species depend on the current data set and the selected species in solution species (Reaction>Fluids Composition). Values have to be entered in [mmol L-1]. Fig. 3.39 shows the active wells, their positions (column, row, layer), and pumping rates. In this example the species are: H+, Ca2+, Mg2+, Na+, 122 Michael Kühn and Wen-Hsing Chiang K+, and Cl-. If no tracer or ion concentrations are specified, pure water will be injected into the well. Note that the concentration of H+ (pH value) is in mmol L-1; a pH-value of 7 corresponds to a concentration of 10-4 H+ mmol L-1. Re-inject Produced Water: Check this if SHEMAT is to re-inject the produced water. The mean value of all solutes in the different, actively pumping production wells is used for re-injection into the recharge wells. This is only important for species transport. If Re-inject Produced Water is selected, the option Injected Concentrations cannot be used. Fig. 3.39. The Concentration of Injected Fluid dialog box 3.3.8 Reaction With the updated SHEMAT which supplies two different chemical modules, • the new chemical module based on PHREEQC, • additional to CHEMEQ, the previous one based on PHRQPITZ, users now have the choice between Debye-Hückel’s or Pitzer’s approaches for calculating the ion activity coefficients in the aqueous solutions. For the new chemical module the data file chemeqdh.dat is required to simulate chemical reactions. This data file is identical to the original PHREEQC data set, only shortened and brought into alphabetical order. All data required for chemical reaction calculations supported by SHEMAT are listed in this file, from definition of master and aqueous species to the mineral phases. The data base can be easily edited in case additional reliable data are available (for formats, refer to Parkhurst and Appelo 1999). 3 Pre- and Post-Processing with “Processing SHEMAT” 123 Two data files are required to simulate chemical reactions using the chemical module based on PHRQPITZ. The first one, Phrqpitz.dat, contains the thermodynamic data for the elements, aqueous species, and minerals. The second one, Pitzer.dat, contains values for the interaction parameters of the Pitzer equations, used for calculating the species activities. Using these data files makes it possible to apply the chemical reaction module CHEMEQ to other reactions than currently intended without the need to change the source code. This data base can be easily expanded provided additional reliable data are available (for the structure, refer to Plummer et al. 1988). Please note that when manipulating the data files of the chemical modules it is of utmost importance to maintain the data base’s internal consistency. Initial Internal Surface Simulating kinetically controlled chemical reaction requires input of an initial internal surface area in m2 m-3 using the data editor. For instance, the internal surface range for Bentheim sandstone is 468,000 – 650,000 m2 m-3. Table 3.8 lists typical ranges in m2 kg-1 for the internal surface for some minerals and soils. Table 3.8. Internal surface area of porous media (Tindall and Kunkel 1999) Porous medium Montmorillonite Clay soil Silty clay loam Silt loam Illite Loam Kaolinite Sandy loam Silt soil Surface area [m2 kg-1] 700,000 – 800,000 150,000 – 250,000 120,000 – 200,000 50,000 – 150,000 80,000 – 120,000 50,000 – 100,000 80,000 10,000 – 40,000 5,000 – 20,000 Rock Composition You can define the Rock Composition both for the different Property Zones and individually for each cell and mineral. You may select minerals available in the current data sets (Phrqpitz.dat or chemeqdh.dat); minerals unavailable in the current data set cannot be used. Such an attempt will cause a run-time error in SHEMAT. The dialog box is shown in Fig. 3.40. Note that the chosen minerals are subject to chemical reactions (precipitation or dissolution reactions) during the simulation only if you check the active box in Reaction Properties. 124 Michael Kühn and Wen-Hsing Chiang Fig. 3.40. The Rock Composition dialog box Defined by Property Zones...: Choose the minerals and set the mineral concentrations in mol m-3 rock volume. Save and Load: Save or load the contents of the table in or from a Rock Composition file. Set Rock Composition individually: Choose a mineral, click edit and define the concentrations in mol m-3 in the Data Editor. Fluids Composition... In each type of reaction, one or more initial solutions must be specified. In case Pitzer’s equations have been chosen (Type>Settings) for ion activity calculations, use the index cards for the six available solutions to define the chemical reactions, the total concentrations of elements, and other required information, such as pH (Fig. 3.41). The chemical module based on Debye-Hückel’s theory supports an infinite number of different initial solutions. About the same type of input as before is required in this case (Fig. 3.42). 3 Pre- and Post-Processing with “Processing SHEMAT” 125 Fig. 3.41. The Fluids Composition dialog box of the chemical module based on Pitzer’s equations for ion activity calculations Fig. 3.42. The Fluids Composition dialog box of the chemical module based on DebyeHückel’s theory for ion activity calculations 126 Michael Kühn and Wen-Hsing Chiang Elements: This column contains the names of the chemical elements available in the aqueous model data base (Phrqpitz.dat, chemeqdh.dat); Concentration: User specified concentration. Elements with initial zero concentration are ignored in the transport simulation. Therefore, remember to initialize the elements of the minerals used to a non-zero value. If the actual concentration is unknown, a very small value may be used; Species: This column contains the aqueous species in the aqueous model data base in respect to the elements used in the reaction calculation; pH: User specified pH of the solution – required for all solutions; pe: User specified pe of the solution, only available and required if DebyeHückel’s species activity approach is selected. Pitzer’s equations currently do not support redox reactions. Accordingly, the pe input box is disabled in this case; Temperature: User specified temperature of the solution in °C – used only for pure CHEMEQ or PHREEQC reaction calculations (see Models>Bucket Chemistry>CHEMEQ / PHREEQC); Density: User specified density of the solution in kg L-1; – used only for pure CHEMEQ or PHREEQC reaction calculations. If no density is specified, a value of 1.0 is assumed. Incorrect density values may lead to large errors in the conversion of concentration units. Molar Weight: Gram formula-weight of the aqueous species taken from the thermodynamic data base (provided for Pitzer’s approach only). BetaC: Influence factor of species concentration on fluid density. Typical values for ßc are e.g. 0.02 for Na, K, and Cl or 0.04 for Ca and SO4. Compare section Transport>Tracer for the relevant equation. Note that density influence factors applied here under Fluids Composition have to be set for the species (e. g. for cation or anion) unlike under Tracer where they are defined for the salts (e. g. jointly for cation and anion). Activation of ßc requires checking Density = f(concentration) in the Process Coupling dialog box. Units: Units used for concentrations: for Pitzer’s approach choose between mmol L-1, mg L-1, ppm and mmol kg-1 (solution). The program performs all calculations in terms of mmol L-1. For conversions the program uses the gram formulaweight (Molar Weight), in g mol-1. For solution compositions defined for application of the Debye-Hückel theory there is no choice other than the unit mmol L-1. Note that users need to convert the units to mmol L-1 prior to calculations. Load: Fluid compositions can be loaded for the Pitzer approach from PHRQPITZ- (Plummer et al. 1988) or PHREEQE- (Parkhurst et al. 1980) input files (*.in). Thus CHEMEQ calculations available from other simulations can be used. The installation CD contains several input solutions, corresponding to the fluid compositions at several exploited hot water aquifers and geothermal prospects in Germany (Neustadt-Glewe (GtNG.in); Neubrandenburg (GtNB.in); Stralsund (GtSs.in)). Additionally fluids compositions from other PS models can be 3 Pre- and Post-Processing with “Processing SHEMAT” 127 loaded from the corresponding data files (*.flu). This feature is not available yet for the Debye-Hückel approach Fluids Distribution Define the distribution of different fluids defined in Fluids Composition... using the Data Editor. Number codes (1-6 for Pitzer’s approach and any number up to the number of solutions defined for Debye-Hückel’s approach) identify the different solutions. The default value is 1. Reaction Properties... The Reaction Properties dialog box contains two index cards, corresponding to reactions in thermodynamic equilibrium and kinetically controlled reactions: The elements of the thermodynamic Equilibrium index card (Fig. 3.43) are: – Mineral: The phases of the minerals selected in Rock Composition will be maintained at their user-defined saturation index (see below). – Active: Check if the mineral is to react with the solution during the simulation. – Saturation Index: Saturation index desired in the final solution. It is defined as: (log (Ion Activity Product/K)), where K is the equilibrium constant. A value of 0.0 corresponds to a solution in equilibrium with the mineral, a value of 1.0 to ten-fold supersaturated solution. The saturation index can also be used for specifying partial gas pressure. – Molar Volume: Mineral molar volume in m3 mol-1; Table 3.9 lists molar volumes of some minerals. 128 Michael Kühn and Wen-Hsing Chiang Fig. 3.43. The Reaction Properties dialog box: Thermodynamic Equilibrium index card Table 3.9. Molar volume of different minerals Mineral Anhydrite Barite Calcite Gypsum Halite Quartz Molar volume [m3 mol-1] 4.6 × 10-5 5.19 × 10-5 3.7 × 10-5 5.5 × 10-5 2.8 × 10-5 2.27 × 10-5 Charge Balance: Reactions are calculated using the CHEMEQ or PHREEQC code which are principally used to simulate reactions compatible with measured concentrations in water analyses. Generally, these calculations are left with an apparent electrical imbalance as a result of analytical errors. Because CHEMEQ and PHREEQC use the electrical neutrality criterion in solving for pH, it is important to consider this apparent charge imbalance. Only perfect chemical analyses correspond to an electrically neutral initial solution. Experimental errors correspond to an electric imbalance. Two options are available in the computations: (1) to maintain a charge imbalance, or (2) to force charge balance; care should be taken in choosing the appropriate option and interpreting the results: – 3 Pre- and Post-Processing with “Processing SHEMAT” 129 (1) Selecting Imbalance in the Charge Balance drop-down menu yields a simulated final solution with the same electrical imbalance as the initial solution. (2) Charge balance can be forced in two different ways: (i) Select pH to prompt SHEMAT to adjust the pH of the initial solution to achieve an electrically neutral solution; (ii) In case that the pH of the initial solution is relatively well known it may be reasonable to add relatively inert ions like K+ or Cl- to balance the charge. In this case, select Neutral and suitable cations and/or anions from the drop-down menus, for instance K+ and/or Cl- (only cation or anion is required for PHREEQC). If none of the two alternatives yields satisfactory results, one might attribute the charge error either to the most uncertain concentration in the analysis (e.g. carbon or sodium) or to a known aqueous species for which analytical data are lacking. Charge imbalance is a meaningful clue to the errors in analyses, and a large error may render a solution unsuitable for reaction simulations. By using the various options of the program, you can investigate the significance of analytical errors and their effects on reaction simulations. We recommend using CHEMEQ or PHREEQC for trial runs of the chemical reactions alone (Models>Bucket Chemistry) before running the fully coupled SHEMAT simulations. – Redox: For the chemical module based on the Debye-Hückel theory (PHREEQC) users can decide if calculated pe values are to be disregarded by SHEMAT or updated from one time step to the next. In the first case, the initial pe value for all reaction calculations is always 4.0; in the latter case, pe results from the previous time step are input for the following one which might resolve problems with respect to convergence for the numerical solver. However, the redox state (pe) of a solution is defined anyway by the species distribution of aqueous components relevant for the redox state after the transport and reaction steps. The elements of the Kinetic index card (Fig. 3.44) are: 130 Michael Kühn and Wen-Hsing Chiang Fig. 3.44. The Reaction Properties dialog box: Kinetic index card – – – – – Kinetic: Check this to perform kinetic calculations for this mineral. Portion of Surface: 0 – 1: the mineral's fraction of the initial internal surface. Reaction Rate: Reaction rate [mol s-1 m-2] of the mineral for molecular surface processes associated with precipitation. Activation Energy: Activation energy [J] for molecular surface processes associated with precipitation. Rate Law of Reaction: The user has the choice between 1st order or nth order precipitation and dissolution reactions. Following Eq. (3.6), in the first case only one of the ions constituting the mineral phase (the one occurring earliest in the data set) is taken into account to determine the distance from equilibrium. This rate law is valid for reactions with equimolar abundance of aqueous species in solution. In the second case, the calculations account for all ions of the mineral phase by replacing the single supersaturation factor in Eq. (2.32) by the product of the individual supersaturation factors of all ions of the mineral. This rate law is recommended for large differences in the species concentrations of the solution. Further, the defined internal surface area can be switched on and off in the equations for the rate law “dependent or independent on surface”. In some cases, precipitation reactions can be assumed to be independent of the surface area. The governing equation involving kinetic for a single precipitating or dissolving mineral species I is: 3 Pre- and Post-Processing with “Processing SHEMAT” Dc min, i = dt M i A react r0 e− Eact kB T (c ion ) (t) − ceq (t) ceq (t) , 131 (3.6) where A react = A total x min, i , and measured total pore space surface [m2 m-3]; = 0…1 : fraction of total surface covered by mineral i; – A total : – x min, i – Dc min, i : concentration of mineral i [g L-1]; – – dt: Mi : r0 : E act : time interval [s]; molar weight of mineral i; reaction rate [mol s-1 m-2]; activation energy for the molecular surface processes associated; with precipitation; Boltzmann constant [J K]; absolute temperature; concentration and equilibrium concentration of one ion – – – – – kB: T: cion (t), ceq : pair species in mineral i [mmol L-1]. The Options button brings up the Calculating Options for the Chemical Reaction Module dialog box (Fig. 3.45): Fig. 3.45. The Calculating Options for the Chemical Module dialog box You can define the frequency in which chemical reaction is modeled relative to the transport simulations. Selecting a frequency of 2 means that geochemical calculations are performed only every other transport step. This may not affect too much the result of the chemical calculations, but can save much computation time. You can also set a temperature threshold for a re-calculation of the Pitzer coefficients as well as a threshold for acceptable concentration changes in a cell be- 132 Michael Kühn and Wen-Hsing Chiang tween consecutive time steps. This too saves computation time because it minimizes the number of cells in which chemical reactions need to be calculated. Use these settings wisely – large errors might result if used inappropriately! 3.3.9 Models Bucket Chemistry For testing purposes, both chemical modules of SHEMAT can be used to study reactions between defined initial solutions (Reaction>Fluids Composition…) and specified mineral assemblages (Reaction>Rock Composition) in a bucket chemistry mode. Trial runs are recommended to investigate stability and integrity of the reaction system defined. CHEMEQ permits to calculate geochemical reactions in brines and other highly concentrated electrolyte solutions using the Pitzer virial-coefficient approach for activity-coefficient corrections. Reaction-modeling capabilities include calculation of aqueous speciation and mineral-saturation as well as mineral solubility. You may use CHEMEQ for trial runs of chemical reactions. CHEMEQ runs in a DOS window and requests the name of an input file. Data available from a specific PS-model is written to files named “fluid1.in” to “fluid6.in”. Type the file name for which you want to perform the calculations. Output is written accordingly to files named “fluid1.out” to “fluid6.out”. All *.in and *.out files are ASCII files and can be easily processed by any editor. For more information on CHEMEQ refer to the SHEMAT documentation (Chapter 2) and to the PHRQPITZ (Plummer et al. 1988) manual. CHEMEQ performs two calculations when used for a trial run. During the first calculation the apparent saturation index for the selected chemical species concentrations and minerals is calculated at the specified temperature and pH. In the second step the specified saturation index is used in calculating the chemical species concentrations equilibrated at the specified temperature and pH. The program determines if a mineral precipitates or dissolves, and calculates the resulting chemical species concentrations. PHREEQC is a versatile computer program for simulating chemical reactions and transport processes in aqueous solutions, both natural and anthropogenically altered waters. The program is used in SHEMAT as a speciation program and to determine mineral precipitation and dissolution reactions as well as to monitor saturation indices of minerals and gases with regard to defined aqueous solutions. Unlike CHEMEQ, the distribution of redox elements among their valence states is also taken into account. PHREEQC uses the Debye-Hückel ion-association expressions to address nonideal aqueous solutions. The extended Debye Hückel aqueous model includes additional ionic strength terms and therefore is adequate not only at low ionic strength but also in a range up to seawater salinities. In sodium chloride dominated 3 Pre- and Post-Processing with “Processing SHEMAT” 133 systems, the model may even be reliable at higher ionic strengths. For more detailed information, such as basic equations of the constitutive laws, refer to the SHEMAT documentation (Chapter 2) and the manual of PHREEQC (Parkhurst and Appelo 1999). PHREEQC both performs a speciation simulation and determines apparent saturation indices at the specified temperature and pH before the specified saturation index is used to react the solution with the mineral phases. The program determines if a mineral precipitates or dissolves, and calculates the resulting chemical species concentrations. Fluid compositions of all solutions (Reaction>Fluid Compositions) defined in the current PS-model are written into the file dhinput.in together with the mineral assemblage (Reaction>Rock Composition). PHREEQC is started automatically and the result file dhinput.out is opened in a text editor window for inspection as soon as the model run is complete. Create SHEMAT Input File An input file for a SHEMAT simulation run will be created, if all data are available which are required for the chosen simulation type. If this is not the case PS terminates the procedure. A screen message informs whether or not an input file has been created. Run SHEMAT Run a SHEMAT simulation using the input file of the current project. SHEMAT is started in a new DOS Window and runs independently of Processing SHEMAT. Thus you may either exit the graphical user interface while SHEMAT is still running or you may open, edit and even run in parallel another model. In the DOS Window, a variable amount of information is displayed during the simulation depending on the selections made in the Type>Info/Result dialog box; Fig. 3.46 shows the DOS Window corresponding to the selection of on screen information (PC front-end): The only information displayed is the total simulation time in hours, the CPU time of the current time step in seconds, and a message if result files were written at the end of a simulation period (as for PERIOD2 in Fig. 3.46). 134 Michael Kühn and Wen-Hsing Chiang Fig. 3.46. DOS window of a SHEMAT simulation. The amount of information displayed, total time and CPU time, corresponds to the selection on screen information (PC frontend) in the Type>Info/Results dialog box. When on screen information (PC front-end) is selected the program TimeInfo also displays in a separate window the simulation progress in per cent, the folder where the simulation is running, and the current simulation period (Fig. 3.47). The message “Simulation has just started” is shown immediately following the start of a simulation. Every minute TimeInfo updates the data in the display window from the file “counter.asc”. The size of this window can be decreased and enlarged, but please keep in mind, that the window is updated only every minute (be patient). Fig. 3.47. Simulation status displayed by TimeInfo, corresponding to the selection of on screen information (PC front-end) in the Type>Info/Results dialog box. The end of a simulation is announced both in the DOS Window (Fig. 3.48) and separately by TimeInfo (Fig. 3.49); you need to confirm both. If the DOS Window does not show the message RUN O.K. a run-time error occurred in the simulation. 3 Pre- and Post-Processing with “Processing SHEMAT” 135 Fig. 3.48. Dos window at the end of a SHEMAT simulation. In this case full run-time information had been selected in the Type|Info/Results dialog box. Fig. 3.49. End of simulation announced by TimeInfo. Serialized Run SHEMAT allows using a previous simulation result for a continuation run. Choose an “*.nlo” SHEMAT result file in the Models>Serialized Run dialog box. PS will copy and rename it as an “*.nml” input file. Old format files (e.g. “*.nml” and “*.nlo”) will be saved under a different name, which can be chosen. 3.3.10 Tools Permeability Estimator – Permeability Porosity Relations for Geological Zone Initialization Overview. Depending on existing data from measurements in the laboratory or in boreholes, different relations are available which permit to estimate the initial permeability of a given domain in the model. A total of seven different methods are classified according to the input parameters required (Fig. 3.50); note that in any case a value of porosity is required. 136 Michael Kühn and Wen-Hsing Chiang 1. Fractal exponents and coefficients (fractal Kozeny-Carman). The fractal relationship for an average sandstone (discussed in section 4.2) may be applied if no other information is available except for porosity and the fact that no secondary diagenetic cementation occurred: k = A φ + B φ2 + C (10 φ ) . 10 (3.7) The values of A=31, B=7463, and C=191 are derived from a calibration with a large set of measurements of k and φ in the laboratory; the default values of 1, 2 and 10 for the exponents result from a fractal approach assuming a self-similar pore space structure (Pape et al. 1999). The user can modify them. 2. Capillary bound water fraction, tortuosity, and a fractal exponent. Depending on the ratio of the volume fractions of free fluid, φff and capillary bound water, φcb, where φ = φcb+ φff, permeability k is estimated from two different relations: k =C (100 φff ) f , 3 1 k= (10002 φff +502 φcb ) 8T D [ nm 2 ] ⎧⎪ φff > 0.75 φ . ⎨ ⎪φ < φ 0.75 ff ⎩ (3.8) Tortuosity T is defined by: T = Fφ, (3.9) where F is the electrical formation factor. It can be obtained either from the ratio of the electrical resistances Rt and Rf of the bulk rock and the pore fluid, respectively: F = Rt Rf , (3.10) or from Archie's law: F= a , (3.11) φm where a is a lithology-dependent factor with values in the range of 0.6 – 2.0 (default: a=0.7); m is a cementation exponent, with values in the range of 1–3 (default: m=2.0). φcb can be determined with nuclear magnetic resonance (NMR) measurements in the laboratory or in boreholes. The exponent Df, 3 and coefficient C are identical to those discussed in method 5 for a series of sandstone cementation types. They are required if the free fluid porosity dominates, i.e. for φff > 0.75 φ. 3. Tortuosity, internal surface, and fractal dimension. If the pore surface area per pore volume, Spor [nm-1], the fractal dimension, Df [- ], and the tortuosity, T [-] are known, k can be derived from k = 0.223 −2 ( 3− Df ) φ Spor ) ( T [ nm2 ] . (3.12) 3 Pre- and Post-Processing with “Processing SHEMAT” 137 From nitrogen absorption (BET) measurements, Sm, the internal surface related to mass is often known. It is related to Spor via density, ρ, by Spor = Sm ρ φ . Alternatively, Spor can be determined from the volume fraction φcb of capillary bound water obtained from NMR measurements: Spor = φcb ( 50 φ ) ,or from the shale volume fraction, Vsh. For fine-grained crystalline matrix cement, Spor [µm-1] can be calculated from the cement mineral fraction Vcem, and an average grain size of the cement crystallites, rgrain,cem [µm]: Spor = ⎫ 3 ⎛ ⎞ 1 − φ ⎧⎪ − 0.4 ⎟ Vcem ⎬⎪ . ⎨0.4 + ⎜ r φ ⎩⎪ ⎝ grain,cem ⎠ ⎭⎪ (3.13) PS assumes default values of Df =2.36 in sandstone and Df =2.0 for purely quartz cemented sandstone with φ > 0.1. In an average sandstone Spor=4 µm-1 can be assumed as a reasonable average value. The shale volume fraction Vsh can be determined from measurements of the natural γ-radiation. Further, the volume fractions of shale or cement can be derived from the density of the sandstone, if the density contrast between quartz and the cement mineral and quartz is significant, and if there is only one type of cementation. If ρ is the density of the bulk rock, the density of the pure mineral phase without pores, ρsolid , is ρ ρsolid = . (3.14) 1− φ In a shaly sandstone Vsh and VQF denote the volume fractions of shale and quartz or feldspar relative to the solid volume (i.e. 1-φ). Τhen VQF+Vsh=1, and the relative shale volume Vsh is given by: ρsolid − ρQF Vsh = . (3.15) ρsh − ρQF In the same way, if Vcem is the cement mineral fraction of a cemented sandstone, VQF+Vcem=1, and one obtains the relative cement mineral volume Vcem as: ρsolid − ρQF Vsh = . (3.16) ρcem − ρQF Table 3.10 lists average densities for some common minerals. Table 3.10. Density of some minerals useful for calculating the shale and matrix cement volume fractions, Vsh and Vcem Mineral Quartz alkaline feldspar Plagioclase (Quartz + feldspar) in very clean quartz sandstone (Quartz + feldspar) in average quartz sandstone Density [kg m-3] ρQ = 2650 ρF = 2570 ρP = 2620 ρQF = ρQ ρQF = 2630 138 Michael Kühn and Wen-Hsing Chiang Shale minerals Calcite Anhydrite ρsh = 2630 ρcem = 2720 ρcem = 2960 4. Fraction of clay minerals. If only the volume fraction of shale is known for different ranges of the shale fraction (determined e.g. as described in method 3 above), one obtains the coefficients for Eq. 3.7, which are listed in Table 3.11. Table 3.11. Coefficients for equation 3.7 for different ranges of Vsh Vsh <0.02 A 31 B 7463 C 191 0.02 – 0.10 0.10 – 0.30 >0.50 155 6.2 0.1 37315 1493 26 630 58 1 5. Structure of matrix cement minerals. If the porosity reduction in sandstone is mainly due to cementation and not to compaction, the general relationship of Eq. 2.66 reduces to a single exponential term with appropriate combinations of coefficients and fractal exponents for different matrix cementation structures: i. pure quartz sandstone with quartz cementation: 3.05 ⎧ φ > 0.08 k =303 (100 φ ) 2] ⎪ [ nm ; (3.17) ⎨ 7.33 k =0.0275 (100 φ ) ⎪⎩ φ < 0.08 ii. pure quartz sandstone with coarse-grained anhydrite cementation: k = 0.309 (100 φ ) 4.84 ; (3.18) iii. fine-grained (grain diameter Ø < 25 μm) cementation formed on a technical time scale (re-injection): k = 178 (10 φ ) 11.33 ; (3.19) iv. calcite coating of grains formed on a technical time scale (re-injection): k = 42073 (10 φ ) . 5 (3.20) 6. Pore throat radii R25/R50 (from mercury injection). Required values are tortuosity, T, and the quartile values of the pore throat radius distribution, R25 and R50 (in nm), corresponding to a mercury saturation of the pore space of 25 % and 50 %, respectively: 2 φ ( R50 ) 8T φ ( R25 )2 k= 32 T k= [ nm ] 2 ⎧ R50 ≥ ( R25 ) 2 ⎪ . ⎨ ⎪⎩ R50 < ( R25 ) 2 (3.21) Note, that R25 is always larger than R50 because mercury needs to pass through ever smaller pore throats with increasing mercury saturation. 3 Pre- and Post-Processing with “Processing SHEMAT” 139 If tortuosity is not available it can be calculated from the effective grain radius, rgrain,, and the fractal Dimension, Df , using the relation: T −1 = 0.1 + 0.5 ( R50 rgrain ) 0.67 ( Df − 2 ) (3.22) . Reasonable default values for Df and rgrain are 2.36 and 200000 nm, respectively. 7. Particle size distribution. Permeability can be estimated from particle size distribution in various ways. The Kozeny–Köhler approach (see Langguth and Voigt 1980) requires values for the lower and upper limits of each grain size class i, Rli and Rui, and its volume fraction, Vi¸ for computing an effective grain size, rgrain: rgrain = ∑ Vi , ∑ Vi R i with: 1 Ri = 1⎛ 1 1 ⎞ + ⎜ ⎟, 2 ⎝ Rli Ru i ⎠ (3.23) from which hydraulic conductivity K follows as K ∝ (rgrain)2. Relating the associated permeability k to that of an average sandstone with an average grain size of 200 000 nm (Pape et al. 1999) yields permeability k as: 2 ( ) ⎛ rgrain ⎞ 10 2 k = ⎜⎜ ⎟⎟ 155 φ + 37315 φ + 630 (10 φ ) . 200000 ⎝ ⎠ Fig. 3.50 shows the permeability estimator dialog box. Fig. 3.50. Permeability Estimator dialog box (3.24) 140 Michael Kühn and Wen-Hsing Chiang The colored columns depict the number of property zones (yellow), the porosity and permeability of the current model (orange), and the estimated permeability (green). These columns are for view only and can’t be edited directly. According to the estimation method chosen, varying property columns (white) are active and have to be filled in with data prior to estimation. As far as possible reasonable default values are provided. Permeability estimation as well as filling in property values can be done either for one value or the whole column. To adapt the whole column click the column header. The Permeability Estimator dialog box (Fig. 3.50) has the following entries additional to the property zone values: – Estimate: Estimates permeability for the active row or entire column; – Load: Load a permeability estimator table from another project or one certain permeability estimate with all previously saved associated property values; – Save: Save the estimated permeability of the active row with all associated property values; – Transfer: Transfer the estimated permeability of the active row to all property zones (click the column header) of the current project; – OK: Save all data and exit the permeability estimator; – Help: Open the online help. Result Viewer... The Result Viewer allows a quick inspection of results and displays results either versus time or as spatial distributions. As these plots are not intended for immediate publication, use the available interfaces to commercial visualization packages for generating presentation-quality plots. Select between Spatial Distribution, Temporal Development, Monitoring Logs, and Mass Balance Boundary. 3 Pre- and Post-Processing with “Processing SHEMAT” 141 Fig. 3.51. The Spatial Distribution dialog box The Spatial Distribution dialog box (Fig. 3.51) requires the following input: – Parameter to Display: Select among pressure, head, porosity, density, permeability, velocity in x, y, and z direction, temperature, element or mineral distributions to be displayed as 2-D contours for a specified layer (Fig. 3.52) or cross-section (Fig. 3.53) or as 3-D surface plots (Fig. 3.54). – Area: □ □ Layer/Row/Column: Specify the layer number. Plane: If more than one layer is available, views other than horizontal cross sections (default) can be shown. Specify Y-Z or X-Z for vertical crosssections. Preferences: – □ □ File: Choose an input file for the Result Viewer. SHEMAT input- and output files (*.nml, *.nlo) are valid. As a default, the output file (*.nlo) of the current simulation is the input file for the Result Viewer, if available. Otherwise the default file will be a SHEMAT input file (*.nml). Plot: Select between cross-sections (2-D projection) or a 3-D surface. 142 Michael Kühn and Wen-Hsing Chiang Fig. 3.52. Parameter distribution in a horizontal 2-D cross-section – Projection/Plot Properties: □ □ □ □ Contour: Contour lines of the data distribution. Zones: Filled contours without isolines. Legend: Check this to display a legend in the chart Double Buffer: Double buffering is a graphics technique, which will reduce the amount of flashing perceived by a user when a chart changes. When double buffering is turned on, every time the chart changes, it will: o Allocate (if necessary) and clear an off-screen bitmap. o Render the complete chart to the off-screen bitmap. □ □ □ When double buffering is turned off, the chart clears the screen image every time a chart is changed (possibly causing a visual flash). Then, it renders the complete image to the visible window (possibly allowing the user to see the chart being drawn piece by piece). Turning off double buffering can improve the chart's graphing performance and reduce its memory requirements. Grid Lines: Choose whether or not you want to display gridlines. Scale: Choose a scale factor for X and Y, respectively X and Z or Y and Z. 3-D Surface Plot/Plot Properties: Additional settings are required for the 3-D surface plot option: o Mesh: The grid is projected directly onto the 3-D surface (requires additionally “X Mesh”, “Y Mesh” or both. X Mesh: If mesh is checked, the x-mesh is displayed in the chart. Y Mesh: If mesh is checked, the y-mesh is displayed in the chart. o Shaded: Display of the data as a surface in 3-D. 3 Pre- and Post-Processing with “Processing SHEMAT” 143 Solid: The data is displayed as the top surface of a block. Contoured Floor: Contours lines on the bottom of the chart. Zoned Floor: Filled contours (without isolines) below the chart. Perspective: Control of the effect of perspective when projecting the unit cube onto the screen. Small values exaggerate the perspective effect, while large values diminish it. Valid values vary from 1 – 100. o Angle: The angles for X, Y and Z define from which perspective the results are viewed. o o o o In the display itself there are two options: □ □ Print: The plots can be printed as screen shots on a printer. Back: Return to the main menu. Fig. 3.53. Parameter distribution in a vertical 2-D cross section Additionally the user can modify the displayed distribution interactively: □ □ □ □ Rotation: Hold down the right and left mouse buttons and either o move the mouse counterclockwise to rotate the view clockwise or o press x, y, z or e to select an axis, and then move the mouse normal to this axis. Translation: Press Shift, hold down both mouse buttons, and move the mouse to shift the entire chart. Scaling: Press Ctrl, hold down both mouse buttons, and move the mouse down or up to increase or decrease the chart's size, respectively. Zooming: Press Ctrl, hold down the left mouse button and move the mouse to select the region to zoom into. 144 Michael Kühn and Wen-Hsing Chiang Return to Default: Pressing "r", removes all interactive scaling, translation, and zooming. □ Navigate through 3D model: Press Page Up / Page Down to navigate from layer to layer or cross section to cross section through the entire model without returning to the Spatial Distribution dialog box. You may perform any of the operations for "both mouse buttons" with the center button of a 3-button mouse. □ Fig. 3.54. Parameter distribution in a 3-D surface plot Fig. 3.55. Properties on 3-D Chart Control dialog box 3 Pre- and Post-Processing with “Processing SHEMAT” 145 Press the right mouse button to open the Properties on 3-D Chart Control window (Fig. 3.55, for further information about the graphic tool refer to help file OLCH3D-U.hlp within the SHEMAT folder), where you may redefine the properties of the chart or save the chart. For saving the contents select ChartGroup>Data and click on Save. The format can be transferred into PS ASCII format by using Tools>Convert Result Files...>Convert Data to ASCII. Fig. 3.56. Variation of three parameters with time at a monitoring point Temporal Development allows displaying the variation of the selected parameter with time at the monitoring points. The dialog box (Fig. 3.56) requires the following input: – Monitoring Point: Choose the monitoring point at which to display the variation with time. – 1st Parameter: Select the 1st parameter to be displayed. – Show additional parameters: Check this to display additional parameters. – 2nd Parameter: Select the 2nd Parameters to be displayed. – Axis: Select whether to display the additional parameter relative to a separate y-Axis. 146 – Michael Kühn and Wen-Hsing Chiang Print: Print the plots as screen shots on a printer. – Exit: Return to the main menu. Additionally the user can modify the displayed plot interactively: □ □ □ □ □ Translation: Press Shift, hold down both mouse buttons, and move the mouse to shift the entire chart. Scaling: Press Ctrl, hold down both mouse buttons, and move the mouse down or up to increase or decrease the chart's size, respectively. Zooming: o Axis Zoom: Press Shift and hold down the left mouse button, move the mouse to select the area to zoom into, and release button. o Graphics Zoom: Press Ctrl and hold down the left mouse button, move the mouse to select the area to zoom into, and release button. Return to Default: Pressing "r" removes all interactive scaling, translation, and zooming; default graph margins and axis bounds are displayed. Browse through Monitoring Points: Press Page Up / Page Down to navigate from one monitoring point to the next without having to choose a new number and to press Apply again. Press the right mouse button to open the Properties on 2D Chart Control window, where you may redefine the properties of the chart. You may perform any of the operations for "both mouse buttons" with the center button of a 3-button mouse. Fig. 3.57. Monitoring Logs dialog box 3 Pre- and Post-Processing with “Processing SHEMAT” 147 Monitoring Logs: Allows generating logs at the monitoring points. Import writes the monitoring log data to a separate file. You need to use import (Fig. 3.57) before you can display a log for the selected parameter (Fig. 3.58). The Monitoring Logs dialog box (Fig. 3.57) has the following entries: – – – – – – – Monitoring Points: Select a monitoring point. Parameter: Select the parameter to display. Show Log: Display graph. Browse: Changes directory. Import: Imports the data. Exit: Exit back to the main menu. Help: Opens the online help. Fig. 3.58. Temperature log Mass Balance Boundary: Allows to calculate a mass balance for a group of monitoring points which need to be specified prior to a simulation. Users should take care that the chosen monitoring points form a reasonable and coherent boundary. The monitoring points need to be checked in the Use column of the Mass Balance Boundary dialog box (Fig. 3.59). Chose the flow direction to be mass balanced and then Import the data from the chosen monitoring files. If the import is successful, a parameter with a certain dimension can be displayed (Fig. 3.60). – – – – Parameter: Select the parameter to be displayed. Flow Direction: Select flow direction for the mass balance (x, y, or z). Mode: Select the dimension of the displayed parameter. Variation with Time: Display chosen parameter versus time. 148 – – – Michael Kühn and Wen-Hsing Chiang Import: Import of Required data. Exit: Exit to the main menu. Help: Accesses the online help. Fig. 3.59. Mass Balance Boundary dialog box Fig. 3.60. Mass balance of a parameter across a boundary versus time 3 Pre- and Post-Processing with “Processing SHEMAT” 149 Convert Result Files… Convert Results to Input…: Opens the Convert Results to Input dialog box (Fig. 3.61) which may be used to directly transfer simulation results from SHEMAT result files (*.nlo) into initial values handled by PS. This can be done for 2D or 3D models, from the current or another model with identical mesh geometry. Fig. 3.61. Convert Results to Input dialog box Convert Data to ASCII...: Opens the Convert Data to ASCII dialog box (Fig. 3.62) which may be used to convert data into ASCII format. The contents of a Spatial Distribution chart is converted into the PS ASCII format, which can be loaded into the Data Editor or other Windows Applications. Fig. 3.62. Convert Data to ASCII dialog box Convert Data to Binary...: Opens the Convert Data to Binary dialog box (Fig. 3.63) which may be used to convert specified components of the SHEMAT output 150 Michael Kühn and Wen-Hsing Chiang file (*.nlo) into a binary file (*.rvb). Use for visualizing large 3-D models in the Result Viewer. Fig. 3.63. The Convert Data to Binary dialog box Convert TecPlot® Files...: Opens the Rewrite TecPlot® Result Files dialog box (Fig. 3.64) which may be used to read specified components of the SHEMAT output file (*.plt) and store the results in a second file (*.plt_1) in TecPlot® format. Use this dialog box if you want to insert titles for the parameters which TecPlot® can process while displaying the parameter and to add, subtract, multiply, or divide the data by user-specified values, e.g. to change their dimension. Fig. 3.64. The Rewrite TecPlot® Result Files dialog box Convert Data to MayaVi...: Opens the Convert Data to MayaVi dialog box (Fig. 3.65) which may be used to convert specified components of the SHEMAT 3 Pre- and Post-Processing with “Processing SHEMAT” 151 results into MayaVi readable formats. The user is able to choose any 2D or 3D array to be exported (e.g. temperature, pressure, hydraulic head, fluid flow vectors or solutes and minerals incorporated in the model). There is also the functionality to calculate and export u·grad(T). The rewritten data are stored in files named *-parameter.vtk and can be opened directly in the the MayaVi Data Visualizer. Fig. 3.65. The Convert to MayaVi dialog box 3.3.11 Help The content of this chapter is also available as online help while running Processing SHEMAT.