Télécharger nlin.notice

Retour à la liste

Afficher cette notice en

Numérotation des lignes :
$$$$ NLIN     NOTICE  GOUNAND   21/06/02    21:17:18     11022          
                                             DATE     21/06/02
$X   NLIN (Construction de matrices elementaires)


  Voir aussi :
                                                           NAVI ININLIN


      Operateur NLIN
      ______________


      RIG1 = 'NLIN' MOT1 MAIL1 (MAIL2) TAB1 TAB2 ...
                    ...   |('EREF')| ('ERRJ') ('MATK') ('MREG') ...
                          |('ERF1')|
                    ...   |('CHPO')| MOT2 ;
                          |('CHAM')|

      Objet :
      _______

      L'operateur NLIN (Noyau LINeaire) cree une matrice correspondant 
      a la discretisation d'une forme bilineaire par une methode 
      d'elements finis scalaires.  

      On aura :

             ---      /    
             \        |   dN_s               dM_r
      RIG1 = /        |  ------ d_qsl c_qrk ----- dOmega
             ---      |   dx_l               dx_k
           q,s,r,k,l  |
                      / Omega

      ou :  - Omega est le domaine d'integration de dimension n<=m,
              inclus dans R^m, et {x_1,...,x_m} une base orthogonale 
              de R^m ;
            - k, l sont des indices muets variant de 0 a m (ou n si 
              un des mots-cles 'EREF' ou 'ERF1' est specifie) avec
              la convention que d/dx_0 est l'identite ;
            - q varie de 1 a n_op, nombre d'operateurs a discretiser ;
            - r varie de 1 a n_vp, nombre de variables primales ;
            - s varie de 1 a n_vd, nombre de variables duales ;
            - \M^r (resp. \N^r) sont les fonctions d'interpolation de 
              l'espace d'elements finis de la variable r (resp. s) ; 
            - c_qkr (resp. d_qsl) sont des multiplicateurs. Ils sont 
              obtenus par la multiplication de coefficients.
              Un coefficient est obtenu par une loi de comportement 
              dependant de donnees connues.

      MOT1     : objet de type MOT, nom d'une famille d'elements finis 
                 utilisee pour l'interpolation geometrique.

      MAIL1    : objet de type MAILLAGE constitue d'elements de type
                 QUAF, support de l'ensemble des espaces d'elements 
                 finis utilises. Si MAIL2 n'est pas donne, MAIL1 sert 
                 egalement de domaine d'integration Omega. 

      MAIL2    : objet optionnel de type MAILLAGE constitue d'elements 
                 surfaciques de type QUAF. Ce maillage surfacique doit 
                 s'appuyer sur MAIL1 et sert de domaine d'integration 
                 Omega.

      TAB1     : objet de type TABLE contenant les informations liees 
                 aux variables primales.

      TAB2     : objet de type TABLE contenant les informations liees 
                 aux variables duales.

      EREF     : mot-cles indiquant que les integrations sont 
      ERF1       effectuees sur les elements de reference ou sur les
                 elements de reference dont le volume a ete normalise
                 a 1.

      ERRJ     : mot-cle indiquant que, si le signe du jacobien change
                 sur un element, l'operateur n'emet pas une erreur
                 mais renvoie un entier (code d'erreur).

      MREG     : mot-cle indiquant que MAIL1 est constitue d'elements
                 identiques (orientation comprise).

      CHAM     : mot-cle indiquant que NLIN renvoie des objets de type
                 MCHAML (forces non assemblees) au lieu de CHPOINT le
                 cas echeant (cf. note 1). 

      MOT2     : Famille de methode d'integration a utiliser.
      
      RIG1     : objet de type RIGIDITE (ou MATRIK si le mot-cle MATK
                 est utilise) contenant la matrice de l'operateur 
                 discretise.
                 (ou objet de type ENTIER si mot-cle ERRJ)

       
      Commentaires :
      ______________

          Un espace de discretisation est un regroupement 
          coherent d'elements finis (une "famille"). Les 
          familles disponibles, qui ne comprennent pas forcement
          toutes les formes geometriques d'elements, sont :
          * 'CSTE' : constant par element  (L2 degre 0) ;
          * 'LINM' : lineaire par morceaux (L2 degre 1) ;
          * 'LINE' : lineaire              (H1 degre 1) ;
          * 'LINC' : lineaire non conforme    (degre 1) ;
          * 'LINB' : lineaire + bulle      (H1 degre 1) ;
          * 'QUAI' : quadratique incomplet (H1 degre 2) ;
          * 'QUAD' : quadratique           (H1 degre 2) ;
          * 'QUAF' : quadratique + bulle   (H1 degre 2) ;
          * 'CUBI' : cubique               (H1 degre 3) ;
          * 'BULL' : bulle                (H10 degre 0).

          Une famille de methodes d'integration est un regroupement 
          coherent de methodes d'integration. Les familles 
          disponibles, qui ne comprennent pas forcement toutes les 
          formes geometriques d'elements, sont :
          * 'GAUi' : methodes d'integration type gauss d'ordre 
                     au moins i (i compris entre 1 et 7) ;
          * 'GAPi' : methodes d'integration type gauss produit
                     d'ordre au moins i (i valant 3, 5 ou 7).
          * 'NC1 ' : methodes d'integration type Newton-Cotes
                     d'ordre au moins 1 
                     (points d'integration : sommet des elements)
          * 'GAMi' : points de Gauss pour la masse (interpolation
                     d'ordre i) (i compris entre 1 et 2)
          * 'GARi' : points de Gauss pour la rigidite (interpolation
                     d'ordre i) (i compris entre 1 et 2)


          Une table contenant les informations liees aux variables
          de l'espace primal (ou dual) est organisee de la façon 
          suivante :
          
          A . 'NUMOP'  = n_op   ; nombre d'operateurs    (indice q)
          A . 'NUMVAR' = n_vp   ; nombre de variables    (indice r)
          A . 'NUMDAT' = n_dp   ; nombre de donnees      (indice v)
          A . 'NUMCOF' = n_cp   ; nombre de coefficients (indice w)
          A . 'NUMDER' = m      ; dimension de l'espace d'integration
                                    (indices k variant de 0 a m)
          * Variable r :
          
          A . 'VAR' . r . 'NOMDDL' = MOT ou LISTMOTS ;  nom(s) des ddls
          A . 'VAR' . r . 'DISC'   = MOT ;  espace de discretisation

          * Donnee v :

          A . 'DAT' . v . 'NOMDDL' = MOT ou LISTMOTS ;  nom(s) des ddls
          A . 'DAT' . v . 'DISC'   = MOT ;  espace de discretisation
          A . 'DAT' . v . 'VALEUR' = CHPOINT
                                  ou MCHAML aux noeuds de MAIL1
                                  ou FLOTTANT
                                  ou ENTIER  valeurs des ddl
          * Coefficient w

          A . 'COF' . w . 'COMPOR' = MOT ; nom de la loi de comportement
          A . 'COF' . w . 'LDAT'   = ENTIER ou LISTENTI ;  numero(s) v des
                                donnees dont depend la loi de comportement
          
          * Multiplicateur c_qrk :

          A . q . r . k = ENTIER ou LISTENTI ; numero(s) w des coefficients dont
                                     la multiplication donne c_qrk
                                     (un LISTENTI vide ou un ENTI egal a
                                     0 implique c_qrk = 1 ; un w negatif
                                     indique une division par le
                                     coefficient de numero |w|)

          Une telle table peut etre initialisee par la procedure
          ININLIN.

          Les noms des lois de comportement actuellement implementees 
          sont les suivants :
          * 'RIEN' : fonction de 0 donnee valant 1 ;
          * 'IDEN' : fonction de 1 donnee x valant x ;
          * 'RAYS' : fonction de 3 donnees epsi, sigma, T valant 
                     epsi * sigma * T^3 ;
          * 'MUR ' : fonction de 4 donnees T1, T2, V1, V2  valant 
                     V1 si T1 > T2 et V2 sinon ;
          * 'SUTH' : fonction de 3 donnees T, Tref, S valant 
                     (T/Tref)^3/2 ((Tref+S)/(T+S)) 
                     (loi de Sutherland) ;
          * 'D/DXi' : fonction de 1 donnee T valant dT/dx_i 
                     (fonction composante i du gradient) ;
          * 'DIV'  : fonction de m donnees (u_1,...u_m) 
                     valant \som_{i=1,m} du_i/dx_i 
                     (fonction divergence) ;
          * 'TAILDIRE' : fonction de m donnees (u_1,...u_m) donnant 
                         la taille de l'element courant dans la 
                         direction definie par (u_1,...u_m).
          * 'MUSTABij' : fonction de m+3 donnees \rho, \mu,
                         (u_1,...u_m), Pe_c
                         donnant les composantes d'un vecteur v_j 
                         (j variant de 1 a m) permettant de construire 
                         un tenseur de viscosite numerique T_jk=v_j v_k
                         afin de stabiliser une equation de transport-
                         diffusion.
                         Si j=0, on obtient une valeur scalaire 
                         correspondant a une viscosite numerique.
                         \rho est le coefficient du terme de transport.
                         \mu est le coefficient du terme de diffusion.
                         (u_1,...u_m) est la vitesse de transport.
                         Pe_c est le Peclet critique (valeur courante :
                         2).
                         i varie de 1 a 3 et designe la methode de
                         decentrement :
                         * i = 1 : decentrement amont
                         * i = 2 : decentrement SUPG (critical approx)
                         * i = 3 : decentrement SUPG (doubly asymptotic)
          * 'VNORi'    : fonction de 0 donnee donnant la ieme 
                         composante d'un vecteur unitaire  normal a une
                         surface.
          * 'X1'       : fonction de 0 donnee donnant la valeur de la
                         premiere coordonnee x_1 (uniquement disponible
                         en mode axisymétrique). 


      Notes :
      _______
          
      1)  Il est possible de preciser la valeur des variables primales
          et/ou duales avec la meme syntaxe que pour les donnees :

          A . 'VAR' . r . 'VALEUR' = CHPOINT 
                                  ou MCHAML aux noeuds de MAIL1
                                  ou FLOTTANT
                                  ou ENTIER             valeurs des ddl

          Si on donne la valeur des variables primales (resp. duales),
          RIG1 est alors un objet de type CHPOINT dual (resp. primal).
          Si le mot-cle 'CHAM' est donne et que l'espace dual (resp.
          primal) est de type 'LINE', 'QUAI' ou 'QUAF' alors RIG1 est
          un objet de type MCHAML defini aux noeuds, representant une
          force non assemblee.

          Si on donne les valeurs des variables primales et duales,
          RIG1 est un objet de type CHPOINT de composante 'SCAL', 
          donnant la valeur de l'integrale par element.
          Si le mot-cle 'CHAM' est donne alors RIG1 est un objet de type
          MCHAML defini aux noeuds de MAIL1, constant par element.

      2)  Si une donnee ou a une variable a une valeur constante :

          A . | 'VAR' . r | . 'VALEUR' = FLOTTANT ou ENTIER
              | 'DAT' . v |

          il n'est pas necessaire de donner de donner les indices
          'NOMDDL' et 'DISC' associes.

      3)  Pour un coefficient w, la loi de comportement est 'IDEN' par
          defaut, on peut donc omettre la ligne :

          A . 'COF' . w . 'COMPOR' = 'IDEN' ;

      4)  Pour un coefficient w avec une loi de comportement a 0 donnee,
          on peut omettre la ligne :
          
          A . 'COF' . w . 'LDAT'   = 'LECT' ;

      5)  MAIL1 peut etre un maillage standard (lineaire ou quadratique
          non QUAF) sous les conditions suivantes :
          - MAIL2 ne doit pas etre donne ;
          - tous les espaces de discretisation utilises doivent pouvoir
            s'appuyer uniquement sur les noeuds de MAIL1.
      

© Cast3M 2003 - Tous droits réservés.
Mentions légales