5. Routines AFRELA and AFLRCH#

5.1. The AFRELA routine#

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 (IF L' OBJET LISREL N' EXISTE PAS, IT EST CREE)

C

C-------------------------------------------------------

C COEFR (NBTERM) - IN - R -: TABLEAU DES COEFFICIENTS FROM THE RELATION

C LES COEFFICIENTS SONT REELS

C-------------------------------------------------------

C COEFC (NBTERM) - IN - C -: TABLEAU DES COEFFICIENTS FROM THE RELATION

C LES COEFFICIENTS SONT COMPLEXES

C-------------------------------------------------------

C DDL (NBTERM) - IN - K8 -: TABLEAU DES DDL FROM THE RELATION

C-------------------------------------------------------

C NOEUD (NBTERM) - IN - K8 -: TABLEAU DES NOEUDS FROM THE RELATION

C-----------------------------------------------------------------------

C NDIM (NBTERM) - IN - I -: DIMENSION OF PROBLEME (0, 2 OR 3)

C SI = 0 PAS OF CHANGEMENT OF REPERE

C THE RELATION EST DONNEE DANS THE BASE

C GLOBALE

C-------------------------------------------------------

C DIRECT (3, NBTERM) - IN - R -: TABLEAU DES VECTEURS RELATIFS A CHAQUE

C TERME DEFINISSANT THE DIRECTION OF THE

C COMPOSANTE QUE L'ON VEUT CONTRAINDRE

C-------------------------------------------------------

C NBTERM - IN - I -: NOMBRE OF TERMES OF THE RELATION

C-------------------------------------------------------

C BETAR - IN - R -: VALEUR REELLE FROM SECOND MEMBRE

C-------------------------------------------------------

C BETAC - IN - C -: VALEUR COMPLEXE FROM SECOND MEMBRE

C-------------------------------------------------------

C BETAF - IN - K8 -: VALEUR FONCTION FROM SECOND MEMBRE

C-------------------------------------------------------

C TYPCOE - IN - K4 -: TYPE DES COEFFICIENTS FROM THE RELATION:

C = 'REEL' OR 'COMP'

C-------------------------------------------------------

C TYPVAL - IN - K4 -: TYPE FROM SECOND MEMBRE

C = 'REEL' OR 'COMP' OR 'FONC'

C-------------------------------------------------------

C LISREL - IN - K19 -: NOM FROM SD LISTE_RELA

C - JXVAR -

C-------------------------------------------------------

Two scenarios should be considered:

  • the degrees of freedom to be linked are given in the absolute coordinate system: DX, DY,…

  • some degrees of freedom to be linked are given in a local coordinate system.

Case A (all within the absolute coordinate system):

  • NBTERMest the number of degrees of freedom linked by the relationship.

  • NDIMest a vector filled with 0s

  • DIRECTest useless.

Example 1:

we want to impose: \(3.\mathrm{\times }\mathit{DX}(\mathit{N1})+2.\mathrm{\times }\mathit{DY}(\mathit{N2})\mathrm{-}\mathrm{4.DRZ}(\mathit{N1})\mathrm{=}F\) (function)

TYPCOE = “REEL” TYPVAL = “FONC” COEFR = (3., 2., -4.) NDIM = (0, 0, 0) DDL = (“DX”, “DY”, “DRZ”) NOEUD = (“N1”, “N2”, “N1”) BETAF = “F”

Case B (local reference):

For each node involved in the relationship, we can give a local coordinate system in which the relationship is simpler (the normal to a surface for example).

Example 2:

let \(n\) be a unit vector with \((\mathit{nx},\mathit{ny},\mathit{nz})\) components.

We want the next move \(n\) to node \(\mathit{N3}\) to be zero.

TYPCOE = “REEL” TYPVAL = “REEL” COEFR = (1.) NDIM = (3) DIRECT = (nx, ny, nz) DDL = (“DEPL”) NOEUD = (“N1”) BETAR = 0.

Notes:

*NBTERMn is not the number of terms in the final relationship (here:**3) . *

When using (for a « term ») the possibility of a local reference * NDIM /= 0the name of the degree of freedom must be conventionally “ DEPL “ or **or* “ ROTA “

Example 3:

RC

let

n1: a unit vector of components (n1x, n1y, n1z)

n2: a unit vector of components (n2x, n2y, n2z)

the following data:

TYPCOE = “REEL” TYPVAL = “REEL” COEFR = (4.,2., -3.) NDIM = (3,0,3) DIRECT = (n1x, n1y, n1z, rbid, rbid, rbid, rbid, n2x, n2y, n2z) DDL = (“DEPL”, “DX”, “ROTA”) NOEUD = (“N1”, “N3”, “N2”) BETAR = 5.

describe the relationship in 7 terms:

    1. *XX (N3)

  • -3. *(N2x*Dx (N2) +N2y*dy (N2) +N2z*DZ (N2)) = 5.

5.2. The AFLRCH routine#

SUBROUTINE AFLRCH (LISREL, CHARGE)

C --------------------------------------------------------

C AJOUT D'UNE LISTE_RELA DANS UNE CHARGE

C

C LES RELATIONS IDENTIQUES TO SEIN OF LISTE_RELA SONT

C ELIMINEES. THE PRINCIPE OF SURCHARGE EST APPLIQUE:

C C' EST THE DERNIER SECOND MEMBRE QUI EST CONSERVE.

C --------------------------------------------------------

C LISREL IN/ JXVAR - K19 -: NOM FROM SD LISTE_RELA

C LA LISTE_RELA EST DETRUITE

C TO THE FIN OF THE ROUTINE

C --------------------------------------------------------

C CHARGE IN/ JXVAR - K8 -: NOM FROM SD CHARGE

C LA CHARGE EST ENRICHIE

C --------------------------------------------------------