# OOF2: The Manual

## Name

Generalized Force (ForceBC) — Apply a force to all nodes on a boundary. A force is a divergence of a flux (eg, stress, heat flux). The condition is applied independently at each node, and is therefore sensitive to node density.

## Synopsis

`ForceBC`(`equation`,`eqn_component`,`profile`,`boundary`)

## Details

• Base class: `BC`
• Parameters:

`equation`
Type: An `Equation` object which can be used in boundary conditions.
`eqn_component`
Type: A character string representing a field or flux index (eg, `'x'`).
`profile`
Profile describing how this condition varies in space and time. Type: An object of the `ProfileXT` class.
`boundary`
Point boundary to which this condition applies. Type: The name of a point boundary in a mesh.

## Description

Generalized Force boundary conditions apply a generalized force at all nodes on a boundary. A generalized force is a divergence of a `Flux`, so Generalized Force boundary conditions correspond to components of Divergence Equations. For example, applying a Generalized Force boundary condition to the Force Balance equation applies a (non-generalized) force to each node. Applying it to the Heat equation makes each node in the boundary a point source or sink of heat. The `equation` parameter specifies to which equation the boundary condition applies.

The boundary condition is applied independently at each node, and is therefore sensitive to node density. That is, increasing the number of nodes on the boundary will increase the total force applied to the system. This is in contrast to Neumann boundary conditions, which apply a force density to a boundary, and are insensitive to node density.

Generalized Force boundary conditions may only be applied to Point boundaries. They should be used only when the forces are actually pointlike. To apply a constant pressure along an edge of a system, for example, Neumann boundary conditions are more appropriate.

The `profile` parameter determines the force values along the boundary. Profiles may be arbitrary functions of position, and are specified by providing a ProfileXT object.