Performs mathematical operations on nodal data fields and coordinates using Python scripts.
Performs mathematical operations on cell data in fields using Python scripts.
Creates a new set of nodal data components by selecting components from up to six separate input data fields.
Interpolates nodal and/or cell data from a source field onto a destination field.
Computes the thickness of complex plumes or cell sets such as lithologic materials.
Translates a field's coordinates in x, y, or z based on a nodal or cell data component or a constant.
Translates cell data components to nodal data components.
Translates nodal data components to cell data components.
Produces a mesh containing disjoint cells which can be optionally shrunk relative to their geometric centers.
Produces a mesh of point cells representing the geometric centers of each cell in the input.
Assigns data and subsets all or selected discrete (disconnected) regions of plumes or lithologic materials.
Subsections of Processing
node computation
The node computation module is used to perform mathematical operations on nodal data fields and coordinates. Data values can be used to affect coordinates (x, y, or z) and coordinates can be used to affect data values.
Up to two fields can be input to node computation. Mathematical expressions can involve one or both of the input fields. Fields must be identical grids, meaning they must have the same number of nodes and cells, otherwise the results will not make sense.
Nodal data input to each of the ports is normally scalar, however if a vector data component is used, the values in the expression are automatically the magnitude of the vector (which is a scalar). If you want a particular component of a vector, insert an extract scalar module before connecting a vector data component to node computation. The output is always a scalar. If a data field contains more than one data component, you may select from any of them.
The equation(s) used to modify data and/or coordinates must be input as part of a Python script. Each nodal data component from Input Field 1 is assigned as a variable (An0, An1, An2, etc.), and from Input Field 2 as Bn0, Bn1, Bn2, etc. Coordinate variables (Ax, Ay, Az for Field 1 and Bx, By, Bz for Field 2) and min/max range variables are also available.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Field 1 | Field | A field. |
| Input | Input Field 2 | Field | A field. |
| Input | Input Value N1 | Number | A value to use as a variable. |
| Input | Input Value N2 | Number | A value to use as a variable. |
| Input | Input Value N3 | Number | A value to use as a variable. |
| Input | Input Value N4 | Number | A value to use as a variable. |
| Output | Output Value N1 | Number | A value to use as a variable. |
| Output | Output Value N2 | Number | A value to use as a variable. |
| Output | Output Value N3 | Number | A value to use as a variable. |
| Output | Output Value N4 | Number | A value to use as a variable. |
| Output | Output Field | Field | The Output Field with solved expression data. |
| Output | Output Object | Renderable | A renderable object displaying the solved expression data. |
Properties
| Property | Type | Description |
|---|---|---|
| Allow Run | Boolean | Determines whether the module is allowed to execute. Set to True to allow this module to run. |
| Filename | String | The script which is run once per node, and the values set within the script are assigned to the coordinates and data of the resulting field. |
| Execute | Button | Accept all values and perform computation. If this button is clicked and the application saved, the module will run when the application is loaded. |
Output
| Property | Type | Description |
|---|---|---|
| Affect Coordinates | Boolean | When on, the script can set the X, Y, and Z coordinates. Leaving this off results in more efficient operation when the script only creates data. |
| Mode | Choice: Expression, Script | Expression mode allows inline expressions per data component. Script mode uses a Python script file. |
| Data Definitions | Data Definitions | The data you wish to generate in addition to coordinates. |
Variables
| Property | Type | Description |
|---|---|---|
| N1 | Double | Number passed into script. |
| N2 | Double | Number passed into script. |
| N3 | Double | Number passed into script. |
| N4 | Double | Number passed into script. |
| Nodal Computation Variables 1 | Display | The variables available for computation from Input Field 1. Shows coordinate variables, node number, min/max range variables, and all nodal data components. |
| Nodal Computation Variables 2 | Display | The variables available for computation from Input Field 2. Shows coordinate variables, node number, min/max range variables, and all nodal data components. |
cell computation
The cell computation module is used to perform mathematical operations on cell data in fields. Unlike node computation, it cannot affect coordinates.
Though data values cannot be used to affect coordinates (x, y, or z), the cell center (average of nodes) coordinates can be used to affect data values.
Up to two fields can be input to cell computation. Mathematical expressions can involve one or both of the input fields. Cell data input to each of the ports is scalar. If a data field contains more than one data component, you may select from any of them.
The equation(s) used to modify data must be input as part of a Python script. Each cell data component from Input Field 1 is assigned as a variable (Ac0, Ac1, Ac2, etc.), and from Input Field 2 as Bc0, Bc1, Bc2, etc. Cell center coordinate variables (Ax, Ay, Az for Field 1 and Bx, By, Bz for Field 2) and min/max range variables are also available.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Field 1 | Field | A field. |
| Input | Input Field 2 | Field | A field. |
| Input | Input Value N1 | Number | A value to use as a variable. |
| Input | Input Value N2 | Number | A value to use as a variable. |
| Input | Input Value N3 | Number | A value to use as a variable. |
| Input | Input Value N4 | Number | A value to use as a variable. |
| Output | Output Value N1 | Number | A value to use as a variable. |
| Output | Output Value N2 | Number | A value to use as a variable. |
| Output | Output Value N3 | Number | A value to use as a variable. |
| Output | Output Value N4 | Number | A value to use as a variable. |
| Output | Output Field | Field | The Output Field with solved expression data. |
| Output | Output Object | Renderable | A renderable object displaying the solved expression data. |
Properties
| Property | Type | Description |
|---|---|---|
| Allow Run | Boolean | Determines whether the module is allowed to execute. Set to True to allow this module to run. |
| Filename | String | The script which is run once per cell, and the values set within the script are assigned to the cell data of the resulting field. |
| Execute | Button | Accept all values and perform computation. If this button is clicked and the application saved, the module will run when the application is loaded. |
Output
| Property | Type | Description |
|---|---|---|
| Mode | Choice: Expression, Script | Expression mode allows inline expressions per data component. Script mode uses a Python script file. |
| Data Definitions | Data Definitions | The data you wish to generate in addition to coordinates. |
Variables
| Property | Type | Description |
|---|---|---|
| N1 | Double | Number passed into script. |
| N2 | Double | Number passed into script. |
| N3 | Double | Number passed into script. |
| N4 | Double | Number passed into script. |
| Cell Computation Variables 1 | Display | The variables available for computation from Input Field 1. Shows cell center coordinate variables, cell number, min/max range variables, and all cell data components. |
| Cell Computation Variables 2 | Display | The variables available for computation from Input Field 2. Shows cell center coordinate variables, cell number, min/max range variables, and all cell data components. |
combine nodal data
The combine nodal data module is used to create a new set of nodal data components by selecting components from up to six separate input data fields. The mesh (x-y-z coordinates) from the first input field (Model Field) will be the mesh in the output. The input fields should have the same scale and origin, and number of nodes in order for the output data to have any meaning. This module is useful for combining data contained in multiple field ports or files, or from different Kriging modules.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Model Field | Field | The main field to add components to. |
| Input | Input Field 1 | Field | A field with nodal data to combine with the Model Field. |
| Input | Input Field 2 | Field | A field with nodal data to combine with the Model Field. |
| Input | Input Field 3 | Field | A field with nodal data to combine with the Model Field. |
| Input | Input Field 4 | Field | A field with nodal data to combine with the Model Field. |
| Input | Input Field 5 | Field | A field with nodal data to combine with the Model Field. |
| Output | Output Field | Field | The main Model Field with added components. |
| Output | Output Object | Renderable | A renderable object displaying the Model Field with added component data. |
Properties
| Property | Type | Description |
|---|---|---|
| Allow Run | Boolean | The Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating. |
| Execute | Button | The Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off. |
| Model Components | Multi-select | The Model Components control allows the user to select which nodal data components to include, from the relative input field, in the output. |
| Components 1 | Multi-select | The Components 1 control allows the user to select which nodal data components to include, from the relative input field, in the output. |
| Components 2 | Multi-select | The Components 2 control allows the user to select which nodal data components to include, from the relative input field, in the output. |
| Components 3 | Multi-select | The Components 3 control allows the user to select which nodal data components to include, from the relative input field, in the output. |
| Components 4 | Multi-select | The Components 4 control allows the user to select which nodal data components to include, from the relative input field, in the output. |
| Components 5 | Multi-select | The Components 5 control allows the user to select which nodal data components to include, from the relative input field, in the output. |
interpolate data
The interpolate data module interpolates nodal and/or cell data from a 3D or 2D field to either a 2D mesh or 1D line. Typical uses of this module are mapping of data from a 3D mesh onto a geologic surface or a 2D fence section. In these applications the 2D surface(s) simply provide the new geometry (mesh) onto which the adjacent nodal values are interpolated. The primary requirement is that the data be equal or higher dimensionality than the mesh to be interpolated onto. For instance, if the user has a 2D surface with nodal data (perhaps z values), then a 1D line may be input and the nearest nodal values from the 2D surface will be interpolated onto it.
This module supplants the deprecated interpolate nodal data and interpolate cell data modules.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Destination Field | Field | The field to interpolate data to. |
| Input | Input Data Field | Field | The field to use for data. |
| Output | Output Field | Field | The field with data interpolated. |
| Output | Output Object | Renderable | A renderable object to display. |
Properties
| Property | Type | Description |
|---|---|---|
| Allow Run | Boolean | This toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates. |
| Execute | Button | If Allow Run is turned off the Execute button will force the module to run once with the current settings. |
| Method | Choice: Accurate, Nearest Neighbor | The Method option controls how the closest cell to a point or cell is determined. The Nearest Neighbor option finds closest cells by using distances to cell nodes to interpolate node data and cell centers to interpolate cell data. This method is fast but may not select the accurate neighbor in all cases and also cannot reject nodes and cells outside the volume. The Accurate option finds the cell containing a point within its bounds and uses its nodes to interpolate node data and the cell itself to interpolate cell data. This method is slower but will yield accurate results. |
| Remove Nodes Outside Volume | Boolean | The Remove Nodes Outside Volume control tells the algorithm what to do with nodes or cells from the Input Destination Field that fall outside of the coordinate range of the Input Data Field. |
| Node Data To Interpolate | Multi-select | The Node Data To Interpolate control is used to select which scalar nodal data component is to be interpolated onto the surface or line of interest. |
| Node Data To Include | Multi-select | The Node Data To Include control lists all of the node data from the Input Destination Field that can be included in the output. This data will occur after the interpolated data in the field. |
| Cell Data To Interpolate | Multi-select | The Cell Data To Interpolate control is used to select which scalar cell data component is to be interpolated onto the surface or line of interest. |
| Cell Data To Include | Multi-select | The Cell Data To Include control is used to select which scalar data component is to be interpolated onto the surface or line of interest. |
compute thickness
The compute thickness module allows you to compute the thickness of complex plumes or cell sets such as lithologic materials.
The right input port (Input Volume) must have a 3D field as input, since there is no concept of thickness associated with 2D or 3D surfaces. Volumetric inputs can be plume shell or intersection shell objects which are hollow; thickness will be determined based upon the apparent thickness of the plume elements. When 3D shells are input, they must be closed objects.
Determining thickness of arbitrary volumetric objects is a very computationally intensive operation. You can use this module to compute thickness in two primary ways:
- Compute the thickness distribution of a 3D object and project that onto a 2D surface (generally at the ground surface). A surface (such as from geologic surface) would connect to the Input Field port, and the volumetric object connects to the Input Volume port.
- Compute the thickness distribution of a 3D object and project that onto the same object. The volumetric object connects to both the Input Field and Input Volume ports.
In all cases run times can be long. Coarser grids and the first option will run faster, but the complexity and resolution of the volumetric object will be the major factor in the computation time.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Z Scale | Number | The factor for vertical scaling to counter in the thickness calculation. |
| Input | Input Field | Field | The field to map thickness data onto. |
| Input | Input Volume | Field | The field to determine thickness data from. |
| Output | Output Field | Field | The surface with mapped thickness data. |
Properties
| Property | Type | Description |
|---|---|---|
| Execute | Button | This button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating. |
| Allow Run | Boolean | The Allow Run toggle causes the module to run whenever your inputs change. |
| Z Scale | Double | The Z Scale present in the model to counter in the thickness calculation. |
translate by data
The translate by data module accepts nearly any mesh and translates the grid in x, y, or z based upon either a nodal or cell data component or a constant. The interface enables changing the scale factor for z translates to accommodate an overall z exaggeration in your applications.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Field | Field | A field to translate. |
| Input | Input Z Scale | Number | The factor for vertical scaling. |
| Output | Output Z Scale | Number | The factor for vertical scaling. |
| Output | Output Field | Field | A field containing the translated field. |
| Output | Output Object | Renderable | A renderable object displaying the translated field. |
Properties
| Property | Type | Description |
|---|---|---|
| Translation Method | Choice: Translate Coordinates, Set Coordinate Position | The Translation Method allows the user to choose between setting the coordinates or translating the coordinates. |
| Translation By | Choice: Constant, Cell Data Component, Node Data Component | The Translation By control allows the user to set the basis for translation. |
| Constant Value | Double | The Constant Value is a set value to translate by when the Constant option is selected. |
| Cell Data Component | Choice | The Cell Data component allows the user to set a variable data component to translate by when Translate By is set to Cell Data Component. |
| Node Data Component | Choice | The Node Data component allows the user to set a variable data component to translate by when Translate By is set to Node Data Component. |
| Z Scale | Double | Z scale is the scaling factor for vertical (z) coordinates. When translating by a Constant, the amount is affected by the Z Scale. If translating along any axis other than z, it is unlikely that you want to use the Z Exaggeration factor used elsewhere in your application. |
| Translation In | Choice: X, Y, Z | The Translation In control allows the user to set the axis of translation. |
Data Selection
| Property | Type | Description |
|---|---|---|
| Color By | Choice: Node Data, Cell Data, Solid Color | The Color By control allows the user to set how the color of the output should be determined. |
| Nodal Data Component | Choice | If Color By is set to Node Data the Nodal Data Component selects which nodal data will set the data map. |
| Cell Data Component | Choice | If Color By is set to Cell Data the Cell Data Component selects which cell data will set the data map. |
| Object Color | Color | If Color By is set to Solid Color the Object Color will set the data map. |
| Vector Component | Integer | If Color By is set to either Node Data or Cell Data the Vector Component allows the user to use just a single component of a vector data to set the data map. |
| Use Vector Magnitude | Boolean | If Color By is set to either Node Data or Cell Data the Use Vector Magnitude allows the user to use the magnitude of a vector data to set the data map. |
cell data to node data
The cell data to node data module is used to translate cell data components to nodal data components. Cell data components are data components which are associated with cells rather than nodes. Most modules in EVS that deal with analytical or continuum data support node based data. Therefore, cell data to node data can be used to translate cell based data to a nodal data structure consistent with other EVS modules.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Field | Field | A field containing cell data to interpolate. |
| Output | Output Field | Field | A field containing the interpolated cell data. |
| Output | Output Object | Renderable | A renderable object displaying the output field. |
Properties
| Property | Type | Description |
|---|---|---|
| Separate Cells | Boolean | The Separate Cells toggle will force any cells with shared nodes to separate preventing any blurring of values between cells. |
| Cell Data Components | Multi-select | The Cell Data Components control allows the user to select which cell data to interpolate. |
| Output Cell Data | Choice: Preserve All Cell Data, Remove Converted Cell Data, Remove All Cell Data | The Output Cell Data option allows the user to specify how to handle input cell data in the output. |
node data to cell data
The node data to cell data module is used to translate nodal data components to cell data components. Cell data components are data components which are associated with cells rather than nodes. Most modules in EVS that deal with analytical or continuum data support node based data, and those that deal with geology (lithology) tend to use cell data. Therefore, node data to cell data can be used to translate nodal data to cell data.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Field | Field | The field to use for conversion. |
| Output | Output Field | Field | The field containing the mapped data and the converted cell data. |
| Output | Output Object | Renderable | A renderable object to display. |
Properties
| Property | Type | Description |
|---|---|---|
| Allow Run | Boolean | The Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating. |
| Execute | Button | The Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off. |
| Node Components To Convert | Multi-select | The Node Components To Convert control allows the user to select which nodal data to convert to cell data. |
| Output Nodal Data | Choice: Preserve All Node Data, Remove Converted Node Data, Remove All Node Data | The Output Nodal Data option allows the user to specify how to handle input nodal data in the output. |
| Conversion Type | Choice: Average Values, Majority Values | The Conversion Type allows the user to specify which type of conversion algorithm to use. The first choice is the average value of the nodes connected to each cell. The second choice is to use the value that most nodes have in common; if the nodes all have unique values the smallest value is used. |
shrink cells
The shrink cells module produces a mesh containing disjoint cells which can be optionally shrunk relative to their geometric centers. It creates duplicate nodes for all cells that share the same node, making them disjoint. If the Shrink Cells toggle is set, the module computes new coordinates for the nodes based on the specified scale factor (which specifies the scale relative to the geometric centers of each cell). The scale factor can vary from 0 to 100 percent, with 100 percent producing non-shrunk cells and 0 producing completely collapsed cells (points). This module is useful for separate viewing of cells comprising a mesh.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Field | Field | A field to shrink or disjoint. |
| Output | Output Field | Field | A field containing the shrunk and/or disjointed field. |
| Output | Output Object | Renderable | A renderable object displaying the shrunk and/or disjointed field. |
Properties
| Property | Type | Description |
|---|---|---|
| Allow Run | Boolean | This toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates. |
| Execute | Button | If Allow Run is turned off the Execute button will force the module to run once with the current settings. |
| Shrink Cells | Boolean | The shrink toggle, if off, results in an output mesh which contains disjoint cells with the same coordinates as the input mesh. If set on, the module computes new coordinates for the nodes based on the shrink factor that specifies the scale relative to the geometric centers of each cell. |
| Scale Factor | Double | The Scale Factor slider is used to adjust the sizes of the cells. The scale factor value specifies the scale relative to the geometric centers of each cell. |
cell centers
The cell centers module produces a mesh containing a Point cell set, each point of which represents a geometrical center of a corresponding cell in the input mesh. The coordinates of cell centers are calculated by averaging coordinates of all the nodes of a cell. The number of nodes in the output mesh is equal to the number of cells in the input mesh. If the input mesh contains cell data it becomes node data in the output mesh with each node value equal to the corresponding cell value. Nodal data is not output directly.
You can use this module to create a position mesh for the glyphs at nodes module. You may also use this module as mesh input to the interpolate data module, then send the same nodal values as the input grid, to create interpolated nodal values at cell centroids.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Field | Field | A field to generate centers from. |
| Output | Output Field | Field | A field containing the cell centers. |
| Output | Output Object | Renderable | A renderable object displaying the cell centers. |
Properties
| Property | Type | Description |
|---|---|---|
| Allow Run | Boolean | This toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates. |
| Execute | Button | If Allow Run is turned off the Execute button will force the module to run once with the current settings. |
| Color By | Choice: Node Data, Cell Data, Solid Color | The Color By control allows the user to set how the color of the output should be determined. |
| Nodal Data Component | Choice | If Color By is set to Node Data the Nodal Data Component selects which nodal data will set the data map. |
| Vector Component | Integer | If Color By is set to Node Data the Vector Component allows the user to use just a single component of a vector data to set the data map. |
| Use Vector Magnitude | Boolean | If Color By is set to Node Data the Use Vector Magnitude allows the user to use the magnitude of a vector data to set the data map. |
| Object Color | Color | If Color By is set to Solid Color the Object Color will set the data map. |
connectivity assessment
The connectivity assessment module allows you to assign data and subset all (or selected) discrete (disconnected) regions of plumes or lithologic materials.
When subsets of models are created, either based upon analytical data, stratigraphic or lithologic modeling, these subsets often exist as several disjoint pieces. In the case of analytical (e.g., contaminant) plumes, the number and size of regions can strongly depend on the subsetting level. With lithologic models, the number and size of the regions depends on the complexity of the lithologic data and the modeling parameters.
The connectivity assessment module assigns a new data component to these disconnected regions. The pieces are sorted based upon the number of cells in each piece. This is generally well correlated to the volume of that region, but it is possible that the region with the most cells may not have the greatest volume. The highest cell count region is assigned to 0 (zero) and regions with descending cell counts are assigned higher integer values.
Ports
| Direction | Name | Type | Description |
|---|---|---|---|
| Input | Input Field | Field | A field. |
| Output | Output Field | Field | The main output field containing regions and region ID data. |
| Output | Output Object | Renderable | A renderable object displaying the selected regions. |
Properties
| Property | Type | Description |
|---|---|---|
| Allow Run | Boolean | The Allow Run toggle controls whether the module will run when applications are loaded or data changes. When this is on, the module runs when applications are loaded or the Execute button is pushed (or the geology input changes). When it is off, the module will not run unless Execute is pressed. |
| Execute | Button | The Execute button forces the module to run. If this has been pressed and the application saved, it will cause the module to run when the application is loaded. |
Connectivity Settings
| Property | Type | Description |
|---|---|---|
| Merge Cell Sets | Boolean | Merges cell sets such as stratigraphic layers or lithologic materials. Generally should be on when dealing with analytical data. |
| Assessment Mode | Choice: Add Region ID Data, Subset By Region ID, Region Closest to Point, Region With Most Cells | Determines the criteria for subsetting of regions and/or assigning data. Add Region ID Data does not subset, but assigns Cell Data corresponding to cell counts. Subset By Region ID isolates specified regions. Region Closest to Point isolates the region closest to the Point Coordinate. Region With Most Cells outputs Region ID 0. |
| Point Coordinate | Coordinate 3D | Specifies the X, Y, Z coordinate to be used for Closest Region. |
| Region IDs | Integer List | Specifies the IDs of the regions if Selection Mode is set to Subset By Region ID. |