OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cepsini.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 cepsini (elbuf_str, mat_param, jft, jlt, ismstr, ilaw, ithk, pm, geo, ixc, x, xrefc, for, thk, eint, gstr, nlay, px1g, px2g, py1g, py2g, x2s, y2s, x3s, y3s, x4s, y4s, uvar, ipm, igeo, imat, skew, nel, dir_a, dir_b, sigi, npf, tf, irep)
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)
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)
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)
subroutine cm1ini (jft, jlt, ithk, pm, for, thk, eint, nel, imat, area, exx, eyy, exy)
subroutine cm19ini (jft, jlt, ithk, pm, for, thk, eint, gstr, dir, sigi, nel, imat, area, exx, eyy, exy)
subroutine roto (jft, jlt, tab, ltab, dir, nel)
subroutine uroto (jft, jlt, tab, ltab, dir, nel)
subroutine cepschk (jft, jlt, nft, pm, geo, ixc, gstr, thk, nel, cpt_eltens)

Function/Subroutine Documentation

◆ cdefoi()

subroutine cdefoi ( integer jft,
integer jlt,
vl,
gstr,
px1,
px2,
py1,
py2,
integer nel,
area,
exx,
eyy,
exy,
eyz,
ezx,
e1x,
e2x,
e3x,
e1y,
e2y,
e3y,
e1z,
e2z,
e3z )

Definition at line 430 of file cepsini.F.

434C-----------------------------------------------
435C I m p l i c i t T y p e s
436C-----------------------------------------------
437#include "implicit_f.inc"
438C-----------------------------------------------
439C G l o b a l P a r a m e t e r s
440C-----------------------------------------------
441#include "mvsiz_p.inc"
442C-----------------------------------------------
443C D u m m y A r g u m e n t s
444C-----------------------------------------------
445 INTEGER JFT, JLT,NEL
446 my_real
447 . vl(3,4,*) ,gstr(nel,8),
448 . px1(nel) ,px2(nel) ,py1(nel) ,py2(nel),
449 . e1x(mvsiz) , e1y(mvsiz) , e1z(mvsiz) ,
450 . e2x(mvsiz) , e2y(mvsiz) , e2z(mvsiz) ,
451 . e3x(mvsiz) , e3y(mvsiz) , e3z(mvsiz) ,
452 . area(mvsiz),exx(mvsiz),eyy(mvsiz),exy(mvsiz),eyz(mvsiz),ezx(mvsiz)
453C-----------------------------------------------
454C L o c a l V a r i a b l e s
455C-----------------------------------------------
456 INTEGER I
457C REAL
458 my_real
459 . vx1(mvsiz) , vx2(mvsiz) , vx3(mvsiz) , vx4(mvsiz) ,
460 . vy1(mvsiz) , vy2(mvsiz) , vy3(mvsiz) , vy4(mvsiz) ,
461 . vz1(mvsiz) , vz2(mvsiz) , vz3(mvsiz) , vz4(mvsiz) ,
462 . vx13(mvsiz), vx24(mvsiz), vy13(mvsiz), vy24(mvsiz),
463 . vz13(mvsiz), vz24(mvsiz)
464 my_real tmp1, tmp2, tmp3, fac1
465C=======================================================================
466 DO i=jft,jlt
467 vx1(i) = e1x(i)*vl(1,1,i) + e1y(i)*vl(2,1,i) + e1z(i)*vl(3,1,i)
468 vx2(i) = e1x(i)*vl(1,2,i) + e1y(i)*vl(2,2,i) + e1z(i)*vl(3,2,i)
469 vx3(i) = e1x(i)*vl(1,3,i) + e1y(i)*vl(2,3,i) + e1z(i)*vl(3,3,i)
470 vx4(i) = e1x(i)*vl(1,4,i) + e1y(i)*vl(2,4,i) + e1z(i)*vl(3,4,i)
471C
472 vy4(i) = e2x(i)*vl(1,4,i) + e2y(i)*vl(2,4,i) + e2z(i)*vl(3,4,i)
473 vy3(i) = e2x(i)*vl(1,3,i) + e2y(i)*vl(2,3,i) + e2z(i)*vl(3,3,i)
474 vy2(i) = e2x(i)*vl(1,2,i) + e2y(i)*vl(2,2,i) + e2z(i)*vl(3,2,i)
475 vy1(i) = e2x(i)*vl(1,1,i) + e2y(i)*vl(2,1,i) + e2z(i)*vl(3,1,i)
476C
477 vz1(i) = e3x(i)*vl(1,1,i) + e3y(i)*vl(2,1,i) + e3z(i)*vl(3,1,i)
478 vz2(i) = e3x(i)*vl(1,2,i) + e3y(i)*vl(2,2,i) + e3z(i)*vl(3,2,i)
479 vz3(i) = e3x(i)*vl(1,3,i) + e3y(i)*vl(2,3,i) + e3z(i)*vl(3,3,i)
480 vz4(i) = e3x(i)*vl(1,4,i) + e3y(i)*vl(2,4,i) + e3z(i)*vl(3,4,i)
481 ENDDO
482C
483 DO i=jft,jlt
484 vz13(i) = vz1(i)-vz3(i)
485 vz24(i) = vz2(i)-vz4(i)
486 tmp2 = py2(i)+py1(i)
487 tmp3 = sign(max(abs(tmp2),em20),tmp2)
488 tmp1 = fourth*(vz13(i)-vz24(i))**2/tmp3
489 vx13(i) = vx1(i)-vx3(i)
490 vx24(i) = vx2(i)-vx4(i)
491 vx13(i) = vx13(i)-tmp1
492 vx24(i) = vx24(i)+tmp1
493C
494 exx(i) = px1(i)*vx13(i)+px2(i)*vx24(i)
495 exy(i) = py1(i)*vx13(i)+py2(i)*vx24(i)
496C
497 tmp1=px2(i)-px1(i)
498 tmp3=sign(max(abs(tmp1),em20),tmp1)
499 tmp2=fourth*(vz13(i)+vz24(i))**2/tmp3
500 vy13(i)=vy1(i)-vy3(i)
501 vy24(i)=vy2(i)-vy4(i)
502 vy13(i)=vy13(i)+tmp2
503 vy24(i)=vy24(i)+tmp2
504C
505 exy(i)=exy(i)+px1(i)*vy13(i)+px2(i)*vy24(i)
506 eyy(i)=py1(i)*vy13(i)+py2(i)*vy24(i)
507 eyz(i)=py1(i)*vz13(i)+py2(i)*vz24(i)
508 ezx(i)=px1(i)*vz13(i)+px2(i)*vz24(i)
509 ENDDO
510C
511 DO i=jft,jlt
512 fac1 = one/area(i)
513 exx(i)= exx(i)*fac1
514 eyy(i)= eyy(i)*fac1
515 exy(i)= exy(i)*fac1
516 ENDDO
517C
518 DO i=jft,jlt
519 gstr(i,1)=gstr(i,1)+exx(i)
520 gstr(i,2)=gstr(i,2)+eyy(i)
521 gstr(i,3)=gstr(i,3)+exy(i)
522 ENDDO
523 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define max(a, b)
Definition macros.h:21

◆ cepschk()

subroutine cepschk ( integer jft,
integer jlt,
integer nft,
pm,
geo,
integer, dimension(nixc,*) ixc,
gstr,
thk,
integer nel,
integer cpt_eltens )

Definition at line 828 of file cepsini.F.

829 USE message_mod
830 use element_mod , only : nixc
831C-----------------------------------------------
832C I m p l i c i t T y p e s
833C-----------------------------------------------
834#include "implicit_f.inc"
835C-----------------------------------------------
836C G l o b a l P a r a m e t e r s
837C-----------------------------------------------
838#include "mvsiz_p.inc"
839C-----------------------------------------------
840C C o m m o n B l o c k s
841C-----------------------------------------------
842#include "param_c.inc"
843#include "scr03_c.inc"
844C-----------------------------------------------
845C D u m m y A r g u m e n t s
846C-----------------------------------------------
847 INTEGER JFT, JLT,NFT ,NEL ,IXC(NIXC,*),CPT_ELTENS
848 my_real
849 . pm(npropm,*), gstr(nel,8),thk(*), geo(npropg,*)
850C------------------------------------------------------
851C L o c a l V a r i a b l e s
852C------------------------------------------------------
853 INTEGER I
854 my_real
855 . delt(mvsiz),x1(mvsiz),x2(mvsiz)
856C-------------------------------------------------------------
857 DO i=jft,jlt
858 delt(i)=((gstr(i,1)+gstr(i,2))*(gstr(i,1)+gstr(i,2)))-four*
859 . (gstr(i,1)*gstr(i,2)-fourth*gstr(i,3)*gstr(i,3))
860 IF(delt(i)>=zero)THEN
861 x1(i) = (gstr(i,1)+gstr(i,2)-sqrt(delt(i)))/two
862 x2(i) = (gstr(i,1)+gstr(i,2)+sqrt(delt(i)))/two
863 IF((x1(i)>zero.AND.(x1(i)>em10)).OR.(x2(i)>zero
864 . .AND.(x2(i)>em10)))THEN
865 IF(ipri == 5) THEN
866 CALL ancmsg(msgid=607,
867 . msgtype=msgwarning,
868 . anmode=aninfo_blind_1,
869 . r2=min(x1(i),x2(i)),
870 . r1=max(x1(i),x2(i)),
871 . i1=ixc(7,i))
872 ELSE
873 cpt_eltens = cpt_eltens + 1
874 ENDIF
875 ENDIF
876 ENDIF
877 ENDDO
#define min(a, b)
Definition macros.h:20
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:895

◆ cepsini()

subroutine cepsini ( 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(nixc,*) ixc,
x,
xrefc,
for,
thk,
eint,
gstr,
integer nlay,
px1g,
px2g,
py1g,
py2g,
x2s,
y2s,
x3s,
y3s,
x4s,
y4s,
uvar,
integer, dimension(npropmi,*) ipm,
integer, dimension(npropgi,*) igeo,
integer imat,
skew,
integer nel,
dir_a,
dir_b,
sigi,
integer, dimension(*) npf,
tf,
integer irep )

Definition at line 35 of file cepsini.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, ILAW, ITHK, NEL, NLAY,IREP,IMAT
66 INTEGER IXC(NIXC,*),IGEO(NPROPGI,*),IPM(NPROPMI,*),NPF(*)
68 . pm(npropm,*),geo(npropg,*),x(3,*),xrefc(4,3,*),skew(lskew,*),
69 . for(nel,5) ,thk(*) ,eint(jlt,2),gstr(nel,8),
70 . px1g(*) ,px2g(*) ,py1g(*) ,py2g(*), uvar(nel,*),
71 . x2s(*), y2s(*), x3s(*), y3s(*), x4s(*), y4s(*),
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
80 . 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 . vl(3,4,mvsiz), xl(3,4,mvsiz), area(mvsiz),
87 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
88 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
89 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
90 . x4i(mvsiz), y4i(mvsiz), z4i(mvsiz),
91 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),eyz(mvsiz),ezx(mvsiz)
92 my_real,
93 . DIMENSION(:) , POINTER :: dir1, dir2
94C=======================================================================
95c initial state - rep global
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 ceveci(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 ref state - rep global
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 ceveci(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 fac = one / float(nitrs)
150 DO i= jft,jlt
151 vl(1,1,i) = zero
152 vl(2,1,i) = zero
153 vl(3,1,i) = zero
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)
163C
164 vl(1,2,i) = (vl(1,2,i) - x2(i)) * fac
165 vl(2,2,i) = (vl(2,2,i) - y2(i)) * fac
166 vl(3,2,i) = (vl(3,2,i) - z2(i)) * fac
167 vl(1,3,i) = (vl(1,3,i) - x3(i)) * fac
168 vl(2,3,i) = (vl(2,3,i) - y3(i)) * fac
169 vl(3,3,i) = (vl(3,3,i) - z3(i)) * fac
170 vl(1,4,i) = (vl(1,4,i) - x4(i)) * fac
171 vl(2,4,i) = (vl(2,4,i) - y4(i)) * fac
172 vl(3,4,i) = (vl(3,4,i) - z4(i)) * fac
173 ENDDO
174c--------------------------------------------------------
175 IF (ismstr /= 1 .AND. ismstr /= 11)THEN
176c-----------------
177 DO nt = 1,nitrs
178 fac = float(nt) - one
179 DO i=jft,jlt
180 x1(i) = xrefc(1,1,i) + fac*vl(1,1,i)
181 y1(i) = xrefc(1,2,i) + fac*vl(2,1,i)
182 z1(i) = xrefc(1,3,i) + fac*vl(3,1,i)
183 x2(i) = xrefc(2,1,i) + fac*vl(1,2,i)
184 y2(i) = xrefc(2,2,i) + fac*vl(2,2,i)
185 z2(i) = xrefc(2,3,i) + fac*vl(3,2,i)
186 x3(i) = xrefc(3,1,i) + fac*vl(1,3,i)
187 y3(i) = xrefc(3,2,i) + fac*vl(2,3,i)
188 z3(i) = xrefc(3,3,i) + fac*vl(3,3,i)
189 x4(i) = xrefc(4,1,i) + fac*vl(1,4,i)
190 y4(i) = xrefc(4,2,i) + fac*vl(2,4,i)
191 z4(i) = xrefc(4,3,i) + fac*vl(3,4,i)
192 ENDDO
193c rep intermediaire
194 CALL ceveci(jft ,jlt ,area,
195 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
196 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
197 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z )
198c DIRA, DIRB : rep intermediaire
199 CALL corth3(elbuf_str,dir_a,dir_b,jft,jlt,
200 . nlay ,irep ,nel ,
201 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
202 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
203 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z ,
204 . idrape, igtyp)
205c
206c PX1..PX3, X2S..X3S : rep intermediaire
207 CALL cpxpyi(jft ,jlt ,ismstr ,area ,
208 . px1g ,px2g ,py1g ,py2g ,
209 . px1 ,px2 ,py1 ,py2 ,
210 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
211 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
212 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
213 . x2s ,y2s ,x3s ,y3s ,x4s ,y4s )
214c
215 CALL cdefoi(jft ,jlt ,vl ,gstr ,
216 . px1 ,px2 ,py1 ,py2 ,nel,
217 . area ,exx ,eyy ,exy ,eyz ,ezx ,
218 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
219c
220 CALL cmlawi(mat_param,
221 . jft ,jlt ,ilaw ,ithk ,pm ,
222 . for ,thk ,eint ,gstr ,dir_a ,
223 . dir_b ,uvar ,ipm ,
224 . nel ,sigi ,npf ,tf ,
225 . area ,exx ,eyy ,exy ,imat )
226C
227 ENDDO
228C------
229 ELSE ! SMALL STRAIN FORMULATION (ISMSTR = 1,11)
230C------
231c
232 CALL cpxpyi(jft ,jlt ,ismstr ,area ,
233 . px1g ,px2g ,py1g ,py2g ,
234 . px1 ,px2 ,py1 ,py2 ,
235 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
236 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
237 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z ,
238 . x2s ,y2s ,x3s ,y3s ,x4s ,y4s )
239C
240 dir1 => elbuf_str%BUFLY(1)%DIRA
241 dir2 => elbuf_str%BUFLY(1)%DIRB
242c
243 DO nt=1,nitrs
244 CALL cdefoi(jft ,jlt ,vl ,gstr ,
245 . px1 ,px2 ,py1 ,py2 ,nel,
246 . area ,exx ,eyy ,exy ,eyz ,ezx ,
247 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
248c
249 CALL cmlawi(mat_param,
250 . jft ,jlt ,ilaw ,ithk ,pm ,
251 . for ,thk ,eint ,gstr ,dir1 ,
252 . dir2 ,uvar ,ipm ,
253 . nel ,sigi ,npf ,tf ,
254 . area ,exx ,eyy ,exy ,imat )
255 ENDDO
256 ENDIF
257c-----------
258 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 ceveci(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 ceveci.F:37
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
for(i8=*sizetab-1;i8 >=0;i8--)

◆ cm19ini()

subroutine cm19ini ( integer jft,
integer jlt,
integer ithk,
pm,
for,
thk,
eint,
gstr,
dir,
sigi,
integer nel,
integer imat,
area,
exx,
eyy,
exy )

Definition at line 597 of file cepsini.F.

600C-----------------------------------------------
601C I m p l i c i t T y p e s
602C-----------------------------------------------
603#include "implicit_f.inc"
604C-----------------------------------------------
605C G l o b a l P a r a m e t e r s
606C-----------------------------------------------
607#include "mvsiz_p.inc"
608C-----------------------------------------------
609C C o m m o n B l o c k s
610C-----------------------------------------------
611#include "param_c.inc"
612C-----------------------------------------------
613C D u m m y A r g u m e n t s
614C-----------------------------------------------
615 INTEGER JFT, JLT, ITHK,NEL,IMAT
616 my_real
617 . pm(npropm,*) ,for(nel,5) ,thk(*),
618 . area(mvsiz),exx(mvsiz) , eyy(mvsiz) , exy(mvsiz) ,
619 . eint(nel,2) ,gstr(nel,8) ,dir(nel,*), sigi(nel,3)
620C-----------------------------------------------
621C L o c a l V a r i a b l e s
622C-----------------------------------------------
623 INTEGER I
624 my_real
625 . degmb(mvsiz), epst(5,mvsiz),
626 . e11(mvsiz), e22(mvsiz), n12(mvsiz), n21(mvsiz),
627 . g12(mvsiz), de(mvsiz) ,
628 . a11(mvsiz), a12(mvsiz), a22(mvsiz)
629 my_real
630 . ezz, scale, zerostress, s, d, r, p1, p2, beta
631C-------------------------------------------------------------
632 DO i=jft,jlt
633 e11(i) =pm(33,imat)
634 e22(i) =pm(34,imat)
635 n12(i) =pm(35,imat)
636 n21(i) =pm(36,imat)
637 g12(i) =pm(37,imat)
638 de(i) =pm(44,imat)
639 ENDDO
640C
641 DO i=jft,jlt
642 degmb(i) = for(i,1)*exx(i)+for(i,2)*eyy(i)+for(i,3)*exy(i)
643 ENDDO
644C
645 DO i=jft,jlt
646 epst(1,i)= gstr(i,1)
647 epst(2,i)= gstr(i,2)
648 epst(3,i)= gstr(i,3)*half
649 epst(4,i)= gstr(i,4)*half
650 epst(5,i)= gstr(i,5)*half
651 ENDDO
652C-------------------------------------------------
653C rotations in the orthotropy frame epst
654C-------------------------------------------------
655 CALL roto(jft,jlt,epst,5,dir,nel)
656C-------------------------------------------------
657 DO i=jft,jlt
658 a12(i)=one-n12(i)*n21(i)
659 a11(i)=e11(i)/a12(i)
660 a22(i)=e22(i)/a12(i)
661 a12(i)=n21(i)*a11(i)
662C-----------------------------
663C FORCES ELASTIQUES
664C-----------------------------
665 for(i,1)=a11(i)*epst(1,i)+a12(i)*epst(2,i)
666 for(i,2)=a12(i)*epst(1,i)+a22(i)*epst(2,i)
667 for(i,3)=g12(i)*epst(3,i)*two
668C-----------------------------
669C Reduced compression constraints
670C-----------------------------
671 s = half*(for(i,1)+for(i,2))
672 d = half*(for(i,1)-for(i,2))
673 r = sqrt(for(i,3)*for(i,3) + d*d)
674 p1 = s - r
675 IF(p1<zero)THEN
676 p2 = s + r
677 IF(p2>zero)THEN
678 beta = half*((one-de(i))*s/r + one+de(i))
679 for(i,1)=beta*(for(i,1)-p2) + p2
680 for(i,2)=beta*(for(i,2)-p2) + p2
681 for(i,3)=beta*for(i,3)
682 ELSE
683 beta = de(i)
684 for(i,1)=beta*for(i,1)
685 for(i,2)=beta*for(i,2)
686 for(i,3)=beta*for(i,3)
687 ENDIF
688 ENDIF
689 ENDDO
690C-----------------------------------------------------------
691C REF-STATE ZEROSTRESS OPTION
692C-----------------------------------------------------------
693 DO i=jft,jlt
694 zerostress =pm(55,imat)
695 IF(zerostress /= zero)THEN
696 sigi(i,1) = for(i,1)
697 sigi(i,2) = for(i,2)
698 sigi(i,3) = for(i,3)
699 ENDIF
700 ENDDO
701C--------------------------------
702C return to shell reference frame
703C--------------------------------
704 CALL uroto(jft,jlt,for,5,dir,nel)
705C
706 DO i=jft,jlt
707 degmb(i) = degmb(i)+
708 + for(i,1)*exx(i)+for(i,2)*eyy(i)+for(i,3)*exy(i)
709 eint(i,1) = eint(i,1) + degmb(i)*half*thk(i)*area(i)
710 ENDDO
711C IF(ITHK == 1) THEN
712C DO I=JFT,JLT
713C EZZ = -NU(I) * (EXX(I) + EYY(I)) / (ONE-NU(I))
714C THK(I) = THK(I) * (ONE + EZZ)
715C ENDDO
716C ENDIF
717 RETURN
subroutine roto(jft, jlt, tab, ltab, dir, nel)
Definition cepsini.F:725
subroutine uroto(jft, jlt, tab, ltab, dir, nel)
Definition cepsini.F:775

◆ cm1ini()

subroutine cm1ini ( integer jft,
integer jlt,
integer ithk,
pm,
for,
thk,
eint,
integer nel,
integer imat,
area,
exx,
eyy,
exy )

Definition at line 531 of file cepsini.F.

534C-----------------------------------------------
535C I m p l i c i t T y p e s
536C-----------------------------------------------
537#include "implicit_f.inc"
538C-----------------------------------------------
539C G l o b a l P a r a m e t e r s
540C-----------------------------------------------
541#include "mvsiz_p.inc"
542C-----------------------------------------------
543C C o m m o n B l o c k s
544C-----------------------------------------------
545#include "param_c.inc"
546C-----------------------------------------------
547C D u m m y A r g u m e n t s
548C-----------------------------------------------
549 INTEGER JFT, JLT, ITHK,NEL,IMAT
550 my_real
551 . exx(mvsiz) , eyy(mvsiz) , exy(mvsiz) ,area(mvsiz),
552 . pm(npropm,*) ,for(nel,5) ,thk(*),eint(nel,2)
553C-----------------------------------------------
554C L o c a l V a r i a b l e s
555C-----------------------------------------------
556 INTEGER I
557 my_real ezz
558 my_real nu(mvsiz),g(mvsiz),a1(mvsiz),a2(mvsiz),degmb(mvsiz)
559C-------------------------------------------------------------
560 DO i=jft,jlt
561 nu(i) = pm(21,imat)
562 g(i) = pm(22,imat)
563 a1(i) = pm(24,imat)
564 a2(i) = pm(25,imat)
565 ENDDO
566 DO i=jft,jlt
567 degmb(i) = for(i,1)*exx(i)+for(i,2)*eyy(i)+for(i,3)*exy(i)
568 ENDDO
569 DO i=jft,jlt
570 for(i,1)=for(i,1)+ a1(i)*exx(i)+a2(i)*eyy(i)
571 for(i,2)=for(i,2)+ a1(i)*eyy(i)+a2(i)*exx(i)
572 for(i,3)=for(i,3)+ g(i)*exy(i)
573 ENDDO
574 DO i=jft,jlt
575 degmb(i) = degmb(i)+
576 + for(i,1)*exx(i)+for(i,2)*eyy(i)+for(i,3)*exy(i)
577 eint(i,1) = eint(i,1) + degmb(i)*half*thk(i)*area(i)
578 ENDDO
579 IF(ithk == 1) THEN
580 DO i=jft,jlt
581 ezz = -nu(i) * (exx(i) + eyy(i)) / (one-nu(i))
582 thk(i) = thk(i) * (one + ezz)
583 ENDDO
584 ENDIF
585c-----------
586 RETURN

◆ cmlawi()

subroutine cmlawi ( type (matparam_struct_), intent(in) mat_param,
integer jft,
integer jlt,
integer ilaw,
integer ithk,
pm,
for,
thk,
eint,
gstr,
dir1,
dir2,
uvar,
integer, dimension(npropmi,*) ipm,
integer nel,
sigi,
integer, dimension(*) npf,
tf,
area,
exx,
eyy,
exy,
integer imat )

Definition at line 274 of file cepsini.F.

280C-----------------------------------------------
281C M o d u l e s
282C-----------------------------------------------
283 USE mat_elem_mod
284C-----------------------------------------------
285C I m p l i c i t T y p e s
286C-----------------------------------------------
287#include "implicit_f.inc"
288C-----------------------------------------------
289C C o m m o n B l o c k s
290C-----------------------------------------------
291#include "param_c.inc"
292C-----------------------------------------------
293C D u m m y A r g u m e n t s
294C-----------------------------------------------
295 INTEGER IPM(NPROPMI,*),NPF(*)
296 INTEGER JFT, JLT, ITHK, ILAW,NEL,IMAT
297 my_real
298 . pm(*),for(nel,5),thk(*),eint(nel,2),dir1(nel,*),dir2(nel,*),
299 . uvar(nel,*),sigi(nel,3), tf(*),gstr(*),
300 . area(nel),exx(nel),eyy(nel),exy(nel)
301 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
302 TYPE (MATPARAM_STRUCT_) ,INTENT(IN) :: MAT_PARAM
303C-----------------------------------------------
304C L o c a l V a r i a b l e s
305C-----------------------------------------------
306 INTEGER I,J,NUVAR,NUPARAM,NIPARAM,NBFUNC
307 INTEGER IFUNC(100)
308C=======================================================================
309C INITIALIZE STRESS,THICKNESS & ENERGY
310C-------------------------------------
311 IF (ilaw == 1) THEN
312 CALL cm1ini(jft,jlt,ithk,pm,for,
313 . thk,eint,nel,imat,area,
314 . exx,eyy ,exy )
315 ELSEIF (ilaw == 19) THEN
316 CALL cm19ini(jft,jlt,ithk,pm,for,
317 . thk,eint,gstr,dir1,sigi,
318 . nel,imat,area,exx,eyy ,exy )
319 ELSEIF (ilaw == 58) THEN
320 nuvar = ipm(8,imat)
321 nbfunc= ipm(10,imat)
322 DO j= 1,nbfunc
323 ifunc(j) = ipm(10+j,imat)
324 ENDDO
325 nuparam = mat_param%NUPARAM
326 niparam = mat_param%NIPARAM
327 CALL cm58_refsta(nel ,nuparam,niparam,mat_param%UPARAM,mat_param%IPARAM,
328 1 for ,eint ,gstr ,
329 2 thk ,dir1 ,dir2 ,nuvar ,uvar ,
330 3 nbfunc ,ifunc ,npf ,tf ,area ,
331 4 exx ,eyy ,exy )
332!
333 ENDIF
334c-----------
335 RETURN
subroutine cm1ini(jft, jlt, ithk, pm, for, thk, eint, nel, imat, area, exx, eyy, exy)
Definition cepsini.F:534
subroutine cm19ini(jft, jlt, ithk, pm, for, thk, eint, gstr, dir, sigi, nel, imat, area, exx, eyy, exy)
Definition cepsini.F:600
subroutine cm58_refsta(nel, nuparam, niparam, uparam, iparam, for, eint, gstr, thk, dir1, dir2, nuvar, uvar, nbfunc, ifunc, npf, tf, area, exx, eyy, exy)
Definition cm58_refsta.F:35

◆ cpxpyi()

subroutine cpxpyi ( integer jft,
integer jlt,
integer ismstr,
intent(out) area,
px1g,
px2g,
py1g,
py2g,
px1,
px2,
py1,
py2,
intent(in) x1g,
intent(in) x2g,
intent(in) x3g,
intent(in) x4g,
intent(in) y1g,
intent(in) y2g,
intent(in) y3g,
intent(in) y4g,
intent(in) z1g,
intent(in) z2g,
intent(in) z3g,
intent(in) z4g,
intent(in) e1x,
intent(in) e2x,
intent(in) e3x,
intent(in) e1y,
intent(in) e2y,
intent(in) e3y,
intent(in) e1z,
intent(in) e2z,
intent(in) e3z,
x2l,
y2l,
x3l,
y3l,
x4l,
y4l )

Definition at line 344 of file cepsini.F.

351C-----------------------------------------------
352C I m p l i c i t T y p e s
353C-----------------------------------------------
354#include "implicit_f.inc"
355C-----------------------------------------------
356C G l o b a l P a r a m e t e r s
357C-----------------------------------------------
358#include "mvsiz_p.inc"
359C-----------------------------------------------
360C D u m m y A r g u m e n t s
361C-----------------------------------------------
362 INTEGER JFT, JLT, ISMSTR
363 my_real px1(*), px2(*), py1(*), py2(*),
364 . px1g(*), px2g(*), py1g(*), py2g(*),
365 . x2l(*) ,y2l(*),x3l(*),y3l(*),x4l(*),y4l(*)
366 my_real, DIMENSION(MVSIZ), INTENT(IN) ::
367 . x1g,x2g,x3g,x4g,y1g,y2g,y3g,y4g,z1g,z2g,z3g,z4g,
368 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z
369 my_real, DIMENSION(MVSIZ) , INTENT(OUT) :: area
370C-----------------------------------------------
371C L o c a l V a r i a b l e s
372C-----------------------------------------------
373 INTEGER I
374 my_real, DIMENSION(MVSIZ) ::
375 . x21g,y21g,z21g,x31g,y31g,z31g,x41g, y41g, z41g
376C=======================================================================
377 IF (ismstr /= 3)THEN
378 DO i=jft,jlt
379 x21g(i)=x2g(i)-x1g(i)
380 y21g(i)=y2g(i)-y1g(i)
381 z21g(i)=z2g(i)-z1g(i)
382 x31g(i)=x3g(i)-x1g(i)
383 y31g(i)=y3g(i)-y1g(i)
384 z31g(i)=z3g(i)-z1g(i)
385 x41g(i)=x4g(i)-x1g(i)
386 y41g(i)=y4g(i)-y1g(i)
387 z41g(i)=z4g(i)-z1g(i)
388 ENDDO
389C
390 DO i=jft,jlt
391 x2l(i)=e1x(i)*x21g(i)+e1y(i)*y21g(i)+e1z(i)*z21g(i)
392 y2l(i)=e2x(i)*x21g(i)+e2y(i)*y21g(i)+e2z(i)*z21g(i)
393 y3l(i)=e2x(i)*x31g(i)+e2y(i)*y31g(i)+e2z(i)*z31g(i)
394 x3l(i)=e1x(i)*x31g(i)+e1y(i)*y31g(i)+e1z(i)*z31g(i)
395 x4l(i)=e1x(i)*x41g(i)+e1y(i)*y41g(i)+e1z(i)*z41g(i)
396 y4l(i)=e2x(i)*x41g(i)+e2y(i)*y41g(i)+e2z(i)*z41g(i)
397 ENDDO
398C
399 DO i=jft,jlt
400 px1(i)= half*(y2l(i)-y4l(i))
401 py1(i)= half*(x4l(i)-x2l(i))
402 px2(i)= half*y3l(i)
403 py2(i)=-half*x3l(i)
404 ENDDO
405C
406 ELSE
407C
408 DO i=jft,jlt
409 px1(i) = px1g(i)
410 px2(i) = px2g(i)
411 py1(i) = py1g(i)
412 py2(i) = py2g(i)
413 ENDDO
414C
415 ENDIF
416C
417 DO i=jft,jlt
418 area(i)=two*(py2(i)*px1(i)-py1(i)*px2(i))
419 ENDDO
420C
421 RETURN

◆ roto()

subroutine roto ( integer jft,
integer jlt,
tab,
integer ltab,
dir,
integer nel )

Definition at line 724 of file cepsini.F.

725C-----------------------------------------------
726C I m p l i c i t T y p e s
727C-----------------------------------------------
728#include "implicit_f.inc"
729C-----------------------------------------------
730C G l o b a l P a r a m e t e r s
731C-----------------------------------------------
732#include "mvsiz_p.inc"
733C-----------------------------------------------
734C D u m m y A r g u m e n t s
735C-----------------------------------------------
736 INTEGER JFT, JLT,NEL,LTAB
737 my_real tab(ltab,*), dir(nel,*)
738C-----------------------------------------------
739C L o c a l V a r i a b l e s
740C-----------------------------------------------
741 INTEGER I
742 my_real
743 . s1(mvsiz), s2(mvsiz), s3(mvsiz), s4(mvsiz), s5(mvsiz)
744C---+----1----+----2----+----3----+----4----+----5----+----6----+----7--
745 DO i=jft,jlt
746 s1(i) = dir(i,1)*dir(i,1)*tab(1,i)
747 . +dir(i,2)*dir(i,2)*tab(2,i)
748 . +two*dir(i,1)*dir(i,2)*tab(3,i)
749 s2(i) = dir(i,2)*dir(i,2)*tab(1,i)
750 . +dir(i,1)*dir(i,1)*tab(2,i)
751 . -two*dir(i,2)*dir(i,1)*tab(3,i)
752 s3(i) =-dir(i,1)*dir(i,2)*tab(1,i)
753 . +dir(i,2)*dir(i,1)*tab(2,i)
754 . +(dir(i,1)*dir(i,1)-dir(i,2)*dir(i,2))*tab(3,i)
755 s4(i) =-dir(i,2)*tab(5,i)+dir(i,1)*tab(4,i)
756 s5(i) = dir(i,1)*tab(5,i)+dir(i,2)*tab(4,i)
757 ENDDO
758C
759 DO i=jft,jlt
760 tab(1,i)=s1(i)
761 tab(2,i)=s2(i)
762 tab(3,i)=s3(i)
763 tab(4,i)=s4(i)
764 tab(5,i)=s5(i)
765 ENDDO
766C
767 RETURN

◆ uroto()

subroutine uroto ( integer jft,
integer jlt,
tab,
integer ltab,
dir,
integer nel )

Definition at line 774 of file cepsini.F.

775C-----------------------------------------------
776C I m p l i c i t T y p e s
777C-----------------------------------------------
778#include "implicit_f.inc"
779C-----------------------------------------------
780C G l o b a l P a r a m e t e r s
781C-----------------------------------------------
782#include "mvsiz_p.inc"
783C-----------------------------------------------
784C D u m m y A r g u m e n t s
785C-----------------------------------------------
786 INTEGER JFT, JLT,NEL,LTAB
787 my_real tab(nel,ltab), dir(nel,*)
788C-----------------------------------------------
789C L o c a l V a r i a b l e s
790C-----------------------------------------------
791 INTEGER I
792 my_real
793 . s1(mvsiz), s2(mvsiz), s3(mvsiz), s4(mvsiz), s5(mvsiz)
794C-------------------------------------------------------------
795 DO i=jft,jlt
796 s1(i) = dir(i,1)*dir(i,1)*tab(i,1)
797 . +dir(i,2)*dir(i,2)*tab(i,2)
798 . -two*dir(i,1)*dir(i,2)*tab(i,3)
799 s2(i) = dir(i,2)*dir(i,2)*tab(i,1)
800 . +dir(i,1)*dir(i,1)*tab(i,2)
801 . +two*dir(i,2)*dir(i,1)*tab(i,3)
802 s3(i) =+dir(i,1)*dir(i,2)*tab(i,1)
803 . -dir(i,2)*dir(i,1)*tab(i,2)
804 . +(dir(i,1)*dir(i,1)-dir(i,2)*dir(i,2))*tab(i,3)
805 s4(i) = dir(i,2)*tab(i,5)+dir(i,1)*tab(i,4)
806 s5(i) = dir(i,1)*tab(i,5)-dir(i,2)*tab(i,4)
807 ENDDO
808 DO i=jft,jlt
809 tab(i,1)=s1(i)
810 tab(i,2)=s2(i)
811 tab(i,3)=s3(i)
812 tab(i,4)=s4(i)
813 tab(i,5)=s5(i)
814 ENDDO
815C
816 RETURN