ddnsth
C DDNSTH SOURCE CHAT 05/01/12 22:38:08 5004
C DDNSTH SOURCE AM 95/12/27 21:26:13 1962
* UYP,UYN,CP,CN,PSP,PSN,BP,BN,UEP,PEP,UEN,
* PEN,UCP,UCN,E1P,E1N,E2P,E2N,USP,USN,UTP,
* PTP,UTN,PTN,EP,EN)
C=======================================================================
C 3-PARAMETER MODEL
C
C THIS PROGRAM TRACES THE HYSTERETIC BEHAVIOR OF R/C COMPONENTS
C - "DDNSTH" REPRESENTS DEGRADING, DETERIORATING,
C NONSYMMETRIC, SLIP-TYPE & TRILINEAR HYSTERETIC MODEL.
C
C *ESSENTIAL VARIABLES
C IR= NUMBER OF BRANCH OF HYSTERETIC RULE
C IC= NON-ZERO VALUE INDICATES CHANGE OF BRANCH
C DP= INCREMENTAL STRESS
C PN= NEW STRESS
C U= NEW DEFORMATION
C E= INSTANTANIOUS STIFFNESS
C *PERMANENT VARIABLES FOR ENVELOPE CURVES (LAST LETTER "P" INDICATES
C POSITIVE SIDE, AND "N" INDICATES NEGATIVE SIDE)
C E0= INITIAL STIFFNESS
C EYP,EYN= POST-YIELDING STIFFNESS
C PCP,PCN= CRACKING STRESS
C PYP,PYN= YIELDING STRESS
C UYP,UYN= YIELDING DEFORMATION
C
C *PERMANENT VARIABLES FOR DEGRADATION
C CP,CN= COEFFICIENT FOR COMMON POINTS OF UNLOADING BRANCH
C
C *PERMANENT VARIABLES FOR SLIPPAGE
C PSP,PSN= SLIPPING YIELD STRESS (WHEN NO SLIP IS EXPECTED,
C SET PSP>PYP,PSN<PYN)
C
C *PERMANENT VARIABLES FOR DETERIORATION
C BP,BN= RATIO OF PLASTIC DEFORMATION INCREASE PER UNIT
C INCREASE OF ABSORBED ENERGY.
C
C *TEMPORAL VARIABLES FOR DEGRADATION
C UEP,PEP= EXPERIANCED MAXIMUM (POSITIVE) POINT
C UEN,PEN= EXPERIANCED MINIMUM (NEGATIVE) POINT
C UCP,UCN= UNLOADING (RELOADING) TURNING POINT ON X-AXIS
C E1P,E1N= FIRST UNLOADING (RELOADING) STIFFNESS
C E2P,E2N= SECOND RELOADING (UNLOADING)STIFFNESS
C
C *TEMPORAL VARIABLES FOR SLIPPAGE
C USP,USN= TARGET SLIP YIELD DEF. (CRACK CLOSING POINT)
C
C *TEMPORAL VARIABLES FOR DETERIORATION
C UPT,PTP= EXPECTED NEW MAXIMUN POINT
C UTN,PTN= EXPECTED NEW MINIMUM POINT
C EP = INCREASE OF ABSORBED ENERGY TO CACULATE
C NEW MAXIMUM POINT
C EN = INCREASE OF ABSORBED ENERGY TO CACULATE
C NEW MINIMUM POINT
C
C *NECESSARY INITIAL CONDITION
C IR= 1 , PN= (LONG TERM LOADING) , PEN=PEP= 0
C
C===================================================================
IMPLICIT INTEGER(I-N)
IMPLICIT REAL*8(A-H,O-Z)
C
IO=IR
UO=U
PO=PN
GO TO(10,20,30,40,50,60,70,80,90,100,110,120,130,140,150),IR
C
C -----
C IR=1
C -----
C
10 IF(PN.LT.PCP)GO TO 11
IR=2
PO=PCP
UO=PCP/E0
E=(PYP-PCP)/(UYP-UO)
PN=PCP+(PN-PCP)*E/E0
GO TO 22
11 IF(PN.LT.PCN)GO TO 12
E=E0
U=PN/E
GO TO 200
12 IR=3
PO=PCN
UO=PCN/E0
E=(PYN-PCN)/(UYN-UO)
PN=PCN+(PN-PCN)*E/E0
GO TO 32
C
C -----
C IR=2
C -----
C
21 IR=6
PEP=PO
UEP=UO
EP=0.
E1P=(PO+CP*PYP)/(UO+CP*PYP/E0)
UCP=U-PO/E1P
USP=UCP
E=E1P
GO TO 63
22 IF(PN.GT.PYP)GO TO 23
U=PCP/E0+(PN-PCP)/E
EN=EN+0.5*(PN+PO)*(U-UO)
GO TO 200
23 IR=4
PN=PYP+(PN-PYP)*EYP/E
U=UYP+(PN-PYP)/EYP
EN=EN+0.5*(PYP+PO)*(UYP-UO)+0.5*(PN+PYP)*(U-UYP)
E=EYP
GO TO 200
C
C -----
C IR=3
C -----
C
31 IR=7
PEN=PO
UEN=UO
EN=0.
E1N=(PO+CN*PYN)/(UO+CN*PYN/E0)
UCN=UO-PO/E1N
USN=UCN
E=E1N
GO TO 73
32 IF(PN.LT.PYN)GO TO 33
U=PCN/E0+(PN-PCN)/E
EP=EP+0.5*(PN+PO)*(U-UO)
GO TO 200
33 IR=5
PN=PYN+(PN-PYN)*EYN/E
U=UYN+(PN-PYN)/EYN
EP=EP+0.5*(PYN+PO)*(UYN-UO)+0.5*(PN+PYN)*(U-UYN)
E=EYN
GO TO 200
C
C -----
C IR=4
C -----
C
41 U=UYP+(PN-PYP)/EYP
E=EYP
EN=EN+0.5*(PO+PN)*(U-UO)
GO TO 200
C
C -----
C IR=5
C -----
C
51 U=UYN+(PN-PYN)/EYN
E=EYN
EP=EP+0.5*(PO+PN)*(U-UO)
GO TO 200
C
C -----
C IR=6
C -----
C
60 IF(PN.LE.PEP)GO TO 63
61 IF(PEP.GT.PYP)GO TO 62
IR=2
E2=(PYP-PCP)/(UYP-PCP/E0)
PN=PEP+(PN-PEP)*E2/E
EN=EN+0.5*(PEP+PO)*(UEP-UO)
PO=PEP
UO=UEP
E=E2
GO TO 22
62 IR=4
PN=PEP+(PN-PEP)*EYP/E
EN=EN+0.5*(PEP+PO)*(UEP-UO)
PO=PEP
UO=UEP
GO TO 41
63 IF(PN.LT.0.)GO TO 64
U=UCP+PN/E1P
X=0.5*(PO+PN)*(U-UO)
EP=EP+X
EN=EN+X
E=E1P
GO TO 200
64 IR=8
X=0.5*PO**2/E1P
PO=0.
UO=UCP
EP=EP-X
EN=EN-X
IF(PEN.LE.PCN)GO TO 65
E1N=E0
E2N=-PCN/(UCP-PCN/E0)
PN=PN*E2N/E1P
E=E2N
GO TO 84
CAVP2 65 IF(PSN.GT.PYN)GO TO 66
65 IF(PSN.GT.PYN.AND.PSN.GT.PEN)GO TO 66
XE=0.5*PEN*(UEN-UCP)+EN
CAVP1
IF(XE.LT.0.0)XE=0.0
CAVP1
UTN=UEN-BN*XE
E2=(PYN-PCN)/(UYN-PCN/E0)
PTN=PCN+E2*(UTN-PCN/E0)
IF(UTN.LT.UYN)PTN=PYN+EYN*(UTN-UYN)
E1N=(CN*PYN+PTN)/(UTN+CN*PYN/E0)
E2N=PTN/(UTN-UCP)
PN=PN*E2N/E
E=E2N
GO TO 87
66 X=UEN-(PEN-PSN)/E1N-UCP
PX=E0*(PSN*UCP/X)/(PSN/X-E0)
XE=0.5*(UEN-UCP)*PX+0.5*PEN*(UEN-PX/E0)+EN
CAVP1
IF(XE.LT.0.0)XE=0.0
CAVP1
UTN=UEN-BN*XE
E2=(PYN-PCN)/(UYN-PCN/E0)
PTN=PCN+E2*(UTN-PCN/E0)
IF(UTN.LT.UYN)PTN=PYN+EYN*(UTN-UYN)
E1N=(CN*PYN+PTN)/(UTN+CN*PYN/E0)
USN=UTN-PTN/E1N
E2N=PSN/(UTN-(PTN-PSN)/E1N-UCP)
PN=PN*E2N/E
E=E2N
GO TO 89
C
C -----
C IR=7
C -----
C
70 IF(PN.GE.PEN)GO TO 73
71 IF(PEN.LT.PYN)GO TO 72
IR=3
E2=(PYN-PCN)/(UYN-PCN/E0)
PN=PEN+(PN-PEN)*E2/E
EP=EP+0.5*(PEN+PO)*(UEN-UO)
PO=PEN
UO=UEN
E=E2
GO TO 32
72 IR=5
PN=PEN+(PN-PEN)*EYN/E
EP=EP+0.5*(PEN+PO)*(UEN-UO)
PO=PEN
UO=UEN
GO TO 51
73 IF(PN.GT.0.)GO TO 74
U=UCN+PN/E1N
X=0.5*(PO+PN)*(U-UO)
EP=EP+X
EN=EN+X
E=E1N
GO TO 200
74 IR=9
X=0.5*PO**2/E1N
PO=0.
UO=UCN
EP=EP-X
EN=EN-X
IF(PEP.GT.1.001*PCP)GO TO 75
E1P=E0
E2P=PCP/(PCP/E0-UCN)
PN=PN*E2P/E1N
E=E2P
GO TO 94
CAVP1 75 IF(PSP.LT.PYP)GO TO 76
75 IF(PSP.LT.PYP.AND.PSP.LT.PEP)GO TO 76
XE=0.5*PEP*(UEP-UCN)+EP
CAVP1
IF(XE.LT.0.0)XE=0.0
CAVP1
UTP=UEP+BP*XE
E2=(PYP-PCP)/(UYP-PCP/E0)
PTP=PCP+E2*(UTP-PCP/E0)
IF(UTP.GT.UYP)PTP=PYP+EYP*(UTP-UYP)
E1P=(CP*PYP+PTP)/(UTP+CP*PYP/E0)
E2P=PTP/(UTP-UCN)
PN=PN*E2P/E
E=E2P
GO TO 97
76 X=UEP-(PEP-PSP)/E1P-UCN
PX=E0*(PSP*UCN/X)/(PSP/X-E0)
XE=0.5*(UEP-UCN)*PX+0.5*PEP*(UEP-PX/E0)+EP
CAVP1
IF(XE.LT.0.0)XE=0.0
CAVP1
UTP=UEP+BP*XE
E2=(PYP-PCP)/(UYP-PCP/E0)
PTP=PCP+E2*(UTP-PCP/E0)
IF(UTP.GT.UYP)PTP=PYP+EYP*(UTP-UYP)
E1P=(CP*PYP+PTP)/(UTP+CP*PYP/E0)
USP=UTP-PTP/E1P
E2P=PSP/(UTP-(PTP-PSP)/E1P-UCN)
PN=PN*E2P/E
E=E2P
GO TO 99
C
C -----
C IR=8
C -----
C
IR=13
81 UCN=UO-PO/E1N
E=E1N
GO TO 73
83 IF(PEN.LT.1.001*PCN)GO TO 86
84 IF(PN.LT.PCN)GO TO 85
E=E2N
U=UCP+PN/E
X=0.5*(PO+PN)*(U-UO)
EP=EP+X
GO TO 200
85 IR=3
X=0.5*(PCN+PO)*(PCN/E0-UO)
EP=EP+X
E2=(PYN-PCN)/(UYN-PCN/E0)
PN=PCN+E2*(PN-PCN)/E2N
PO=PCN
UO=PCN/E0
E=E2
GO TO 32
86 IF(PSN.GT.PYN)GO TO 89
87 IF(PN.GT.PTN)GO TO 88
PEN=PTN
UEN=UTN
GO TO 71
88 E=E2N
U=UO+(PN-PO)/E
X=0.5*(PO+PN)*(U-UO)
EP=EP+X
EN=EN+X
GO TO 200
CAVP89 PX=E0*E2N*UCP/(E2N-E0)
CPP189 PX=E2N*(USN-UCP)
CAVP89 PX=E2N*UCP*PTN/(E2N*UTN-PTN)
89 PX=E2N*(USN-UCP)
IF(PN.GT.PX)GO TO 88
IR=10
X=0.5*(USN-UO)*(PX+PO)
EP=EP+X
EN=EN+X
PO=PX
CAVP UO=PX/E0
UO=PX/E2N+UCP
E2N=(PTN-PX)/(UTN-UO)
PN=PX+(PN-PX)*E2N/E
E=E2N
GO TO 87
C
C -----
C IR=9
C -----
C
IR=12
91 UCP=UO-PO/E1P
E=E1P
GO TO 63
93 IF(PEP.GT.1.001*PCP)GO TO 96
94 IF(PN.GT.PCP)GO TO 95
E=E2P
U=UCN+PN/E
X=0.5*(PO+PN)*(U-UO)
EN=EN+X
GO TO 200
95 IR=2
X=0.5*(PCP+PO)*(PCP/E0-UO)
EN=EN+X
E2=(PYP-PCP)/(UYP-PCP/E0)
PN=PCP+E2*(PN-PCP)/E2P
PO=PCP
UO=PCP/E0
E=E2
GO TO 22
96 IF(PSP.LT.PYP)GO TO 99
97 IF(PN.LT.PTP)GO TO 98
PEP=PTP
UEP=UTP
GO TO 61
98 E=E2P
U=UO+(PN-PO)/E
X=0.5*(PO+PN)*(U-UO)
EP=EP+X
EN=EN+X
GO TO 200
CAVP99 PX=E0*EP2*UCN/(E2P-E0)
CAVP99 PX=E0*E2P*UCN/(E2P-E0)
CPP199 PX=E2P*(USP-UCN)
CAVP99 PX=E2P*UCN*PTP/(E2P*UTP-PTP)
99 PX=E2P*(USP-UCN)
IF(PN.LT.PX)GO TO 98
IR=11
X=0.5*(USP-UO)*(PX+PO)
EP=EP+X
EN=EN+X
PO=PX
CAVP UO=PX/E0
UO=PX/E2P+UCN
E2P=(PTP-PX)/(UTP-UO)
PN=PX+(PN-PX)*E2P/E
E=E2P
GO TO 97
C
C -----
C IR=10
C -----
C
IR=15
GO TO 81
C
C -----
C IR=11
C -----
C
IR=14
GO TO 91
C
C -----
C IR=12
C -----
C
120 PX=(UCP-UCN)/(E1P-E2P)*E1P*E2P
IF(PN.LT.PX)GO TO 63
IR=9
UX=UCP+PX/E1P
X=0.5*(PX+PO)*(UX-UO)
PN=PX+(PN-PX)*E2P/E1P
E=E2P
PO=PX
UO=UX
EP=EP+X
EN=EN+X
GO TO 93
C
C -----
C IR=13
C -----
C
130 PX=(UCN-UCP)/(E1N-E2N)*E1N*E2N
IF(PN.GT.PX)GO TO 73
IR=8
UX=UCN+PX/E1N
X=0.5*(PX+PO)*(UX-UO)
PN=PX+(PN-PX)*E2N/E1N
E=E2N
PO=PX
UO=UX
EP=EP+X
EN=EN+X
GO TO 83
C
C -----
C IR=14
C -----
C
140 PX=(E1P*E2P*(UCP-UTP)+E1P*PTP)/(E1P-E2P)
IF(PN.LT.PX)GO TO 63
IR=11
UX=UCP+PX/E1P
X=0.5*(PX+PO)*(UX-UO)
PN=PX+(PN-PX)*E2P/E1P
E=E2P
PO=PX
UO=UX
EP=EP+X
EN=EN+X
GO TO 97
C
C -----
C IR=15
C -----
C
150 PX=(E1N*E2N*(UCN-UTN)+E1N*PTN)/(E1N-E2N)
IF(PN.GT.PX)GO TO 73
IR=10
UX=UCN+PX/E1N
X=0.5*(PX+PO)*(UX-UO)
PN=PX+(PN-PX)*E2N/E1N
E=E2N
PO=PX
UO=UX
EP=EP+X
EN=EN+X
GO TO 87
C ------------------------------------------------------------------
200 IC=0
IF(IO.NE.IR)IC=IO
C=======================================================================
RETURN
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales