# HydroGeoSphere/Selecting Faces

## Allow internal facesEdit

Causes **grok** to define internal faces, which cut through elements.

By default, only the external faces (6 orthogonal faces for 8-node blocks and 5 faces for 6-node prisms) are defined for the mesh.

**• • •**

The following instructions are used to alter the set of chosen faces:

## Clear chosen facesEdit

All faces in the domain are flagged as *not* chosen. This is recommended if you are unsure of which faces are chosen due to previously issued instructions.

**• • •**

## Choose faces allEdit

All faces in the domain will be chosen. This is useful if you wish to assign a property to all faces in the grid. Rarely used.

**• • •**

## Choose faces x planeEdit

**x1***x*-coordinate of the plane.**ptol**Distance from the plane.

Faces within distance **ptol** of the plane defined by the equation *x* = **x1** will be chosen. This command is particularly useful when assigning boundary conditions to a specific face of a rectangular domain.

**• • •**

## Choose faces y planeEdit

As above but for the *y*-plane.

**• • •**

## Choose faces z planeEdit

As above but for the *z*-plane.

**• • •**

## Choose faces 3pt planeEdit

**x1, y1, z1***xyz*-coordinate of the first point.**x2, y2, z2***xyz*-coordinate of the second point.**x3, y3, z3***xyz*-coordinate of the third point.**ptol**Distance from the plane.

Faces within distance **ptol** of the plane defined by the 3 points will be chosen. This allows you to choose planes of faces with an arbitrary orientation, and is particularly useful for setting up a set of sloping fractures.

**• • •**

## Choose faces 3pt plane boundedEdit

**x1, y1, z1***xyz*-coordinate of the first point.**x2, y2, z2***xyz*-coordinate of the second point.**x3, y3, z3***xyz*-coordinate of the third point.**ptol**Distance from the plane.**x4, x5***x*-range of the block.**y4, y5***y*-range of the block.**z4, z5***z*-range of the block.

Faces within distance **ptol** of the plane defined by the 3 points and within the rectangular block defined by the 3 ranges will be chosen.

**• • •**

## Choose faces blockEdit

**x1, x2***x*-range of the block.**y1, y2***y*-range of the block.**z1, z2***z*-range of the block.

Faces whose centroids are within the rectangular block defined by the 3 ranges are chosen. Note that the values given for one, two or all of the ranges can be identical and in that case, the block will collapse to a plane, line or point respectively.

**• • •**

## Choose faces block by layerEdit

**x1, x2***x*-range of the block.**y1, y2***y*-range of the block.**z1, z2***z*-range of the block.**nlaybot, nlaytop**Bottom and top element layer numbers.

Faces whose centroids are within the rectangular block which is defined by the 3 coordinate ranges, and which lie within the element layers defined by **nlaybot** and **nlaytop** are chosen. These layer numbers do not correspond to those given during grid generation but are simply defined by numbering each sheet of elements from 1 (bottom) to *nz*-1 (top) where *nz* is the number of sheets of nodes (2-D meshes) making up the grid.

This instruction is designed for grids that are regular in *x* and *y*, but which have a variable *z* for a given element layer, and can be used if the top and bottom elevations of a 3-D element layer vary spatially.

Note that the values given for one, two or all of the ranges can be identical and in that case, the block will collapse to a plane, line or point respectively.

**• • •**

## Choose faces sheetEdit

**nsheet_bot,nsheet_top**Bottom and top sheet numbers.

Faces which are between the two specified sheets (inclusive) and are not oriented perpendicular to the sheet will be chosen.

**• • •**

## Choose faces topEdit

All faces in the top sheet of the domain will be chosen.

**• • •**

## Choose faces top blockEdit

**x1, x2***x*-range of the block.**y1, y2***y*-range of the block.**z1, z2***z*-range of the block.

Faces in the top layer whose centroids are within the rectangular block defined by the 3 ranges are chosen. Note that the values given for one, two or all of the ranges can be identical and in that case, the block will collapse to a plane, line or point respectively.

**• • •**

## Choose faces bottomEdit

All faces in the bottom sheet of the domain will be chosen.

**• • •**

## Choose faces frontEdit

Faces on the front of the domain will be chosen. This instruction can only be applied to meshes composed of block elements. Front faces are parallel to the *xz*-coordinate plane and have small *y*-coordinates.

**• • •**

## Choose faces backEdit

Faces on the back of the domain will be chosen. This instruction can only be applied to meshes composed of block elements. Back faces are parallel to the *xz*-coordinate plane and have large *y*-coordinates.

**• • •**

## Choose faces leftEdit

Faces on the left side of the domain will be chosen. This instruction can only be applied to meshes composed of block elements. Left side faces are parallel to the *yz*-coordinate plane and have small *x*-coordinates.

**• • •**

## Choose faces rightEdit

Faces on the right side of the domain will be chosen. This instruction can only be applied to meshes composed of block elements. Right side faces are parallel to the *yz*-coordinate plane and have large *x*-coordinates.

**• • •**

## Choose faces top gbEdit

**fname**Name of the GRID BUILDER chosen elements file*gb_prefix*`.echos.`*description*.

Faces flagged as .TRUE. in the file, are in the top sheet and are not oriented perpendicular to the sheet are chosen.

**• • •**

## Choose faces top for chosen elementsEdit

Faces are chosen if they are in the top sheet and the 3-D element they belong to is chosen.

**• • •**

## Choose faces gbEdit

**fname**Name of the GRID BUILDER chosen elements file*gb_prefix*`.echos.`*description*.**nsheet_bot,nsheet_top**Bottom and top sheet numbers.

Faces flagged as .TRUE. in the file, that are between the bottom and top sheets (inclusive), and that are not oriented perpendicular to the sheet are chosen.

**• • •**

## Choose faces vertical from gb nodesEdit

**fname**Name of the GRID BUILDER chosen nodes file*gb_prefix*`.nchos.`*description*.**nsheet_bot,nsheet_top**Bottom and top sheet numbers.

This instruction is intended for use with meshes that are generated from GRID BUILDER 2-D meshes, and is used to choose faces that are oriented perpendicular to the mesh.

If a node is chosen in the 2-D mesh, then the nodes in the 3-D mesh that have the same *xy*-coordinate (i.e. that fall in the same column of nodes as the 2-D node) and between the top and bottom sheets will be chosen. A face is then chosen if all of its four nodes are chosen.

**• • •**

## Choose horizontal faces on layerEdit

**nlayer**Element layer number.**x1, x2**The*x*-range of the block.**y1, y2**The*y*-range of the block.

Horizontal faces which are in the layer of elements numbered **nlayer** and within the rectangular block which is defined by the *x*- and *y*-ranges are chosen. This instruction can be used to select horizontal faces (e.g. to make fractures) when the elevation of a given layer of nodes is irregular.

**• • •**

## Choose faces stairwayEdit

**x1, y1, z1***xyz*-coordinates of the first point.**x2, y2, z2***xyz*-coordinates of the second point.**x3, y3, z3***xyz*-coordinates of the third point.

Horizontal and vertical faces of an inclined plane that is defined by three points are chosen. This instruction is mainly designed for verification purpose of modelling results using inclined fractures. Note that if using this instruction, fracture velocities are multiplied by a correction factor that accounts for the longer path that contaminants have to travel from node to node.

**• • •**

## Choose fracture faces blockEdit

**x1, x2***x*-range of the block.**y1, y2***y*-range of the block.**z1, z2***z*-range of the block.

Faces which are fracture elements and whose centroids are within the rectangular block defined by the 3 ranges are chosen. Note that the values given for one, two or all of the ranges can be identical and in that case, the block will collapse to a plane, line or point respectively.

**• • •**

## Choose face by nodesEdit

**n1, n2, n3, n4**Node numbers of the face to be chosen.

The rectangular face which is made up of the 4 given nodes will be chosen.

**• • •**

## Clear chosen faces by nodesEdit

As above except the face will be cleared (i.e. not chosen).

**• • •**

## Choose faces horizontal circleEdit

**x_mid, y_mid, z_mid***xy*-coordinates of the centre of the circle and elevation of the circle.**radius**Radius of the circle.**ptol**Vertical tolerance.

Faces within a vertical distance **ptol** of elevation **z_mid**, and within the circle with centre **x_mid, y_mid** and radius **radius** are chosen. This allows you to choose faces in a domain that has a circular ground-plan.

**• • •**

## Write chosen facesEdit

**fname**Name of the file to which the chosen face information will be written.

Setting up complex fracture networks with combinations of choose face instructions can be very time consuming in **grok** and this step does not need to be repeated as long as the grid structure remains the same. This instruction is intended to be used in conjunction with the following instruction.

**• • •**

## Write chosen faces and host element numbersEdit

**fname**Name of the file to which the chosen face and host element information will be written.

For each currently chosen face, this instruction writes the face number and associated 3-D element numbers. If the second element number is zero, the face is on the outside of the 3-D domain.

**• • •**

## Read chosen facesEdit

**fname**Name of the file from which the chosen face information will be read.

If you want only those faces read from the file to be chosen then make sure to issue the instruction clear chosen faces before you use read chosen faces. If not, the results will be merged with the currently chosen set of faces. This could be useful if you want to apply a certain set of fracture material properties to more than one group of faces at a time.

**• • •**

## Echo chosen facesEdit

Causes the current set of chosen face numbers to be written to the *prefix*`o.eco` file.

**• • •**