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

Go to the source code of this file.

Functions/Subroutines

subroutine m26th (mat, rho, t, xk, pm, sesame, z, nel, nft)

Function/Subroutine Documentation

◆ m26th()

subroutine m26th ( integer, dimension(*) mat,
rho,
t,
xk,
pm,
sesame,
z,
integer, intent(in) nel,
integer, intent(in) nft )

Definition at line 30 of file m26th.F.

34C----------------------------------------
35C CALCUL DE LA CONDUCTIVITE THERMIQUE
36C----------------------------------------
37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C C o m m o n B l o c k s
43C-----------------------------------------------
44#include "param_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER, INTENT(IN) :: NEL
49 INTEGER, INTENT(IN) :: NFT
50 INTEGER MAT(*)
52 . rho(*), t(*), xk(*), pm(npropm,*), sesame(*), z(*)
53C-----------------------------------------------
54C L o c a l V a r i a b l e s
55C-----------------------------------------------
56 INTEGER I, J, MX, NR, NT, IDR, IDT, IDQ
58 . zz, deltat, xlamb, stefan, rl, tl, opac, dxdr, rossel, xkr
59 real*8 ne, na, atom
60C-----------------------------------------------
61 DATA na /6.0225e+23/
62C-----------------------------------------------
63 !----------------------------
64 ! CONDUCTION ELECTRONIQUE
65 !----------------------------
66 DO i=1,nel
67 j=i+nft
68 mx = mat(i)
69 zz = max(em10,z(i))
70 deltat= threep44 * zep26 * log(zz) / zz
71 IF(deltat>zero)THEN
72 deltat= one / ( one + deltat)
73 ELSE
74 deltat= zero
75 ENDIF
76 atom = pm(37,mx)
77 ne = rho(i)*na*zz/atom
78 xlamb = pm(36,mx)*t(i)**three_half/sqrt(ne)
79 xlamb = max(one,xlamb)
80 xlamb = max(em10, log(xlamb))
81 xk(j) = xk(j) + zep4*deltat*pm(35,mx)*t(i)**twop5 / (zz*xlamb)
82 ENDDO
83
84 !----------------------------
85 ! RADIATION
86 !----------------------------
87 DO i=1,nel
88 j=i+nft
89 mx = mat(i)
90 stefan = pm(51,mx)
91 IF(stefan>zero.AND.t(i)>ep04)THEN
92 nr = nint(pm(48,mx))
93 nt = nint(pm(49,mx))
94 idr = nint(pm(50,mx))
95 idt = idr + nr
96 idq = idt + nt
97 rl = log10(rho(i))
98 tl = log10(t(i))
99 CALL mintp_rt(sesame(idr),nr,
100 + sesame(idt),nt,sesame(idq),rl,tl,opac,dxdr)
101 opac = ten**opac
102 rossel = one / ( rho(i) * opac)
103 xkr = sixteen * stefan * t(i)**3 * rossel * third
104 xk(j) = xk(j) + xkr
105 ENDIF
106 xk(j) = min(xk(j),pm(52,mx))
107 ENDDO
108C
109 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
subroutine mintp_rt(xx, nx, yy, ny, zz, x, y, z, dzdx)
Definition mintp_rt.F:35
subroutine sesame(iflag, nel, pm, off, eint, rho, rho0, espe, dvol, mat, pnew, dpdm, dpde, theta, bufmat)
Definition sesame.F:35