5. Les routines AFRELA et AFLRCH#
5.1. La routine AFRELA#
SUBROUTINE AFRELA (COEFR, COEFC, DDL, NOEUD , NDIM, DIRECT,
+ NBTERM, BETAR, BETAC, BETAF, TYPCOE, TYPVAL, LISREL)
C----------------------------------------------------------------------
C BUT : AFFECTATION D'UNE RELATION ENTRE DDLS A UNE SD LISTE_RELA
C (SI L'OBJET LISREL N'EXISTE PAS, IL EST CREE)
C
C----------------------------------------------------------------------
C COEFR(NBTERM) - IN - R - : TABLEAU DES COEFFICIENTS DE LA RELATION
C LES COEFFICIENTS SONT REELS
C----------------------------------------------------------------------
C COEFC(NBTERM) - IN - C - : TABLEAU DES COEFFICIENTS DE LA RELATION
C LES COEFFICIENTS SONT COMPLEXES
C----------------------------------------------------------------------
C DDL(NBTERM) - IN - K8 - : TABLEAU DES DDL DE LA RELATION
C----------------------------------------------------------------------
C NOEUD(NBTERM) - IN - K8 - : TABLEAU DES NOEUDS DE LA RELATION
C-----------------------------------------------------------------------
C NDIM(NBTERM) - IN - I - : DIMENSION DU PROBLEME (0, 2 OU 3)
C SI = 0 PAS DE CHANGEMENT DE REPERE
C LA RELATION EST DONNEE DANS LA BASE
C GLOBALE
C----------------------------------------------------------------------
C DIRECT(3,NBTERM)- IN - R - : TABLEAU DES VECTEURS RELATIFS A CHAQUE
C TERME DEFINISSANT LA DIRECTION DE LA
C COMPOSANTE QUE L'ON VEUT CONTRAINDRE
C----------------------------------------------------------------------
C NBTERM - IN - I - : NOMBRE DE TERMES DE LA RELATION
C----------------------------------------------------------------------
C BETAR - IN - R - : VALEUR REELLE DU SECOND MEMBRE
C----------------------------------------------------------------------
C BETAC - IN - C - : VALEUR COMPLEXE DU SECOND MEMBRE
C----------------------------------------------------------------------
C BETAF - IN - K8 - : VALEUR FONCTION DU SECOND MEMBRE
C----------------------------------------------------------------------
C TYPCOE - IN - K4 - : TYPE DES COEFFICIENTS DE LA RELATION :
C = 'REEL' OU 'COMP'
C----------------------------------------------------------------------
C TYPVAL - IN - K4 - : TYPE DU SECOND MEMBRE
C = 'REEL' OU 'COMP' OU 'FONC'
C----------------------------------------------------------------------
C LISREL - IN - K19 - : NOM DE LA SD LISTE_RELA
C - JXVAR -
C----------------------------------------------------------------------
Deux cas de figure sont à considérer :
les degrés de liberté à relier sont donnés dans le repère absolu : DX, DY, …
certains degrés de liberté à relier sont donnés dans un repère local.
Cas A (tout dans le repère absolu) :
NBTERMest le nombre de degrés de liberté reliés par la relation.
NDIMest un vecteur rempli de 0
DIRECTest inutile.
Exemple 1 :
on veut imposer : \(3.\times \mathit{DX}(\mathit{N1})+2.\times \mathit{DY}(\mathit{N2})-\mathrm{4.DRZ}(\mathit{N1})=F\) (fonction)
NBTERM = 3 TYPCOE = “REEL” TYPVAL = “FONC” COEFR = (3. , 2. , -4. ) NDIM = (0 , 0 , 0 ) DDL = (“DX”,”DY”,”DRZ”) NOEUD = (“N1”,”N2”,”N1” ) BETAF = “F”
Cas B (repère local) :
Pour chaque nœud impliqué dans la relation, on peut donner un repère local dans lequel la relation est plus simple (la normale à une surface par exemple).
Exemple 2 :
soit \(n\) , un vecteur unitaire de composantes \((\mathit{nx},\mathit{ny},\mathit{nz})\) .
On veut que le déplacement suivant \(n\) au nœud \(\mathit{N3}\) soit nul.
NBTERM = 1 TYPCOE = “REEL” TYPVAL = “REEL” COEFR = (1.) NDIM = (3) DIRECT = (nx,ny,nz) DDL = (“DEPL”) NOEUD = (“N1”) BETAR = 0.
Remarques :
NBTERMn’est pas le nombre de termes de la relation finale (ici : 3).
Quand on emploie (pour un “terme”) la possibilité d’un repère local NDIM /= 0le nom du degré de libertédoit être conventionnellement ‘DEPL’ ou ‘ROTA‘
Exemple 3 :
RC
soient |
n1: un vecteur unitaire de composantes (n1x, n1y, n1z) |
n2: un vecteur unitaire de composantes (n2x, n2y, n2z) |
les données suivantes :
NBTERM = 3 TYPCOE = “REEL” TYPVAL = “REEL” COEFR = (4.,2.,-3.) NDIM = (3,0,3) DIRECT = (n1x,n1y,n1z,rbid,rbid,rbid,n2x,n2y,n2z) DDL = (“DEPL”,”DX”,”ROTA”) NOEUD = (“N1”,”N3”,”N2”) BETAR = 5.
décrivent la relation à 7 termes :
4.*(n1x*DX(N1)+n1y*DY(N1)+n1z*DZ(N1)) + 2.*DX(N3) + -3.*(n2x*DX(N2)+n2y*DY(N2)+n2z*DZ(N2)) = 5.
5.2. La routine AFLRCH#
SUBROUTINE AFLRCH (LISREL, CHARGE)
C -------------------------------------------------------
C AJOUT D'UNE LISTE_RELA DANS UNE CHARGE
C
C LES RELATIONS IDENTIQUES AU SEIN DE LISTE_RELA SONT
C ELIMINEES. LE PRINCIPE DE SURCHARGE EST APPLIQUE :
C C'EST LE DERNIER SECOND MEMBRE QUI EST CONSERVE.
C -------------------------------------------------------
C LISREL IN/JXVAR - K19 - : NOM DE LA SD LISTE_RELA
C LA LISTE_RELA EST DETRUITE
C A LA FIN DE LA ROUTINE
C -------------------------------------------------------
C CHARGE IN/JXVAR - K8 - : NOM DE LA SD CHARGE
C LA CHARGE EST ENRICHIE
C -------------------------------------------------------