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 -------------------------------------------------------