C COMBTA SOURCE CB215821 19/08/01 21:15:27 10279 SUBROUTINE COMBTA ************************************************************************ * * C O M B T A * ----------- * * SOUS-PROGRAMME ASSOCIE A L'OPERATEUR "COMBTABLE" * * FONCTION: * --------- * * EFFECTUER LA COMBINAISON LINEAIRE DE CHPOINTS CONSIGNES DANS UNE * TABLE, INDICES PAR DES POINTS. * * PHRASE D'APPEL (EN GIBIANE): * ---------------------------- * * CC = COMBTABLE (SEMBLABLE) AA BB ; * * LES PARENTHESES INDIQUANT UN ARGUMENT FACULTATIF. * * OPERANDES ET RESULTATS: * ----------------------- * * SEMBLABL 'MOT ' MOT-CLE INDIQUANT QUE LES CHPOINTS A * COMBINER S'APPUIENT SUR LA MEME GEOMETRIE. * AA 'CHPOINT ' CONTIENT LES COEFFICIENTS DE PONDERATION. * BB 'TABLE ' CONTIENT LES CHPOINTS A COMBINER. * CC 'CHPOINT ' COMBINAISON DES CHPOINTS DE LA TABLE. * * MODE DE FONCTIONNEMENT: * ----------------------- * * LES COEFFICIENTS DE PONDERATION DES CHPOINTS DOIVENT ETRE RANGES * DANS UN CHPOINT A 1 COMPOSANTE (QUELCONQUE) APPUYE SUR L'ENSEMBLE * OU UN SOUS-ENSEMBLE DES POINTS-INDICES DE LA TABLE. * NE DEFINIR LE CHPOINT DES COEFFICIENTS QUE SUR UN SOUS-ENSEMBLE * EQUIVAUT A ATTRIBUER DES COEFFICIENTS DE PONDERATION NULS AUX * CHPOINTS DE LA TABLE DONT LES POINTS-INDICES SONT EXCLUS DU * SOUS-ENSEMBLE. * * REMARQUES: * ---------- * * L'OPTION "SEMBLABLE" ACCELERE LE CALCUL, MAIS DEMANDE AU * PROGRAMMEUR UNE BONNE MAITRISE ET UNE BONNE CONNAISSANCE DE LA * STRUCTURE DE SES CHPOINTS. * * SOUS-PROGRAMMES APPELES: * ------------------------ * * COMBT1, LIRE, ECRIRE. * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 30 MAI 1985 * * LANGAGE: * -------- * * FORTRAN77 + EXTENSION: CARACTERES MIS DANS DES ENTIERS * ************************************************************************ * IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO * EXTERNAL COMBI2,COMB02 * * CHARACTER*(4) LOPTIO * ICODE = 0 LOPTIO = ' ' CALL LIRCHA(LOPTIO,ICODE,IRETOU) * ICODE = 1 CALL LIROBJ('CHPOINT ',IPCHP1,ICODE,IRETOU) CALL ACTOBJ('CHPOINT ',IPCHP1,1) IF (IERR .NE. 0) RETURN * ICODE = 1 CALL LIROBJ('TABLE ',IPTABL,ICODE,IRETOU) IF (IERR .NE. 0) RETURN * IF (LOPTIO .EQ. 'SEMB') THEN CALL COMBT1 (IPCHP1,IPTABL,COMBI2, IPCHP4) ELSE CALL COMBT1 (IPCHP1,IPTABL,COMB02, IPCHP4) END IF IF (IERR .NE. 0) RETURN CALL ACTOBJ('CHPOINT ',IPCHP4,1) CALL ECROBJ('CHPOINT ',IPCHP4) END