3.7. Contact
The term “contact” refers to a situation where a simulation needs to be performed that spans a non-contiguously meshed interface, i.e. a nonconformal interface. One example of a nonconformal interface is one that has adjacent blocks and there appears to be a single node at a certain location in space on the interfaces between blocks, but in fact there are distinct nodes that have identical, or nearly identical coordinates. In other words, the mesh nodes have not been merged or equivalenced. More generally, a nonconformal interface does not require that mesh lines match at the interface between block boundaries.
There are two modeling situations that lead to the use of nonconformal interfaces in analyses. The first occurs when compatibility conditions are enforced at the interface to require that the conserved quantity be continuous across the interface. This situation arises as a convenient way to generate the mesh for particularly complex geometries since both parts can be meshed independently. The second modeling situation that occurs is not a matter of convenience, but of physics. It may be that two parts are known to fit imperfectly, so that there is a gap between the two parts that has a certain known resistance. In this case, the enforcement is known as gap conductance (or resistance) and enforces a discontinuous solution across the gap by modeling the flux that is “lost” across the gap. This situation is similar to Interface Conditions when the discontinuous properties exists at an interface that is in a contiguous portion of the mesh.
The contact algorithm is implemented as a Discontinuous Galerkin (DG)-like method that most closely follows the “Generalized Algorithm” discussed in [20] and references therein, and users are encouraged to read that report for more details regarding the nuances associated with the various types of contact enforcement.
3.7.1. Contact Interface
Contact is often enforced across an interface with a
noncontiguous mesh, as seen in Fig. 3.8. The surfaces between two subdomains may be
meshed independently, so that there may be a physical gap between
them, or the nodes on the two surfaces may not align. Moreover,
in parallel computations, these surfaces will in general have
different processor decompositions so that all of the required
information may not be available locally on a given processor.
This nonlocality of information complicates the
implementation, because this information must be constructed in a
consistent way on all processors. Aria uses the stk::search and Dash
packages to detect when facets that lie on
separate surfaces are close enough to be in contact in a parallel consistent manner.
Fig. 3.8 In a Discontinuous Galerkin-based contact enforcement strategy, the elements involved on the right side
, are those whose sides intersect the quadrature points
of the element on the left side
. In general, the sides
of elements on the right side,
, and
, may
not be contiguous.
Even in cases of collocated nodes, the DG-nature of the method means that the conserved quantity is doubly
defined along the contact interface, which is shown as in Fig. 3.9.
The preferred contact enforcement strategy for the case with no contact resistance, i.e., physically a continuous conserved quantity
field, is
TIED_CONTACT, which is derived similarly to Discontinuous Galerkin (DG) and Interior Penalty (IP) methods
[20, 21]. In practice, the continuity in the conserved quantity is only enforced weakly;
however, the jump is convergent with mesh refinement. TIED_CONTACT is useful for analyzing systems whose geometry is so
complex that a contiguous mesh is difficult or impossible to obtain. Also available as an enforcement strategy
is GAP_CONDUCTANCE, which allows a discontinuous conserved quantity
across the interface, and specifies a flux according to a contact resistance.
Contact resistance is generally used when the
system being analyzed consists of at least two parts that touch,
and it is important to model their imperfect fit with a finite resistance.
Fig. 3.9 Contact interface between subdomains and
3.7.2. Contact Enforcement
In Aria TIED_CONTACT and GAP_CONDUCTANCE are implemented in a variational form.
Consider a 2D or 3D domain that consists of a set of subdomains
with interfaces
at the intersection of each
pair
and
,
where
denote the unit outward normal vector on each subdomain
boundary
, as shown in Fig. 3.9.
On each subdomain
, we pose a standard scalar conduction problem of the form
(3.124)
where is the heat flux, and
is a volumetric source term,
along with appropriate boundary conditions on
. The flux is defined as
, where
is the scalar conserved quantity, and
is the conductivity.
The notion of average and jump notations are useful in describing this method. The average notation is defined as
for both scalar and vector quantities and the jump operator is defined as
and
for scalar and vector variables, respectively.
To write (3.124) in a variational statement, let be suitable a test function
that is continuous within each subdomain and possibly discontinuous across
.
We first multiply the differential energy (3.124) in each subdomain
by a suitable test function
and integrate by parts to get the weak form
Assuming for simplicity Dirichlet boundary conditions for have been
specified on
,
we can assume that
on
. Summing over domains gives
(3.125)
where is an arbitrary numerical flux to be chosen, and the summation is over
all surface elements along the interface
. Using the jump operators and noting that
is necessary for conservation, (3.125)
can be written compactly as
(3.126)
As discussed in [21], there are many valid choices for closing the numerical flux.
One such method is the Interior Penalty method, which is the method listed as the “Generalized Algorithm”
in [20]. In this case the numerical flux is chosen as
, and this choice
can be shown to be both consistent and conservative in the weak form of the problem. The resultant weak form of the problem becomes
(3.127)
For the TIED_CONTACT case (an Interior Penalty Method), coefficient and
is defined as
where the overline denotes an average from both sides of the interface ,
is an
arbitrary positive number, nominally
, and
is a local mesh length scale.
For the GAP_CONDUCTANCE case, and
are chosen as in [20], which is repeated here for convenience as
where
As before, the overline notation is used to denote the average from both sides of the interface.
While the above formulation is consistent, i.e. ,
and conservative, i.e.,
is single valued along
, the discrete
form of the integrals is only conservative in the case of collocated nodes, which is generally not the case
in practical usage. However, [20] has shown that the error norms do decrease
according to the order of the underlying finite-element scheme, as expected.