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, numgeo, igeo)

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,
integer, intent(in) numgeo,
integer, dimension(n_var_igeo,numgeo), intent(in) igeo )

Definition at line 34 of file m1law.F.

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