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

Go to the source code of this file.

Functions/Subroutines

subroutine mtheta (pm, eint, theta, amu, c1, c2, df, psh, pc, mat, nel)

Function/Subroutine Documentation

◆ mtheta()

subroutine mtheta ( pm,
eint,
theta,
amu,
c1,
c2,
df,
psh,
pc,
integer, dimension(*) mat,
integer, intent(in) nel )

Definition at line 28 of file mtheta.F.

32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C C o m m o n B l o c k s
38C-----------------------------------------------
39#include "param_c.inc"
40C-----------------------------------------------
41C D u m m y A r g u m e n t s
42C-----------------------------------------------
43 INTEGER, INTENT(IN) :: NEL
44 INTEGER MAT(*)
45C REAL
47 . pm(npropm,*), eint(*), theta(*),
48 . amu(*), c1(*), c2(*), df(*), psh(*), pc(*)
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52 INTEGER I,MX
53 my_real eint0, sph, dmu, plim, c2mu, c1psh, ecold
54C=======================================================================
55 mx = mat(1)
56 DO i=1,nel
57 sph =pm(69,mx)
58 eint0 =pm(23,mx)
59 theta(i)=pm(79,mx)
60 plim =pc(i)-c1(i)-psh(i)
61 IF(c2(i)>abs(plim/ep36))THEN
62 dmu = min(amu(i)-plim/c2(i),zero)
63 ELSE
64 dmu =zero
65 ENDIF
66C
67 c2mu =c2(i)*amu(i)
68 c1psh =c1(i)+psh(i)
69C ENERGIE ELASTIQUE
70 ecold =(c1psh + half*c2mu)*amu(i)
71C ENERGIE DE RUPTURE EN TRITENSION (OU CAVITATION)
72C HYP: NE CREEE PAR D'ECHAUFFEMENT
73 ecold =ecold + half*dmu*(c1psh+c2mu-pc(i))
74C ENERGIE INITIALE
75 ecold =ecold+eint0
76 theta(i)=theta(i) + (eint(i)*df(i)-ecold)/sph
77 ENDDO
78c-----------
79 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20