.. _contact-analytic:

*****************************
Contact with Analytic Objects
*****************************

Contact with analytic objects is desired if a user would like to enforce contact on their meshed body but not modify the mesh file to create the object to come into contact with. This object can be created with the below syntax:

.. code-block:: sierrainput

   BEGIN ANALYTIC OBJECT <string>analytic_object_name
     TYPE = <string> PLANE
     NORMAL DIRECTION = <real>x_dir <real>y_dir <real>z_dir
     ORIGIN = <real>x <real>y <real>z
     SCALE FACTOR = <real> scale_factor
   END [ANALYTIC OBJECT]

This syntax should be placed in the ``REGION`` command scope.

When using an analytic object, it is required to give your analytic object a name. This name is then used when specifying contact surfaces. For example, if you were to name your analytic object ``analytic_obj1``, you would specify the contact surface:

.. code-block:: sierrainput

   CONTACT SURFACE c1 CONTAINS analytic_obj1

The rest of the contact definition is defined using the usual commands. See :numref:`contact-definition` for details.

The input command ``TYPE`` specifies the type of analytic object to create. Currently the only option is to create an analytic plane.

The input command ``NORMAL DIRECTION`` specifies the normal direction of the plane to be created.

The input command ``ORIGIN`` specifies the origin at which the plane is created.

By default, the plane that is created is 3X the size of the maximum length of the meshed body. If it is desired to make the plane a different size, the input command ``SCALE FACTOR`` can be used to  scale the size of the plane.

Kinematic BCs with Analytic Objects
===============================================

A kinematic boundary condition (such as fixed displacement, prescribed displacement, etc.) can be  applied to the analytic object that is created. Within the boundary condition definition, the block name or surface name should be the name given to the analytic object. 

If no kinematic BC is defined on the analytic object, a fixed displacement BC will be applied by default.

Other boundary conditions such as pressure, gravity, or force will not function on analytic planes.
