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