OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cdkepsini.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"
#include "scr03_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine cdkepsini (elbuf_str, mat_param, jft, jlt, ismstr, ilaw, ithk, pm, geo, ixtg, x, xreftg, for, thk, eint, gstr, px2g, py2g, px3g, py3g, x2s, y2s, x3s, y3s, off, imat, uvar, ipm, nel, nlay, dir_a, dir_b, sigi, npf, tf, irep)

Function/Subroutine Documentation

◆ cdkepsini()

subroutine cdkepsini ( type(elbuf_struct_), target elbuf_str,
type (matparam_struct_), intent(in) mat_param,
integer jft,
integer jlt,
integer ismstr,
integer ilaw,
integer ithk,
pm,
geo,
integer, dimension(nixtg,*) ixtg,
x,
xreftg,
for,
thk,
eint,
gstr,
px2g,
py2g,
px3g,
py3g,
x2s,
y2s,
x3s,
y3s,
off,
integer imat,
uvar,
integer, dimension(npropmi,*) ipm,
integer nel,
integer nlay,
dir_a,
dir_b,
sigi,
integer, dimension(*) npf,
tf,
integer irep )

Definition at line 35 of file cdkepsini.F.

44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE mat_elem_mod
48 use element_mod , only : nixtg
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C G l o b a l P a r a m e t e r s
55C-----------------------------------------------
56#include "mvsiz_p.inc"
57C-----------------------------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60#include "param_c.inc"
61#include "scr03_c.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 INTEGER JFT, JLT, ISMSTR, ILAW,IMAT,ITHK,NEL,IREP,NLAY
66 INTEGER IXTG(NIXTG,*),IPM(NPROPMI,*),NPF(*)
68 . pm(npropm,*),geo(npropg,*) ,x(3,*) ,xreftg(3,3,*),
69 . for(nel,5) ,thk(*) ,eint(jlt,2),gstr(nel,8),
70 . px2g(*) ,py2g(*) ,px3g(*) ,py3g(*) ,uvar(*),
71 . x2s(*) ,x3s(*) ,y2s(*) ,y3s(*) ,off(*),
72 . dir_a(nel,*),dir_b(nel,*),sigi(nel,3),tf(*)
73 TYPE(ELBUF_STRUCT_), TARGET :: ELBUF_STR
74 TYPE (MATPARAM_STRUCT_) ,INTENT(IN) :: MAT_PARAM
75C------------------------------------------------------
76C L o c a l V a r i a b l e s
77C-----------------------------------------------
78 INTEGER I, NT, I1, I2, I3,IDRAPE,IGTYP
79 my_real fac
81 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
82 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
83 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
84 . x1(mvsiz) , x2(mvsiz) , x3(mvsiz) ,x4(mvsiz) ,
85 . y1(mvsiz) , y2(mvsiz) , y3(mvsiz) ,y4(mvsiz) ,
86 . z1(mvsiz) , z2(mvsiz) , z3(mvsiz), z4(mvsiz) ,area(mvsiz),
87 . px2(mvsiz), px3(mvsiz), py2(mvsiz), py3(mvsiz),
88 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),eyz(mvsiz),ezx(mvsiz),
89 . vl(3,3,mvsiz), xl(3,3,mvsiz)
90 my_real,
91 . DIMENSION(:) , POINTER :: dir1, dir2
92C=======================================================================
93
94 idrape = elbuf_str%IDRAPE
95 igtyp = elbuf_str%IGTYP
96 DO i=jft,jlt
97 i1 = ixtg(2,i)
98 i2 = ixtg(3,i)
99 i3 = ixtg(4,i)
100 x1(i) = zero
101 y1(i) = zero
102 z1(i) = zero
103 x2(i) = x(1,i2)-x(1,i1)
104 y2(i) = x(2,i2)-x(2,i1)
105 z2(i) = x(3,i2)-x(3,i1)
106 x3(i) = x(1,i3)-x(1,i1)
107 y3(i) = x(2,i3)-x(2,i1)
108 z3(i) = x(3,i3)-x(3,i1)
109 ENDDO
110c
111 CALL cdkevec3(jft ,jlt ,area,
112 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
113 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
114 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
115c
116 DO i=jft,jlt
117 xl(1,2,i) = e1x(i)*x2(i) + e1y(i)*y2(i) + e1z(i)*z2(i)
118 xl(2,2,i) = e2x(i)*x2(i) + e2y(i)*y2(i) + e2z(i)*z2(i)
119 xl(1,3,i) = e1x(i)*x3(i) + e1y(i)*y3(i) + e1z(i)*z3(i)
120 xl(2,3,i) = e2x(i)*x3(i) + e2y(i)*y3(i) + e2z(i)*z3(i)
121 ENDDO
122c
123 DO i=jft,jlt
124 x2(i) = xreftg(2,1,i) - xreftg(1,1,i)
125 y2(i) = xreftg(2,2,i) - xreftg(1,2,i)
126 z2(i) = xreftg(2,3,i) - xreftg(1,3,i)
127 x3(i) = xreftg(3,1,i) - xreftg(1,1,i)
128 y3(i) = xreftg(3,2,i) - xreftg(1,2,i)
129 z3(i) = xreftg(3,3,i) - xreftg(1,3,i)
130 ENDDO
131c
132 CALL cdkevec3(jft ,jlt ,area,
133 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
134 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
135 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
136c
137 DO i=jft,jlt
138 vl(1,1,i) = zero
139 vl(2,1,i) = zero
140 vl(3,1,i) = zero
141 vl(1,2,i) = e1x(i)*xl(1,2,i)+e2x(i)*xl(2,2,i)
142 vl(2,2,i) = e1y(i)*xl(1,2,i)+e2y(i)*xl(2,2,i)
143 vl(3,2,i) = e1z(i)*xl(1,2,i)+e2z(i)*xl(2,2,i)
144 vl(1,3,i) = e1x(i)*xl(1,3,i)+e2x(i)*xl(2,3,i)
145 vl(2,3,i) = e1y(i)*xl(1,3,i)+e2y(i)*xl(2,3,i)
146 vl(3,3,i) = e1z(i)*xl(1,3,i)+e2z(i)*xl(2,3,i)
147 ENDDO
148c
149 fac = one / float(nitrs)
150 DO i=jft,jlt
151 vl(1,2,i) = (vl(1,2,i) - x2(i))*fac
152 vl(2,2,i) = (vl(2,2,i) - y2(i))*fac
153 vl(3,2,i) = (vl(3,2,i) - z2(i))*fac
154 vl(1,3,i) = (vl(1,3,i) - x3(i))*fac
155 vl(2,3,i) = (vl(2,3,i) - y3(i))*fac
156 vl(3,3,i) = (vl(3,3,i) - z3(i))*fac
157 ENDDO
158c--------------------------------------------------------
159 IF (ismstr/=1) THEN
160 DO nt=1,nitrs
161 fac = float(nt) - one
162C
163 DO i=jft,jlt
164 x1(i) = xreftg(1,1,i) + fac*vl(1,1,i)
165 y1(i) = xreftg(1,2,i) + fac*vl(2,1,i)
166 z1(i) = xreftg(1,3,i) + fac*vl(3,1,i)
167 x2(i) = xreftg(2,1,i) + fac*vl(1,2,i)
168 y2(i) = xreftg(2,2,i) + fac*vl(2,2,i)
169 z2(i) = xreftg(2,3,i) + fac*vl(3,2,i)
170 x3(i) = xreftg(3,1,i) + fac*vl(1,3,i)
171 y3(i) = xreftg(3,2,i) + fac*vl(2,3,i)
172 z3(i) = xreftg(3,3,i) + fac*vl(3,3,i)
173 ENDDO
174c
175 CALL cdkevec3(jft ,jlt ,area,
176 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
177 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
178 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
179c
180 CALL corth3(elbuf_str,dir_a ,dir_b ,jft ,jlt ,
181 . nlay ,irep ,nel ,
182 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
183 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
184 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
185 . idrape , igtyp )
186c
187 CALL cdkpxpyi(jft ,jlt ,ismstr,
188 . px2g ,py2g ,px3g ,py3g ,
189 . px2 ,py2 ,px3 ,py3 ,
190 . x2s ,y2s ,x3s ,y3s ,
191 . x1 ,x2 ,x3 ,y1 ,y2 ,
192 . y3 ,z1 ,z2 ,z3 ,
193 . e1x ,e2x ,e3x ,e1y ,e2y ,
194 . e3y ,e1z ,e2z ,e3z ,area )
195c
196 CALL cdkdefoi(jft ,jlt ,nel ,vl ,gstr ,
197 . px2 ,py2 ,px3 ,py3 ,
198 . e1x ,e2x ,e3x ,e1y ,e2y ,
199 . e3y ,e1z ,e2z ,e3z ,
200 . exx ,eyy ,exy ,eyz ,ezx )
201c
202 CALL cmlawi(mat_param,
203 . jft ,jlt ,ilaw ,ithk ,pm ,
204 . for ,thk ,eint ,gstr ,dir_a,
205 . dir_b,uvar ,ipm ,
206 . nel ,sigi ,npf ,tf ,
207 . area ,exx ,eyy ,exy ,imat )
208 ENDDO
209 ELSE
210C------
211C SMALL STRAIN FORMULATION.
212C------
213 CALL cdkpxpyi(jft ,jlt ,ismstr,
214 . px2g ,py2g ,px3g ,py3g ,
215 . px2 ,py2 ,px3 ,py3 ,
216 . x2s ,y2s ,x3s ,y3s ,
217 . x1 ,x2 ,x3 ,y1 ,y2 ,
218 . y3 ,z1 ,z2 ,z3 ,
219 . e1x ,e2x ,e3x ,e1y ,e2y ,
220 . e3y ,e1z ,e2z ,e3z ,area )
221 dir1 => elbuf_str%BUFLY(1)%DIRA
222 dir2 => elbuf_str%BUFLY(1)%DIRB
223c
224 DO nt=1,nitrs
225 CALL cdkdefoi(jft ,jlt ,nel ,vl ,gstr ,
226 . px2 ,py2 ,px3 ,py3 ,
227 . e1x ,e2x ,e3x ,e1y ,e2y ,
228 . e3y ,e1z ,e2z ,e3z ,
229 . exx ,eyy ,exy ,eyz ,ezx )
230
231 CALL cmlawi(mat_param,
232 . jft ,jlt ,ilaw ,ithk ,pm ,
233 . for ,thk ,eint ,gstr ,dir_a,
234 . dir_b,uvar ,ipm ,
235 . nel ,sigi ,npf ,tf ,
236 . area ,exx ,eyy ,exy ,imat )
237c
238 ENDDO
239 off(jft:jlt) = two
240 ENDIF
241C ---
242 RETURN
subroutine cdkevec3(jft, jlt, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition cdkevec3.F:38
subroutine cdkdefoi(jft, jlt, nel, vl, gstr, px2, py2, px3, py3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, exx, eyy, exy, eyz, ezx)
Definition cdkinit3.F:541
subroutine cdkpxpyi(jft, jlt, ismstr, px2g, py2g, px3g, py3g, px2, py2, px3, py3, x2, y2, x3, y3, x1g, x2g, x3g, y1g, y2g, y3g, z1g, z2g, z3g, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, area)
Definition cdkinit3.F:459
subroutine cmlawi(mat_param, jft, jlt, ilaw, ithk, pm, for, thk, eint, gstr, dir1, dir2, uvar, ipm, nel, sigi, npf, tf, area, exx, eyy, exy, imat)
Definition cepsini.F:280
subroutine corth3(elbuf_str, dir_a, dir_b, jft, jlt, nlay, irep, nel, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, idrape, igtyp)
Definition corth3.F:42
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
for(i8=*sizetab-1;i8 >=0;i8--)