OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m1law.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 m1law (pm, off, sig, eint, rho, qold, vol, stifn, dt2t, neltst, ityptst, offg, geo, pid, mumax, mat, ngl, ssp, dvol, aire, vnew, vd2, deltax, vis, d1, d2, d3, d4, d5, d6, pnew, psh, qnew, ssp_eq, sold1, sold2, sold3, sold4, sold5, sold6, mssa, dmels, conde, amu, vol_avg, dtel, g_dt, nel, ipm, rhoref, rhosp, ity, jtur, jthe, jsph, ismstr, jsms, npg, glob_therm)

Function/Subroutine Documentation

◆ m1law()

subroutine m1law ( pm,
off,
sig,
eint,
rho,
qold,
vol,
stifn,
dt2t,
integer neltst,
integer ityptst,
offg,
geo,
integer, dimension(*) pid,
mumax,
integer, dimension(*) mat,
integer, dimension(*) ngl,
ssp,
dvol,
aire,
vnew,
vd2,
deltax,
vis,
d1,
d2,
d3,
d4,
d5,
d6,
pnew,
psh,
qnew,
ssp_eq,
sold1,
sold2,
sold3,
sold4,
sold5,
sold6,
mssa,
dmels,
conde,
amu,
vol_avg,
dtel,
integer g_dt,
integer nel,
integer, dimension(npropmi,*) ipm,
rhoref,
rhosp,
integer, intent(in) ity,
integer, intent(in) jtur,
integer, intent(in) jthe,
integer, intent(in) jsph,
integer, intent(in) ismstr,
integer, intent(in) jsms,
integer, intent(in) npg,
type (glob_therm_), intent(inout) glob_therm )

Definition at line 33 of file m1law.F.

49C-----------------------------------------------
50C M o d u l e s
51C-----------------------------------------------
52 use glob_therm_mod
53C-----------------------------------------------
54C I m p l i c i t T y p e s
55C-----------------------------------------------
56#include "implicit_f.inc"
57C-----------------------------------------------
58C G l o b a l P a r a m e t e r s
59C-----------------------------------------------
60#include "mvsiz_p.inc"
61C-----------------------------------------------
62C C o m m o n B l o c k s
63C-----------------------------------------------
64#include "com08_c.inc"
65#include "param_c.inc"
66C-----------------------------------------------
67C D u m m y A r g u m e n t s
68C-----------------------------------------------
69 INTEGER, INTENT(IN) :: ISMSTR
70 INTEGER, INTENT(IN) :: JSMS
71 INTEGER, INTENT(IN) :: ITY
72 INTEGER, INTENT(IN) :: JTUR
73 INTEGER, INTENT(IN) :: JTHE
74 INTEGER, INTENT(IN) :: JSPH,NPG
75C
76 INTEGER NELTST,ITYPTST,PID(*),G_DT,NEL
77 INTEGER MAT(*),NGL(*), IPM(NPROPMI,*)
79 . dt2t
81 . pm(npropm,*), off(*), sig(nel,6), eint(*), rho(*), qold(*),
82 . vol(*),stifn(*), offg(*),geo(npropg,*),mumax(*)
84 . vnew(*), vd2(*), deltax(*), ssp(*), aire(*), vis(*),
85 . psh(*), pnew(*),qnew(*) ,ssp_eq(*), dvol(*),
86 . sold1(*), sold2(*), sold3(*), sold4(*), sold5(*), sold6(*),
87 . d1(*), d2(*), d3(*), d4(*), d5(*), d6(*),
88 . mssa(*), dmels(*),conde(*),amu(*),vol_avg(*),dtel(*), rhoref(*), rhosp(*)
89 type (glob_therm_) ,intent(inout) :: glob_therm
90C-----------------------------------------------
91C L o c a l V a r i a b l e s
92C-----------------------------------------------
93 INTEGER I, MX, J,IBID
95 . rho0(mvsiz),
96 . g(mvsiz), g1(mvsiz), g2(mvsiz),
97 . c1(mvsiz),
98 . df,dav, dpdm, p,
99 . e1, e2, e3, e4, e5, e6, einc, p2,
100 . bid1, bid2, bid3, dta, ym, dpdmp,facq0,
101 . rho0_1,c1_1
102C-----------------------------------------------
103 facq0 = one
104 mx = mat(1)
105 rho0_1 =pm( 1,mx)
106 c1_1 =pm(32,mx)
107 DO 10 i=1,nel
108 rho0(i) =rho0_1
109 g(i) =pm(22,mx)*off(i)
110 c1(i) =c1_1
111 10 CONTINUE
112C
113 DO i=1,nel
114 g1(i)=dt1*g(i)
115 g2(i)=two*g1(i)
116 !-----------------------
117 ! CALCUL DE DP/DRHO
118 !-----------------------
119 ! P = C1 mu, mu = rho/rho0-1 (cf Hydrodynamic pressure)
120 ! d(rho)/d(mu) = rho0
121 !-----------------------
122 ssp(i) =sqrt((onep333*g(i)+c1(i))/rho0(i))
123 rhosp(i)=rho0(i)
124 !-------------------------------
125 ! CONTRAINTES DEVIATORIQUES
126 !-------------------------------
127 p =-third*(sig(i,1)+sig(i,2)+sig(i,3))
128 dav=-third*(d1(i)+d2(i)+d3(i))
129 sig(i,1)=sig(i,1)+p+g2(i)*(d1(i)+dav)
130 sig(i,2)=sig(i,2)+p+g2(i)*(d2(i)+dav)
131 sig(i,3)=sig(i,3)+p+g2(i)*(d3(i)+dav)
132 sig(i,4)=sig(i,4)+g1(i)*d4(i)
133 sig(i,5)=sig(i,5)+g1(i)*d5(i)
134 sig(i,6)=sig(i,6)+g1(i)*d6(i)
135 ENDDO
136
137 IF (jsph==0)THEN
138 CALL mqviscb(
139 1 pm, off, rho, bid1,
140 2 bid2, ssp, bid3, stifn,
141 3 dt2t, neltst, ityptst, aire,
142 4 offg, geo, pid, vnew,
143 5 vd2, deltax, vis, d1,
144 6 d2, d3, pnew, psh,
145 7 mat, ngl, qnew, ssp_eq,
146 8 vol, mssa, dmels, ibid,
147 9 facq0, conde, dtel, g_dt,
148 a ipm, rhoref, rhosp, nel,
149 b ity, ismstr, jtur, jthe,
150 c jsms, npg , glob_therm)
151 ELSE
152 CALL mdtsph(
153 1 pm, off, rho, bid1,
154 2 bid2, bid3, stifn, dt2t,
155 3 neltst, ityptst, offg, geo,
156 4 pid, mumax, ssp, vnew,
157 5 vd2, deltax, vis, d1,
158 6 d2, d3, pnew, psh,
159 7 mat, ngl, qnew, ssp_eq,
160 8 g_dt, dtel, nel, ity,
161 9 jtur, jthe)
162 ENDIF
163
164 dta =half*dt1
165
166 DO i=1,nel
167 pnew(i)=c1(i)*amu(i)
168 sig(i,1)=(sig(i,1)-pnew(i))*off(i)
169 sig(i,2)=(sig(i,2)-pnew(i))*off(i)
170 sig(i,3)=(sig(i,3)-pnew(i))*off(i)
171 sig(i,4)=sig(i,4)*off(i)
172 sig(i,5)=sig(i,5)*off(i)
173 sig(i,6)=sig(i,6)*off(i)
174 p2 = -(sold1(i)+sig(i,1)+sold2(i)+sig(i,2)+sold3(i)+sig(i,3))* third
175 e1=d1(i)*(sold1(i)+sig(i,1)+p2)
176 e2=d2(i)*(sold2(i)+sig(i,2)+p2)
177 e3=d3(i)*(sold3(i)+sig(i,3)+p2)
178 e4=d4(i)*(sold4(i)+sig(i,4))
179 e5=d5(i)*(sold5(i)+sig(i,5))
180 e6=d6(i)*(sold6(i)+sig(i,6))
181 einc= vol_avg(i)*(e1+e2+e3+e4+e5+e6)*dta - half*dvol(i)*(qold(i)+qnew(i)+p2)
182 eint(i)=(eint(i)+einc*off(i)) / max(em15,vol(i))
183 qold(i)=qnew(i)
184 ENDDO
185
186 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine dtel(ssp, pm, geo, pid, mat, rho0, vis, deltax, aire, vol, dtx)
Definition dtel.F:46
#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 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