summaryrefslogtreecommitdiff
path: root/Dragon/src/SAL_GEOMETRY_MOD.f90
diff options
context:
space:
mode:
Diffstat (limited to 'Dragon/src/SAL_GEOMETRY_MOD.f90')
-rw-r--r--Dragon/src/SAL_GEOMETRY_MOD.f9039
1 files changed, 37 insertions, 2 deletions
diff --git a/Dragon/src/SAL_GEOMETRY_MOD.f90 b/Dragon/src/SAL_GEOMETRY_MOD.f90
index 1056016..4bce6e8 100644
--- a/Dragon/src/SAL_GEOMETRY_MOD.f90
+++ b/Dragon/src/SAL_GEOMETRY_MOD.f90
@@ -16,7 +16,7 @@ MODULE SAL_GEOMETRY_MOD
USE SAL_GEOMETRY_TYPES
USE PRECISION_AND_KINDS, ONLY : PDB, PI,TWOPI,HALFPI
- USE SAL_NUMERIC_MOD, ONLY : SAL141
+ USE SAL_NUMERIC_MOD, ONLY : SAL141
USE SALGET_FUNS_MOD
CONTAINS
@@ -341,7 +341,7 @@ CONTAINS
!
!---------------------------------------------------------------------
!
- USE SAL_GEOMETRY_TYPES, ONLY : ALLSUR,PREC
+ USE SAL_GEOMETRY_TYPES, ONLY : TYPGEO,ALLSUR,PREC
!****
IMPLICIT NONE
! in variable
@@ -351,6 +351,7 @@ CONTAINS
INTEGER, PARAMETER :: N_DATAIN=25
INTEGER, DIMENSION (N_DATAIN) :: DATAIN
INTEGER :: ELEM,I,TYPE,NBER
+ CHARACTER(LEN=131) :: HSMG
INTEGER, PARAMETER, DIMENSION(0:4) :: READ_BC_LEN=(/1,1,3,3,3/)
INTEGER, PARAMETER :: FOUT =6
REAL(PDB) :: ANGLE,BCDATA_TDT(3)
@@ -409,9 +410,43 @@ CONTAINS
GG%BCDATAREAD(I)%BCDATA(6)=1._PDB
LBCDIAG=LBCDIAG.OR.((GG%BCDATAREAD(I)%BCDATA(1)==0._PDB).AND.(GG%BCDATAREAD(I)%BCDATA(2)==0._PDB) &
.AND.(GG%BCDATAREAD(I)%BCDATA(5)==PI/4._PDB))
+ IF((TYPGEO.EQ.3).OR.(TYPGEO.EQ.6).OR.(TYPGEO.EQ.6)) THEN
+ IF((ANGLE/=0.0).AND.(ANGLE/=PI/2._PDB)) THEN
+ WRITE(HSMG,100) ANGLE,I,TYPGEO
+ CALL XABORT(HSMG)
+ ENDIF
+ ELSE IF(TYPGEO.EQ.7) THEN
+ IF((ANGLE/=0.0).AND.(ANGLE/=PI/2._PDB).AND.(ANGLE/=PI/4._PDB)) THEN
+ WRITE(HSMG,100) ANGLE,I,TYPGEO
+ CALL XABORT(HSMG)
+ ENDIF
+ ELSE IF((TYPGEO.EQ.8).OR.(TYPGEO.EQ.10)) THEN
+ IF((ANGLE/=0.0).AND.(ANGLE/=PI/3._PDB).AND.(ANGLE/=2._PDB*PI/3._PDB)) THEN
+ WRITE(HSMG,100) ANGLE,I,TYPGEO
+ CALL XABORT(HSMG)
+ ENDIF
+ ELSE IF(TYPGEO.EQ.9) THEN
+ IF((ANGLE/=0.0).AND.(ANGLE/=PI/6._PDB).AND.(ANGLE/=2._PDB*PI/3._PDB).AND. &
+ & (ANGLE/=PI).AND.(ANGLE/=7._PDB*PI/6._PDB).AND.(ANGLE/=5._PDB*PI/3._PDB)) THEN
+ WRITE(HSMG,100) ANGLE,I,TYPGEO
+ CALL XABORT(HSMG)
+ ENDIF
+ ELSE IF(TYPGEO.EQ.11) THEN
+ IF((ANGLE/=0.0).AND.(ANGLE/=PI/3._PDB)) THEN
+ WRITE(HSMG,100) ANGLE,I,TYPGEO
+ CALL XABORT(HSMG)
+ ENDIF
+ ELSE IF(TYPGEO.EQ.12) THEN
+ IF((ANGLE/=0.0).AND.(ANGLE/=PI/6._PDB).AND.(ANGLE/=2._PDB*PI/3._PDB)) THEN
+ WRITE(HSMG,100) ANGLE,I,TYPGEO
+ CALL XABORT(HSMG)
+ ENDIF
+ ENDIF
ENDIF
ENDDO
ENDIF
+ 100 FORMAT(34HSALINP: FORBIDDEN PERIMETER ANGLE=,1P,E13.4,18H RADIANS FOR SIDE=,I3, &
+ & 12H AND TYPGEO=,I3,1H.)
END SUBROUTINE SALINP
!
SUBROUTINE SAL126(RPAR,IPAR)