33 1 JFT ,JLT ,OFF ,DIR ,
34 2 SHF ,NPT ,NGL ,IPT ,OFF_OLD,
35 3 THK0 ,EPSD ,SIGY ,ZCFAC ,NEL ,
36 4 DEPSXX ,DEPSYY ,DEPSXY ,DEPSYZ ,DEPSZX ,
37 5 SIGOXX ,SIGOYY ,SIGOXY ,SIGOYZ ,SIGOZX ,
38 6 SIGNXX ,SIGNYY ,SIGNXY ,SIGNYZ ,SIGNZX ,
39 7 WPLAR ,IOFF_DUCT,PLA ,ISRATE ,ASRATE ,
48#include "implicit_f.inc"
61 INTEGER JFT,JLT,NPT,NEL,IPT
62 INTEGER NGL(MVSIZ),IOFF_DUCT(MVSIZ),ISRATE
63 my_real ,
INTENT(IN) :: ASRATE
64 my_real ,
DIMENSION(NEL) ,
INTENT(IN) :: EPSD_PG
65 my_real ,
DIMENSION(NEL) ,
INTENT(INOUT) :: EPSD
68 . OFF(*),DIR(*),SHF(*),SIGY(*),ZCFAC(MVSIZ,2),
70 . depszx(mvsiz),sigoxx(nel),sigoyy(nel),sigoxy(nel),
71 . sigoyz(nel),sigozx(nel),signxx(nel),signyy(nel),signxy(nel),
72 . signyz(nel),signzx(nel),wplar(mvsiz),off_old(mvsiz),pla
74 TYPE(matparam_struct_) ,
INTENT(IN) :: MAT_PARAM
78 INTEGER ICC(MVSIZ),I,ILAYER,ICC_1
80 . YLD(MVSIZ),ETSE(MVSIZ),DEGMB(MVSIZ),CB(MVSIZ),CN(MVSIZ),
81 . E11(MVSIZ),E22(MVSIZ),NU12(MVSIZ),NU21(MVSIZ),G12(MVSIZ),
82 . g23(mvsiz),g31(mvsiz),de(mvsiz),f1(mvsiz),f2(mvsiz),
83 . f12(mvsiz),f11(mvsiz),f22(mvsiz),f33(mvsiz),sigt1(mvsiz),
84 . sigt2(mvsiz),fmax(mvsiz),wwpla(mvsiz),wplamx(mvsiz),
85 . cc(mvsiz),epdr(mvsiz),wplaref(mvsiz),
86 . e11_1,e22_1,nu12_1,nu21_1,g12_1,g23_1,g31_1,cb_1,cn_1,
87 . cc_1,epdr_1,f1_1,f2_1,f11_1,f22_1,f33_1,f12_1,sigt1_1,sigt2_1
89 icc_1 = mat_param%IPARAM(3)
91 e11_1 = mat_param%UPARAM(1)
92 e22_1 = mat_param%UPARAM(2)
93 nu12_1 = mat_param%UPARAM(4)
94 nu21_1 = mat_param%UPARAM(5)
95 g12_1 = mat_param%UPARAM(6)
96 g23_1 = mat_param%UPARAM(7)
97 g31_1 = mat_param%UPARAM(8)
98 cc_1 = mat_param%UPARAM(10)
99 epdr_1 = mat_param%UPARAM(11)
100 sigt1_1 = mat_param%UPARAM(12)
101 sigt2_1 = mat_param%UPARAM(13)
103 cb_1 = mat_param%UPARAM(27)
104 cn_1 = mat_param%UPARAM(28)
106 f1_1 = mat_param%UPARAM(21)
107 f2_1 = mat_param%UPARAM(22)
108 f11_1 = mat_param%UPARAM(23)
109 f22_1 = mat_param%UPARAM(24)
110 f33_1 = mat_param%UPARAM(25)
111 f12_1 = mat_param%UPARAM(26)
135 yld(i) =one/sqrt(f33_1)
139 wplaref(i)= mat_param%UPARAM(9)
140 wplamx(i) = mat_param%UPARAM(20)
141 fmax(i) = mat_param%UPARAM(29)
146 CALL m25cplrp2(jft ,jlt ,wplaref,thk0 ,off ,etse ,
147 2 pla ,dir ,npt ,cc ,epdr ,icc ,
148 3 wwpla ,shf ,fmax ,cb ,cn ,nel ,
149 4 degmb ,f1 ,f2 ,f12 ,f11 ,f22 ,
150 5 f33 ,e11 ,e22 ,nu12 ,nu21 ,g12 ,
151 6 g23 ,g31 ,de ,epsd ,israte ,yld ,
152 7 depsxx ,depsyy ,depsxy ,depsyz ,depszx ,sigoxx ,
153 8 sigoyy ,sigoxy ,sigoyz ,sigozx ,signxx ,signyy ,
154 9 signxy ,signyz ,signzx ,tsaiwu ,asrate ,epsd_pg)
157 wplar(i) =
max(wplar(i),wwpla(i))
163 zcfac(i,1) = zcfac(i,1) + etse(i) / npt
164 zcfac(i,2) =
min(etse(i),zcfac(i,2))
165 sigy(i) = sigy(i) + yld(i)/npt
171 IF ( off(i) == off_old(i) .and. off_old(i) < em01 ) off(i)=zero
172 IF ( off(i) == off_old(i) .and. off_old(i) < one ) off(i)=off(i)*four_over_5
176 IF (off(i) == one .AND. wplar(i) >= wplamx(i))
THEN
184 degmb(i)=degmb(i)*off(i)
subroutine m25cplrp2(jft, jlt, wplaref, thk, off, etse, wpla, dir, npt, cc, epdr, icc, wwpla, shf, fmax, cb, cn, nel, degmb, f1, f2, f12, f11, f22, f33, e11, e22, nu12, nu21, g12, g23, g31, de, epsd, israte, sigy, depsxx, depsyy, depsxy, depsyz, depszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, tsaiwu, asrate, epsd_pg)
subroutine sigeps25cp(mat_param, jft, jlt, off, dir, shf, npt, ngl, ipt, off_old, thk0, epsd, sigy, zcfac, nel, depsxx, depsyy, depsxy, depsyz, depszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, wplar, ioff_duct, pla, israte, asrate, epsd_pg, tsaiwu)