missing close-brace
    while executing
"proc ORTHON {A,AA} {"
    (in namespace eval "::request" script line 1)
    invoked from within
"namespace eval ::request $script"
    ("::try" body line 12)

OUTPUT BUFFER:

proc ORTHON {A,AA} { # ORTHONORMALISATION DE 3 VECTEURS (VECT. LIGNES DE A) # LA DIRECTION DU 1ER VECT. EST CONSERVEE, AINSI QUE LE PLAN DES # DEUX PREMIERS VECTEURS. B CONTIENT LES COORD. RECIPROQUES # # AA EST LE METRIQUE (AA(I,J)=PROD.SCAL. A(I)*A(J) ) # # METRIQUE RECIPROQUE SMI3(AA,BB,DELTA) # PROD. VECTORIELS A1*A2 ET A3*A1 CALL PRVECT(1,A,B,BB) CALL PRVECT(3,A,B,BB) # COMPOSANTES RECIPROQUES DU 1ER VECTEUR foreach J {1 2 3} { set B(1,$J) [expr [set A(1,1)]*[set AA(1,$J)]+[set A(1,2)]*[set AA(2,$J)]+[set A(1,3)]*{set AA(3,$J)]] } # NORMALISATION foreach I {1 2 3} { set ANORM [expr sqrt([set A($I,1)]*[set B($I,1)]+[set A($I,2)]*[set B($I,2)]+[set A($I,3)]*[set B($I,3)])] if(ANORM.lt.1.E-30) stop ' STOP ORTHON' foreach J {1 2 3} { set A($I,$J) [expr [set A($I,$J)]/$ANORM] } } return } proc PRVECT {I,A,B,BB} { # PRODUIT VECTORIEL DES VECTEURS LIGNES I ET J=I+1 DE LA MATRICE A # ( A UN FACTEUR CONSTANT PRES : LE VOL. DE LA MAILLE) MOD3 $I J K foreach L {1 2 3} { MOD3 $L M N set B($K,$L) [expr [set A($I,$M)]*[set A($J,$N)]-[set A($I,$N)]*[set A($J,$M)]] } # COMPOSANTES DIRECTES foreach L {1 2 3} { set A($K,$L) [expr B($K,1)]*[set BB(1,$L)]+[set B($K,2)]*[set BB(2,$L)]+[set B($K,3)]*[set BB(3,$L)]] } return } proc MOD3 {I,aJ,aK} { upvar $aJ J upvar $aK K set J [expr ($I+1)%3] set K [expr ($I+2)%3] }