1 : $$$$ KOPS NOTICE MAGN 17/02/24 21:15:18 9323 2 : DATE 17/02/24 3 : 4 : Operateur KOPS Voir aussi : 5 : -------------- 6 : 7 : RES = KOPS CHP1 'MOTCLE' CHP2 ; 8 : 9 : ou 10 : 11 : RES = KOPS CHP1 'MOTCLE' TABD ; 12 : 13 : 14 : 15 : Objet : 16 : 17 : Effectue des operations arithmetiques entre deux CHPOINTs 18 : ou un CHPOINT et un flottant. 19 : Calcule le gradient ou le rotationnel d'un CHPOINT 20 : Calcule le produit matrice vecteur entre un objet MATRIK et un 21 : CHPOINT 22 : Calcule le produit entre un objet MATRIK et un FLOTTANT 23 : 24 : RES , CHP1 CHP2 CHPOINT et/ou FLOTTANT 25 : TABD objet MODEL 'NAVIER_STOKES' 26 : 'MOTCLE' a choisir dans la liste suivante : 27 : 28 : '*' multiplication de deux CHPOINT 29 : de type SCALAIRE ou VECTEUR composante par 30 : composante 31 : le resultat est un CHPOINT SCALAIRE ou 32 : VECTEUR 33 : 34 : '/' idem precedent pour la division 35 : 36 : '+' idem precedent pour l'addition 37 : 38 : '-' idem precedent pour la soustraction 39 : 40 : '|<' Borne inferieurement un CHPOINT par un flottant. 41 : OBJ1 = KOPS OBJ2 '|<' OBJ3; 42 : OBJ1,OBJ2 CHPOINT OBJ3 FLOTTANT 43 : 44 : '>|' Borne superieurement un CHPOINT par un flottant. 45 : OBJ1 = KOPS OBJ2 '>|' OBJ3; 46 : OBJ1,OBJ2 CHPOINT OBJ3 FLOTTANT 47 : 48 : 'GRAD' calcule le Gradient d'un CHPOINT scal sommet. 49 : Le resultat est un CHPOINT vect centre. 50 : Ne marche que pour les discretisations LINE,MACRO 51 : 52 : 'GRADS' calcule le Gradient d'un CHPOINT scal sommet. 53 : Le resultat est un CHPOINT vect sommet. 54 : Marche pour toutes les discretisations LINE,MACRO 55 : et QUAF. 56 : 57 : 'ROT ' calcule le Rotationel d'un CHPOINT vect sommet 58 : le deuxieme argument doit etre une table domaine 59 : ex : rt2d= kops un 'ROT' $mt ; 60 : Cf exemple 1 ci-dessous 61 : 62 : 'CLIM' N (N is an INTEGER) 63 : surcharge dans CHP1 les valeurs de CHP2 64 : N=0 les noeuds correspondants sont mis a 0. 65 : N=1 " " " " a 1.e30 66 : N=2 " " " " a (CHP2*1.e30) 67 : N=3 " " " " a CHP2 68 : Si l'entier N est precede du signe -, les composantes 69 : de CHP2 doivent etre identiques a celles de CHP1 70 : sinon CHP1 n'est pas surcharge. 71 : Si l'entier N est positif, on teste sur les composantes 72 : UX UY UZ 73 : 74 : 'MULT' realise le produit matrice vecteur entre un objet 75 : MATRIK et un CHPOINT ou un FLOTTANT 76 : ex : p1=kops ma1 'MULT' un ; 77 : Cf exemple 2 ci-dessous : calcul de la pression 78 : par une methode de penalisation. 79 : 80 : 'RIMA' permet le passage d'un objet matrik a un objet 81 : rigidite et vice-versa 82 : 83 : Example 84 : ----------- 85 : rig1 = KOPS RIMA matrik1 ; 86 : matrik2 = KOPS RIMA rig2 ; 87 : rig1, rig2 objet de type rigidite 88 : matrik2, matrik1 objet de type matrik 89 : 90 : Si on veut forcer la création d'un objet RIGIDITE non 91 : symétrique, on indique le mot-clé 'NSYM' 92 : Example 93 : ----------- 94 : rig1 = KOPS RIMA matrik1 'NSYM' ; 95 : 96 : 'MATIDE' permet de creer un objet RIGIDITE ou MATRIK identite 97 : mat1 = kops lmot1 geo1 ('MATRIK') ; 98 : ou 99 : lmot1 = liste de noms des inconnues (LISTMOTS) 100 : geo1 = support geometrique des inconnues 101 : (MAILLAGE) 102 : mat1 = RIGIDITE ou MATRIK identite 103 : 104 : 'MATDIAGO' permet de creer un objet RIGIDITE (ou MATRIK) 105 : diagonal 106 : mat1 = kops 'MATDIAGO' chpo1 ('MATRIK') ; 107 : ou 108 : chpo1 = valeurs des termes diagonaux (CHPOINT) 109 : mat1 = RIGIDITE (ou MATRIK) diagonal 110 : Pour les objets RIGIDITE, utilisez plutot 111 : l'operateur 'MANU' 'RIGI'. 112 : 113 : 'CHANINCO' mot clef obsolete. Voir l'operateur CHAN 114 : mot clef 'INCO'. 115 : 116 : 'NINCDUPR' change les noms d'inconnues duales d'une 117 : matrice (ou d'un chpoint dual) afin qu'ils 118 : soient identiques aux noms d'inconnues 119 : primales 120 : |mat2 | = 'KOPS' 'NINCDUPR' |mat1 | ; 121 : |chpo2| |chpo1| 122 : mati sont de type RIGIDITE ou MATRIK 123 : 124 : 'NINCPRDU' change les noms d'inconnues duales d'une 125 : matrice (ou d'un chpoint dual) afin qu'ils 126 : correspondent aux noms d'inconnues primales 127 : suivant la correspondance conventionnelle 128 : de Castem 129 : (ex: 'UX' <-> 'FX', 'T' <-> 'Q', etc...) 130 : |mat2 | = 'KOPS' 'NINCPRDU' |mat1 | ; 131 : |chpo2| |chpo1| 132 : mati sont de type RIGIDITE ou MATRIK 133 : 134 : 'TRANSPOS' transpose une matrice (type MATRIK ou RIGIDITE) 135 : mat2 = 'KOPS' 'TRANSPOS' mat1 ; 136 : 137 : 'EXTRNINC' mot clef obsolete. Voir l'operateur EXTR 138 : mot clef 'COMP' et 'COMP' 'DUAL' 139 : 140 : 'EXTRINCO' mot clef obsolete. Voir l'operateur EXTR 141 : 142 : 'EXTRDIAG' mot clef obsolete. Voir l'operateur EXTR 143 : mot clef 'DIAG' 144 : 145 : 'SPAIDIAG' Renvoie un inverse approche diagonal (SPAI-D) 146 : (type CHPOINT) d'une matrice (type MATRIK ou 147 : RIGIDITE). 148 : chp1 = 'KOPS' 'SPAIDIAG' mat1 ; 149 : 150 : 'EXTRCOUP' cree une table contenant la partition des 151 : blocs diagonaux que l'on peut faire a partir 152 : de la matrice ma1. Chaque entree de la table 153 : contient la liste des inconnues duales 154 : constituant un bloc. 155 : tab = 'KOPS' 'EXTRCOUP' ma1; 156 : 157 : 'POINTEUR' renvoie le pointeur d'un objet (type ENTIER) 158 : (voir aussi l'operateur 'MANU' 'OBJE') 159 : enti = 'KOPS' 'POINTEUR' obj1 ; 160 : 161 : 'MATRIK' renvoie un champoint et une matrice 162 : (type MATRIK) vide 163 : chvid matvid = 'KOPS' 'MATRIK' ; 164 : 165 : 'CMCT' calcule un produit de matrices du type 166 : complement de Schur C D Bt. 167 : D est diagonale stockee dans un chpoint. 168 : mat3 = 'KOPS' 'CMCT' mat1 mat2 (chpo) ; 169 : mat1 : matrice C (type RIGIDITE ou MATRIK) 170 : mat2 : matrice B (type RIGIDITE ou MATRIK) 171 : chpo : matrice D optionnelle (type CHPOINT) 172 : mat3 : matrice CDBt ou CBt 173 : (type RIGIDITE ou MATRIK) 174 : 175 : 'RELA' Transforme une matrice (type RIGIDITE) en 176 : matrice de relations (contraintes type 177 : RIGIDITE). On peut préciser un second membre 178 : (type CHPOINT) afin de donner une valeur non 179 : nulle à la relation. 180 : mat2 (chp2) = 'KOPS' 'RELA' mat1 (chp1) ; 181 : 182 : 'CONDENSE' A partir d'un systeme lineaire (A, b) 183 : (type RIGIDITE, CHPOINT), on construit un 184 : systeme reduit obtenu par elimination des 185 : contraintes. 186 : Ar br br1 = 'KOPS' 'CONDENSE' A b ; 187 : 188 : 'EVAPORE' A partir de la solution d'un systeme reduit 189 : xr (type CHPOINT), on reconstruit la solution 190 : du systeme avant reduction 191 : x = 'KOPS' 'EVAPORE' xr A b br1 ; 192 : 193 : 194 : EXEMPLE DIVERS 195 : -------------- 196 : 197 : 198 : 199 : Exemple 1 : 200 : ----------- 201 : 202 : Calcul et trace de la fonction de courant d'un champ de vitesse 203 : (par resolution de l'equation laplacien(psi) + rot(un) = 0) 204 : un : champ de vitesse 205 : $mt : table domaine 206 : 207 : 208 : sw = kops un 'ROT' $mt ; 209 : rk = EQEX $MT 'OPTI' 'EF' 'IMPL' 210 : ZONE $mt OPER LAPN 1. INCO 'PSI' 211 : ZONE $mt OPER FIMP sw INCO 'PSI' 212 : 'CLIM' 'PSI' 'TIMP' (parois) 0. 213 : ; 214 : 215 : rk.'INCO'.'PSI'=kcht $mt scal sommet 0. ; 216 : exic rk ; 217 : psi=rk.'INCO'.'PSI' ; 218 : trace psi mt ; 219 : 220 : 221 : Exemple 2 : 222 : ----------- 223 : 224 : Calcul de la pression par une methode de penalisation. 225 : 226 : KPRESS='CENTREP1' ; en accord avec l'approximation de pression 227 : EPSS=1.e10; et le EPSS dans le calcul de la vitesse 228 : 229 : r1=eqex $mt 'OPTI' EF IMPL KPRESS 230 : kmac (r1.'1KMAC') ; 231 : un= nomc (mots UX UY ) (mots 1UN 2UN ) un ; 232 : 233 : p1=kops (r1.'1KMAC'.'MATELM') 'MULT' un ; 234 : 235 : p11= kcht $mt SCAL KPRESS (nomc p1 'SCAL') ; 236 : pn=elno $mt p11 KPRESS ; 237 : trace pn $mt.maillage ; 238 :
© Cast3M 2003 - Tous droits réservés.
Mentions légales