udfGetEbcJac()

Return the array storage for the surface element Jacobian at the quadrature point.

Syntax

jac = udfGetEbcJac( udfHd, dataName ) ;

Type

AcuSolve User-Defined Example Boundary Condition

Parameters

udfHd
The opaque handle (pointer) which was passed to the user function.
dataName (integer)
Symbolic name of the independent variable of the Jacobian.
UDF_EBC_JAC_VELOCITY
Velocity.
UDF_EBC_JAC_PRESSURE
Pressure.
UDF_EBC_JAC_TEMPERATURE
Temperature.
UDF_EBC_JAC_SPECIES
Species.

Return Value

data (Real*)
Pointer to multi-dimensional real array of the surface element Jacobian. The first (fastest) dimension of the array is the number of elements, nItems, the second dimension is one or three for the components of the UDF type, and the third (slowest) dimension is one or three for the components of the given independent variable.

Description

This routine returns the array storage for the surface element Jacobian at the quadrature point. The Jacobian is defined here as the derivative of the UDF type with respect to the independent variable given by dataName. This Jacobian becomes part of the left-hand side of the solution strategy only. Therefore, it does not affect the final solution itself, but it may be very important to achieving a robust strategy to obtain the solution.

If the specified combination of type and independent variable is not supported, then a NULL is returned. If the combination is supported but the particular problem does not contain the appropriate physics, then the array storage is returned but not used. This feature is convenient for certain types of restart problems. For instance, if the type is gravity and dataName is UDF_EBC_JAC_TEMPERATURE, then storage for a two dimensional array (nItems, three) is returned for you to fill with the appropriate data. But this data will not be used if there is no temperature equation specified in the problem. However, if such an equation is specified on restart, then the data is used by the solver.

The returned array is three-dimensional in general. The first (fastest) dimension of the array is the number of elements, nItems. The second dimension is three for a UDF for the tangential traction and one for all other variables. The third (slowest) dimension is three for a dataName of UDF_EBC_JAC_VELOCITY and one for all others. If either the second or third dimension is one then the array may be treated as two-dimensional, as in the above example. If both are one, then the array is one-dimensional.

This function is used very similarly to udfGetElmJac.

Errors

  • This routine expects a valid udfHd.
  • This routine may only be called within an Element Boundary Condition user function.
  • dataName must be one of the values given above.