Skip to content

unilateralContactFvPatchVectorField

Description

The unilateralContact boundary condition enforces a contact-like behavior on the patch. In the parallel direction, sliding is always allowed, with no shear forces applied.

In the normal direction, the patch displacement is restricted from being positive (relative to the patch normal). If a positive displacement is attempted, the displacement is forced to be zero in the normal direction. The user can specify a relaxation factor that can be used to aid convergence. The spring constraint is enforced in an implicit manner.

When the patch detaches inward (negative displacement relative to the patch normal), the traction/pressure is applied. This traction/pressure can be read from the patchField dictionary. Otherwise it is assumed to be zero


Options

The unilateralContact fvPatchField can be selected in the patch subdictionary inside the boundaryField subdictionary of the displacement field.

Parameters in the patch subdictionary for unilateralContact:

traction Fixed traction vector in Pa. Zero by default.
pressure Fixed pressure in Pa. Zero by default.
relax Relaxation factor for the contact contribution. Helps improve convergence. Default: 1.


Usage

To apply the unilateralContact boundary condition to a given patch, the following example can be used as a template:

cladOuter
{
    type            unilateralContact;

    // Relaxation factor for the contact contribution
    relax           1;

    // Pressure for the part of the boundary not in contact (zero by default)
    pressure uniform 0.0;

    // Traction for the part of the boundary not in contact (zero by default)
    traction uniform (0 0 0);
}