OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m75init.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| m75init ../starter/source/materials/mat/mat075/m75init.F
25!||--- called by ------------------------------------------------------
26!|| matini ../starter/source/materials/mat_share/matini.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| finter ../starter/source/tools/curve/finter.F
30!||--- uses -----------------------------------------------------
31!|| message_mod ../starter/share/message_module/message_mod.F
32!||====================================================================
33 SUBROUTINE m75init(
34 1 NEL , NUPARAM, NUVAR , NFUNC , IFUNC , NPF ,
35 2 TF , UPARAM , RHO0 , VOLUME , EINT ,UVAR ,
36 3 PM ,ID ,TITR)
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
73 my_real
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----------------------------------------------------------------
81 my_real
82 . uvar(nel,nuvar)
83C----------------------------------------------------------------
84C VARIABLES FOR FUNCTION INTERPOLATION
85C----------------------------------------------------------------
86 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
87 my_real
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
95 my_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
153 END
subroutine m75init(nel, nuparam, nuvar, nfunc, ifunc, npf, tf, uparam, rho0, volume, eint, uvar, pm, id, titr)
Definition m75init.F:37
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