Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 26 additions & 22 deletions Source/LK1/L1A-CC/CHK_CC_CMD_DESCRIBERS.f90
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ SUBROUTINE CHK_CC_CMD_DESCRIBERS ( WHAT, NUM_WORDS )

USE PENTIUM_II_KIND, ONLY : BYTE, LONG
USE IOUNT1, ONLY : WRT_ERR, ERR, F06
USE SCONTR, ONLY : BLNK_SUB_NAM, CC_CMD_DESCRIBERS, ECHO, FATAL_ERR, WARN_ERR
USE SCONTR, ONLY : BLNK_SUB_NAM, CC_CMD_DESCRIBERS, ECHO, FATAL_ERR, WARN_ERR, NSUB
USE TIMDAT, ONLY : TSEC
USE CC_OUTPUT_DESCRIBERS, ONLY : STRN_LOC, STRN_OPT, STRE_LOC, STRE_OPT, FORC_LOC
USE PARAMS, ONLY : SUPWARN
Expand Down Expand Up @@ -292,13 +292,14 @@ SUBROUTINE CHK_CC_CMD_DESCRIBERS ( WHAT, NUM_WORDS )

DO I=1,NUM_WORDS

! TODO: CEN is valid for CENTER (test this)
IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CENTER') THEN
STRE_LOC = 'CENTER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CORNER') THEN
STRE_LOC = 'CORNER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:5) == 'BILIN' ) THEN
STRE_LOC = 'CORNER'
IF (NSUB <= 1) THEN
IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CENTER') THEN
STRE_LOC = 'CENTER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CORNER') THEN
STRE_LOC = 'CORNER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:5) == 'BILIN' ) THEN
STRE_LOC = 'CORNER'
ENDIF
ENDIF

! TODO: MISES is valid for VONMISES (test this...)
Expand All @@ -317,13 +318,15 @@ SUBROUTINE CHK_CC_CMD_DESCRIBERS ( WHAT, NUM_WORDS )
IF (WHAT == 'STRN' ) THEN

DO I=1,NUM_WORDS
! TODO: CEN is valid for CENTER (test this)
IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CENTER') THEN
STRN_LOC = 'CENTER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CORNER') THEN
STRN_LOC = 'CORNER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:5) == 'BILIN' ) THEN
STRN_LOC = 'CORNER'

IF (NSUB <= 1) THEN
IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CENTER') THEN
STRN_LOC = 'CENTER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CORNER') THEN
STRN_LOC = 'CORNER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:5) == 'BILIN' ) THEN
STRN_LOC = 'CORNER'
ENDIF
ENDIF

! TODO: MISES is valid for VONMISES (test this...)
Expand All @@ -343,13 +346,14 @@ SUBROUTINE CHK_CC_CMD_DESCRIBERS ( WHAT, NUM_WORDS )

DO I=1,NUM_WORDS

! TODO: CEN is valid for CENTER (test this)
IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CENTER') THEN
FORC_LOC = 'CENTER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CORNER') THEN
FORC_LOC = 'CORNER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:5) == 'BILIN' ) THEN
FORC_LOC = 'CORNER'
IF (NSUB <= 1) THEN
IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CENTER') THEN
FORC_LOC = 'CENTER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:6) == 'CORNER') THEN
FORC_LOC = 'CORNER'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:5) == 'BILIN' ) THEN
FORC_LOC = 'CORNER'
ENDIF
ENDIF

ENDDO
Expand Down
34 changes: 25 additions & 9 deletions Source/LK1/L1A/LOADC.f03
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ SUBROUTINE LOADC
! LOADC reads in the CASE CONTROL DECK
USE PENTIUM_II_KIND, ONLY : BYTE, LONG, DOUBLE
USE IOUNT1, ONLY : BUGOUT, ERR, F06, IN1, WRT_ERR
USE SCONTR, ONLY : BLNK_SUB_NAM, CC_ENTRY_LEN, ENFORCED, FATAL_ERR, WARN_ERR, NSUB, NTSUB, NUM_BUCKLING_SUBS, &
PROG_NAME, RESTART, SOL_NAME
USE TIMDAT, ONLY : TSEC
USE SCONTR, ONLY : CC_ENTRY_LEN, ENFORCED, FATAL_ERR, WARN_ERR, NSUB, NTSUB, &
NUM_BUCKLING_SUBS, PROG_NAME, RESTART, SOL_NAME, CC_CMD_DESCRIBERS
USE PARAMS, ONLY : SUPINFO, SUPWARN
USE MODEL_STUF, ONLY : CC_EIGR_SID, CC_EIGR_SID_SUB, CC_EIGR_SID_DECK, CC_STATSUB_DECK, CC_STATSUB_SUB, &
IS_BUCKLING_SUBCASE, IS_MODES_SUBCASE, &
MEFFMASS_CALC, MPCSET, MPCSETS, MPFACTOR_CALC, SCNUM, SPCSET, SPCSETS, SUBLOD
MEFFMASS_CALC, MPCSET, MPCSETS, MPFACTOR_CALC, SCNUM, SPCSET, SPCSETS, SUBLOD, &
SC_STRE, SC_STRN, SC_ELFE, SC_ELFN
USE MODEL_STUF, ONLY : EIG_PARAMS, &
EIG_COMP, EIG_CRIT, EIG_FRQ1, EIG_FRQ2, EIG_GRID, EIG_LANCZOS_NEV_DELT, EIG_METH, &
EIG_MSGLVL, EIG_LAP_MAT_TYPE, EIG_MODE, EIG_N1, EIG_N2, EIG_NCVFACL, EIG_NORM, EIG_SID, &
Expand All @@ -47,8 +47,6 @@ SUBROUTINE LOADC

IMPLICIT NONE

CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'LOADC'

CHARACTER( 1*BYTE) :: DOLLAR_WARN ! Indicator of whether there was a $ sign in col 1
CHARACTER(LEN=CC_ENTRY_LEN) :: CARD ! Case Control card
CHARACTER(LEN=CC_ENTRY_LEN) :: CARD1 ! CARD shifted to begin in col 1
Expand All @@ -60,7 +58,7 @@ SUBROUTINE LOADC
INTEGER(LONG) :: IERR ! Error indicator. If CHAR not found, IERR set to 1
INTEGER(LONG) :: IOCHK ! IOSTAT error number when reading a Case Control card from unit IN1


CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: QUAD4_LOC


! **********************************************************************************************************************************
Expand Down Expand Up @@ -234,6 +232,25 @@ SUBROUTINE LOADC

ENDDO outer

! Assign the same CENTER/CORNER location to all of FORCE,
! STRESS, and STRAIN outputs according to the priority rules.
! Because NONE is stored as 0 in SC_STRE, etc., this treats
! STRESS(CORNER) = NONE as if STRESS wasn't defined at
! all and defaults to CENTER.
IF (SC_STRE(1) /= 0) THEN
QUAD4_LOC = STRE_LOC
ELSE IF (SC_STRN(1) /= 0) THEN
QUAD4_LOC = STRN_LOC
ELSE IF (SC_ELFE(1) /= 0 .OR. SC_ELFN(1) /= 0) THEN
QUAD4_LOC = FORC_LOC
ELSE
QUAD4_LOC = 'CENTER'
ENDIF
STRE_LOC = QUAD4_LOC
STRN_LOC = QUAD4_LOC
FORC_LOC = QUAD4_LOC
! From here on, STRE_LOC = STRN_LOC = FORC_LOC.

IF (STRN_LOC /= 'CENTER ') THEN
WRITE(ERR,1016) STRN_LOC, 'STRAIN'
IF (SUPINFO == 'N') THEN
Expand Down Expand Up @@ -471,8 +488,7 @@ SUBROUTINE LOADC

1015 FORMAT(' *WARNING : GRID POINT FORCE BALANCE ONLY ALLOWED IN ',A,' SOLUTION. ABOVE ENTRY IGNORED')

1016 FORMAT(' *INFORMATION: ALL SUBCASES WILL USE "',A,'" AS THE LOCATION OF ',A,' OUTPUTS FOR PSHELL QUAD4 ELEMENTS' &
,/,14X,' SINCE THIS WAS THE FIRST REQUEST, OTHER THAN DEFAULT "CENTER ", DETECTED')
1016 FORMAT(' *INFORMATION: ALL SUBCASES WILL USE "',A,'" AS THE LOCATION OF ',A,' OUTPUTS FOR PSHELL QUAD4 ELEMENTS')

1028 FORMAT(' *ERROR 1028: THERE MUST BE 2 SUBCASES FOR LINEAR BUCKLING ANALYSES BUT NSUB = ',I8)

Expand Down
Loading