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.



negative_aij /refine

negative_aij /refine/maxiter






only one iteration will be performed


a maximum of 5 iterations will be performed


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


Click here for demo of the command above