[updated 8.Sep.2008]

Librairie sdexplo > Fichier mksymg.f

line
      SUBROUTINE MKSYMG (SYM,VAR,NIVIMP)
line
  Auteur: O.DeBayser (Fevrier 1996) 
  Derniere modification : D.Martin (30 Juin 1997)
   
  Modification de la nature des Symetries ou Antisymetries  
   
 --  Arguments d'entree -- 
  SYM    chaine de caractere SYMETRIE, ou  ANTISYMETRIE,
         ou "quelconque" pour pas de symetrie
  VAR    variable d'espace pour laquelle le caractere symetrique est modifie
  NIVIMP niveau d'impression
 
 -- Codage du parametre ISYMGR -- 
  La puissance de 10 indique la variable d'espace rangee de G a D  
  Le poids correspondant indique si c'est : Symetrique     2
                                            Antisymetrique 1
                                            Rien           0
line
      CHARACTER*(*)    SYM,VAR
      INTEGER          NIVIMP
 
      INCLUDE 'ALLOC'
      INCLUDE 'CONTEX'
 
      CHARACTER        ERCODE*120
      COMMON/FORMAH/   ERCODE
line
      CALL PRFXMJ (1,'*Mksymg*')
      CALL TBAR1  (ERCODE,'#ARIAB',1,MCVARE)
      NUVAR=KELCHN (VAR,AST(MCVARE),NDIM,NBCNVE)                        !Utilite
      IF (NUVAR.EQ.0) GOTO 99999
 
      Definition de la symetrie demandee
      IF (SYM(1:4).EQ.'SYME') THEN
         ISYM=2
         IF (NIVIMP.GT.0.AND.IMPMES.GT.0) 
     &      WRITE (IMPMES,10000) '*MkSymg*','Symetrie',VAR
      ELSEIF (SYM(1:4).EQ.'ANTI') THEN
         ISYM=1
         IF (NIVIMP.GT.0.AND.IMPMES.GT.0) 
     &       WRITE (IMPMES,10000) '*MkSymg*','Anti-Symetrie',VAR
      ELSE
         ISYM=0
         IF (NIVIMP.GT.0.AND.IMPMES.GT.0) 
     &       WRITE (IMPMES,10000) '*MkSymg*','Pas de Symetrie',VAR
      ENDIF
 
      Definition de la symetrie a annuler
      IDIV=10**NDIM
      ISYMG=ISYMGR
      DO 2 I=1,NUVAR
         IDIV=IDIV/10
         ISYMAV=ISYMG/IDIV
         ISYMG=ISYMG-IDIV*ISYMAV
2     CONTINUE
 
      Mise a jour de l'indice des symetries
      ISYMGR=ISYMGR+(10**(NDIM-NUVAR))*(ISYM-ISYMAV)
 
99999 CALL PRFXMJ (-1,'*Mksymg*')  
line
10000 FORMAT(T2,A8,' Modification des symetries pour la fct. de Green: '
     &,A,' en la variable ' ,A) 
                                                                    END !Mksymg
line
top