FFTools Plug-In: Scheduled Head Boundary Module (SHB)
Description
The Scheduled Head Boundary (SHB) module allows modelers to automate the scheduling of transient changes to hydraulic-head (Dirichlet) boundary conditions (BC). FEFLOW has intrinsic tools (power functions) that allow such scheduling, but the SHB module can automate the process which is very useful for complex problems. SHB was specifically designed for mining applications, such as dewatering of an open pit where vertical migration of hydraulic-head BCs might be used to simulate the dewatering. The SHB approach can be applied to:
- Dewatering of open-pit or subsurface mines, or other types of dewatering related to construction of buildings, etc.,
- Construction of earthen dams or deposition of tailing into impoundments,
- Transient variation of river or lake stages, or
- Other transiently varying hydraulic-head BCs.
Because mines and tailing storage facilities (TSF) can take years to excavate or fill, often the changing size and shape of the structure has an effect on the flow system. Using FEFLOW's intrinsic tools can render the model either non-representative or too complex to handle. SHB allows for transient adjustments to the model at fine scales using relatively simple specifications that more realistically match the actual or planned physical changes. A benefit of this approach is that if model time steps are changed or new information requires additional refinements, revisions to the SHB configuration files are generally minor. SHB performs best if its timing specifications match specified FEFLOW time stepping, but as discussed under "Scheduling Hydraulic-Head Boundary Conditions", if automated time-stepping is used, some timing issues are managed by SHB.
The FEFLOW IFM (plug-in) architecture is very flexible, but it does not allow independent plug-ins to check what other plug-ins are doing. This can cause issues where the behavior of one plug-in modifies a model feature another plug-in also will modify or has modified. SHB is designed to work with AquaGeo's other FFTOOLS modules: SES (Scheduled Element State), BUDGET and LAKE3D.
WARNING: This module does NOT correct head, pressure or saturation for deformations in the materials that might be caused by deposition or excavation!
Suggested FEFLOW Configuration
The SHB module has been tested on models with the following characteristics:
- FEFLOW version 7.x
- Three-dimensional mesh using layered prismatic elements (prismatic elements having a triangular shape in horizontal cross section)
- All slices set to "fixed" in FEFLOW's "3D Layer Configuration..." editor
- FEFLOW Problem Class: Richard's equation for variably-saturated media
- State: Transient
Approach
The user specifies the following three types of information to configure SHB: (1) Define the time schedule to be used, (2) specify node sets on which SHB operates, and (3) specify how options for how SHB will assign hydraulic-head BCs in each set.
Scheduling Hydraulic-Head Boundary Conditions
The SHB module operates on user-specified groups of nodes, referred to as SHB nodes. Individual SHB nodes are activated on a schedule based on the current "SHB elevation" for the group. For every user-specified group of SHB nodes, SHB computes the elevation of a horizontal plane that moves upward or downward based on user-specified information:
- Start time and elevation,
- End time and elevation,
- Start SHB elevation at the start time, and
- End SHB elevation at the end time.
The rate of movement of the plane can also be varied over time using additional specifications. As the SHB elevation changes, the hydraulic-head boundary conditions are updated.
NOTES:
- Hydraulic-head boundary conditions are hereafter referred to as "fixed-head" (FH) nodes.
- The SHB elevation is also referred to as the "target elevation" or "target head."
Within an SHB time period, the rate of change in the SHB elevation is linear with time, and the time at the middle of a FEFLOW time step is used to calculate the current SHB elevation. For example, if from day 0 to 100, the SHB elevation will change from 10.0 feet to 11.0 feet, and model time steps are 20.0 days long, then FH nodes would be set using the following schedule:
- Day 0 - 20: FH = 10.1 ft
- Day 20 - 40: FH = 10.3 ft
- Day 40 - 60: FH = 10.5 ft
- Day 60 - 80: FH = 10.7 ft
- Day 80 - 100: FH = 10.9 ft
If the model simulates more than 100 days, the FH = 10.9 ft will be removed at the beginning of the next time step, and a FH = 11 ft will not be achieved. This is because the SHB end time aligns with the end of the 5th time step. If the user desires a FH = 11 ft after time = 100 days, then the user can either use FEFLOW's intrinsic tools to activate the FH or can add an additional SHB schedule that covers the situation after 100 days. To hold an FH level constant, specify the same SHB elevation at the start and end of an SHB time period.
Note: An SHB-controlled FH node will be activated if any portion of a SHB schedule overlaps with the current FEFLOW time step. If FEFLOW's automatic time stepping is used, SHB creates a new FEFLOW power function (time-series) named "SHB:reserved". This new power function will alter FEFLOW's automatic time stepping so that its time steps coincide with SHB-scheduled start and end times. In FEFLOW's problem-settings menu, if the user specifies either "constant time steps" or "varying time steps", the modeler is responsible for ensuring that time steps align with SHB specifications. If the user does not manage the scheduling, then FH BCs may be activated too soon or after the end of a specified end time.
Note: Element state (active or inactive) defines the active status of nodes. A node becomes inactive when it is completely surrounded by inactive elements. SHB can only set FH nodes at active nodes; inactive nodes are ignored regardless of user SHB specifications.
Specifying Sets of SHB Nodes
SHB supports three basic methods to specify SHB nodes sets:
- BY_NODE: SHB controls the behavior of a single FH node over time. The fixed head that SHB sets over time at the node is based on the time schedule for the node specified in the setup file. To control the same node using multiple time schedules, multiple BY_NODE entries are specified in which the same node number is listed. The elevation of the node is not considered when setting the FH: the FH can be above or below the elevation of the node, above the top of the model or below the bottom of the model. MAX and MIN boundary-condition constraints can be specified, and consideration for the degree of saturation is allowed. BY_NODE can be very efficient for models with numerous FH nodes requiring transient variation.
- SURF_NODE: A single vertical column of nodes is controlled by specifying nodes located on the top slice (slice 1) of the model. For every slice-1 node specified, the entire vertical column of nodes under the slice 1 node is included in the set. For each node in the set, the SURF_NODE method determines where to set FH nodes by comparing a node's elevation to the set's current SHB elevation. A FH node will be set at the first node that is fully saturated and that is also below the current SHB elevation. Nodes below this node will not be FH nodes. Additional specifications allow the user to set FH at nodes having saturation less than 1, and the setting of MAX and MIN boundary-condition constraints (one constraint applies to all nodes in the set).
- GROUP: This method is similar to the SURF_NODE method, except that the nodes in the set can be anywhere in the model (for example, to represent a mine-pit, tunnel, cavern or cave). The set of nodes can be specified several ways, but the simplest way is via a node selection file, which is easily created by selecting nodes in FEFLOW, saving the node selection in the "Selections" panel, then exporting the selection to an "XML" file. Additional specifications allow the user to control the number of FH nodes set in each vertical column of nodes, the setting of FH at nodes having saturation less than 1, and the setting of MAX and MIN boundary-condition constraints (one constraint applies to all nodes in the set).
- NOTE: The SURF_NODE and GROUP methods assume the model simulates variably-saturated conditions.
These methods have similarities and differences, and the choice of method depends on which is most efficient for the problem to be solved.
A SHB input file may contain any combination of BY_NODE, SURF_NODE and GROUP specifications. SHB does NOT check for overlapping sets or time periods and does NOT check for other boundary-condition settings specified using FEFLOW's intrinsic tools that may coincide with SHB nodal sets. Such overlaps may cause unexpected simulation results.
How Fixed-Head Boundary Condition Nodes are Set
At any point during a simulation in which SHB acts, it will compute a unique SHB elevation for each set of nodes under SHB's control. The SHB elevation is computed based on elevational and timing information supplied by the user for a particular node set. As noted previously, the SHB elevation for a particular node set corresponds to the total simulation time at the middle of the current time step, and the SHB elevation for the node set varies linearly during the specified SHB time period:
The equation used to compute the current SHB FH of a node in SHB node-set "g" during that node-set's i-th time period is:
-
Current_SHB_FHg,i = Hg,s,i - (((TmTS - Tg,s,i) / dTg,i) * dHg,i)
- Hg,s,i is the start (s) head of SHB node-set "g" during the SHB node-set's i-th time period (specified input:
StartElev(i)
)- TmTS is the time midway (m) between the beginning and end of the current FEFLOW time step (TS)
- Tg,s,i is the start time of SHB node-set "g" during the SHB node-set's i-th time period (specified input:
StartTime(i)
)- dTg,i is the difference between the end and start times of SHB node-set "g" during the SHB node-set's i-th time period (computed from specified inputs,
EndTime(i) - StartTime(i)
)- dHg,i is the difference between the start and end elevations (head) of SHB node-set "g" (computed from specified inputs,
StartElev(i) - EndElev(i)
))Note that for a rising SHB elevation (head), dH is negative because the start head is below the end head.
For example, for constant lowering of a water level though a 100-foot interval over ten years, the rate of lowering of the water level would be +10 feet per year.
The SHB elevation is used in conjunction with other user specifications to determine where FH nodes should be set in a particular SHB node set at a specific point in a simulation. This section describes the various options available to the user for each of the three node-set methods.
Settings for the BY_NODE method
For each invocation of the BY_NODE method, the user must specify the number of the node, the period of time when a particular BY_NODE set is active, and the starting and ending SHB elevations for that period. Only one time period can be specified for each BY_NODE set. For a BY_NODE set (a set containing just the one node), the FH value is based on the time-step's mid-time, and a linear interpolation of the beginning and ending head values. The FH is set at the node regardless of the state of saturation at the node or the elevation of the node. The user cannot set a boundary-condition constraint.
Settings for the SURF_NODE method
For each invocation of the SURF_NODE method, the user must specify a node number in slice 1 that belongs to the set. Every node from slice 1 to the bottom of the model, in a vertical column, will be included in the set of nodes to which the SURF_NODE method applies. The user also must specify the start and end time for the set, and a corresponding start and end SHB elevation. As with BY_NODE, only one time period can be specified for each SURF_NODE set. The user may specify the same surface node though for as many time periods with start/end SHB elevations as desired. In addition, the user can specify, for all nodes in a SURF_NODE set, a threshold level of saturation at or above which SHB will set FH nodes. If the threshold is not specified, the SURF_NODE method assumes a value of 0.0 for the saturation threshold and will set FH nodes accordingly.
For each SURF_NODE set, the SURF_NODE method computes the current SHB elevation and uses that value to identify the node in the set that is directly below the current SHB elevation. Assuming that the saturation is equal to or greater than the saturation threshold, SURF_NODE sets an FH at the identified node with a FH value equal to the SHB elevation for the node set. No FH is set at nodes below the identified node. An FH is set at nodes above the identified node and the FH value is set equal to the elevation of each such node. One purpose of this is to allow the simulation of a seepage face (discharge from the groundwater system due to seepage from the saturated face of a slope), which is useful for simulating, for example, dewatering of an excavation.
A seepage-face node is a specific type of FH where the specified hydraulic head is equal to the elevation of the node with a maximum flow constraint of zero. This allows water to seep (discharge) out of the groundwater regime only if that node is at or below the local water table (phreatic surface). Seepage-face nodes do not allow discharge from the unsaturated zone or any flow from the seepage-face node into the groundwater regime.
To simulate a seepage face, the user must specify a maximum boundary-condition constraint of zero on the node set (referred to as "Max. flow-rate constraint" in the Data Panel of the FEFLOW interface). If a constraint (either maximum or minimum) is not specified, unconstrained FH nodes will be set (to avoid this, the BY_NODE method can be used).
The mid-point of the current FELOW time step is used to compute the current SHB elevation of a node set. For each node in the SURF_NODE set, SHB also interrogates the model to determine the saturation at nodes in the set at the beginning of the time-step; the saturation is compared to the value of the saturation threshold as noted below. For each vertical column of nodes in the SURF_NODE set, SHB identifies the highest active node whose elevation is equal to, or below, the current SHB elevation (inactive nodes are completely surrounded by inactive elements). SHB will then begin setting FH boundaries as described above. In the figures below, seepage-face nodes are indicated with "H = Node Z with MAX = 0."
- This figure illustrates a vertical cross section through a 3D FEFLOW mesh at three simulation times. The circles represent nodes that are part of three SURF_NODE sets. Each set has the same schedule. As the water level is drawn down, the location of FH nodes set under the SURF_NODE method changes with the current SHB Elevation. At Time = 2, because of unequal drawdown, sets #1 and #2 nodes on slice 2 have desaturated (saturation < saturation threshold) and the FHs are deactivated. For set #3 nodes, it is still saturated (saturation >= saturation threshold), and a FH seepage-face node is defined. For a seepage-face node, the target head (7.6') is below the elevation on the saturated node (~8.7') and the FH is set to the node elevation.
Settings for the GROUP method
The GROUP method is the most flexible of the SHB methods, but this flexibility requires more information from the user. For each invocation of the GROUP method, the user must specify all nodes, by number, that belong to the set. With this approach, the nodes in a specific GROUP set can be anywhere in the mesh. The user must specify at least one start and end time for the set, and a corresponding start and end SHB elevation. The user has the option to specify as many time periods with start/end SHB elevations for each GROUP set as desired. In addition, the user can specify, for all nodes in a GROUP set, a saturation threshold level at or above which SHB may set a FH depending on other user specifications.
The user specifies what water-level elevation the GROUP method will use for FH nodes to be set at the top of the model. If all elements of the model are always active, then the top of the model is always defined by nodes on slice 1. However, when inactive elements are present, the "active" top of the model may not be defined solely by slice-1 nodes. This is because element state (active or inactive) defines the active status of nodes. A node becomes inactive when it surrounded by inactive elements. SHB can set fixed head boundary conditions at active nodes; inactive nodes are ignored by SHB regardless of user specifications. For example, if all elements in layer 1 are inactive at some point during a simulation, then the "active" top of the model is defined instead by nodes on slice 2 during the time that layer-1 elements are inactive. Other examples:
- Open Pit Mine: as the pit is excavated from land surface (slice 1) downward, elements inside the pit may be deactivated (see SES), and the top of the model around the pit is defined by its wall and floor (active elements outside the pit define the top of the model).
- Tailing Storage Facility: elements in the TSF are activated as tailings are deposited into it. The top of the model rises from land surface that existed before the TSF to a future elevation that represents the surface of the TSF at that time.
To control where FH nodes are set and the value of the water level specified, for each GROUP set the user can choose amoung several options including:
- Allowing the FH nodes to be set with specified water level above the top of the model (the elevation of slice 1 at GROUP nodes).
- Omitting FH nodes at the top of the model (slice 1) or at the current active top of the model as defined by inactive elements.
- Limiting the specified water level at FH nodes to either the the top of the model (slice 1) or at the current active top of the model as defined by inactive elements.
- Setting FH nodes at every node in a vertical column of nodes in a GROUP set.
- Setting FH nodes at and above the current SHB elevation for a GROUP set.
- Setting FH nodes only at the current SHB elevation for a GROUP set.
- Specifying a threshold value for nodal saturation above which SHB will set a FH.
NOTE: The GROUP and SURF_NODE methods assumes the model simulates variably-saturated conditions. It can be used under some confined conditions, but additional care should be taken.
Additional explanation of these options, referred to as "Top-Of-Model" (TOM) and "depth" rules, and the saturation threshold, are provided under "Format of the SHB Setup File" below).
At the start of each time-step during which SHB operates on a specific GROUP set, the target SHB elevation is calculated using the time-step's mid-time. Linear interpolation of the target is based on the SHB time/head definition. The time-step mid-time is used to apply an appropriate average head across the time interval. For each node in the GROUP set, SHB also interrogates the model to determine the saturation state at the beginning of each time step; this saturation is compared to the value of the saturation threshold and node elevation. This information is used by SHB, along with other user specifications, to determine where FH nodes are set, constraints to apply, etc.
It is possible to configure SHB to automatically simulate seepage faces, for example, at the wall of an excavation into the saturated zone. Under such configurations, if the simulated saturation at a GROUP node is 1.0, or greater than or equal to the saturation threshold, and the node is above the SHB elevation, a FH is set with the value equal to the node's elevation and a maximum boundary-condition constraint (referred to as "Max. flow-rate constraint" in the Data Panel of the FEFLOW interface) of zero. This FH simulates a local seepage face: groundwater is only allowed to seep out at the node. Multiple seepage-face nodes for a vertical column of nodes may be set depending on the value of the saturation threshold and the active state of the target nodes.
In general, for each vertical column of nodes in the GROUP set, SHB identifies the highest active node whose elevation is equal to, or just below, the current SHB elevation. SHB will then, under most options, set a FH at that node with a FH value based on the selected TOM option. For nodes directly under or above this node, additional FH nodes may be set according to the selected Depth rule, and if FH nodes are set, the specified water level will be equal to the current SHB elevation for the GROUP set, or, under some specifications, the node's elevation.
- The above figure illustrates a vertical cross section through a 3D FEFLOW mesh at two simulation times. The circles represent nodes that are part of a GROUP set. The TOM option "ALLOW_ABOVE_TOM" and depth option "TARGET_AND_ABOVE" are used (see "Format of the SHB Setup File" below) to set only one FH below the SHB level, for each vertical column of nodes in the GROUP set. All these nodes are set to the SHB level, even those the water level is above the top of the model. Seepage-face nodes may bet set above FH nodes as well. As the water level is drawn down (Time 2), the saturated threshold value is used to define seepage-face nodes. This represents, for example, the interaction between ground water and a declining lake stage.
Note that in the above example, it might be difficult to anticipate accurately this situation using FEFLOW's intrinsic tools. For example, the lake level could be defined from an external source (i.e. Lake3D). In the example above, transient swapping of an unconstrained FH node with a seepage-face (constrained FH) node is dynamically handled by SHB based on simulated groundwater conditions.
Boundary conditions can also be managed other ways. It may be appropriate it limit the FH to the ground surface (top-of-model):
- The above figure illustrates a vertical cross section through a 3D FEFLOW mesh at two simulation times. The model is intended to simulate the interaction between a stream and groundwater as the elevation where groundwater begins to discharge as the stream declines. The TOM option "LIMIT_TO_TOM" and depth option "TARGET_AND_ABOVE" are selected for this purpose. Below the elevation where the stream first begins to discharge groundwater (this elevation is represented by the SHB elevation), the GROUP method sets FH nodes to the elevation of the stream's stage along its channel (which in this case is the elevation of slice 1). Above the SHB elevation where the stream gains (discharges) groundwater, the GROUP method sets seepage-face nodes (based on the value of saturated threshold. The GROUP set encompasses only nodes on slice 1, and the all the elements in the model remain active throughout the simulation.
In some models the top of the active model can change through time:
- The above figures illustrate a vertical cross section through a 3D FEFLOW mesh at three simulation times. The model is intended to simulate deposition of a saturated slurry into a tailings storage facility (TSF). Two sets of GROUP nodes are specified, GROUP 1 simulates a stream bottom which is converted into a TSF subdrain system, and GROUP 2 simulates the top of the TSF where active deposition occurs. GROUP 1 is active for the entire simulation, and GROUP 2 activates after the start of the simulation. For both GROUP's, the TOM option "LIMIT_TO_TOAM" and depth option "TARGET_AND_ABOVE" are selected for this purpose. At Time = 1, the gray elements are not active, so the nodes in the middle, and along the top of the TSF are not active (the active top of the model is on slice 3). At Time = 1, the GROUP method sets FH nodes to the elevation of the land surface before tailings deposition begins (which for these nodes is the elevation of slice 3), and seepage-face nodes are set based on the value of saturation threshold.
- At Time = 2, the TSF is partially constructed, and nodes on slice 2 are now active according to user specifications, and the intermediate surface of the tailings is just above slice 2 (the TSF surface is represented by the current SHB elevation). "Infiltration" nodes are set at slice 2 to simulate continuous vertical infiltration of tailings fluid (due to continuing deposition of tailings); these are FH nodes with a specified water level equal to the current SHB elevation and a minimum boundary-condition constraint (MIN constraint) set to zero (only allows flow into the tailings).
- At Time = 3, the TSF is almost fully constructed: nodes on slice 1 are now active, and the surface of the tailings is equal to or just above slice 1. "Infiltration" nodes are similary set along the top of of the model (slice 1). Note that FH nodes in the middle of the TSF are not active because as there is no longer a fluid source to maintain FH infiltration.
The next example illustrates how FH nodes are not set if the current SHB elevation is above the top of the model:
- The above figure illustrates the use of the TOM option called "DISABLE_IF_ABOVE_TOM." SHB nodes on Slice 1 with elevations below the target SHB head (elevation) are not set.
The following examples show the use of Depth options, used in conjunction with a saturation threshold:
- The above figure illustrates the use of the Depth option called "TARGET_AND_ABOVE" for nodes in a GROUP in combination with setting the saturation threshold to 1.0 (node must be fully saturated to be used), which results in FH nodes at only fully saturated locations. Note that by using the GROUP method, nodes can be anywhere in the model.
- The above figure illustrates the use of the depth option "TARGET_AND_ABOVE" for nodes in a GROUP in combination with a setting of a saturated threshold of 0.5, which results in FH nodes at the highest fully saturated location, and seepage nodes at under-saturated nodes meeting the saturated threshold criterion above. Note that it is possible under certain specifications that more than one seepage-face node can exist above the SHB head level.
- The above figure illustrates the use of the depth option "AT_ALL_DEPTHS" for nodes in a GROUP in combination with a setting of a saturated threshold of 0.0, which results in FH nodes at all vertical locations (note that a TOM option is used with a constraint to set seepage-face nodes at under-saturated nodes above them. This situation could represent a narrow open trench.
Configuring the SHB Module
After attaching FFTools in FEFLOW's "Plug-ins" panel, right-click the FFTools entry and select "Edit...". This will activate the FFTools window. Select the SHB tab. The checkbox in the upper right corner enables SHB. You must create an external input file from which SHB can import your configuration setup. After the data is imported from the file, the data can be stored in the FEM (check the box "Save configuration data in...") so that when the simulation (FEM) file is loaded again, the configuration data for the SHB module is read from the FEM file instead of an external input file. Revisions to the SHB configuration must be re-imported from a revised external input file. If the option (checkbox) to save SHB data in the FEM is selected when new data is imported, the revised data will replace all SHB data previously stored in the FEM.
External (i.e. data not stored in the FEM) input and output SHB data are contained in structured text (ASCII) files. The current configuration stored in the FEM file can be exported to a text file; this information can then be edited and re-imported. After successful import of data, the module will display global information about the configuration which can be used to help verify correct configuration. Warning: SHB has limited debugging capability and does not support run-time alteration of the model configuration. This can occur if elements or layers are added or deleted after SHB data is imported. SHB will not know how to renumber nodes.
Optional output from the module is stored in a user-specified text file, referred to as a "log" file. This file lists basic information about SHB operations, including when FH nodes are assigned and what the specified water level is. Further information is provided under "SHB Output" below.
- The FFTools SHB module tab:
Format of the SHB Setup File
The SHB input file must contain at least one complete definition of one of the three node-set methods: either BY_NODE, SURF_NODE or GROUP. Optionally, the input file can contain as many BY_NODE, SURF_NODE and GROUP definitions as needed to configure SHB for the problem to be solved (for example, the input file can contain 2 SURF_NODE sets, followed by 7 BY_NODE sets, followed by a SURF_NODE set, followed by 5 GROUP sets, and so on).
IMPORTANT NOTES REGARDING SHB INPUT:
- The input instructions (below) display a comma followed by a space between each input value. The commas are required, but the spaces are optional.
- Keywords or characters are shown in italic font.
- SHB will re-assign any boundary-condition nodes defined in the FEM using other methods (for example, a "Well BC" defined using the intrinsic tools of the FEFLOW interface) that coincide with SHB nodes. At the start of a simulation in which SHB is enabled, SHB will assign all SHB nodes as Hydraulic-head BC nodes before the start of the first time step. This first initialization operation is required to allow FEFLOW to record changes in boundary conditions during a simulation to the DAC file. Then, before the first time step, SHB will begin assignments according to the SHB configuration (either assigning the appropriate hydraulic-head BC or removing any hydraulic-head BC by re-assigning it as a Well BC with a specified flux of zero). Boundary conditions assigned at any non-SHB node will NOT be affected any SHB operations. Use of other automated methods, for example a python script, to set BCs at nodes that overlap with SHB node sets may result in errors.
The following section provides the input specification required by the SHB module. Input L1 is required, and at least one complete section of either L2A, L2B, or L2C is also required. An input in italic font indicates a specific letter or series of letters is required. For example, the input for L1 must be the three letters "SHB." Numeric or boolean data are listed using the actual variable name used in the SHB module in regular font. After the first line, one of the three node-set methods must be listed, which is then followed by either the end of the input file, or another node-set definition. Comments can be added to the input file using a "!" (see "Example" below):
- Input L1, the beginning of SHB input
SHB
- Input L2A1, the BY-NODE section
BY_NODE, UseSatThreshold, SatThreshold
- Input L2A2, this input is repeated for each BY_NODE node.
NodeNo, StartTime, EndTime, StartElev, EndElev, ConstraintType, ConstraintRate
- Input L2B1, the SURF_NODE section
SURF_NODE, UseSatThreshold, SatThreshold
- Input L2B2, this input is repeated for each SURF_NODE node
NodeNo, StartTime, EndTime, StartElev, EndElev, ConstraintType, ConstraintRate
- Input L2C1, the GROUP section
GROUP
- Input L2C2, settings for the group node set
#GroupID, ConstraintType, ConstraintRate, UseSatThreshold, SatThreshold, TopOfModelRule, DepthRule
- Input L2C3, this input has four options: XML, N, S and V. Each complete GROUP specification uses one option.
Option 1: A FEFLOW XML selection file can be used to define all the nodes in the group. This method allows the user to use FEFLOW tools to create and view the nodes in the group.
XML, XMLFilename
Option 2: list every node in the GROUP
N, NodeNo(1), NodeNo(2), NodeNo(3), ... NodeNo(n)
Option 3: List every slice-1 node in GROUP, then on next line, list, for every slice-1 node, the number of the slice below the slice-1 node; every node from slice 1 to the slice below is included in the GROUP.
S, NodeNo(1), NodeNo(2), NodeNo(3), ... NodeNo(n)
Slices(1), Slices(2), Slices(3), ... Slices(n)
Option 4: List every upper-slice node and list every node below the upper-slice node in GROUP. SHB will include all intervening nodes in GROUP. For any vertical column of nodes that has only one node, list that node once (duplicates are ignored). Nodes can be listed in any order because SHB uses the intrinsic node indexing to identify vertical connections.
V, TopNodeNo(1), TopNodeNo(2), TopNodeNo(3), ... TopNodeNo(n), BottomNodeNo(1), BottomNodeNo(2), BottomNodeNo(3), ... BottomNodeNo(m)
- Input L2C4, list the start and end times, and start and end elevations for the current GROUP. An unlimited number of time/elevation intervals is allowed.
The time intervals may not overlap and must be continuous. Each interval will apply to all the nodes in the GROUP.
StartTime(1), EndTime(1), StartElev(1), EndElev(1)
StartTime(2), EndTime(2), StartElev(2), EndElev(2)
StartTime(3), EndTime(3), StartElev(3), EndElev(3)
...
StartTime(n), EndTime(n), StartElev(n), EndElev(n)
Where (in order of appearance, not alphabetical):
SHB
: A code that indicates to FFTools the module to which this file pertains.BY_NODE
: A code that indicates to the SHB module the start of a BY_NODE section of input data.UseSatThreshold
: If true ("T" or "t"), the BC node will only be activated if at the beginning of the timestep, the node saturation is greater than or equal to theSatThreshold
. Specify "F" or "f" to ignore the state of nodal saturation.SatThreshold
: IfUseSatThreshold
is true, this is the value of saturation at an SHB node at or above which SHB will set an FH at a target SHB node. It is sometimes useful to set the FH if saturation at the node is only partially saturated. This may make the model more stable; it can be done for other reasons as well. For example, ifSatThreshold
is set to 0.99, an FH will be activated if a target node's saturation level at the beginning of the timestep is >= 99%. The value ofSatThreshold
can range from 0.0 to 1.0. See notes below regarding the TOM and Depth rules.NodeNo
: The integer index number of a node in the FEFLOW model mesh as displayed in the FEFLOW interface (first node is numbered 1 and all node numbers are positive). For some input methods, NodeNo is an array of node indices.StartTime
: Initial time on which SHB elevations are based for the current node set. For some methods, this is an array of initial time values for use in computing variable rates of change in the SHB elevation for a node set.EndTime
: Final time on which SHB elevations are based for the current node set. For some methods, this is an array of final time values for use in computing variable rates of change in the SHB elevation for a node set.StartElev
: Value of the SHB elevation at the beginning of the corresponding StartTime/EndTime interval. For some methods, this is an array of beginning elevation values for use in computing variable rates of change in the SHB elevation for a node set.EndElev
: Value of the SHB elevation at the end of the corresponding StartTime/EndTime interval. For some methods, this is an array of ending elevation values for use in computing variable rates of change in the SHB elevation for a node set.ConstraintType
: An integer that specifies what type of boundary-condition constraint should be applied:- Specify "-1" to have SHB set a "Minimum Flow-Rate Constraint" at certain FH nodes in an SHB node set. In the FEFLOW interface Data Panel, this is the "Min. flow-rate constraint" under the "Hydraulic-head BC" item). The value of the constraint is specified by "ConstraintRate". Refer to FEFLOW Help for further information regarding constraints.
- Specify "0" to have SHB set unconstrained FH nodes.
- Specify "1" to have SHB set a "Maximum Flow-Rate Constraint" at certain FH nodes in an SHB node set. In the FEFLOW interface Data Panel, this is the "Max. flow-rate constraint" under the "Hydraulic-head BC" item). The value of the constraint is specified by "ConstraintRate". Refer to FEFLOW Help for further information regarding constraints.
- Specify "-1" to have SHB set a "Minimum Flow-Rate Constraint" at certain FH nodes in an SHB node set. In the FEFLOW interface Data Panel, this is the "Min. flow-rate constraint" under the "Hydraulic-head BC" item). The value of the constraint is specified by "ConstraintRate". Refer to FEFLOW Help for further information regarding constraints.
ConstraintRate
: If "ConstraintType" is "-1" or "1", then SHB will set the value of the applied constraint to "ConstraintRate" at every FH node it sets for the current SHB node set. If "ConstraintType" is "0", then the value of ConstraintRate is ignored.SURF_NODE
: A code that indicates to the SHB module the start of a SURF_NODE section of input data. The code can be abbreviated "SURF."GROUP
: A code that indicates to the SHB module the start of a GROUP section of input data.GroupID
: Identifier for the current GROUP node set. Specify as a "#" symbol followed, by any unique positive integer (for example, #5).TopOfModelRule
: Under the GROUP method, SHB identifies nodes that are both fully saturated (or that have saturation equal to or greater than the specified saturation threshold, if set) and either directly below (rules 0, 1, 2, 3, 4 and 6) or directly above (rule 5) the current SHB elevation for the current set, and then sets a FH at those nodes. The top of the model is either at Slice 1 (TOM) or at the current active top of the model (TOAM) as defined by the current active status of elements and nodes. See "Notes" below theDepthRule
below for additional information. The following TOM rules (options) are currently implemented:- Specify "0" to have SHB apply the "
ALLOW_ABOVE_TOM_RULE
" to the current GROUP: The specified water-level to be set, if any, can exceed the elevation of the slice-1 node and will be equal to the current SHB elevation for the current GROUP set. The top of the model is always assumed to be slice 1 regardless of the active state of model elements. - Specify "1" to have SHB apply the "
DISABLE_IF_ABOVE_TOM_RULE
" to the current GROUP: If the SHB target elevation is above the top (slice 1) of the model, no FH nodes will be set in that vertical column of nodes. The top of the model is always assumed to be slice 1. If the SHB target head is below the top of the model, general rules for assigning FH nodes apply. - Specify "2" to have SHB apply the "
DISABLE_IF_ABOVE_TOAM_RULE
" to the current GROUP: If the SHB target elevation is above TOAM, no FH nodes will be set in that vertical column of nodes. If the SHB target head is below the active top of the model, general rules for assigning FH nodes apply. - Specify "3" to have SHB apply the "
LIMIT_TO_TOM_RULE
" to the current GROUP: The specified water level at the identified node, if any, will never exceed the elevation of the slice-1 node. - Specify "4" to have SHB apply the "
LIMIT_TO_TOAM_RULE
" to the current GROUP: The specified water level at the identified node, if any, will never exceed the elevation of the node located at the current active top of the model. - Specify "5" to have SHB apply the "
SET_ONLY_AT_TOAM_RULE
" to the current GROUP: SHB will identify the node directly above the current SHB elevation and set a FH at that node. Note that the FH may exceed the elevation of the node located at the current TOAM. - Specify "6" to have SHB apply the "
DISABLE_IF_ABOVE_NODE_ABOVE_RULE
" to the current GROUP: SHB will identify the node below the current SHB elevation for the GROUP, but will set the FH at the node directly below the identified node (if that node is in the GROUP). A FH at Slice 1 nodes are never set even if they are in the GROUP. DepthRule
- Specify "0" to have SHB apply "
AT_ALL_DEPTHS
": A FH equal to the SHB elevation will be set at any active node in the GROUP set that is below that GROUP set's current SHB elevation. See "Notes" below for additional information regarding how nodes above the current SHB elevation are handled. - Specify "1" to have SHB apply "
TARGET_AND_ABOVE
": A FH equal to the SHB elevation will be set at the highest active nodes in the GROUP whose elevations are less than or equal to the GROUP's current SHB elevation. See "Notes" below for additional information regarding how nodes above the current SHB elevation are handled. - Specify "2" to have SHB apply "
TARGET_ONLY
": A FH equal to the current SHB elevation will be set at the highest active node in GROUP whose elevation is less than or equal to the GROUP's current SHB elevation.
- Notes for
TopOfModelRule
andDepth-Rule
:- If
TopOfMOdelRule
= 5, theDepthRule
is ignored; only one FH node will be set at the local TOAM except under certain conditions where theSatThreshold
is used (see 4th note below). - For
TopOfMOdelRule
= 1, 2, 3, or 4, andDepthRule
= 0 or 1, and the SHB elevation is falling, and a Maximum or Minimum Constraint is specified: at SHB nodes above the current SHB elevation, SHB will assign FH values equal to the nodal elevation instead of the SHB elevation and will also assign the the specified constraint (regardless of its value). To set seepage-face nodes on slopes above a water table, specify, for example, TOM option 2, Depth option 1, and a Maximum Constraint = 0. - For rising SHB elevation: SHB does not currently support assignment of FH nodes that are above the current SHB elevation except under TOM option 5.
- When using
SatThreshold
: If the target node's saturation is smaller than the specified threshold, SHB will search downward directly under the target node to find a node in the set with saturation greater than the threshold, and set the FH at that node instead. This also applies to TOM option 5.
- If
- Notes for
XML
: A code that indicates to the SHB module that it should read GROUP node data from an XML file that uses a FEFLOW-compatible format for a node selection.XMLFilename
: The folder path and file name for the XML node-selection file. For example, "F:\Projects\Excavation\femdata\selections\GROUP1.xml"XMLFilename
: The folder path and file name for the XML node-selection file. For example, "F:\Projects\Excavation\femdata\selections\GROUP1.xml"N
: A code that indicates to the SHB module that it should read a list of nodes for the current GROUP.S
: A code that indicates to the SHB module that it should read a list of slice-1 and slice numbers for the current GROUP.Slices
: An array of positive integers identifying slice numbers that coincide with the slice-1 nodes specified as part of the "S" GROUP input section.V
: A code that indicates to the SHB module that, for each vertical column of nodes to be included in the current GROUP, it should read a list of top (upper) and bottom (lower) node numbers. SHB includes all intervening nodes in that GROUP.TopNodeNo
: An array of top (upper) node numbers for the "V" input method of GROUP. The order does not matter.BottomNodeNo
: An array of bottom (lower) node numbers for the "V" input method of GROUP. The order does not matter.
Note: it is best to define only one of each type of node-specification option (BY_NODE, SURF_NODE, or GROUP). Multiple instances of any one type (for example, specifying two SURF_NODE lines) may cause unintended errors.
Example Setups
The following is an example of SHB input data file. There are six BY_NODE sets, 16 SURF_NODE sets (note that the abbreviation "SURF" is used), and two GROUP sets. The two GROUPs are specified using two different methods:
SHB
BY_NODE,F,0.00
901,0,150,50,100,0,0
935,0,150,50,100,0,0
951,0,150,50,100,0,0
985,0,150,50,100,0,0
1001,0,150,50,100,0,0
1035,0,150,50,100,0,0
SURF,F,0.00
3,0,50,44,20,1,0
14,0,50,44,20,1,0
15,0,50,44,20,1,0
32,0,50,44,20,1,0
33,0,50,44,20,1,0
34,0,50,44,20,1,0
49,0,50,44,20,1,0
50,0,50,44,20,1,0
3,50,100,20,20,1,0
14,50,100,20,20,1,0
15,50,100,20,20,1,0
32,50,100,20,20,1,0
33,50,100,20,20,1,0
34,50,100,20,20,1,0
49,50,100,20,20,1,0
50,50,100,20,20,1,0
GROUP
#1,0,0.0,T,0.99,0,0
V,202,221,302,321
0,150,41,36
150,1500,36,36
#2,0,0.0,F,0.0,0,0
XML,[ModelIEPath]\ex4.ConfinedBCNodes.xml
0,150,75,50
! SetType, UseSatThreshold, SatThreshold
! NodeNo, StartTime, EndTime, StartEvel, EndElev, ConstraintType, ConstraintRate
! ...
! ...
! ...
! ...
! ...
! SetType, UseSatThreshold, SatThreshold
! NodeNo, StartTime, EndTime, StartEvel, EndElev, ConstraintType, ConstraintRate
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! ...
! SetType
! #GroupID, ConstraintType, ConstraintRate, UseSatThreshold, SatThreshold, TopOfModelRule, DepthRule
! Option (V = Vertical Connections), TopNodeNo(1), TopNodeNo(2), BottomNodeNo(1), BottomNodeNo(2)
! StartTime, EndTime, StartEvel, EndElev
! StartTime, EndTime, StartEvel, EndElev
! #GroupID, ConstraintType, ConstraintRate, UseSatThreshold, SatThreshold, TopOfModelRule, DepthRule
! Option (XML = XML file), XMLFilename
! StartTime, EndTime, StartEvel, EndElev
Two example models have also been prepared: a model of dewatering of a ditch and a more complex model that uses other FFTools modules. The simple ditch model is used to illustrate SHB input. Its details are provided in SHB/SES Ditch Example. Also included are several simple test cases using the SHB GROUP method with SES.
The more complex model is discussed in the Tailing Impoundment and Mine Pit example. This model combines all the FFTools modules: CRB, LAKE3D, OBS, SES, SES, SHB, and BUDGET.
SHB Output Log
If requested by the user, SHB will record simulation data to a log file. Output can be logged for every node change. A summary is also recorded at the end of every time-step. This is a comma-delimited text file that can grow very large, especially if detailed changes are logged. This file will contain up to eight general types of information:
FH,FH_TYPE,NID,BEGIN_TIME,END_TIME,ELF,NODE_ELEV,TARGET_HEAD_SHB,ACTIVE_TOP_Z,MODEL_TOP_Z,FH_SET,CONST_TYPE,CONST_VAL
THRES_FAIL,NID,BEGIN_TIME,END_TIME,ELF,NODE_ELEV,TARGET_HEAD_SHB,NODE_SATURATION
BY_NODE_BUDGET,NID,BEGIN_TIME,END_TIME,RATE,VOLUME
SURF_NODE_BUDGET,NID,BEGIN_TIME,END_TIME,RATE,VOLUME
GROUP_SET,GROUP_ID,TOM_RULE,DEPTH_RULE,TARGET_TIME_SHB,TARGET_HEAD_SHB
GROUP_BUDGET,GROUP_ID,NUM_NODES,BEGIN_TIME,END_TIME,BORDER_RATE_IN,BORDER_RATE_OUT,BULK_RATE_IN,BULK_BULK_OUT,CAUCHY_RATE_IN,CAUCHY_RATE_OUT,CONV_RATE_IN,CONV_RATE_OUT,DIRICHLET_RATE_IN,DIRICHLET_RATE_OUT,NEUMANN_RATE_IN,NEUMANN_RATE_OUT,WELL_RATE_IN,WELL_RATE_OUT,BORDER_VOL_IN,BORDER_VOL_OUT,BULK_VOL_IN,BULK_VOL_OUT,CAUCHY_VOL_IN,CAUCHY_VOL_OUT,CONV_VOL_IN,CONV_VOL_OUT,DIRICHLET_VOL_IN,DIRICHLET_VOL_OUT,NEUMANN_VOL_IN,NEUMANN_VOL_OUT,WELL_VOL_IN,WELL_VOL_OUT
Following these header lines, the beginning of each entry will reference the first word of one of the header lines. For example:
...
FH,MinC,620,17,17.5,-,13.75,14.583333,34.375,34.375,14.583333,-1,0
FH,MinC,631,17,17.5,-,14.0625,14.583333,35.15625,35.15625,14.583333,-1,10
FH,UnC,632,17,17.5,-,14.375,14.583333,35.9375,35.9375,14.583333,0,0
FH,MaxC,683,17,17.5,-,12.851563,14.583333,36.71875,36.71875,14.583333,1,10
FH,MaxC,684,17,17.5,-,13.125,14.583333,37.5,37.5,14.583333,1,0
FH,UnC,743,17,17.5,-,12.890625,14.583333,42.96875,42.96875,14.583333,0,0
FH,UnC,744,17,17.5,-,13.125,14.583333,43.75,43.75,14.583333,0,0
FH,MinC,745,17,17.5,-,12.65625,14.583333,42.1875,42.1875,14.583333,-1,0
FH,MinC,696,17,17.5,-,14.492188,14.583333,41.40625,41.40625,14.583333,-1,0
...
BY_NODE_BUDGET,901,17,17.5,1.953663,8.124183e-08
...
SURF_NODE_BUDGET,3,32,33.6,0,0
FH,UnC,632,59.8,60.5,-,14.375,14.583333,35.9375,35.9375,14.583333,0,0
FH,MaxC,684,59.8,60.5,-,13.125,14.583333,37.5,37.5,14.583333,1,2.6
FH,UnC,744,59.8,60.5,-,13.125,14.583333,43.75,43.75,14.583333,0,0
...
FH,MinC,696,172,187.5,-,14.492188,14.583333,41.40625,41.40625,14.583333,-1,0
FH,UnC,632,172,187.5,-,14.375,14.583333,35.9375,35.9375,14.583333,0,0
...
GROUP_BUDGET,1,4,172,187.5,82.434078,0,0,0,0,0,0,0,82.434078,0,0,0,0,0,2.6751768,0,0,0,0,0,0,0,2.6751768,0,0,0,0,0
GROUP_BUDGET,2,6,172,187.5,77.956862,0,0,0,0,0,0,0,77.956862,0,0,0,0,0,2.5298807,0,0,0,0,0,0,0,2.5298807,0,0,0,0,0
...
Where:
FH
is a keyword indicating that the information on the line is for an SHB fixed-head (FH) node
FH_TYPE
is a keyword indicating the characteristics of the FH set by SHB at NID at BEGIN_TIME. One of three values is possible: "UnC" indicates that an unconstrained FH has been set, "MaxC" indicates that a maximum-flow constrained FH has been set (the maximum flow is equal to CONST_VAL), or "MinC" indicates that a minimum-flow constrained FH has been set (the minimum flow is equal to CONST_VAL
NID
is FEFLOW's integer identifier (index starting at 1) of the node at which a FH has been set
BEGIN_TIME
is the time at the start of the current FEFLOW time step (TmTS = [BEGIN_TIME+END_TIME]/2). SHB sets an FH if the current SHB time (TARGET_TIME_SHB, defined below) is between TmTS and END_TIME. Note: When using automatic time stepping, if FEFLOW changes the length of the time step after its previous attempt, SHB recalculates the TmTS (see ELF)
END_TIME
is the time at the end of the current FEFLOW time step
ELF
is a flag that indicates whether or not there was a timing issue for setting the SHB fixed heads: "E" means the FH was set early relative to the specified SHB timing for the node set, "0" means there was no timing issue, and "L" means the FH was removed late relative to specified timing. Timing issues may arise when FEFLOW's automatic time-stepping is used and FEFLOW changes its time-stepping to improve numerical stability. SHB cannot determine in advance when FEFLOW will change its timing schedule and so SHB may switch on (or off) a FH sooner (or later) than expected at an elevation that is lower (or higher) than expected. To evaluate the impact of any timing issues, the switching schedule in the SHB log file can be compared to the schedule specified in the SHB configuration file.
NODE_ELEV
elev of the node with identifier NID
TARGET_HEAD_SHB
is the current target SHB elevation
ACTIVE_TOP_Z
elevation of TOAM for the vertical column of nodes that includes NID at the current time.
MODEL_TOP_Z
elevation of TOM for the vertical column of nodes that includes NID
FH_SET
is the fixed hydraulic head value set by SHB (depending on the TOM and Depth rules, this will equal either the current SHB elevation or the elevation of the node)
CONST_TYPE
is the value of the user-specifiedConstraintType
CONST_VAL
is the value of the user-specifiedConstraintRate
THRES_FAIL
is a keyword indicating that SHB was unable to set a FH boundary condition at the indicated node and time due to the node's saturation being less than the user-specifiedSatThreshold
NODE_ELEV
is the elevation the node
NODE_SATURATION
is the simulated nodal saturation simulated at the end of the previous FEFLOW time step (the saturation at BEGIN_TIME)
BY_NODE_BUDGET
is a keyword indicating that the information on the line summarizes net flow rates and volumes for all BY_NODE nodes at end of the current FEFLOW time step
SURF_NODE_BUDGET
is a keyword indicating that the information on the line summarizes net flow rates and volumes for all SURF_NODE nodes at end of the current FEFLOW time step
RATE
is the sum of flow rates to/from all BY_NODE or all SURF_NODE nodes at end of the current FEFLOW time step
VOLUME
is the sum of volumetric flows to/from all BY_NODE or all SURF_NODE nodes at end of the current FEFLOW time step
GROUP_BUDGET
is a keyword indicating that the information on the line summarizes all flows to/from SHB FH or seepage-face nodes inGROUP_ID
at the end of the current FEFLOW time step
GROUP_ID
: Identifier for the current GROUP =GroupID
TOM_RULE
: The user-specified TOM (top-of-model) rule for the current GROUP =GroupID
DEPTH_RULE
: The user-specified Depth rule for the current GROUP =GroupID
TARGET_TIME_SHB
: The time at TmTS for the time step (under automatic time stepping, this value is recomputed when FEFLOW modifies and re-executes a timestep)
NUM_NODES
is the number of active FH or seepage-face nodes inGROUP_ID
at the end of the current FEFLOW time step (should be less than or equal to the number of nodes inGROUP_ID
)
VOLUME
is the sum of volumetric flows to/from all nodes in either BY_NODE or SURF_NODE at end of the current FEFLOW time step
DIRICHLET_IN_RATE
is the sum of the inflow rates (for volume,DIRICHLET_IN_VOL
) from all nodes inGROUP_ID
at the end of the current FEFLOW time step. Note thatBORDER_IN_RATE
should equalDIRICHLET_IN_RATE
because only FH and seepage-face nodes are included in the calculation (and the same for "_VOL" components). Note that other components of the FEFLOW budget are listed and given names using the same convention.
DIRICHLET_OUT_RATE
is the sum of the outflow rates (for volume,DIRICHLET_OUT_VOL
) from all nodes inGROUP_ID
at the end of the current FEFLOW time step. Note thatBORDER_OUT
should equalDIRICHLET_OUT_RATE
because only FH and seepage-face nodes are included in the calculation (and the same for "_VOL" components). Note that other components of the FEFLOW budget are listed and given names using the same convention.
BULK_IN_RATE
and BULK_OUT_RATE
will list flows, if any, associated with areal recharge or source/sink "material properties," and CAUCHY_IN_RATE, CAUCHY_OUT_RATE, NEUMANN_IN_RATE, NEUMANN_OUT_RATE, WELL_IN_RATE, and WELL_OUT_RATE
should equal zero because only FH nodes are included in the calculation (and the same for "_VOL" components).NA
values indicate that the corresponding header-line parameter is not applicable (SHB did not use the parameter).In addition to the information recorded in the SHB log file, if the user saves simulation data in a FEFLOW DAC output file, flows for SHB nodes will be available in that file:
- For any saved time-step, the status of SHB boundary conditions can be viewed in FEFLOW's interface by displaying FEFLOW's "Hydraulic-Head BC" data. Note that because SHB sets FH nodes based on TmTS, FEFLOW will only show nodes that were set after TmTS.
- FEFLOW's "Rate Budget" and "Period Budget" panels can be used to evaluate flows to and from SHB nodes by selecting some or all of the nodes. Using such selections, FEFLOW will compute the flows for the selected nodes: the flows for nodes set to Hydraulic-Head will be listed as "Dirichlet BCs."
Log Parser
Because the different record types in the log file are intermixed, and the log file can be very large, a parser program, LogParser.exe
,
is included with FFTools. This is a "command line" utility that will copy the SHB log data to multiple
ASCII (text) files, one file for each Keyword (FH, GROUP_RATE_BUDGET, THRES_FAIL, etc.). The new files will be located in the same folder as the parser.
To use the program, copy it into the folder containing the SHB output log, then, in a command window open to the same folder, type:
LogParser.exe -l SHB_Log_File_Name.log
Where "SHB_Log_File_Name.log" is the name of the log file created by SHB. Note that although LogParser.exe
references SES, it also works with SHB log files.