Routines AFRELA and AFLRCH ============================= The AFRELA routine ----------------- .. code-block:: text 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: :math:`3.\mathrm{\times }\mathit{DX}(\mathit{N1})+2.\mathrm{\times }\mathit{DY}(\mathit{N2})\mathrm{-}\mathrm{4.DRZ}(\mathit{N1})\mathrm{=}F` (function) .. code-block:: text NBTERM = 3 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 :math:`n` be a unit vector with :math:`(\mathit{nx},\mathit{ny},\mathit{nz})` components. We want the next move :math:`n` to node :math:`\mathit{N3}` to be zero. .. code-block:: text NBTERM = 1 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 .. csv-table:: "let", "n1: a unit vector of components (n1x, n1y, n1z)" "", "n2: a unit vector of components (n2x, n2y, n2z)" the following data: .. code-block:: text NBTERM = 3 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: .. code-block:: text 4. *(N1x*Dx (N1) +N1y*dy (N1) +N1z*DZ (N1)) + 2. *XX (N3) + -3. *(N2x*Dx (N2) +N2y*dy (N2) +N2z*DZ (N2)) = 5. The AFLRCH routine ----------------- .. code-block:: text 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 --------------------------------------------------------