initial upload

This commit is contained in:
2025-12-17 11:00:57 +08:00
parent 2bc7b24a71
commit a09a73537f
4614 changed files with 3478433 additions and 2 deletions

View File

@@ -0,0 +1,46 @@
.. _negative_aij :
&nbsp_place_holder;
> **_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**
****&nbsp_place_holder; [Click here for demos](../demos/refine_rivara/test/html/main_rivara.html)