Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: Symétrisation et recollement d'une S.D. Sup.: 2 Manipulation de solutions Préc.: 2 Manipulation de solutions Index Table des matières


2.1 Construction manuelle d'une S.D. B

Le préprocesseur COSDXX permet de construire une S.D. B à partir :

Dans le cas où on affecte une valeur donnée (via un vecteur), le module COSDB est appelé. Pour affecter une valeur dépendant des coordonnées du noeud, on utilise le module COSNOB qui, pour ND constant, exploite la S.D. NOPO ou on utilise le module COSMCB qui, pour ND quelconque, exploite les S.D. MAIL et COOR.

Le module COSDB correspond au cas où l'on donne un vecteur (U) ou deux vecteurs (U et V) pour construire la S.D. B telle que:

B4(I) = U(I)

ou, pour créer une structure à deux tableaux B4 (deux vecteurs sont alors utilisés):

B4(I) = U(I) et B4(I) = V(I)

      SUBROUTINE COSDB(M,NVEC,U,V,LUV,ND,NFB,NIB,NTAB)
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C  UTILITAIRE COSDB : CREER UNE SD B A PARTIR DE UN OU DEUX VECTEURS
C  ----------------
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Si NTAB est non nul, on doit donner :

Boucle I de 1 à NTAB

Fin de boucle.

Le module COSNOB correspond au cas où l'on calcule un vecteur (U) ou deux vecteurs (U et V) pour construire la S.D. B telle que:

B4(I) = VALCL*(I,X,Y,Z)

ou, pour créer une structure à deux tableaux B4 (deux vecteurs sont alors utilisés):

B4(I) = VALCL*(I,X,Y,Z) et B4(I) = VALCL*(I,X,Y,Z)

Les fonctions VALCL* sont en fait VALCLR en simple précision et VALCLD en double précision. Leurs arguments sont I (de 1 à ND, supposé constant, cf. plus bas) le numéro du degré de liberté, X, Y et Z les coordonnées du point traité lues dans le tableau NOP4 de la structure NOPO. Ces fonctions seront données:

      SUBROUTINE COSNOB(M,XM,NFNOPO,NINOPO,NVEC,U,V,DU,DV,ND,
     +                  NFB,NIB,NTAB,FONINT,VALCLR,VALCLD)
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C  UTILITAIRE COSNOB : CREER UNE SD B A PARTIR DE NOPO ET D'UNE FONCTION
C  ----------------   ( MEME BUT QUE COSDB )
C  U(I) ( V(I) ) = FONCTION(X(I),Y(I),Z(I)) AU POINT I DE LA SD NOPO
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Si NTAB est non nul, on doit donner :

Boucle I de 1 à NTAB

Fin de boucle.

Selon la valeur de FONINT, on doit écrire les fonctions VALCL* ou non. VALCLR et VALCLD ont la forme suivante:

      FUNCTION VALCLR(I,X,Y,Z)

      DOUBLE PRECISION FUNCTION VALCLD(I,X,Y,Z)

Notons par ailleurs que le nombre de variables des vecteurs est calculé comme ND x NP où NP est le nombre de points du maillage.

Le module COSMCB correspond au cas où l'on calcule un vecteur (U) ou deux vecteurs (U et V) pour construire la S.D. B telle que:

B4(I) = VALCL*(I,X,Y,Z)

ou, pour créer une structure à deux tableaux B4 (deux vecteurs sont alors utilisés):

B4(I) = VALCL*(I,X,Y,Z) et B4(I) = VALCL*(I,X,Y,Z)

Les fonctions VALCL* sont en fait VALCLR en simple précision et VALCLD en double précision. Leurs arguments sont I (de 1 à ND, cf. plus bas) le numéro du degré de liberté, X, Y et Z les coordonnées du point traité lues dans le tableau COO4 de la structure COOR associée à la structure MAIL. Ces fonctions seront données:

      SUBROUTINE COSMCB (M,XM,DM,NFMAIL,NIMAIL,NFCOOR,NICOOR,NVEC,
     +   NFB,NIB,NTAB,FONINT,VALCLR,VALCLD,U,V,DU,DV)
C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C  UTILITAIRE COSMCB : CREER UNE SD B A PARTIR DE MAIL ET COOR ET
C  ----------------    D'UNE FONCTION ( MEME BUT QUE COSDB )
C  U(I) ( V(I) ) = FONCTION(X(I),Y(I),Z(I)) AU POINT I DE LA SD COOR
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Si NTAB est non nul, on doit donner :

Boucle I de 1 à NTAB

Fin de boucle.

Selon la valeur de FONINT, on doit écrire les fonctions VALCL* ou non. Rappelons que VALCLR et VALCLD ont la forme suivante:

      FUNCTION VALCLR(I,X,Y,Z)

      DOUBLE PRECISION FUNCTION VALCLD(I,X,Y,Z)


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: Symétrisation et recollement d'une S.D. Sup.: 2 Manipulation de solutions Préc.: 2 Manipulation de solutions Index Table des matières