# CONTACT_ANGLE_MODEL

Specifies a contact angle model for free surfaces with surface tension.

## Type

AcuSolve Command

## Syntax

CONTACT_ANGLE_MODEL("name") {parameters...}

## Qualifier

User-given name.

## Parameters

- type (enumerated) [=free]
- Type of the contact angle.
- free
- Automatically computed. Used at inflow and outflow boundaries.
- constant or const
- Constant contact angle. Requires contact_angle.

- contact_angle (real) >0 <180 [=90]
- Constant value of the contact angle. Used with constant type.
- multiplier_function (string) [=none]
- User-given name of the multiplier function for scaling the contact angle. If none, no scaling is performed. Not used with free type.

## Description

```
CONTACT_ANGLE_MODEL( "water/air @ smooth aluminum" ) {
type = constant
contact_angle = 90
}
```

```
CONTACT_ANGLE_MODEL( "water/air @ inflow" ) {
type = free
}
```

Here, the contact angle is not given but instead extracted from the solution in such a way as to make the slope of the free surface smooth near the boundary.

CONTACT_ANGLE_MODEL commands are referenced by SIMPLE_BOUNDARY_CONDITION and FREE_SURFACE commands, see the SURFACE_TENSION_MODEL command for examples.

Like flux boundary conditions, the contact angle is weakly enforced. This means that the solution may not obviously reflect the specified contact angle, especially if the meniscus is not well resolved.

```
CONTACT_ANGLE_MODEL( "ramped contact angle model" ) {
type = constant
contact_angle = 90
multiplier_function = "ramped"
}
MULTIPLIER_FUNCTION( "ramped" ) {
type = piecewise_linear
curve_fit_values = { 1, 90 ; 10, 120 }
curve_fit_variable = time_step
}
```

The contact angle is clipped so that it always remains strictly between zero and 180 degrees.