OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cnepsini.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 cnepsini (elbuf_str, mat_param, jft, jlt, ismstr, mtn, ithk, pm, geo, ixc, x, xrefc, nlay, for, thk, eint, gstr, px1g, px2g, py1g, py2g, x2s, y2s, x3s, y3s, x4s, y4s, off, uvar, ipm, imat, igeo, nel, dir_a, dir_b, sigi, npf, tf, irep)

Function/Subroutine Documentation

◆ cnepsini()

subroutine cnepsini ( type (elbuf_struct_), target elbuf_str,
type (matparam_struct_), intent(in) mat_param,
integer jft,
integer jlt,
integer ismstr,
integer mtn,
integer ithk,
pm,
geo,
integer, dimension(nixc,*) ixc,
x,
xrefc,
integer nlay,
for,
thk,
eint,
gstr,
px1g,
px2g,
py1g,
py2g,
x2s,
y2s,
x3s,
y3s,
x4s,
y4s,
off,
uvar,
integer, dimension(npropmi,*) ipm,
integer imat,
integer, dimension(npropgi,*) igeo,
integer nel,
dir_a,
dir_b,
sigi,
integer, dimension(*) npf,
tf,
integer irep )

Definition at line 35 of file cnepsini.F.

44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE mat_elem_mod
48 use element_mod , only : nixc
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, MTN,IMAT,ITHK, NEL, IREP,NLAY
66 INTEGER IXC(NIXC,*),IGEO(NPROPGI,*),IPM(NPROPMI,*),NPF(*)
68 . pm(npropm,*),geo(npropg,*) ,x(3,*) ,xrefc(4,3,*),
69 . for(nel,5) ,thk(*) ,eint(jlt,2),gstr(nel,8),
70 . px1g(*) ,px2g(*) ,py1g(*) ,py2g(*),
71 . x2s(*) ,y2s(*) ,x3s(*) ,y3s(*) ,x4s(*) ,
72 . y4s(*) ,off(*) ,uvar(nel,*) ,
73 . dir_a(nel,*),dir_b(nel,*),sigi(nel,3),tf(*)
74 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
75 TYPE (MATPARAM_STRUCT_) ,INTENT(IN) :: MAT_PARAM
76C------------------------------------------------------
77C L o c a l V a r i a b l e s
78C-----------------------------------------------
79 INTEGER I, NT, I1, I2, I3, I4,IDRAPE,IGTYP
80 my_real fac
82 . x1(mvsiz) , x2(mvsiz) , x3(mvsiz) , x4(mvsiz) ,
83 . y1(mvsiz) , y2(mvsiz) , y3(mvsiz) , y4(mvsiz) ,
84 . z1(mvsiz) , z2(mvsiz) , z3(mvsiz) , z4(mvsiz) ,
85 . px1(mvsiz), px2(mvsiz), py1(mvsiz), py2(mvsiz),
86 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz), area(mvsiz),
87 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
88 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
89 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),eyz(mvsiz),ezx(mvsiz),
90 . vl(3,4,mvsiz), xl(3,4,mvsiz)
91 my_real,
92 . DIMENSION(:) , POINTER :: dir1, dir2
93C=======================================================================
94c initial state
95c---------------------
96 idrape = elbuf_str%IDRAPE
97 igtyp = elbuf_str%IGTYP
98 DO i=jft,jlt
99 i1 = ixc(2,i)
100 i2 = ixc(3,i)
101 i3 = ixc(4,i)
102 i4 = ixc(5,i)
103 x1(i) = zero
104 y1(i) = zero
105 z1(i) = zero
106 x2(i) = x(1,i2) - x(1,i1)
107 y2(i) = x(2,i2) - x(2,i1)
108 z2(i) = x(3,i2) - x(3,i1)
109 x3(i) = x(1,i3) - x(1,i1)
110 y3(i) = x(2,i3) - x(2,i1)
111 z3(i) = x(3,i3) - x(3,i1)
112 x4(i) = x(1,i4) - x(1,i1)
113 y4(i) = x(2,i4) - x(2,i1)
114 z4(i) = x(3,i4) - x(3,i1)
115 ENDDO
116c
117 CALL cneveci(jft ,jlt ,area,
118 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
119 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
120 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
121c
122 DO i=jft,jlt
123 xl(1,2,i) = e1x(i)*x2(i) + e1y(i)*y2(i) + e1z(i)*z2(i)
124 xl(2,2,i) = e2x(i)*x2(i) + e2y(i)*y2(i) + e2z(i)*z2(i)
125 xl(1,3,i) = e1x(i)*x3(i) + e1y(i)*y3(i) + e1z(i)*z3(i)
126 xl(2,3,i) = e2x(i)*x3(i) + e2y(i)*y3(i) + e2z(i)*z3(i)
127 xl(1,4,i) = e1x(i)*x4(i) + e1y(i)*y4(i) + e1z(i)*z4(i)
128 xl(2,4,i) = e2x(i)*x4(i) + e2y(i)*y4(i) + e2z(i)*z4(i)
129 ENDDO
130c---------------------
131c reference state
132c---------------------
133 DO i=jft,jlt
134 x2(i) = xrefc(2,1,i) - xrefc(1,1,i)
135 y2(i) = xrefc(2,2,i) - xrefc(1,2,i)
136 z2(i) = xrefc(2,3,i) - xrefc(1,3,i)
137 x3(i) = xrefc(3,1,i) - xrefc(1,1,i)
138 y3(i) = xrefc(3,2,i) - xrefc(1,2,i)
139 z3(i) = xrefc(3,3,i) - xrefc(1,3,i)
140 x4(i) = xrefc(4,1,i) - xrefc(1,1,i)
141 y4(i) = xrefc(4,2,i) - xrefc(1,2,i)
142 z4(i) = xrefc(4,3,i) - xrefc(1,3,i)
143 ENDDO
144c
145 CALL cneveci(jft ,jlt ,area,
146 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
147 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
148 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
149c
150 DO i=jft,jlt
151 vl(1,1,i) = zero
152 vl(2,1,i) = zero
153 vl(3,1,i) = zero
154c
155 vl(1,2,i) = e1x(i)*xl(1,2,i) + e2x(i)*xl(2,2,i)
156 vl(2,2,i) = e1y(i)*xl(1,2,i) + e2y(i)*xl(2,2,i)
157 vl(3,2,i) = e1z(i)*xl(1,2,i) + e2z(i)*xl(2,2,i)
158 vl(1,3,i) = e1x(i)*xl(1,3,i) + e2x(i)*xl(2,3,i)
159 vl(2,3,i) = e1y(i)*xl(1,3,i) + e2y(i)*xl(2,3,i)
160 vl(3,3,i) = e1z(i)*xl(1,3,i) + e2z(i)*xl(2,3,i)
161 vl(1,4,i) = e1x(i)*xl(1,4,i) + e2x(i)*xl(2,4,i)
162 vl(2,4,i) = e1y(i)*xl(1,4,i) + e2y(i)*xl(2,4,i)
163 vl(3,4,i) = e1z(i)*xl(1,4,i) + e2z(i)*xl(2,4,i)
164 ENDDO
165c-----------------
166 fac = one / float(nitrs)
167 DO i=jft,jlt
168 vl(1,2,i) = (vl(1,2,i) - x2(i)) * fac
169 vl(2,2,i) = (vl(2,2,i) - y2(i)) * fac
170 vl(3,2,i) = (vl(3,2,i) - z2(i)) * fac
171 vl(1,3,i) = (vl(1,3,i) - x3(i)) * fac
172 vl(2,3,i) = (vl(2,3,i) - y3(i)) * fac
173 vl(3,3,i) = (vl(3,3,i) - z3(i)) * fac
174 vl(1,4,i) = (vl(1,4,i) - x4(i)) * fac
175 vl(2,4,i) = (vl(2,4,i) - y4(i)) * fac
176 vl(3,4,i) = (vl(3,4,i) - z4(i)) * fac
177 ENDDO
178c--------------------------------------------------------
179c Incremental : ref state -> initial state
180c--------------------------------------------------------
181 IF (ismstr /= 1 .AND. ismstr /= 11) THEN
182c
183 DO nt=1,nitrs
184c FAC = FLOAT(NT) / FLOAT(NITRS)
185 fac = float(nt) - one
186C
187 DO i=jft,jlt
188 x1(i) = xrefc(1,1,i) + fac*vl(1,1,i)
189 y1(i) = xrefc(1,2,i) + fac*vl(2,1,i)
190 z1(i) = xrefc(1,3,i) + fac*vl(3,1,i)
191 x2(i) = xrefc(2,1,i) + fac*vl(1,2,i)
192 y2(i) = xrefc(2,2,i) + fac*vl(2,2,i)
193 z2(i) = xrefc(2,3,i) + fac*vl(3,2,i)
194 x3(i) = xrefc(3,1,i) + fac*vl(1,3,i)
195 y3(i) = xrefc(3,2,i) + fac*vl(2,3,i)
196 z3(i) = xrefc(3,3,i) + fac*vl(3,3,i)
197 x4(i) = xrefc(4,1,i) + fac*vl(1,4,i)
198 y4(i) = xrefc(4,2,i) + fac*vl(2,4,i)
199 z4(i) = xrefc(4,3,i) + fac*vl(3,4,i)
200 ENDDO
201C
202 CALL cneveci(jft ,jlt ,area,
203 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
204 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
205 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
206c
207 CALL corth3(elbuf_str,dir_a ,dir_b ,jft ,jlt ,
208 . nlay ,irep ,nel ,
209 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
210 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
211 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
212 . idrape, igtyp )
213c
214 CALL cpxpyi(jft ,jlt ,ismstr ,area ,
215 . px1g ,px2g ,py1g ,py2g ,
216 . px1 ,px2 ,py1 ,py2 ,
217 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
218 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
219 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
220 . x2s ,y2s ,x3s ,y3s ,x4s ,y4s )
221c
222 CALL cdefoi(jft ,jlt ,vl ,gstr ,
223 . px1 ,px2 ,py1 ,py2 ,nel,
224 . area ,exx ,eyy ,exy ,eyz ,ezx ,
225 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
226 CALL cmlawi(mat_param,
227 . jft ,jlt ,mtn ,ithk ,pm ,
228 . for ,thk ,eint ,gstr ,dir_a,
229 . dir_b,uvar ,ipm ,
230 . nel ,sigi ,npf ,tf ,
231 . area ,exx ,eyy ,exy ,imat )
232C
233 ENDDO
234C------
235 ELSE ! TOTAL SMALL STRAIN FORMULATION (ISMSTR = 1,11)
236C------
237 CALL cpxpyi(jft ,jlt ,ismstr ,area ,
238 . px1g ,px2g ,py1g ,py2g ,
239 . px1 ,px2 ,py1 ,py2 ,
240 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
241 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
242 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
243 . x2s ,y2s ,x3s ,y3s ,x4s ,y4s )
244C
245 dir1 => elbuf_str%BUFLY(1)%DIRA
246 dir2 => elbuf_str%BUFLY(1)%DIRB
247c
248 DO nt=1,nitrs
249 CALL cdefoi(jft ,jlt ,vl ,gstr ,
250 . px1 ,px2 ,py1 ,py2 ,nel ,
251 . area ,exx ,eyy ,exy ,eyz ,ezx ,
252 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
253c
254 CALL cmlawi(mat_param,
255 . jft,jlt,mtn,ithk,pm,
256 . for,thk,eint,gstr,dir1,
257 . dir2,uvar,ipm,
258 . nel,sigi,npf ,tf,
259 . area,exx ,eyy ,exy, imat )
260 ENDDO
261 ENDIF
262C ---
263 RETURN
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 cdefoi(jft, jlt, vl, gstr, px1, px2, py1, py2, nel, area, exx, eyy, exy, eyz, ezx, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition cepsini.F:434
subroutine cpxpyi(jft, jlt, ismstr, area, px1g, px2g, py1g, py2g, px1, px2, py1, py2, x1g, x2g, x3g, x4g, y1g, y2g, y3g, y4g, z1g, z2g, z3g, z4g, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x2l, y2l, x3l, y3l, x4l, y4l)
Definition cepsini.F:351
subroutine cneveci(jft, jlt, area, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition cneveci.F:36
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--)