OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
xini31.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!|| xini31 ../starter/source/elements/xelem/xini31.F
25!||--- called by ------------------------------------------------------
26!|| xinit3 ../starter/source/elements/xelem/xinit3.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| get_u_func ../starter/source/user_interface/uaccess.F
30!|| get_u_geo ../starter/source/user_interface/uaccess.F
31!|| get_u_mat ../starter/source/user_interface/uaccess.F
32!|| get_u_mid ../starter/source/user_interface/uaccess.F
33!|| get_u_mnu ../starter/source/user_interface/uaccess.F
34!|| get_u_pid ../starter/source/user_interface/uaccess.F
35!|| get_u_pnu ../starter/source/user_interface/uaccess.F
36!||--- uses -----------------------------------------------------
37!|| message_mod ../starter/share/message_module/message_mod.F
38!||====================================================================
39 SUBROUTINE xini31(NX ,NAX1D ,NAX2D ,NAX3D ,
40 2 XEL ,VEL ,VREL ,
41 2 IOUT ,IPROP ,IMAT ,
42 3 IX ,IDS ,MASS ,
43 4 XINER ,STIFM ,STIFR ,VISCM ,VISCR ,
44 5 UVAR ,NUVAR ,UVARN ,NUVARN ,DTE )
45C-------------------------------------------------------------------------
46C This subroutine initialize multipurpose element
47C (when element uses user property TYPE31).
48C----------+---------+---+---+--------------------------------------------
49C VAR | SIZE |TYP| RW| DEFINITION
50C----------+---------+---+---+--------------------------------------------
51C IOUT | 1 | I | R | OUTPUT FILE UNIT (L00 file)
52C IPROP | 1 | I | R | PROPERTY NUMBER
53C IMAT | 1 | I | R | MATERIAL NUMBER
54C----------+---------+---+---+--------------------------------------------
55C XEL | 3*NX | F | R | NODES COORDINATES
56C VEL | 3*NX | F | R | NODES VELOCITIES
57C VREL | 3*NX | F | R | NODES ROTATIONAL VELOCITIES
58C----------+---------+---+---+--------------------------------------------
59C NX | 1 | I | R | NUMBER OF NODES (CONSTANT IN THE GROUP)
60C----------+---------+---+---+--------------------------------------------
61C NAX1D | 1 | I | W | NUMBER OF EDGES TO BE DRAWN INTO ANIM
62C NAX2D | 1 | I | W | NUMBER OF FACETS TO BE DRAWN INTO ANIM
63C NAX3D | 1 | I | W | NUMBER OF SOLIDS TO BE DRAWN INTO ANIM
64C----------+---------+---+---+--------------------------------------------
65C IX | NX | I | R | ELEMENT CONNECTIVITY
66C | IX(J) (1<=J<=NX) : NODE J USER ID
67C IDS | 1 | I | R | ELEMENT USER IDENTIFIER
68C----------+---------+---+---+--------------------------------------------
69C MASS | NX | F | W | NODAL MASS
70C XINER | NX | F | W | NODAL INERTIA (SPHERICAL)
71C STIFM | NX | F | W | NODAL STIFNESS (TIME STEP)
72C STIFR | NX | F | W | NODAL ROTATION STIFNESS (TIME STEP)
73C VISCM | NX | F | W | NODAL VISCOSITY (TIME STEP)
74C VISCR | NX | F | W | NODAL ROTATION VISCOSITY (TIME STEP)
75C----------+---------+---+---+--------------------------------------------
76C UVAR |NUVAR | F | W | USER ELEMENT VARIABLES
77C NUVAR | 1 | I | R | NUMBER OF USER ELEMENT VARIABLES
78C UVARN |NUVARN*NX| F | W | USER ELEMENT VARIABLES
79C NUVARN | 1 | I | R | NUMBER OF USER ELEMENT VARIABLES PER NODE.
80C----------+---------+---+---+--------------------------------------------
81C-------------------------------------------------------------------------
82C FUNCTION
83C-------------------------------------------------------------------------
84C INTEGER II = GET_U_PNU(I,IP,KK)
85C IFUNCI = GET_U_PNU(I,IP,KFUNC)
86C IPROPI = GET_U_PNU(I,IP,KPROP)
87C IMATI = GET_U_PNU(I,IP,KMAT)
88C I : VARIABLE INDEX(1 for first variable,...)
89C IP : PROPERTY NUMBER
90C KK : PARAMETER KFUNC,KMAT,KPROP
91C THIS FUNCTION RETURN THE USER STORED FUNCTION(IF KK=KFUNC),
92C MATERIAL(IF KK=KMAT) OR PROPERTY(IF KK=KPROP) NUMBERS.
93C SEE LECG31 FOR CORRESPONDING ID STORAGE.
94C-------------------------------------------------------------------------
95C INTEGER IFUNCI = GET_U_MNU(I,IM,KFUNC)
96C I : VARIABLE INDEX(1 for first function)
97C IM : MATERIAL NUMBER
98C KFUNC : ONLY FUNCTION ARE YET AVAILABLE.
99C THIS FUNCTION RETURN THE USER STORED FUNCTION NUMBERS(function
100C referred by users materials).
101C SEE LECM31 FOR CORRESPONDING ID STORAGE.
102C-------------------------------------------------------------------------
103C my_real PARAMI = GET_U_GEO(I,IP)
104C I : PARAMETER INDEX(1 for first parameter,...)
105C IP : PROPERTY NUMBER
106C THIS FUNCTION RETURN THE USER GEOMETRY PARAMETERS
107C-------------------------------------------------------------------------
108C my_real PARAMI = GET_U_MAT(I,IM)
109C I : PARAMETER INDEX(1 for first parameter,...)
110C IM : MATERIAL NUMBER
111C THIS FUNCTION RETURN THE USER MATERIAL PARAMETERS
112C NOTE: GET_U_MAT(0,IMAT) RETURN THE DENSITY
113C-------------------------------------------------------------------------
114C INTEGER MID = GET_U_PID(IP)
115C IP : PROPERTY NUMBER
116C THIS FUNCTION RETURN THE USER PROPERTY ID CORRESPONDING TO
117C USER PROPERTY NUMBER IP.
118C-------------------------------------------------------------------------
119C INTEGER PID = GET_U_MID(IM)
120C IM : MATERIAL NUMBER
121C THIS FUNCTION RETURN THE USER MATERIAL ID CORRESPONDING TO
122C USER MATERIAL NUMBER IM.
123C-------------------------------------------------------------------------
124 USE message_mod
125C-----------------------------------------------
126C I m p l i c i t T y p e s
127C-----------------------------------------------
128#include "implicit_f.inc"
129C----------------------------------------------------------
130C D u m m y A r g u m e n t s a n d F u n c t i o n
131C----------------------------------------------------------
132 INTEGER IOUT,NUVAR,NUVARN,IPROP,IMAT,
133 . NX ,NAX1D ,NAX2D ,NAX3D , IX(NX), IDS,
134 . GET_U_PNU,GET_U_PID,GET_U_MID,GET_U_MNU,
135 . KFUNC,KMAT,KPROP
136 my_real
137 . xel(3,nx),vel(3,nx),vrel(3,nx),
138 . mass(nx) ,xiner(nx) ,stifm(nx) ,
139 . stifr(nx),viscm(nx) ,viscr(nx) ,uvar(nuvar) ,
140 . uvarn(nuvarn*nx), dte,
141 . get_u_mat,get_u_geo,get_u_func
142c jbm024
143 EXTERNAL get_u_pnu,get_u_mnu,get_u_mat,get_u_geo,get_u_pid,
144 . get_u_mid,get_u_func
145 parameter(kfunc=29)
146 parameter(kmat=31)
147 parameter(kprop=33)
148C=======================================================================
149C-----------------------------------------------
150C L o c a l V a r i a b l e s
151C-----------------------------------------------
152 CALL ancmsg(msgid=1613,anmode=anstop,
153 . msgtype=msgerror)
154 END
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
subroutine xini31(nx, nax1d, nax2d, nax3d, xel, vel, vrel, iout, iprop, imat, ix, ids, mass, xiner, stifm, stifr, viscm, viscr, uvar, nuvar, uvarn, nuvarn, dte)
Definition xini31.F:45