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

Go to the source code of this file.

Functions/Subroutines

subroutine m75init (nel, nuparam, nuvar, nfunc, ifunc, npf, tf, uparam, rho0, volume, eint, uvar, pm, id, titr)

Function/Subroutine Documentation

◆ m75init()

subroutine m75init ( integer nel,
integer nuparam,
integer nuvar,
integer nfunc,
integer, dimension(nfunc) ifunc,
integer, dimension(*) npf,
tf,
uparam,
rho0,
volume,
eint,
uvar,
pm,
integer id,
character(len=nchartitle) titr )

Definition at line 33 of file m75init.F.

37 USE message_mod
39C-----------------------------------------------
40C I M P L I C I T T Y P E S
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C A n a l y s e M o d u l e
45C-----------------------------------------------
46C---------+---------+---+---+--------------------------------------------
47C VAR | SIZE |TYP| RW| DEFINITION
48C---------+---------+---+---+--------------------------------------------
49C NEL | 1 | I | R | SIZE OF THE ELEMENT GROUP NEL
50C NUPARAM | 1 | I | R | SIZE OF THE USER PARAMETER ARRAY
51C NUVAR | 1 | I | R | NUMBER OF USER ELEMENT VARIABLES
52C---------+---------+---+---+--------------------------------------------
53C NFUNC | 1 | I | R | NUMBER FUNCTION USED FOR THIS USER LAW
54C IFUNC | NFUNC | I | R | FUNCTION INDEX
55C NPF | * | I | R | FUNCTION ARRAY
56C TF | * | F | R | FUNCTION ARRAY
57C---------+---------+---+---+--------------------------------------------
58C UPARAM | NUPARAM | F | R | USER MATERIAL PARAMETER ARRAY
59C RHO0 | NEL | F | R | INITIAL DENSITY
60C VOLUME | NEL | F | R | VOLUME
61C EINT | NEL | F | R | TOTAL INTERNAL ENERGY
62C---------+---------+---+---+--------------------------------------------
63C UVAR |NEL*NUVAR| F |R/W| USER ELEMENT VARIABLE ARRAY
64C---------+---------+---+---+--------------------------------------------
65C-----------------------------------------------
66C C o m m o n B l o c k s
67C-----------------------------------------------
68#include "param_c.inc"
69C----------------------------------------------------------------
70C I N P U T A R G U M E N T S
71C----------------------------------------------------------------
72 INTEGER NEL, NUPARAM, NUVAR
74 . uparam(nuparam), rho0(nel), volume(nel), eint(nel),
75 . pm(npropm,*)
76 INTEGER ID
77 CHARACTER(LEN=NCHARTITLE) :: TITR
78C----------------------------------------------------------------
79C I N P U T O U T P U T A R G U M E N T S
80C----------------------------------------------------------------
82 . uvar(nel,nuvar)
83C----------------------------------------------------------------
84C VARIABLES FOR FUNCTION INTERPOLATION
85C----------------------------------------------------------------
86 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
88 . finter,tf(*)
89 EXTERNAL finter
90C----------------------------------------------------------------
91C L O C A L V A R I A B L E S
92C----------------------------------------------------------------
93 INTEGER I, IMAT
94C REAL
96 . ce, pe, ps, en, rho0s, alphae, bulks, c0, beta, aa,
97 . dalpdpe, alphap, bulk
98C---+----1----+----2----+----3----+----4----+----5----+----6----+----7--
99 bulk = uparam(1)
100 pe = uparam(2)
101 ps = uparam(3)
102 en = uparam(4)
103 imat = nint(uparam(6))
104 ce = sqrt(bulk/rho0(1))
105C
106 IF(imat==0) THEN
107 alphae=zero
108 alphap=zero
109 aa=zero
110 ELSE
111 rho0s =pm(89,imat)
112 alphae=rho0s/rho0(1)
113 bulks= pm(32,imat)
114 c0 = sqrt(bulks/rho0s)
115 beta=ce/c0
116 aa=(beta-one)/(alphae-one)
117 dalpdpe=(one/bulks-one/bulk)*alphae
118 alphap=alphae+pe*dalpdpe
119C
120 IF (alphae < one) THEN
121 CALL ancmsg(msgid=898,
122 . msgtype=msgerror,
123 . anmode=aninfo,
124 . i1=id,
125 . c1=titr)
126 ENDIF
127 IF (bulks < bulk) THEN
128 CALL ancmsg(msgid=1003,
129 . msgtype=msgerror,
130 . anmode=aninfo,
131 . i1=id,
132 . c1=titr)
133 ENDIF
134 ENDIF
135C-----------
136C INITIALIZE
137C-----------
138 uparam(11)=alphae
139 uparam(12)=alphap
140 uparam(13)=aa
141 uparam(14)=one/en
142 uparam(15)=(ps-pe)/(alphap-one)**(one/en)
143 uparam(16)=(alphap-one)/(ps-pe)**en
144C
145 DO i=1,nel
146 uvar(i,1)=zero
147 uvar(i,2)=zero
148 uvar(i,3)=alphae
149 uvar(i,4)=alphap
150 ENDDO
151C
152 RETURN
#define my_real
Definition cppsort.cpp:32
initmumps id
integer, parameter nchartitle
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889