# udfGetEbcCovar()

Return the surface covariant at the surface quadrature point.

## Syntax

covar = udfGetEbcCovar( udfHd ) ;

## Type

AcuSolve User-Defined Example Boundary Condition

## Parameters

- udfHd
- The opaque handle (pointer) which was passed to the user function.

## Return Value

- covar (Real*)
- Pointer to two dimensional real array of the covariant. The first (fastest) dimension of the array is the number of surfaces, nItems, and the second (slower) dimension is six, for the xx, yy, zz, xy, yz and zx components.

## Description

This routine returns the surface covariant at the surface quadrature point. The surface covariant is given by

where is the local parent
element coordinate (with being normal to the surface) and is the global coordinate.
The latter is for the current (deformed) configuration if mesh displacement is active. For
example,

```
Real* covar ;
Real xx_covar, yy_covar, zz_covar ;
Real xy_covar, yz_covar, zx_covar ;
Integer surf ;
...
covar = udfGetEbcCovar( udfHd ) ;
for ( surf = 0 ; surf < nItems ; surf++ ) {
xx_covar = covar[0*nItems+surf] ;
yy_covar = covar[1*nItems+surf] ;
zz_covar = covar[2*nItems+surf] ;
xy_covar = covar[3*nItems+surf] ;
yz_covar = covar[4*nItems+surf] ;
zx_covar = covar[5*nItems+surf] ;
...
}
```

## Errors

- This routine expects a valid udfHd.
- This routine may only be called within an Element Boundary Condition user function.