Modeling

  • 3d streamlines

    Produce streamlines or streamribbons of a field which is a 2 or 3 element vector data component on any type of mesh.

  • surface streamlines

    Produce streamlines on any surface based on its slopes.

  • create drill path

    Produce a line path through a volume dependent on a starting locations and user defined restrictions.

  • scalars to vector

    Create a 2d or 3d vector by combining selected scalar data components.

  • vector to scalars

    Turn all vectors into scalars.

  • vector magnitude

    Calculates the magnitude of a vector field data component at every node in a mesh.

  • gradient

    Calculate the vector gradient field of a scalar data component at every node in a mesh.

  • capture zone

    Use streamlines technology to determine the volumetric regions of your model for which groundwater flow will be captured by one or more extraction wells.

  • seepage velocity

    Compute the vector groundwater flow field visualizations of the vector field.

  • regional averages

    Average nodal data values from the input field that fall into the input regions.

Subsections of Modeling

3d streamlines

The 3d streamlines module produces streamlines or stream-ribbons of a field containing a 2 or 3 element vector data component on any type of mesh. Streamlines are 3D polylines representing the pathways particles would travel based on the gradient of the vector field. At least one of the nodal data components input to the module must be a vector. The direction of travel can be specified as forwards (toward high vector magnitudes), backwards (toward low vector magnitudes), or both with respect to the vector field. Streamlines are produced by integrating a velocity field using the Runge-Kutta method with adaptive time steps.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for creating the streamlines.
InputInput Locations FieldFieldThe field to use for creating the starting locations of streamlines.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe streamlines field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run control specifies whether the module is permitted to execute. Set to True to enable execution.
ExecuteButtonThe Execute button forces the module to run even if Allow Run is disabled.
Z ScaleDoubleThe Z Scale control ensures that output lines are aligned with the scaled input.
Vector Nodal DataChoiceThe Vector Nodal Data specifies which vector components to use for streamline generation.
Velocity UnitsStringThe Velocity Units specify the units of the input vector data. By default this is determined from the input field. Unlink to override manually.
Flow DirectionChoice: Backwards, Forwards, BothThe Flow Direction allows the user to select the direction the lines will flow.

Terminating Conditions

PropertyTypeDescription
Max Segments TotalIntegerThe maximum allowable number of streamline segments that will be completed for each streamline. If the number of segments along a streamline exceeds this value, the streamline is terminated at the end of the last segment.
Minimum VelocityDoubleThe minimum velocity that will be considered in the integration. If the magnitude of the velocity field in a region is less than this value, streamlines will end in that region. Setting this to a lower value will produce longer streamlines. Higher values tend to produce fewer and shorter streamlines.
Extinction AngleDoubleThe maximum allowable angle between successive line segments before integration (streamline generation) should be terminated.

Output Data Options

PropertyTypeDescription
Export Velocity And TimeBooleanSpecifies whether velocity and time data will be included in the output field. If enabled, the input Vector Nodal Data component must have proper velocity units (length/time).
Log Process TimeBooleanSpecifies that time data will be output on a logarithmic scale. This converts all time values to absolute, including those in the backward flow direction that would otherwise be negative.
Time MinimumDoubleThe minimum value time data is clamped to before log processing. This is useful to avoid datamap issues especially at the start of streamlines where time values are very small or zero.
Log Process VelocityBooleanSpecifies that velocity data will be output on a logarithmic scale.
Velocity MinimumDoubleThe minimum velocity value to clamp data before log processing. This helps avoid datamap issues in regions where velocity is very low or zero.

surface streamlines

The surface streamlines module produces streamlines on any surface based on its slopes. Streamlines are 3D polylines representing the paths particles would travel based on the slopes of the input surface. The direction of travel can be specified as downhill or uphill. A velocity table allows mapping surface slopes to velocities for time-based output.

Ports

DirectionNameTypeDescription
InputInput SurfaceFieldThe surface to use for creating the streamlines.
InputInput Locations FieldFieldThe field to use for creating the starting locations of streamlines.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe streamlines field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
ExecuteButtonThe Execute button forces the module to run even when Allow Run has been turned off.
Z ScaleDoubleThe Z Scale is required to ensure that lines are matched to scaled input.
VelocitiesSlope ArrayThe Velocities table specifies the velocities along the surface at given slopes.
Flow DirectionChoice: Downhill, Uphill, BothThe Flow Direction allows the user to select the direction the lines will flow.

Terminating Conditions

PropertyTypeDescription
Max Segments TotalIntegerThe maximum allowable number of streamline segments that will be completed for each streamline. If the number of segments along a streamline exceeds this value, the streamline is terminated at the end of the last segment.
Minimum VelocityDoubleThe minimum velocity that will be considered in the integration. If the magnitude of the velocity field in a region is less than this value, streamlines will end in that region. Setting this to a lower value will produce longer streamlines. Higher values tend to produce fewer and shorter streamlines.
Minimum SlopeDoubleThe absolute minimum slope in degrees that will be considered in the integration. If the slope in a region is less than this value, streamlines will end in that region. Setting this to a lower value will produce longer streamlines. Higher values tend to produce fewer and shorter streamlines.
Extinction AngleDoubleThe maximum allowable angle between successive line segments before integration (streamline generation) should be terminated.

Output Data Options

PropertyTypeDescription
Log Process TimeBooleanSpecifies that time data will be output on a logarithmic scale. This converts all time values to absolute, including those in the backward flow direction that would otherwise be negative.
Time MinimumDoubleThe minimum value time data is clamped to before log processing. This is useful to avoid datamap issues especially at the start of streamlines where time values are very small or zero.

create drill path

The create drill path module allows you to interactively create a complex drill path with multiple segments.

Each segment can be defined by one of three methods:

  1. Continue Straight: Continue for the specified total length along the current direction (or Initial Drill Direction if just starting).
  2. Target Coordinate: Begin deviating with a specified segment length and maximum angle of change per segment until you reach the specified (X, Y, Z) coordinate.
  3. Move to Heading: Begin deviating with a specified segment length and maximum angle of change per segment until you reach the specified heading and dip.

Ports

DirectionNameTypeDescription
OutputOutput FieldFieldThe created drill path field.
OutputDrillPathRenderableA renderable object displaying the drill path.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running, allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off, allowing the user to make a number of changes before updating.
Initial Drill PositionCoordinate 3DThe starting point of the drill path.
Initial Drill DirectionHeading/DipThe heading and dip of the initial drill direction.
Max LengthDoubleThe maximum length will prevent users from creating lines that cannot reach their target.
Segment ListSegmentsThe list of line segments to create.
Boring NameStringThe boring name is used when exporting the created drill path as an APDV file.
Output UnitsStringThe output units used when exporting the created drill path as an APDV file.
Export As APDVFileExport the line as an APDV file with data associated with distance down the line.
Export As TXTFileExport the line as a tab-delimited file with data associated with distance down the line.

scalars to vector

The scalars to vector module creates an n-length vector by combining n selected scalar data components. The vector length is determined by the Vector Type selector (2D or 3D).

Once the required number of components has been selected, any other data components are grayed out and not selectable. To change selections, first deselect one of the vector components and then select a new component. If no components are selected, then all components are selectable. The order in which the components are selected determines the order they occur in the vector.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing data components to combine into a vector.
OutputOutput FieldFieldA field containing the data combined into a vector.
OutputOutput ObjectRenderableA renderable object displaying the combined data.

Properties

PropertyTypeDescription
Vector TypeChoice: 2D Vector, 3D VectorAllows the user to select between two and three data components to create the output vector.
Vector ComponentsMulti-selectAllows the user to set which data components to use when creating the vector.

vector to scalars

The vector to scalars module converts all vector nodal data components into individual scalars. For example, a vector data component named “velocity” will be converted to three scalar nodal data components such as:

  1. velocity_x
  2. velocity_y
  3. velocity_z

If multiple vector data components exist in the field, all will be converted. The naming pattern for the output scalar components can be customized using the Variable Names expression editor.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing either nodal or cell vector data.
OutputOutput FieldFieldA field containing the original scalar data components as well as converted, vector to scalar, data components.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle will prevent the module from running when turned to the off position.
ExecuteButtonThe Run Once button will allow the module to run one time even if the Allow Run toggle is turned to the off position, allowing the user to make multiple changes with only one update.
Variable NamesExpression EditorSets the template for each data component name that is created from a vector. Available variables: Analyte (the vector analyte name), Number (the position of the component in vector form), XYZ (the position listed alphabetically starting at X), IJK (the position listed alphabetically starting at I).

vector magnitude

The vector magnitude module calculates the vector magnitude of a vector field data component at every node in a mesh. Input to the module must contain a mesh of any type and nodal data. Nodal data components can be scalar or vector with up to 3 vector subcomponents. Cell vector data can also be selected for magnitude calculation.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing a vector data component.
OutputOutput FieldFieldA field containing the magnitude of the vector component as data.
OutputOutput ObjectRenderableA renderable object displaying the magnitude data.

Properties

PropertyTypeDescription
Variable NamesExpression EditorSets the template for each data component name that is created from a vector. Available variable: Analyte (the vector analyte name).
Vector DataMulti-selectAllows the user to select which nodal vector data components to use for creating the magnitude data.
Cell Vector DataMulti-selectAllows the user to select which cell vector data components to use for creating the magnitude data.

gradient

The gradient module calculates the vector gradient field of a scalar data component at every node in a mesh. Input must contain a mesh of any type and nodal data with at least one scalar data component. The module uses a finite-difference method based on central differencing to calculate the gradient on structured (rectilinear) meshes, and shape functions with their derivatives for unstructured meshes. Both nodal and cell data components can be used as the gradient source.

Note that the gradient of (pressure) head points in the direction of increasing head, not the direction that groundwater would flow. See the seepage velocity module if you wish to compute groundwater flow.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field containing data used to calculate gradient.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldA field containing the gradient data.
OutputOutput ObjectRenderableA renderable object displaying the gradient data.

Properties

PropertyTypeDescription
Z ScaleDoubleThe Z Scale is required to ensure that the output gradients are matched to scaled input.
Gradient ByChoice: Nodal Data, Cell DataSelects the type of data to use to calculate gradients.
Nodal Gradient ComponentChoiceThe scalar nodal data component to be used by gradient. The data component selected must be scalar or an error will occur. Only enabled when Gradient By is set to Nodal Data.
Cell Gradient ComponentChoiceThe scalar cell data component to be used by gradient. The data component selected must be scalar or an error will occur. Only enabled when Gradient By is set to Cell Data.

capture zone

The capture zone module utilizes 3d streamlines technology to determine the volumetric regions of your model for which groundwater flow will be captured by one or more extraction wells.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing vector data representing seepage velocity.
InputWell NodesFieldThe field containing nodes to use as starting locations.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldA field containing the input field with three additional data components.

Properties

PropertyTypeDescription
ExecuteButtonThe Execute button will cause the module to run with the current settings.
Z ScaleDoubleThe Z Scale is the vertical exaggeration of the Input Field.
Seepage Velocity ComponentChoiceDisplays all data components (vector and scalar) passed to the module.
Well Capture DistanceDoubleThe maximum distance that a streamline must pass near an extraction well before that streamline’s integration is terminated and its original starting location is deemed to have been captured by a well. Generally a value corresponding to one nominal cell width in the region of your wells is appropriate.
Minimum Flow VelocityDoubleThe minimum velocity that will be considered in the integration. If the magnitude of the velocity field in a region is less than this value, streamlines will end in that region. Setting this to a lower value will more accurately define the full extent of the capture zone region, but may increase run time.
Export Well DataBooleanWhen enabled, uses the selected Nodal Data component label as the name of the output data.
Segments Per CellIntegerThe number of integration steps to be used in each cell to calculate the streamline.
OrderIntegerThe order of the integration. Higher order integration is more accurate but executes much slower.
Max Segments TotalIntegerThe maximum allowable number of streamline segments that will be completed for each streamline. If the number of segments along a streamline exceeds this value, the streamline is terminated at the end of the last segment.
Extinction AngleDoubleThe maximum allowable angle between successive line segments before integration (streamline generation) should be terminated.

seepage velocity

The seepage velocity module computes the vector groundwater flow field. It calculates seepage velocity or Darcy flux at each node based on the gradient of head data, hydraulic conductivity, and effective porosity for each geologic material.

The input data requirements are:

  1. A data component representing head (can have any name).
  2. A Geo_Layer data component.
  3. A Material_ID data component. If there is no Material_ID, each layer is treated as a separate material (Layer 0 becomes material -1, Layer 1 becomes material -2, etc.).

The module computes the true seepage velocity (Vx, Vy, Vz) at each node by taking the gradient of head (without z-exaggeration) and multiplying each component by the corresponding conductivity (Kx, Ky, Kz) divided by the effective porosity (Ne) for that material:

  • Darcy Flux = -(Hydraulic Conductivity) * (Head Gradient)
  • Seepage Velocity = (Darcy Flux) / (Effective Porosity)

This approach allows users to quickly investigate the impact on flow paths due to changes in the conductivity assigned to each layer or material, based on the measured or kriged head distribution.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing head data, Layer data, and Material values.
InputGeology LegendGeology LegendGeology legend input.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldA field containing vector data representing x, y, and z components of seepage velocity.
OutputOutput Z ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running, allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off, allowing the user to make a number of changes before updating.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.
Head Data ComponentChoiceAllows the user to select which data component to use for head values.
Velocity MethodChoice: Darcy Flux, Seepage VelocitySelects between Darcy Flux and Seepage Velocity calculation methods.
Velocity UnitsChoice: m/day, ft/day, gal/day/ft2, m/year, ft/yearAllows you to choose the units for the output velocity data component.

Material Presets

PropertyTypeDescription
Common Material SettingsChoicePre-set conductivity values that can be applied to the currently selected material.
Preserve Original NameBooleanIf selected, the preset name for the currently selected material will be the original name along with the name of the selected Common Material. If off, the output name will be just the Common Material name.
Applied Conductivity UnitsChoice: m/day, ft/day, gal/day/ft2, m/year, ft/yearAllows you to choose the units for specifying the conductivity in all three (x, y, z) directions for each geologic layer. Appropriate conversions will be made regardless of your head and coordinate units.
Apply To Current MaterialButtonTakes the currently set conductivity values and the Common Material name and applies it to the currently selected material.

Material Properties

PropertyTypeDescription
Current MaterialChoiceAllows the user to select a single material to edit.
Preset NameStringThe preset name for the currently selected material.
Conductivity UnitsChoice: m/day, ft/day, gal/day/ft2, m/year, ft/yearAllows you to choose the units for specifying the conductivity in all three (x, y, z) directions for each geologic layer. Appropriate conversions will be made regardless of your head and coordinate units.
Conductivity In X Log SpaceDoubleAllows the user to set the X conductivity in log10 space.
Conductivity In X Linear SpaceDoubleAllows the user to set the X conductivity in linear space.
Conductivity In Y Log SpaceDoubleAllows the user to set the Y conductivity in log10 space.
Conductivity In Y Linear SpaceDoubleAllows the user to set the Y conductivity in linear space.
Conductivity In Z Log SpaceDoubleAllows the user to set the Z conductivity in log10 space.
Conductivity In Z Linear SpaceDoubleAllows the user to set the Z conductivity in linear space.
Effective PorosityDoubleAllows the user to set the porosity of the current material.

regional averages

The regional averages module averages nodal data values from the input field that fall into the input polygon regions. It outputs a point for each region containing the average x, y coordinates and the average of each nodal data component. The input polygon regions must contain at least one cell data component representing the regional ID.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe input field containing nodal data.
InputInput SurfaceFieldThe surface(s) to use for limiting the regions.
OutputOutput FieldFieldA field containing the average data and 2D coordinates of each region.
OutputOutput ObjectRenderableA renderable object displaying a sphere for each region with the average selected data.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when unselected.
Z PositionDoubleAllows the user to set the vertical position of the regional average output points.
RadiusDoubleSets the radius of the renderable output spheres.
Regional ID ComponentChoiceSelects which cell data component from the polygon regions input should be used to identify each region.
Data For VisualizationChoiceSelects which nodal data component from the input field to color the output spheres by.