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