This record specifies a contact geometry. Contacting nodes are forced to stay at the outward normal side of the contact geometry.

The allowed geometries and their material outward normals are listed below

- If a
**geometry_point**is used in 1D, the normal is in positive x-direction. - If a
**geometry_line**is used in 2D, the normal is the outer product of 3-direction and the line direction (from point 0 to point 1). - If a
**geometry_circle**is used in 2D, the normal is the outward direction at the circle. - If a
**geometry_ellipse**is used in 2D, the normal is the outward direction at the ellipse. - If a
**geometry_sphere**is used in 3D, the normal is the outward direction at the sphere. - If a
**geometry_polynomial**is used in 2D, the normal is in positive y-direction. - If a
**geometry_polynomial**is used in 3D, the normal is in positive z-direction. - If a
**geometry_triangle**is used in 3D, the normal is in direction of the outer product v01 v02 where v01 is the vector from node 0 to node 1 and v02 is the vector from node 0 to node 2. - If a
**geometry_quadrilateral**is used in 3D, the normal is in direction of the outer product v01 v02 where v1 is the vector from node 0 to node 1 and v02 is the vector from node 0 to node 2. Only non-distorted quadrilaterals should be used.

In stead of geometries, also contact
with all elements will be checked.
Only contact with the elements **-bar2**, **-tria3**,
**-quad4**, **-tet4** and **-hex8** can be detected.
The outer boundary of the elements should be specified
by **node_boundary** records.
Often it is sufficient to apply **node_boundary** records
on the body with the coarsest mesh; if the meshes
of the contacting bodies are of the same size however,
you should specify **node_boundary** records for both
contacting bodies.

The time steps should be such small, that contacter nodes penetrate the other elements only in small steps.

If a **contact_geometry ** is used, then
the contacter node should also be within the tolerance of
the geometrical entity to be noticed!

If contact is detected, normal contact forces of
size *contact_penalty_velocity* penetration are
generated between the contacting node and the
other element. Moreover, also a frictional force of size
*friction* normal force is generated
(see **contact_friction**).

You need more iterations, see **control_timestep_iterations**,
then normal; say 5 or more.

As an alternative to the contact algorithm, see **slide_geometry**.