OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
m77init.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!|| m77init ../starter/source/materials/mat/mat077/m77init.F
25!||--- called by ------------------------------------------------------
26!|| matini ../starter/source/materials/mat_share/matini.F
27!||--- calls -----------------------------------------------------
28!|| finter ../starter/source/tools/curve/finter.F
29!||====================================================================
30 SUBROUTINE m77init(
31 1 NEL , NUPARAM, NUVAR , NFUNC , IFUNC , NPF ,
32 2 TF , UPARAM , RHO0 , VOLUME , EINT ,UVAR )
33C-----------------------------------------------
34C I M P L I C I T T Y P E S
35C-----------------------------------------------
36#include "implicit_f.inc"
37C---------+---------+---+---+--------------------------------------------
38C VAR | SIZE |TYP| RW| DEFINITION
39C---------+---------+---+---+--------------------------------------------
40C NEL | 1 | I | R | SIZE OF THE ELEMENT GROUP NEL
41C NUPARAM | 1 | I | R | SIZE OF THE USER PARAMETER ARRAY
42C NUVAR | 1 | I | R | NUMBER OF USER ELEMENT VARIABLES
43C---------+---------+---+---+--------------------------------------------
44C NFUNC | 1 | I | R | NUMBER FUNCTION USED FOR THIS USER LAW
45C IFUNC | NFUNC | I | R | FUNCTION INDEX
46C NPF | * | I | R | FUNCTION ARRAY
47C TF | * | F | R | FUNCTION ARRAY
48C---------+---------+---+---+--------------------------------------------
49C UPARAM | NUPARAM | F | R | USER MATERIAL PARAMETER ARRAY
50C RHO0 | NEL | F | R | INITIAL DENSITY
51C VOLUME | NEL | F | R | VOLUME
52C EINT | NEL | F | R | TOTAL INTERNAL ENERGY
53C---------+---------+---+---+--------------------------------------------
54C UVAR |NEL*NUVAR| F |R/W| USER ELEMENT VARIABLE ARRAY
55C----------------------------------------------------------------
56C I N P U T A R G U M E N T S
57C----------------------------------------------------------------
58 INTEGER NEL, NUPARAM, NUVAR
59 my_real
60 . uparam(nuparam), rho0(nel), volume(nel), eint(nel)
61C----------------------------------------------------------------
62C O U T P U T A R G U M E N T S
63C----------------------------------------------------------------
64C I N P U T O U T P U T A R G U M E N T S
65C----------------------------------------------------------------
66 my_real
67 . uvar(nel,nuvar)
68C----------------------------------------------------------------
69C VARIABLES FOR FUNCTION INTERPOLATION
70C----------------------------------------------------------------
71 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
72 my_real
73 . finter,tf(*)
74 EXTERNAL finter
75C----------------------------------------------------------------
76C L O C A L V A R I B L E S
77C----------------------------------------------------------------
78 INTEGER IADBUF, I, J,IFUNCR,IFUNCK
79C REAL
80 my_real
81 . e0,rho_air0,alpha,eint0,kk,mu,df
82C=======================================================================
83 e0 = uparam(2)
84 rho_air0 = uparam(14 + 2*nfunc)
85 alpha = uparam(17 + 2*nfunc)
86 eint0 = uparam(20 + 2*nfunc)
87 kk = uparam(21 + 2*nfunc)
88C
89C initialisation of Alpha and KK if Ifuncr and Ifunck is defined
90C
91 ifuncr = ifunc(nfunc)
92 ifunck = ifunc(nfunc-1)
93 mu = one
94 IF(ifuncr > 0) alpha= alpha*finter(ifuncr,mu,npf,tf,df)
95 IF(ifunck > 0) kk= kk*finter(ifunck,mu,npf,tf,df)
96C
97 DO i=1,nel
98 DO j=1,nuvar
99 uvar(i,j)=zero
100 ENDDO
101 uvar(i,1) = rho_air0
102 uvar(i,2) = eint0
103 uvar(i,3) = alpha*volume(i)
104 uvar(i,12) = e0
105 uvar(i,21) = alpha
106 uvar(i,22) = kk
107 ENDDO
108
109 RETURN
110 END
#define alpha
Definition eval.h:35
subroutine m77init(nel, nuparam, nuvar, nfunc, ifunc, npf, tf, uparam, rho0, volume, eint, uvar)
Definition m77init.F:33