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

Go to the source code of this file.

Functions/Subroutines

subroutine m24law (lbuf, pm, off, sig, eint, rho, qold, vol, stifn, dt2t, neltst, ityptst, offset, nel, offg, geo, pid, mat, ngl, ssp, aire, voln, vd2, deltax, vis, d1, d2, d3, pnew, psh, q, ssp_eq, dvol, d4, d5, d6, mumax, gama, mssa, dmels, d_max, sold1, sold2, sold3, sold4, sold5, sold6, rx, ry, rz, sx, sy, sz, conde, vol_avg, dtel, g_dt, ipm, rhoref, rhosp, epsd, ity, jtur, jthe, jhbe, jcvt, jsph, ismstr, jsms, npg, svis, glob_therm, numgeo, igeo)

Function/Subroutine Documentation

◆ m24law()

subroutine m24law ( type(l_bufel_) lbuf,
pm,
off,
sig,
eint,
rho,
qold,
vol,
stifn,
dt2t,
integer neltst,
integer ityptst,
integer offset,
integer nel,
offg,
geo,
integer, dimension(nel) pid,
integer, dimension(nel) mat,
integer, dimension(nel) ngl,
ssp,
aire,
voln,
vd2,
deltax,
vis,
d1,
d2,
d3,
pnew,
psh,
q,
ssp_eq,
dvol,
d4,
d5,
d6,
mumax,
gama,
mssa,
dmels,
d_max,
sold1,
sold2,
sold3,
sold4,
sold5,
sold6,
rx,
ry,
rz,
sx,
sy,
sz,
conde,
vol_avg,
dtel,
integer g_dt,
integer, dimension(npropmi,*) ipm,
rhoref,
rhosp,
epsd,
integer, intent(in) ity,
integer, intent(in) jtur,
integer, intent(in) jthe,
integer, intent(in) jhbe,
integer, intent(in) jcvt,
integer, intent(in) jsph,
integer, intent(in) ismstr,
integer, intent(in) jsms,
integer, intent(in) npg,
intent(inout) svis,
type (glob_therm_), intent(inout) glob_therm,
integer, intent(in) numgeo,
integer, dimension(n_var_igeo,numgeo), intent(in) igeo )

Definition at line 39 of file m24law.F.

59C-----------------------------------------------
60C M o d u l e s
61C-----------------------------------------------
62 USE elbufdef_mod
63 use glob_therm_mod
64 USE prop_param_mod , only : n_var_igeo
65C-----------------------------------------------
66C I m p l i c i t T y p e s
67C-----------------------------------------------
68#include "implicit_f.inc"
69C-----------------------------------------------
70C G l o b a l P a r a m e t e r s
71C-----------------------------------------------
72#include "mvsiz_p.inc"
73C-----------------------------------------------
74C C o m m o n B l o c k s
75C-----------------------------------------------
76#include "com08_c.inc"
77#include "param_c.inc"
78C-----------------------------------------------
79C D u m m y A r g u m e n t s
80C-----------------------------------------------
81 INTEGER, INTENT(IN) :: ISMSTR
82 INTEGER, INTENT(IN) :: JSMS
83 INTEGER, INTENT(IN) :: ITY
84 INTEGER, INTENT(IN) :: JTUR
85 INTEGER, INTENT(IN) :: JTHE
86 INTEGER, INTENT(IN) :: JHBE
87 INTEGER, INTENT(IN) :: JCVT
88 INTEGER, INTENT(IN) :: JSPH,NPG
89 INTEGER,INTENT(IN) :: NUMGEO
90 INTEGER MAT(NEL),NGL(NEL),PID(NEL),G_DT, IPM(NPROPMI,*)
91 INTEGER NELTST,ITYPTST,OFFSET,NEL
92 my_real dt2t
94 . pm(npropm,*), off(nel), sig(nel,6), eint(nel), rho(nel), qold(nel),
95 . vol(nel), stifn(nel),offg(nel),geo(npropg,*), gama(mvsiz,6),
96 . voln(nel), vd2(nel), deltax(nel), ssp(nel), aire(nel), vis(nel),
97 . psh(nel), pnew(mvsiz),q(nel) ,ssp_eq(nel), dvol(nel),mumax(nel),
98 . d1(nel), d2(nel), d3(nel), d4(nel), d5(nel), d6(nel),
99 . mssa(nel), dmels(nel),d_max(nel),epsd(nel),
100 . rx(nel),ry(nel),rz(nel),sx(nel),sy(nel),sz(nel),
101 . sold1(nel),sold2(nel),sold3(nel),sold4(nel),
102 . sold5(nel), sold6(nel), conde(nel), vol_avg(nel),dtel(nel),
103 . rhoref(*) ,rhosp(*)
104 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: svis
105 TYPE(L_BUFEL_) :: LBUF
106 type (glob_therm_) ,intent(inout) :: glob_therm
107 integer,dimension(n_var_igeo,numgeo),intent(in) :: igeo
108C-----------------------------------------------
109C L o c a l V a r i a b l e s
110C-----------------------------------------------
111 INTEGER I, IMAT,ISVIS
112 my_real e1, e2, e3, e4, e5, e6,bid1,bid2,bid3,facq0
113 my_real, DIMENSION(NEL) :: r11,r12,r13,r21,r22,r23,r31,r32,r33,volg
114C=======================================================================
115 isvis = 0
116 facq0 = one
117 imat = mat(1)
118c
119c strain rate calculation (for output only)
120c
121 DO i=1,nel
122 epsd(i) = max( abs(d1(i)), abs(d2(i)), abs(d3(i)),
123 . half*abs(d4(i)),half*abs(d5(i)),half*abs(d6(i)))
124 ENDDO
125c
126 CALL conc24(
127 1 pm(1,imat),off, sig, eint,
128 2 lbuf%SIGA, lbuf%EPSA, gama, lbuf%DAM,
129 3 lbuf%ANG, lbuf%SF, lbuf%VK, lbuf%STRA,
130 4 lbuf%CRAK, lbuf%DSUM, lbuf%ROB, lbuf%SIGC,
131 5 lbuf%RK, lbuf%PLA, ngl, d1,
132 6 d2, d3, d4, d5,
133 7 d6, rx, ry, rz,
134 8 sx, sy, sz, lbuf%SEQ,
135 9 rho, lbuf%EPE, nel, r11,
136 a r12, r13, r21, r22,
137 b r23, r31, r32, r33,
138 c jcvt, jsph)
139C----------------------------------------
140C cracks in the global frame for animation
141C----------------------------------------
142 IF (pm(56,mat(1)) == one)
143 . CALL m24anim(lbuf%DAM,lbuf%ANG,lbuf%DGLO,nel,
144 . r11,r12,r13,r21,r22,
145 . r23,r31,r32,r33)
146c
147 IF (jhbe == 24) CALL m24dmax(lbuf%DAM,d_max,nel)
148C------------
149 DO i=1,nel
150 ssp(i)=sqrt(pm(24,imat)/pm(1,imat))
151 vis(i)=zero
152 ENDDO
153C
154 IF(jsph==0)THEN
155 CALL mqviscb(
156 1 pm, off, rho, bid1,
157 2 bid2, ssp, bid3, stifn,
158 3 dt2t, neltst, ityptst, aire,
159 4 offg, geo, pid, voln,
160 5 vd2, deltax, vis, d1,
161 6 d2, d3, pnew, psh,
162 7 mat, ngl, q, ssp_eq,
163 8 vol, mssa, dmels, igeo,
164 9 facq0, conde, dtel, g_dt,
165 a ipm, rhoref, rhosp, nel,
166 b ity, ismstr, jtur, jthe,
167 c jsms, npg , glob_therm)
168C
169 volg(1:nel)=npg*voln(1:nel)
170 CALL mnsvis(
171 1 pm, off, rho, geo,
172 2 pid, ssp, aire, volg,
173 3 d1, d2, d3, d4,
174 4 d5, d6, mat, isvis,
175 5 rhoref, nel, svis)
176C . . . . . . . . . . . . . . . . . . . . . . . . . .
177C L'ENERGIE INTERNE COMPREND L ENERGIE DE FISSURATION
178C . . . . . . . . . . . . . . . . . . . . . . . . . .
179 DO 500 i=1,nel
180 e1=d1(i)*(sold1(i)+sig(i,1)+svis(i,1))
181 e2=d2(i)*(sold2(i)+sig(i,2)+svis(i,2))
182 e3=d3(i)*(sold3(i)+sig(i,3)+svis(i,3))
183 e4=d4(i)*(sold4(i)+sig(i,4)+svis(i,4))
184 e5=d5(i)*(sold5(i)+sig(i,5)+svis(i,5))
185 e6=d6(i)*(sold6(i)+sig(i,6)+svis(i,6))
186 eint(i)=eint(i)
187 . -(q(i)+qold(i))*dvol(i)*half
188 . +(e1+e2+e3+e4+e5+e6)*vol_avg(i)*dt1*half
189C
190 eint(i)=eint(i)/vol(i)
191 qold(i)=q(i)
192 500 CONTINUE
193 ELSE
194 CALL mdtsph(
195 1 pm, off, rho, bid1,
196 2 bid2, bid3, stifn, dt2t,
197 3 neltst, ityptst, offg, geo,
198 4 pid, mumax, ssp, voln,
199 5 vd2, deltax, vis, d1,
200 6 d2, d3, pnew, psh,
201 7 mat, ngl, q, ssp_eq,
202 8 g_dt, dtel, nel, ity,
203 9 jtur, jthe)
204
205 CALL mnsvis(
206 1 pm, off, rho, geo,
207 2 pid, ssp, aire, voln,
208 3 d1, d2, d3, d4,
209 4 d5, d6, mat, isvis,
210 5 rhoref, nel, svis)
211C . . . . . . . . . . . . . . . . . . . . . . . . . .
212C L'ENERGIE INTERNE COMPREND L ENERGIE DE FISSURATION
213C . . . . . . . . . . . . . . . . . . . . . . . . . .
214 DO 510 i=1,nel
215 e1=d1(i)*(sold1(i)+sig(i,1)+svis(i,1))
216 e2=d2(i)*(sold2(i)+sig(i,2)+svis(i,2))
217 e3=d3(i)*(sold3(i)+sig(i,3)+svis(i,3))
218 e4=d4(i)*(sold4(i)+sig(i,4)+svis(i,4))
219 e5=d5(i)*(sold5(i)+sig(i,5)+svis(i,5))
220 e6=d6(i)*(sold6(i)+sig(i,6)+svis(i,6))
221 eint(i)=eint(i)+(e1+e2+e3+e4+e5+e6)*vol_avg(i)*dt1*half
222 eint(i)=eint(i)/vol(i)
223 510 CONTINUE
224 ENDIF
225c-----------
226 RETURN
subroutine conc24(pm, off, sig, eint, siga, epxa, gama, dam, ang, eps_f, vk0, strain, crak, damsum, rob, sigc, vk, pla, ngl, d1, d2, d3, d4, d5, d6, rx, ry, rz, sx, sy, sz, seq, rho, epsvp, nel, r11, r12, r13, r21, r22, r23, r31, r32, r33, jcvt, jsph)
Definition conc24.F:52
#define my_real
Definition cppsort.cpp:32
subroutine dtel(ssp, pm, geo, pid, mat, rho0, vis, deltax, aire, vol, dtx)
Definition dtel.F:46
subroutine m24anim(dam, ang, damglo, nel, r11, r12, r13, r21, r22, r23, r31, r32, r33)
Definition m24anim.F:35
subroutine m24dmax(d, dmax, nel)
Definition m24dmax.F:30
#define max(a, b)
Definition macros.h:21
subroutine mdtsph(pm, off, rho, rk, t, re, sti, dt2t, neltst, ityptst, offg, geo, pid, mumax, ssp, vol, vd2, deltax, vis, d1, d2, d3, pnew, psh, mat, ngl, qvis, ssp_eq, g_dt, dtsph, nel, ity, jtur, jthe)
Definition mdtsph.F:47
subroutine mnsvis(pm, off, rho, geo, pid, ssp, aire, vol, d1, d2, d3, d4, d5, d6, mat, isvis, rhoref, nel, svis)
Definition mnsvis.F:35
subroutine mqviscb(pm, off, rho, rk, temp, ssp, re, sti, dt2t, neltst, ityptst, aire, offg, geo, pid, vol, vd2, deltax, vis, d1, d2, d3, pnew, psh, mat, ngl, qvis, ssp_eq, vol0, mssa, dmels, igeo, facq0, conde, dtel, g_dt, ipm, rhoref, rhosp, nel, ity, ismstr, jtur, jthe, jsms, npg, glob_therm)
Definition mqviscb.F:56