OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m1lawi.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 m1lawi (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

◆ m1lawi()

subroutine m1lawi ( 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 m1lawi.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
84
86 . pm(npropm,*), off(*), sig(nel,6), eint(*), rho(*), qold(*),
87 . vol(*),stifn(*), offg(*),geo(npropg,*),mumax(*)
89 . vnew(*), vd2(*), deltax(*), ssp(*), aire(*), vis(*),
90 . psh(*), pnew(*),qnew(*) ,ssp_eq(*), dvol(*),
91 . sold1(*), sold2(*), sold3(*), sold4(*), sold5(*), sold6(*),
92 . d1(*), d2(*), d3(*), d4(*), d5(*), d6(*),
93 . mssa(*), dmels(*),conde(*),amu(*),vol_avg(*),dtel(*), rhoref(*), rhosp(*)
94 type (glob_therm_) ,intent(inout) :: glob_therm
95 integer,dimension(n_var_igeo,numgeo),intent(in) :: igeo
96C-----------------------------------------------
97C L o c a l V a r i a b l e s
98C-----------------------------------------------
99 INTEGER I, MX
100 my_real
101 . rho0(mvsiz),
102 . g(mvsiz), g1(mvsiz), g2(mvsiz),
103 . c1(mvsiz),
104 . dav, p,
105 . e1, e2, e3, e4, e5, e6, einc, p2,
106 . bid1, bid2, bid3, dta,facq0,
107 . rho0_1,c1_1
108 my_real
109 . lmb(mvsiz),epsm
110C-----------------------------------------------
111 facq0 = one
112 mx = mat(1)
113 rho0_1 =pm( 1,mx)
114 c1_1 =pm(32,mx)
115 DO 10 i=1,nel
116 rho0(i) =rho0_1
117 g(i) =pm(22,mx)*off(i)
118 c1(i) =c1_1
119 lmb(i) =(three*c1(i)-two*g(i))
120 10 CONTINUE
121C
122
123 DO i=1,nel
124 g1(i)=dt1*g(i)
125 g2(i)=two*g1(i)
126 !-----------------------
127 ! CALCULATION OF DP/DRHO
128 !-----------------------
129 ! P = C1 mu, mu = rho/rho0-1
130 ! d(rho)/d(mu) = rho0
131 !-----------------------
132 ssp(i)=sqrt((onep333*g(i)+c1(i))/rho0(i))
133 rhosp(i)=rho0(i)
134 !-------------------------------
135 ! DEVIATORIC STRESSES
136 !-------------------------------
137 p =-third*(sig(i,1)+sig(i,2)+sig(i,3))
138 dav=-third*(d1(i)+d2(i)+d3(i))
139 ENDDO
140
141 IF (jsph==0)THEN
142 CALL mqviscb(
143 1 pm, off, rho, bid1,
144 2 bid2, ssp, bid3, stifn,
145 3 dt2t, neltst, ityptst, aire,
146 4 offg, geo, pid, vnew,
147 5 vd2, deltax, vis, d1,
148 6 d2, d3, pnew, psh,
149 7 mat, ngl, qnew, ssp_eq,
150 8 vol, mssa, dmels, igeo,
151 9 facq0, conde, dtel, g_dt,
152 a ipm, rhoref, rhosp, nel,
153 b ity, ismstr, jtur, jthe,
154 c jsms, npg , glob_therm)
155 ELSE
156 CALL mdtsph(
157 1 pm, off, rho, bid1,
158 2 bid2, bid3, stifn, dt2t,
159 3 neltst, ityptst, offg, geo,
160 4 pid, mumax, ssp, vnew,
161 5 vd2, deltax, vis, d1,
162 6 d2, d3, pnew, psh,
163 7 mat, ngl, qnew, ssp_eq,
164 8 g_dt, dtel, nel, ity,
165 9 jtur, jthe)
166 ENDIF
167
168 dta =half*dt1
169
170 DO i=1,nel
171 epsm = third*(d1(i)+d2(i)+d3(i))
172 sig(i,1)=sig(i,1)+ (two*g(i)*d1(i)+lmb(i)*epsm) *dt1
173 sig(i,2)=sig(i,2)+ (two*g(i)*d2(i)+lmb(i)*epsm) *dt1
174 sig(i,3)=sig(i,3)+ (two*g(i)*d3(i)+lmb(i)*epsm) *dt1
175 sig(i,4)=sig(i,4)+ g(i)*d4(i) *dt1
176 sig(i,5)=sig(i,5)+ g(i)*d5(i) *dt1
177 sig(i,6)=sig(i,6)+ g(i)*d6(i) *dt1
178 pnew(i) =- (sig(i,1)+sig(i,2)+sig(i,3))
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
190 ENDDO
191
192 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