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
8 changes: 7 additions & 1 deletion Source/LK1/L1A-CC/CHK_CC_CMD_DESCRIBERS.f90
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ SUBROUTINE CHK_CC_CMD_DESCRIBERS ( WHAT, NUM_WORDS )
USE IOUNT1, ONLY : WRT_ERR, ERR, F06
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 CC_OUTPUT_DESCRIBERS, ONLY : STRN_LOC, STRN_OPT, STRN_CUR, STRE_LOC, STRE_OPT, FORC_LOC
USE PARAMS, ONLY : SUPWARN

USE CHK_CC_CMD_DESCRIBERS_USE_IFs
Expand Down Expand Up @@ -338,6 +338,12 @@ SUBROUTINE CHK_CC_CMD_DESCRIBERS ( WHAT, NUM_WORDS )
STRN_OPT = 'SHEAR'
ENDIF

IF (CC_CMD_DESCRIBERS(I)(1:6) == 'STRCUR' ) THEN
STRN_CUR = 'STRCUR'
ELSE IF (CC_CMD_DESCRIBERS(I)(1:5) == 'FIBER' ) THEN
STRN_CUR = 'FIBER'
ENDIF

ENDDO

ENDIF
Expand Down
98 changes: 46 additions & 52 deletions Source/LK9/L91/WRITE_ELEM_STRAINS.f90
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )
USE NONLINEAR_PARAMS, ONLY : LOAD_ISTEP
USE LINK9_STUFF, ONLY : EID_OUT_ARRAY, GID_OUT_ARRAY, OGEL, POLY_FIT_ERR, POLY_FIT_ERR_INDEX
USE MODEL_STUF, ONLY : ELEM_ONAME, ELMTYP, LABEL, SCNUM, STITLE, TITLE, TYPE
USE CC_OUTPUT_DESCRIBERS, ONLY : STRN_LOC, STRN_OPT, STRN_OUT
USE CC_OUTPUT_DESCRIBERS, ONLY : STRN_LOC, STRN_OPT, STRN_OUT, STRN_CUR

USE WRITE_ELEM_STRAINS_USE_IFs

Expand Down Expand Up @@ -66,9 +66,13 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )
INTEGER(LONG) :: I,J,L ! DO loop indices
INTEGER(LONG) :: K ! Counter
INTEGER(LONG) :: NCOLS ! Num of cols to write out
INTEGER(LONG) :: IS_FIBER_DISTANCE
CHARACTER(139*BYTE) :: CLINE_BUF ! Pre-assembled CENTER line for solid strains (matches FORMAT 1303)
CHARACTER(139*BYTE) :: GLINE_BUF ! Pre-assembled GRD line for solid strains (matches FORMAT 1306)

CHARACTER( 6*BYTE) :: FIBER_HDR_1
CHARACTER( 9*BYTE) :: FIBER_HDR_2
CHARACTER( 6*BYTE) :: OPT_HDR_1
CHARACTER( 9*BYTE) :: OPT_HDR_2
REAL(DOUBLE) :: ABS_ANS(11) ! Max ABS for all element output
REAL(DOUBLE) :: MAX_ANS(11) ! Max for all element output
REAL(DOUBLE) :: MIN_ANS(11) ! Min for all element output
Expand Down Expand Up @@ -102,7 +106,6 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )
CHARACTER(4*BYTE) :: CEN_WORD ! the word "CEN/" (we need to cast the length)



! **********************************************************************************************************************************
! Initialize
DEVICE_CODE = 1 ! PLOT
Expand Down Expand Up @@ -137,6 +140,13 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )
WRITE_F06 = (STRN_OUT(1:1) == 'Y')
WRITE_OP2 = (STRN_OUT(2:2) == 'Y')

IF (STRN_CUR == 'FIBER') THEN
IS_FIBER_DISTANCE = 1
ELSE
IS_FIBER_DISTANCE = 0
ENDIF


IF (IHDR == 'Y') THEN
! -- F06 header: OUTPUT FOR SUBCASE, EIGENVECTOR or CRAIG-BAMPTON DOF
CALL WRITE_SUBCASE_EIGENVEC_HEADER(JSUB, WRITE_F06)
Expand Down Expand Up @@ -196,6 +206,22 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )

IF (WRITE_F06) THEN

IF (STRN_CUR == 'FIBER') THEN
FIBER_HDR_1 = 'Fiber'
FIBER_HDR_2 = 'Distance'
ELSE
FIBER_HDR_1 = 'Strain'
FIBER_HDR_2 = 'Curvature'
ENDIF

IF (STRN_OPT == 'VONMISES') THEN
OPT_HDR_1 = ''
OPT_HDR_2 = 'von Mises'
ELSE
OPT_HDR_1 = 'Max'
OPT_HDR_2 = 'Shear-XY'
ENDIF

! -- F06 1st 2 header lines for strain output description
IF (TYPE(1:4) == 'ELAS') THEN
IF (SOL_NAME(1:12) == 'GEN CB MODEL') THEN
Expand Down Expand Up @@ -294,27 +320,15 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )
WRITE(F06,1302) FILL(1: 1), FILL(1: 1)
ENDIF
ELSE IF ((TYPE(1:5) == 'QUAD4') .OR. (TYPE(1:5) == 'QUAD8')) THEN
IF (STRN_OPT == 'VONMISES') THEN
WRITE(F06,1401) FILL(1: 1), FILL(1: 1), FILL(1: 1)
ELSE
WRITE(F06,1402) FILL(1: 1), FILL(1: 1)
ENDIF

WRITE(F06,1400) FIBER_HDR_1, ' Strains', ' Strains', OPT_HDR_1, FIBER_HDR_2, OPT_HDR_2
ELSE IF (TYPE == 'ROD ') THEN
WRITE(F06,1501) FILL(1: 1), FILL(1: 1)

ELSE IF (TYPE(1:5) == 'SHEAR') THEN
WRITE(F06,1601) FILL(1: 1), FILL(1: 1)
ELSE IF (TYPE(1:5) == 'TRIA3') THEN
IF (STRN_OPT == 'VONMISES') THEN
WRITE(F06,1701) FILL(1: 1), FILL(1: 1), FILL(1: 1)
ELSE
WRITE(F06,1702) FILL(1: 1), FILL(1: 1)
ENDIF

WRITE(F06,1700) FIBER_HDR_1, ' Strains', ' Strains', OPT_HDR_1, FIBER_HDR_2, OPT_HDR_2
ELSE IF (TYPE == 'BUSH ') THEN
WRITE(F06,1801) FILL(1: 1), FILL(1: 1)

ELSE IF (TYPE == 'USERIN ') THEN
WRITE(F06,1901) FILL(1: 1), FILL(1: 1)
ELSE
Expand Down Expand Up @@ -466,7 +480,7 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )
!CALL WRITE_OST_CQUAD4 ( NUM, FILL, ISUBCASE, ITABLE, TITLEI, STITLEI, LABELI )

!CALL GET_STRESS_CODE(STRESS_CODE, IS_VON_MISES, IS_STRAIN, IS_FIBER_DISTANCE)
CALL GET_STRESS_CODE( STRESS_CODE, 1, 1, 1)
CALL GET_STRESS_CODE( STRESS_CODE, 1, 1, IS_FIBER_DISTANCE)
IF ((STRN_LOC == 'CENTER ') .AND. (TYPE(1:5) /= 'QUAD8')) THEN
! CQUAD4-33
!(eid_device,
Expand Down Expand Up @@ -621,7 +635,7 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )
ELSE IF (TYPE(1:5) == 'TRIA3') THEN
CALL WRITE_OST_CTRIA3 (NUM, FILL, ISUBCASE, ITABLE, TITLEI, STITLEI, LABELI, &
FIELD5_INT_MODE, FIELD6_EIGENVALUE, &
WRITE_F06, WRITE_OP2)
WRITE_F06, WRITE_OP2, IS_FIBER_DISTANCE)

ELSE IF (TYPE == 'BUSH ') THEN
IF (WRITE_OP2) THEN
Expand Down Expand Up @@ -714,19 +728,6 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )

1303 FORMAT(1X,I8,2X,'CENTER ',8X,8(1ES14.6))


! 1301 FORMAT(A,'Element Epsilon-xx Epsilon-yy Epsilon-zz Gamma-xy Gamma-yz Gamma-zx von Mises' &
! ,/,A,' ID')

! 1302 FORMAT(A,'Element Epsilon-xx Epsilon-yy Epsilon-zz Gamma-xy Gamma-yz Gamma-zx ', &
! 'Octahedral Strain' &
! ,/,A,' ID',91X,'Direct Shear')

! 1303 FORMAT(19X,I8,8(1ES14.6))




1304 FORMAT(28X,'------------- ------------- ------------- ------------- ------------- ------------- -------------',/, &
16X,'MAX* : ',7(ES14.6),/, &
16X,'MIN* : ',7(ES14.6),//, &
Expand All @@ -743,15 +744,11 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )
1306 FORMAT(1X,A,10X,'GRD',I8,5X,8(1ES14.6))

! QUAD4 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1401 FORMAT(1X,A,'Elem Location Fibre Strains In Element Coord System Principal Strains (Zero Shear)', &
' Transverse Transverse % Poly',/,1X,A, &
' ID Distance Normal-X Normal-Y Shear-XY Angle Major Minor von Mises', &
' Shear-XZ Shear-YZ Fit Err',A)

1402 FORMAT(1X,A,'Elem Location Fibre Strains In Element Coord System Principal Strains (Zero Shear)', &
' Max Transverse Transverse % Poly',/,1X,A, &
' ID Distance Normal-X Normal-Y Shear-XY Angle Major Minor Shear-XY', &
' Shear-XZ Shear-YZ Fit Err',A)
1400 FORMAT( &
' Elem Location ',A6,' ', A8, ' In Element Coord System Principal ', A8, ' (Zero Shear)', &
' ',A6,' Transverse Transverse % Poly',/, &
' ID ', A9, ' Normal-X Normal-Y Shear-XY Angle Major Minor ', &
' ', A9, ' Shear-XZ Shear-YZ Fit Err')

1403 FORMAT(1X,A,I8,2X,'CENTER ',3X,1ES11.3,3(1ES13.5),0PF8.2,5(1ES13.5))

Expand Down Expand Up @@ -787,15 +784,11 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE )


! TRIA3 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1701 FORMAT(1X,A,'Element Location Fibre Strains In Element Coord System Principal Strains (Zero Shear)', &
' Transverse Transverse' &
,/,1X,A,' ID Distance Normal-X Normal-Y Shear-XY Angle Major Minor' &
,' von Mises Shear-XZ Shear-YZ',A)

1702 FORMAT(1X,A,'Element Location Fibre Strains In Element Coord System Principal Strains (Zero Shear)', &
' Max Transverse Transverse' &
,/,1X,A,' ID Distance Normal-X Normal-Y Shear-XY Angle Major Minor', &
' Shear-XY Shear-XZ Shear-YZ',A)
1700 FORMAT( &
' Element Location ',A6,' ', A8, ' In Element Coord System Principal ', A8, ' (Zero Shear)', &
' ',A6,' Transverse Transverse',/, &
' ID ', A9, ' Normal-X Normal-Y Shear-XY Angle Major Minor ', &
' ', A9, ' Shear-XZ Shear-YZ')

1703 FORMAT(1X,I8,4X,'Anywhere',2X,4(1ES13.5),0PF9.3,5(1ES13.5))

Expand Down Expand Up @@ -935,7 +928,7 @@ END SUBROUTINE WRITE_OST_CSHEAR
!==============================================================================
SUBROUTINE WRITE_OST_CTRIA3(NUM, FILL, ISUBCASE, ITABLE, TITLE, SUBTITLE, LABEL, &
FIELD5_INT_MODE, FIELD6_EIGENVALUE, &
WRITE_F06, WRITE_OP2)
WRITE_F06, WRITE_OP2, IS_FIBER_DISTANCE)
USE PENTIUM_II_KIND, ONLY : BYTE, LONG, DOUBLE
USE IOUNT1, ONLY : ERR, F06, OP2
USE LINK9_STUFF, ONLY : EID_OUT_ARRAY, OGEL
Expand All @@ -948,6 +941,7 @@ SUBROUTINE WRITE_OST_CTRIA3(NUM, FILL, ISUBCASE, ITABLE, TITLE, SUBTITLE, LABEL,
CHARACTER(LEN=128), INTENT(IN) :: SUBTITLE ! the subcase SUBTITLE
CHARACTER(LEN=128), INTENT(IN) :: LABEL ! the subcase LABEL
LOGICAL, INTENT(IN) :: WRITE_F06, WRITE_OP2
INTEGER(LONG), INTENT(IN) :: IS_FIBER_DISTANCE

CHARACTER(119*BYTE) :: FILL ! Padding for output format

Expand Down Expand Up @@ -983,7 +977,7 @@ SUBROUTINE WRITE_OST_CTRIA3(NUM, FILL, ISUBCASE, ITABLE, TITLE, SUBTITLE, LABEL,
WRITE(ERR,100) ITABLE,NUM,NVALUES,NTOTAL

!CALL GET_STRESS_CODE(STRESS_CODE, IS_VON_MISES, IS_STRAIN, IS_FIBER_DISTANCE)
CALL GET_STRESS_CODE( STRESS_CODE, 1, 1, 1)
CALL GET_STRESS_CODE( STRESS_CODE, 1, 1, IS_FIBER_DISTANCE)
CALL WRITE_OES3_STATIC(ITABLE, ISUBCASE, DEVICE_CODE, ELEMENT_TYPE, NUM_WIDE, STRESS_CODE, &
TITLE, SUBTITLE, LABEL, FIELD5_INT_MODE, FIELD6_EIGENVALUE)
WRITE(OP2) NVALUES
Expand Down
53 changes: 24 additions & 29 deletions Source/LK9/L91/WRITE_ELEM_STRESSES.f90
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE )

! Indicators of whether to write note on indices of POLY_FIT_ERR
CHARACTER( 1*BYTE) :: WRT_ERR_INDEX_NOTE(MAX_NUM_STR)
CHARACTER( 6*BYTE) :: OPT_HDR_1
CHARACTER( 9*BYTE) :: OPT_HDR_2

INTEGER(LONG), INTENT(IN) :: JSUB ! Solution vector number
INTEGER(LONG), INTENT(IN) :: NUM ! The number of rows of OGEL to write out
Expand Down Expand Up @@ -199,6 +201,14 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE )

IF (WRITE_F06) THEN

IF (STRE_OPT == 'VONMISES') THEN
OPT_HDR_1 = ''
OPT_HDR_2 = 'von Mises'
ELSE
OPT_HDR_1 = 'Max'
OPT_HDR_2 = 'Shear-XY'
ENDIF

! -- F06 1st 2 header lines for stress output description
IF ((TYPE(1:3) == 'BAR') .OR. (TYPE(1:4) == 'BEAM')) THEN
IF (SOL_NAME(1:12) == 'GEN CB MODEL') THEN
Expand Down Expand Up @@ -309,11 +319,7 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE )
ENDIF

ELSE IF ((TYPE(1:5) == 'QUAD4') .OR. (TYPE(1:5) == 'QUAD8')) THEN
IF (STRE_OPT == 'VONMISES') THEN
WRITE(F06,1401) FILL(1: 1), FILL(1: 1), FILL(1: 1)
ELSE
WRITE(F06,1402) FILL(1: 1), FILL(1: 1)
ENDIF
WRITE(F06,1400) 'Fiber', 'Stresses', 'Stresses', OPT_HDR_1, 'Distance', OPT_HDR_2

ELSE IF (TYPE == 'ROD ') THEN
WRITE(F06,1501) FILL(1: 1), FILL(1: 1)
Expand All @@ -322,11 +328,7 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE )
WRITE(F06,1601) FILL(1: 1), FILL(1: 1)

ELSE IF (TYPE(1:5) == 'TRIA3') THEN
IF (STRE_OPT == 'VONMISES') THEN
WRITE(F06,1701) FILL(1: 1), FILL(1: 1), FILL(1: 1)
ELSE
WRITE(F06,1702) FILL(1: 1), FILL(1: 1)
ENDIF
WRITE(F06,1700) 'Fiber', 'Stresses', 'Stresses', OPT_HDR_1, 'Distance', OPT_HDR_2

ELSE IF (TYPE == 'BUSH ') THEN
WRITE(F06,1801) FILL(1: 1), FILL(1: 1)
Expand Down Expand Up @@ -755,15 +757,12 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE )
1306 FORMAT(1X,A,10X,'GRD',I8,5X,8(1ES14.6))

! QUAD4 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1401 FORMAT(1X,A,' Elem Location Fibre Stresses In Element Coord System Principal Stresses (Zero Shear)', &
' Transverse Transverse % Poly',/,1X,A, &
' ID Distance Normal-X Normal-Y Shear-XY Angle Major Minor von Mises', &
' Shear-XZ Shear-YZ Fit Err',/,1X,A,119X,'(max through thickness)')

1402 FORMAT(1X,A,'Elem Location Fibre Stresses In Element Coord System Principal Stresses (Zero Shear)', &
' Max Transverse Transverse % Poly',/,1X,A, &
' ID Distance Normal-X Normal-Y Shear-XY Angle Major Minor Shear-XY', &
' Shear-XZ Shear-YZ Fit Err',/,1X,A,119X,'(max through thickness)')
1400 FORMAT( &
' Elem Location ',A6,' ', A8, ' In Element Coord System Principal ', A8, ' (Zero Shear)', &
' ',A6,' Transverse Transverse % Poly',/, &
' ID ', A9, ' Normal-X Normal-Y Shear-XY Angle Major Minor ', &
' ', A9, ' Shear-XZ Shear-YZ Fit Err',/, &
121X,'(max through thickness)')

1403 FORMAT(1X,A,I8,2X,'CENTER ',3X,1ES11.3,3(1ES13.5),0PF8.2,5(1ES13.5))

Expand Down Expand Up @@ -799,16 +798,12 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE )


! TRIA3 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1701 FORMAT(1X,A,'Element Location Fibre Stresses In Element Coord System Principal Stresses (Zero Shear)', &
' Transverse Transverse' &
,/,1X,A,' ID Distance Normal-X Normal-Y Shear-XY Angle Major Minor' &
,' von Mises Shear-XZ Shear-YZ' &
,/,1X,A,123X,'(max through thickness)')

1702 FORMAT(1X,A,'Element Location Fibre Stresses In Element Coord System Principal Stresses (Zero Shear)', &
' Max Transverse Transverse' &
,/,1X,A,' ID Distance Normal-X Normal-Y Shear-XY Angle Major Minor', &
' Shear-XY Shear-XZ Shear-YZ',/,1X,123X,'(max through thickness)')
1700 FORMAT( &
' Element Location ',A6,' ', A8, ' In Element Coord System Principal ', A8, ' (Zero Shear)', &
' ',A6,' Transverse Transverse',/, &
' ID ', A9, ' Normal-X Normal-Y Shear-XY Angle Major Minor ', &
' ', A9, ' Shear-XZ Shear-YZ',/, &
125X,'(max through thickness)')

1703 FORMAT(1X,I8,4X,'Anywhere',2X,4(1ES13.5),0PF9.3,5(1ES13.5))

Expand Down
Loading
Loading