-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAbaqus-Viscoelastic-Curing-Subroutine.for
297 lines (291 loc) · 9.8 KB
/
Abaqus-Viscoelastic-Curing-Subroutine.for
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
C ######################################################################
C ################# CAE Assistant Company ################
C ############## www CAEassistant com #############
C ########### Copy right by CAE Assistant Company ###############
C ######################################################################
C ONLY the BUYER of this package has permission to use its codes.
C Any distribution of this subroutine is illegal and will be prosecuted
C ######################################################################
C ######################################################################
C CAE Assisitant Services:
C Toturial Packages,Consultancy,Articles,Q&A,Video Gallery,Online Course
C ######################################################################
C Need help with your project?
C You can get initial free consultation from (Support CAEassistant com)
C ######################################################################
SUBROUTINE UEXPAN(EXPAN,DEXPANDT,TEMP,TIME,DTIME,PREDEF,
1 DPRED,STATEV,CMNAME,NSTATV,NOEL)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
C
DIMENSION EXPAN(*),DEXPANDT(*),TEMP(2),TIME(2),PREDEF(*),
1 DPRED(*),STATEV(NSTATV)
C
REAL*4 CTE1,CTE2,CTE3,CCS1,CCS2,CCS3
C
CTE1 = 0.5D-6 !Thermal expansion coefficient in fiber's direction
CTE2 = 35.3D-6 !Thermal expansion coefficient in resin's direction
CTE3 = 35.3D-6 !Thermal expansion coefficient in resin's direction
C
CCS1 = -167.D-6 !Chemical shrinkage coefficient in fiber's direction
CCS2 = -8810.D-6 !Chemical shrinkage coefficient in resin's direction
CCS3 = -8810.D-6 !Chemical shrinkage coefficient in resin's direction
C
EXPAN(1) = !Hidden Content Please purchase the full product to access the complete code.
C
DEXPANDT(1) = !Hidden Content Please purchase the full product to access the complete code.
C
RETURN
END
C
subroutine usdfld(field,statev,pnewdt,direct,t,celent,time,dtime,
1 cmname,orname,nfield,nstatv,noel,npt,layer,kspt,kstep,kinc,
2 ndi,nshr,coord,jmac,jmtyp,matlayo,laccflg)
C
include 'aba_param.inc'
C
character*80 cmname,orname
character*3 flgray(15)
dimension field(nfield),statev(nstatv),direct(3,3),t(3,3),time(2),
* coord(*),jmac(*),jmtyp(*)
dimension array(15),jarray(15)
C
REAL*4 ALPHA,DADT,DADTT,DE1,DE2,DE3,A1,A2,A3,R,k1,k2,k3,
+ Dk1DT,Dk2DT,Dk3DT,MINSEC,B,ONE,TEMP1
C
C STATEV(1) : Degree of Cure
C STATEV(2) : Rate of Cure
C STATEV(3) : The Variation in the RATE OF CURE with Respect to Temperature
C
C ALPHA : Degree of Cure
C
C DADT : Rate of Cure
C DADTT : Variation of the Rate of Cure with Respect to Temperature
C
C DE1,DE2,DE3 : Activation Energies
C A1,A2,A3 : Pre-exponential Constants
C k1,k2,k3 : Rate constants
C Dk1DT,Dk2DT,Dk3DT : Variations of Rate Constants with Respect to Temperature
C
C R : Universal Gas Constant
C RHOR : Resin Density
C HR : Total Thermal Energy Generated by Reaction
C
C MINSEC : Conversion of Minute to Second
C
C VF : fiber volume fraction
C B: Constant Value
C
C TEMP1: Current Temperature
C
R=8.3143
C
A1=2.101D9
A2=-2.014D9
A3=1.960D5
DE1=8.07D4
DE2=7.78D4
DE3=5.66D4
B=0.47D0
C
ONE=1.D0
MINSEC=60.D0
C
ALPHA= !Hidden Content Please purchase the full product to access the complete code.
C
IF (kinc .le. 1) THEN
!Hidden Content Please purchase the full product to access the complete code.
END IF
C
!Hidden Content Please purchase the full product to access the complete code.
C
IF (ALPHA<=0.3D0) THEN
k1=A1*EXP(-DE1/R/TEMP1)
DADT=(k1+k2*ALPHA)*(ONE-ALPHA)*(B-ALPHA)
C
!Hidden Content Please purchase the full product to access the complete code.
ELSE
k3=A3*EXP(-DE3/R/TEMP1)
DADT=k3*(ONE-ALPHA)
C
!Hidden Content Please purchase the full product to access the complete code.
ENDIF
C
STATEV(2)=DADT/MINSEC
!Hidden Content Please purchase the full product to access the complete code.
C
C
RETURN
END
C
SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U(3),TIME(2),COORDS(3)
C
REAL*4 T,RATE,T1,T2,T3,T4,TEMP0,TEMP1,TEMP2
C
C T: Time
C RATE: Temperature increse per second
C T1-T4: Time Points
C TEMP0-TEMP2: Temperature Points
C
T=TIME(1)
RATE=2.5D0/60.D0
C
T1=2184.D0
T2=5784.D0
T3=7248.D0
T4=14448.D0
C
TEMP0=298.15D0
TEMP1=389.15D0
TEMP2=450.15D0
C
IF (T<=T1) THEN
!Hidden Content Please purchase the full product to access the complete code.
ENDIF
C
RETURN
END
C
SUBROUTINE HETVAL(CMNAME,TEMP,TIME,DTIME,STATEV,FLUX,
1 PREDEF,DPRED)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
DIMENSION TEMP(2),STATEV(*),PREDEF(*),TIME(2),FLUX(2),
1 DPRED(*)
C
REAL*4 RHOR,ONE,HR,VF, ALPHA
C
C STATEV(1) : Degree of cure
C STATEV(2) : Rate of cure
C STATEV(3) : The variation in the rate of cure with respect to temperature
C RHOR : Resin density
C HR : Total thermal energy generated by the reaction
C VF : Fiber volume fraction
C
RHOR=1272.D0
VF=0.52D0
C
HR=473.6D3
C
ONE=1.D0
ALPHA = STATEV(1)-STATEV(2)*DTIME
C
IF (ALPHA<=0.45D0) THEN
RHOR=1232.D0+90.D0*(ALPHA)
ENDIF
C
FLUX(1)=!Hidden Content Please purchase the full product to access the complete code.
!Hidden Content Please purchase the full product to access the complete code.
C
RETURN
END
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,
2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATV),
1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)
C
REAL*8 ALPHA, FAlpha, ShiftFac, Tai(9), DZETA, TEMP1
REAL*8 A1(9), A2(9)
REAL*8 C11inf, C12inf, C22inf,C23inf,C44inf,C55inf
REAL*8 C11u, C12u, C22u,C23u,C44u,C55u
REAL*8 qold(NTENS,9), q(NTENS,9)
REAL*8 f111,f122,f123,f121,f222,f233,f232,f223
REAL*8 f444,f555,f556
REAL*8 sigmaE(NTENS), depsilon(NTENS), epsilonE(NTENS)
REAL*8 minpar, maxpar, TaPrim, ONE, MINSEC, AlphaRef
C
INTEGER Countnum
C
ONE = 1.D0
C
MINSEC = 60.D0
C
AlphaRef = 0.98D0
C
!Unrelaxed Modulus
C11u = 127.4D9
C12u = 3.88D9
C22u = 10.0D9
!Hidden Content Please purchase the full product to access the complete code.
C
!Fully Relaxed Modulus
C11inf = C11u * 0.14D0
C12inf = C12u * 0.14D0
C22inf = C22u * 0.14D0
!Hidden Content Please purchase the full product to access the complete code.
C
!ALPHA : Degree of cure
ALPHA = !Hidden Content Please purchase the full product to access the complete code.
TEMP1 = !Hidden Content Please purchase the full product to access the complete code.
C
!Hidden Content Please purchase the full product to access the complete code.
!Calculate The Reduced Time DZeta
DZETA = DTIME / ShiftFac
C
Countnum = 1
C
DO I=1,9
DO K=1,NTENS
!Hidden Content Please purchase the full product to access the complete code.
Countnum = Countnum + 1
END DO
END DO
C
!Calculate Delat Epsilon
depsilon(1) = DSTRAN(1)
!Hidden Content Please purchase the full product to access the complete code.
C
!Calculate Epsilon
epsilonE(1) = !Hidden Content Please purchase the full product to access the complete code.
C
!Calculate The Relaxation Times Rho(m) or Ta
DO I=1,9
TaPrim = !Hidden Content Please purchase the full product to access the complete code.
C
END DO
!Hidden Content Please purchase the full product to access the complete code.
C
DO I=1,9
f111 = !Hidden Content Please purchase the full product to access the complete code.
END DO
!Hidden Content Please purchase the full product to access the complete code.
sigmaE(5) = C55inf * epsilonE(5) + f555
C
STRESS(1) = sigmaE(1)
!Hidden Content Please purchase the full product to access the complete code.
C
DO I=1,NTENS
DO J=1,NTENS
DDSDDE(I,J) = 0.0D0
END DO
END DO
C
!Hidden Content Please purchase the full product to access the complete code.
C
DO I=1,9
DDSDDE(1,1) = DDSDDE(1,1) +
* !Hidden Content Please purchase the full product to access the complete code.
END DO
C
DDSDDE(1,3) = DDSDDE(1,2)
!Hidden Content Please purchase the full product to access the complete code.
C
RETURN
END