# HydroGeoSphere/Boundary Conditions Guidelines

## Boundary condition input routinesEdit

The boundary condition input routines have been completely rewritten in this version of **HydroGeoSphere**. The old routines were developed over the years by many different developers and for a host of reasons. There was a lack of continuity between the routines that has made it increasingly difficult to update and maintain **HydroGeoSphere**. With this in mind, a more well defined data structure has been developed for defining boundary conditions and, where possible, the functionality of the old routines has been incorporated. For the end user, this means having to learn a new approach to defining boundary conditions, but one that we hope will be more logical and therefore easier to understand and apply.

In its simplest form, a boundary condition is defined by a value that is associated with a node, for example, a specified head. In some cases, such as a well that has a variable pumping rate, the value may change temporally. If the well were turned off abruptly then started up again at a later time, the value would not be applied continuously. Some inputs are not defined by a single value, but rather by a 2- or 3-dimensional field. For example, rainfall may be given in the form of 2-D raster data defined in a certain region. Other inputs might be in the form of tables of values at defined locations, which is often the case when we incorporate information from another model. As you can see, we need a combination of data structure and input format that are general, yet flexible.

## General boundary condition layoutEdit

All flow boundary conditions require inputs for the bc type, node and face set, and the time-varying inputs described in Section 5.7.2, Section 5.7.3, and Section 5.7.4. The constraints and tecplot options are optional values. A general boundary condition layout is shown as the following instruction:

```
boundary condition
type
{bc_type}
node set/face set/segment set
{bc_set_name}
time value table/time raster table/time file table
{bc_time(i), bc_file(i)...end}
or
{bc_time(i), bc_raster(i)...end}
or
{bc_time(i), bc_file(i)...end}
constraints/tecplot options !optional not required
end
```

## Boundary condition...EndEdit

**grok** reads instructions that define a new boundary condition until it encounters an End instruction.

**• • •**