summaryrefslogtreecommitdiff
path: root/Dragon/src/AXGTRS.f
diff options
context:
space:
mode:
authorstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
committerstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
commit7dfcc480ba1e19bd3232349fc733caef94034292 (patch)
tree03ee104eb8846d5cc1a981d267687a729185d3f3 /Dragon/src/AXGTRS.f
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Dragon/src/AXGTRS.f')
-rw-r--r--Dragon/src/AXGTRS.f78
1 files changed, 78 insertions, 0 deletions
diff --git a/Dragon/src/AXGTRS.f b/Dragon/src/AXGTRS.f
new file mode 100644
index 0000000..2566190
--- /dev/null
+++ b/Dragon/src/AXGTRS.f
@@ -0,0 +1,78 @@
+ FUNCTION AXGTRS(ITRCUR,ISYM)
+*
+*-----------------------------------------------------------------------
+*
+*Purpose:
+* Transform turn according to symmetry.
+*
+*Copyright:
+* Copyright (C) 2002 Ecole Polytechnique de Montreal
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation; either
+* version 2.1 of the License, or (at your option) any later version
+*
+*Author(s): G. Marleau
+*
+*Parameters: input
+* ITRCUR turn number.
+* ISYM symmetry option.
+*
+*Parameters: output
+* AXGTRS turn after symmetry is applied.
+*
+*-----------------------------------------------------------------------
+*
+ IMPLICIT NONE
+*----
+* Local parameters
+*----
+ INTEGER MAXTUR,MAXS
+ CHARACTER NAMSBR*6
+ PARAMETER (MAXTUR=12,MAXS=3,NAMSBR='AXGTRS')
+*----
+* Routine input and output variables
+*----
+ INTEGER ITRCUR,ISYM
+ INTEGER AXGTRS
+*----
+* Local variables
+*----
+ INTEGER ITURN(2*MAXTUR,MAXS)
+ SAVE ITURN
+*----
+* Definition of turns
+*----
+ DATA ITURN /
+*----
+* SYMMETRY IN *X*
+*----
+ > 5 , 8 , 7 , 6 , 1 , 4 , 3 , 2 ,
+ > 0 , 0 , 0 , 0 ,
+ > 17 , 20 , 19 , 18 , 13 , 16 , 15 , 14 ,
+ > 0 , 0 , 0 , 0 ,
+*----
+* SYMMETRY IN *Y*
+*----
+ > 7 , 6 , 5 , 8 , 3 , 2 , 1 , 4 ,
+ > 0 , 0 , 0 , 0 ,
+ > 19 , 18 , 17 , 20 , 15 , 14 , 13 , 16 ,
+ > 0 , 0 , 0 , 0 ,
+*----
+* TSYMMETRY IN *X-Y*
+*----
+ > 6 , 5 , 8 , 7 , 2 , 1 , 4 , 3 ,
+ > 0 , 0 , 0 , 0 ,
+ > 18 , 17 , 20 , 19 , 14 , 13 , 16 , 15 ,
+ > 0 , 0 , 0 , 0 /
+ IF(ITRCUR .LE. 0 .OR. ITRCUR .GT. 2*MAXTUR) CALL XABORT(NAMSBR//
+ > ': INVALID TURN NUMBER')
+ IF(ISYM .LE. 0 .OR. ISYM .GT. MAXS+1 ) CALL XABORT(NAMSBR//
+ > ': INVALID SYMMETRY')
+ IF(ISYM .LE. MAXS) THEN
+ AXGTRS=ITURN(ITRCUR,ISYM)
+ ELSE
+ AXGTRS=MOD(MAXTUR+ITRCUR,2*MAXTUR)
+ ENDIF
+ RETURN
+ END