The Roller boundary condition is similar to a
Symmetry boundary condition, since it constrains the displacement in a direction normal to the boundary. A
Roller is however intended to be used also on curved boundaries. The constraint can be formulated as
where the normal nr is computed using different methods depending on the selection in the
Roller Constraint section.
When Normal orientation is set to
Automatic, the normal orientation is computed from the mesh, or its underlying geometry. Consider for example a roller condition on a planar surface. Theoretically, the normal at all mesh nodes should be parallel. But if there are inaccuracies in the node locations, the computed normals may not be exactly the same everywhere. They can differ not only between nodes, but also between neighboring elements connected to the same node. Thus, there may be constraints acting in somewhat different directions. Such constraints can make the boundary appear as fixed, rather than sliding. This potential problem can be reduced if you select
Nodal as
Constraint method in the C
onstraint Setting section.
If you select one of the explicit shapes (Plane,
Cylinder, or
Sphere) as
Normal orientation, then the orientation of the normal
nr is instead a user input, so there will be no problem with numerical inaccuracies.
If you select Plane, you give the direction explicitly as a constant vector.
If you select Cylinder, the normal is computed as being perpendicular to the cylinder axis at each mesh node. The input defining the cylinder is a
Point on axis,
Xc, and the vector along the cylinder axis,
es. For a node located at a an original coordinate
X, the normal orientation is computed as
Here it is not necessary to normalize nr. It is actually the radial vector from the cylinder axis to the location
X.
If you select Sphere, the normal is computed as the direction from the center of the sphere to each mesh node. The only input is a
Center of sphere,
Xc. For a node located at a an original coordinate
X, the normal (actually, the radial vector) is computed as