Skip to content

fixedTorqueFvPatchVectorField

Description

The fixedTorque boundary condition applies a fixed torque (in Nm) uniformly distributed over the boundary faces. This boundary condition is useful for simulating rotational forces acting on a boundary.

The applied torque is defined by the user in the boundary dictionary, specifying the magnitude, axis of rotation, and optionally, the center of rotation. If no center is provided, the rotation center is automatically calculated.


Options

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

Parameters in the patch subdictionary for fixedTorque:

torque Magnitude of the applied torque in Nm.
axis Vector specifying the axis of rotation (e.g., (0 0 1) for the z-axis).
centre (Optional) Vector specifying the center of rotation in meters. If not provided, the rotation center is automatically calculated.

Parameters in the patch subdictionary derived from tractionDisplacement:

planeStrain Activates the plane strain approximation for the normal stress at the boundary. When enabled, the normal strain is assumed constant across the last layer of cells. Default: false.
fixedSpring Activates a fixed spring-dashpot system for additional stability. Default: false.
fixedSpringModulus Spring modulus in N/m. Required when fixedSpring is set to true.
dashpotModulus Dashpot modulus in N/m. Required when fixedSpring is set to true.
relax Relaxation factor for gradient updates. Default: 1.0.
value Initial displacement value (not stress).


Usage

To apply the fixedTorque boundary condition to a given patch, you need to specify its typename in the patch definition in the boundary condition file (e.g., 0/D or 0/DD for simulations involving incremental mechanical solvers).

Example: Applying fixedTorque to the rotatingBoundary patch:

rotatingBoundary
{
    type            fixedTorque;

    // Magnitude of the applied torque in Nm
    torque          10.0;

    // Axis of rotation
    axis            (0 0 1);

    // (Optional) Center of rotation
    centre          (0 0 0);

    // Activate plane strain approximation (default is false)
    planeStrain     false;

    // Relaxation factor for the gradient update
    relax           1.0;

    // Initial displacement value
    value           $internalField;
}