# 2.8. Open boundaries¶

## 2.8.1. Open boundary conditions and walls¶

Open boundary conditions may be used with a number of provisos:

An inflow must be have a corresponding outflow, and vice-versa;

The non-flow directions should have plane walls;

We assume that the inflow is at the lower, or ‘left-hand’, edge of the domain, and the outflow is at the upper, or ‘right-hand’ end;

All three dimensions must be non-periodic.

At present there is an additional constraint when running in parallel that the flow direction must be the \(x\)-direction.

A suitable set of input keys would therefore be, e.g.:

```
boundary_walls 0_1_1
periodicity 0_0_0
lb_bc_open yes
```

The switch `lb_bc_open`

introduces open boundary conditions of a type
which is specified by further keys. It must be present for open
boundaries to be recognised.

## 2.8.2. Hydrodynamic open boundaries¶

Hydrodynamic boundary conditions mean specifying appropriate density and velocities boundary conditions so that appropriate incoming distributions can be computed at both inflow and outflow. Outgoing distributions are lost.

In the following, we assume that the flow direction is the \(x\)-direction. Inflow conditions are indicated by \(x=0\), and outflow by \(x=L_x\). Gernealisations to the \(y\)-direction or \(z\)-direction may be made is a straightforward manner.

### 2.8.2.1. Type `rhou`

inflow¶

The following section:

```
lb_bc_inflow_type rhou
lb_bc_inflow_profile uniform
lb_bc_inflow_rhou_u0 0.001_0.0_0.0
```

will request an inflow condition which imposes a uniform velocity \(u(0,y,z) = u_0\). The density is \(\rho(0,y,z) = \rho(1,y,z)\). The incoming distributions are then computed as \(f_i = f^{eq}_i (\rho, u)\). The velocity specified at the inflow should be in the positive \(x\)-direction.

### 2.8.2.2. Type `rhou`

outflow¶

Corresponding outflow conditions are introduced via, e.g.:

```
lb_bc_outflow_type rhou
lb_bc_outflow_rhou_rho0 1.0
```

Here the outflow density \(\rho(L_x,y,z) = \rho_0\), and the velocity \(u(L_x,y,z) = u(L_x-1,y,z)\); incoming distributions are again computed via \(f_i = f^{eq}_i(\rho_0, u)\).

## 2.8.3. Open boundaries for composition¶

Open boundary conditions (with the same provisos as mentioned above) are available for composition variable \(\phi\), as used in symmetric and Brazovskii free energy models.

Inflow and outflow conditions are set, e.g.,:

```
phi_bc_open yes # Use open boundaries for phi
phi_bc_inflow_type fixed # inflow type
phi_bc_inflow_fixed_phib +1.0 # inflow parameter
phi_bc_outflow_type free # outflow type
```

These would typically be used with the corresponding hydrodynamic inflow/outflow conditions discussed above.

### 2.8.3.1. Type `fixed`

inflow¶

```
phi_bc_outflow_type fixed
phi_bc_outflow_fixed_phib -1.0
```

A fixed boundary condition sets \(\phi(x=0,y,z) = \phi_b\) where
a uniform value \(\phi_b\) is specified via the key
`phi_bc_inflow_fixed_phib`

.

The boundary condition sets all values of \(\phi\) in the boundary region (up to the extent of the parallel halo region). This influences the calculation of the order parameter gradients \(\partial_\alpha \phi\) and \(\partial^2_\alpha \phi\) and hence the value of the chemical potential. The advective flux in the Cahn-Hilliard equation also responds to the boundary value appropriately in conjunction with the imposed inflow velocity.

### 2.8.3.2. Type `free`

outflow¶

```
phi_bc_outflow_type free
```

This outflow boundary condition sets \(\phi_b (x = L+1, y, z) = \phi (L,y,z)\), again to the extent of the parallel halo region. There are no additional parameters associated with this boundary condition.

## 2.8.4. Restarting with open boundary conditions¶

At present, there may be some small differences in results introduced by a restart (compared with the same run ‘straight through’). This relates the need for density values in the open boundary regions. This should not impair the overall reliability of the results.