NEGATIVE_AIJ
This command tests all edges of all boundary faces for negative coupling coefficients.
It adds three attributes to the mesh object: 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 -
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 or 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
 
Click here for demos