**NEGATIVE_AIJ**

This command tests all edges of all boundary faces for negative coupling coefficients.

It adds three attributes to the mesh object:

attribute | type | description | |
---|---|---|---|

num_neg_coup_coeff | type=INT, length=scalar | number of negative coupling coefficients | |

neg_coup_coeff | type=VDOUBLE | length=num_neg_coup_coeff | value of coupling coefficient |

ietet_aij | type=VINT, length=num_neg_coup_coeff,rank=vector | (see below) |

for each negative coupling coefficient, i: ietet_aij(1,i) contains the tetrahedron number which contributes the most negative portion to the coupling coefficient, ietet_aij(2,i) contains the local face number that contains the local edge (ietet_aij(3,i)) which has the negative coupling coefficient

These attributes can be used to generate a set of points to be added to
the mesh in an attempt to reduce the number of negative coupling
coefficients by the **refine** option. The points added are created by
projecting the fourth node of the tetrahedron onto the identified face
and then projecting this projection onto the identified edge. If the
final projected point lies between the end points of the identified
edge, this edge is refined. The identification and refinement steps may
be iterated up to maxiter times. Alternatively the attribute may be used
to create an **eltset** of the identified elements.

The **rivara** option uses a rivara refinement method to add nodes on
exterior boundary edges until all coupling coefficients are positive or62
until a maximum number of iterations has been exceeded.

**FORMAT:**

**negative_aij**

**negative_aij** **/refine**

**negative_aij** **/refine**/maxiter

**negative_aij/eltset**/eltset_name

**negative_aij/rivara**

**EXAMPLES:**

**negative_aij**

**negative_aij/refine**

only one iteration will be performed

**negative_aij/refine/5**

a maximum of 5 iterations will be performed

**negative_aij/eltset**/bad_tets

an element set called bad_tets will be made no refinement will be performed

/**negative_aij/rivara**