123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- *DECK CHKSNG
- SUBROUTINE CHKSNG (MBDCND, NBDCND, ALPHA, BETA, GAMA, XNU, COFX,
- + COFY, SINGLR)
- C***BEGIN PROLOGUE CHKSNG
- C***SUBSIDIARY
- C***PURPOSE Subsidiary to SEPELI
- C***LIBRARY SLATEC
- C***TYPE SINGLE PRECISION (CHKSNG-S)
- C***AUTHOR (UNKNOWN)
- C***DESCRIPTION
- C
- C This subroutine checks if the PDE SEPELI
- C must solve is a singular operator.
- C
- C***SEE ALSO SEPELI
- C***ROUTINES CALLED (NONE)
- C***COMMON BLOCKS SPLPCM
- C***REVISION HISTORY (YYMMDD)
- C 801001 DATE WRITTEN
- C 890531 Changed all specific intrinsics to generic. (WRB)
- C 891214 Prologue converted to Version 4.0 format. (BAB)
- C 900402 Added TYPE section. (WRB)
- C***END PROLOGUE CHKSNG
- C
- COMMON /SPLPCM/ KSWX ,KSWY ,K ,L ,
- 1 AIT ,BIT ,CIT ,DIT ,
- 2 MIT ,NIT ,IS ,MS ,
- 3 JS ,NS ,DLX ,DLY ,
- 4 TDLX3 ,TDLY3 ,DLX4 ,DLY4
- LOGICAL SINGLR
- C***FIRST EXECUTABLE STATEMENT CHKSNG
- SINGLR = .FALSE.
- C
- C CHECK IF THE BOUNDARY CONDITIONS ARE
- C ENTIRELY PERIODIC AND/OR MIXED
- C
- IF ((MBDCND.NE.0 .AND. MBDCND.NE.3) .OR.
- 1 (NBDCND.NE.0 .AND. NBDCND.NE.3)) RETURN
- C
- C CHECK THAT MIXED CONDITIONS ARE PURE NEUMAN
- C
- IF (MBDCND .NE. 3) GO TO 10
- IF (ALPHA.NE.0.0 .OR. BETA.NE.0.0) RETURN
- 10 IF (NBDCND .NE. 3) GO TO 20
- IF (GAMA.NE.0.0 .OR. XNU.NE.0.0) RETURN
- 20 CONTINUE
- C
- C CHECK THAT NON-DERIVATIVE COEFFICIENT FUNCTIONS
- C ARE ZERO
- C
- DO 30 I=IS,MS
- XI = AIT+(I-1)*DLX
- CALL COFX (XI,AI,BI,CI)
- IF (CI .NE. 0.0) RETURN
- 30 CONTINUE
- DO 40 J=JS,NS
- YJ = CIT+(J-1)*DLY
- CALL COFY (YJ,DJ,EJ,FJ)
- IF (FJ .NE. 0.0) RETURN
- 40 CONTINUE
- C
- C THE OPERATOR MUST BE SINGULAR IF THIS POINT IS REACHED
- C
- SINGLR = .TRUE.
- RETURN
- END
|