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

Go to the source code of this file.

Functions/Subroutines

subroutine xanim28 (nx, uix, uid, xel, iout, iprop, imat, off, massele, eintele, nedge, nfacet, nsolid, ixedge, ixfacet, ixsolid, xmassed, xmassfa, xmassso, xfunced, xfuncfa, xfuncso, nuvar, uvar, nuvarn, uvarn)

Function/Subroutine Documentation

◆ xanim28()

subroutine xanim28 ( integer nx,
integer, dimension(nx) uix,
integer uid,
xel,
integer iout,
integer iprop,
integer imat,
off,
massele,
eintele,
integer nedge,
integer nfacet,
integer nsolid,
integer, dimension(2,*) ixedge,
integer, dimension(4,*) ixfacet,
integer, dimension(8,*) ixsolid,
xmassed,
xmassfa,
xmassso,
xfunced,
xfuncfa,
xfuncso,
integer nuvar,
uvar,
integer nuvarn,
uvarn )

Definition at line 35 of file xanim28.F.

43C-------------------------------------------------------------------------
44C This subroutine returns edges, facets and solids to be written into
45C ANIMATION FILES (for multi-purpose elements using property TYPE28==NSTRAND).
46C-------------------------------------------------------------------------
47C----------+---------+---+---+--------------------------------------------
48C VAR | SIZE |TYP| RW| DEFINITION
49C----------+---------+---+---+--------------------------------------------
50C NX | 1 | I | R | NUMBER OF NODES (CONSTANT IN THE GROUP)
51C----------+---------+---+---+--------------------------------------------
52C UID | 1 | I | R | ELEMENT USER IDENTIFIER
53C UIX | NX | I | R | ELEMENT CONNECTIVITY
54C | IX(J) (1<=J<=NX) : NODE J USER ID
55C----------+---------+---+---+--------------------------------------------
56C XEL | 3*NX | F | R | NODES COORDINATES
57C----------+---------+---+---+--------------------------------------------
58C IOUT | 1 | I | R | OUTPUT FILE UNIT (L00 file)
59C IPROP | 1 | I | R | PROPERTY NUMBER
60C IMAT | 1 | I | R | MATERIAL NUMBER
61C----------+---------+---+---+--------------------------------------------
62C OFF | 1 | F | R | ELEMENT STATE (ON=1./OFF=0.)
63C MASSELE | 1 | F | R | ELEMENT (INITIAL) MASS
64C EINTELE | 1 | F | R | ELEMENT INTERNAL ENERGY
65C----------+---------+---+---+--------------------------------------------
66C NUVAR | 1 | I | R | NUMBER OF USER ELEMENT VARIABLES
67C UVAR |NUVAR | F |R/W| USER ELEMENT VARIABLES
68C | (FIX SIZE ZONE)
69C NUVARN | 1 | I | R | NUMBER OF USER ELEMENT VARIABLES PER NODE
70C UVARN |NUVARN*NX| F |R/W| USER ELEMENT VARIABLES PER NODE
71C | (NX DEPENDENT SIZE ZONE)
72C----------+---------+---+---+--------------------------------------------
73C-------------------------------------------------------------------------
74C FUNCTION
75C-------------------------------------------------------------------------
76C INTEGER II = GET_U_PNU(I,IP,KK)
77C IPROPI = GET_U_PNU(I,IP,KFUNC)
78C IMATI = GET_U_PNU(I,IP,KMAT)
79C I : VARIABLE INDEX(1 for first variable,...)
80C IP : PROPERTY NUMBER
81C KK : PARAMETER KFUNC,KMAT,KPROP
82C THIS FUNCTION RETURN THE USER STORED MATERIAL(IF KK=KMAT)
83C OR PROPERTY(IF KK=KPROP) NUMBER.
84C SEE LECG28 FOR CORRESPONDING ID STORAGE.
85C-------------------------------------------------------------------------
86C INTEGER IFUNCI = GET_U_MNU(I,IM,KFUNC)
87C I : VARIABLE INDEX(1 for first function)
88C IM : MATERIAL NUMBER
89C KFUNC : ONLY FUNCTION ARE YET AVAILABLE.
90C THIS FUNCTION RETURN THE USER STORED FUNCTION NUMBER(function
91C referred by users materials).
92C SEE LECM28 FOR CORRESPONDING ID STORAGE.
93C-------------------------------------------------------------------------
94C my_real PARAMI = GET_U_GEO(I,IP)
95C I : PARAMETER INDEX(1 for first parameter,...)
96C IP : PROPERTY NUMBER
97C THIS FUNCTION RETURN THE USER GEOMETRY PARAMETERS
98C NOTE: IF(IP==IPROP) UPARAG(I) == GET_U_GEO(I,IPROP)
99C-------------------------------------------------------------------------
100C my_real PARAMI = GET_U_MAT(I,IM)
101C I : PARAMETER INDEX(1 for first parameter,...)
102C IM : MATERIAL NUMBER
103C THIS FUNCTION RETURN THE USER MATERIAL PARAMETERS
104C NOTE: GET_U_MAT(0,IMAT) RETURN THE DENSITY
105C-------------------------------------------------------------------------
106C INTEGER PID = GET_U_PID(IP)
107C IP : PROPERTY NUMBER
108C THIS FUNCTION RETURN THE USER PROPERTY ID CORRESPONDING TO
109C USER PROPERTY NUMBER IP.
110C-------------------------------------------------------------------------
111C INTEGER MID = GET_U_MID(IM)
112C IM : MATERIAL NUMBER
113C THIS FUNCTION RETURN THE USER MATERIAL ID CORRESPONDING TO
114C USER MATERIAL NUMBER IM.
115C-------------------------------------------------------------------------
116C-----------------------------------------------
117C M o d u l e s
118C-----------------------------------------------
119 USE message_mod
120C-----------------------------------------------
121C I m p l i c i t T y p e s
122C-----------------------------------------------
123#include "implicit_f.inc"
124C----------------------------------------------------------
125C 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
126C----------------------------------------------------------
127 INTEGER IOUT,NUVAR,NUVARN,IPROP,IMAT,
128 . NX ,UIX(NX) ,UID,
129 . NEDGE, NFACET, NSOLID,
130 . IXEDGE(2,*), IXFACET(4,*), IXSOLID(8,*),
131 . GET_U_PNU,GET_U_PID,GET_U_MID,GET_U_MNU,
132 . KMAT,KPROP
133 my_real
134 . xel(3,nx) , off, massele, eintele,
135 . xmassed(*), xmassfa(*), xmassso(*),
136 . xfunced(10,*), xfuncfa(10,*), xfuncso(10,*),
137 . uvar(nuvar),uvarn(nuvarn*nx),
138 . get_u_mat, get_u_geo
140 . get_u_mat,get_u_geo
141 parameter(kmat=31)
142 parameter(kprop=33)
143C=======================================================================
144C
145C EXAMPLE : NSTRAND.
146C
147C=======================================================================
148C-----------------------------------------------
149C L o c a l V a r i a b l e s
150C-----------------------------------------------
151 INTEGER NB1, NB2, NB3, MB1, MB2, MB3, MB4, MB5,
152 . K
153C-----------------------------------------------
154C initial total length UVAR(NB1:NB1)
155 nb1=1
156C previous elongation UVAR(NB2:NB2)
157 nb2=nb1+1
158C previous force UVAR(NB3:NB3)
159 nb3=nb2+1
160C initial nodes masses UVARN(MB1:MB1+NX-1)
161 mb1=1
162C forces into strands UVARN(MB2:MB2+NX-1)
163C using UVARN(MB2:MB2+NX-2) only.
164 mb2=mb1+nx
165C strands initial length UVARN(MB3:MB3+NX-1)
166C using UVARN(MB3:MB3+NX-2) only.
167 mb3=mb2+nx
168C strands elongations UVARN(MB4:MB4+NX-1)
169C using UVARN(MB4:MB4+NX-2) only.
170 mb4=mb3+nx
171C strands internal energy UVARN(MB5:MB5+NX-1)
172C using UVARN(MB5:MB5+NX-2) only.
173 mb5=mb4+nx
174C-----------------------------------------------
175 nedge =nx-1
176 DO k=1,nx-1
177 ixedge(1,k)=k
178 ixedge(2,k)=k+1
179 ENDDO
180 nfacet=0
181 nsolid=0
182C-----
183 DO k=1,nx-1
184 xmassed(k) =uvarn(mb1+k-1)
185 xfunced(1,k) =uvarn(mb5+k-1)/max(em30,xmassed(k))
186 ENDDO
187C-----
188 RETURN
189C-----
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21
integer function get_u_pid(ip)
Definition uaccess.F:625
integer function get_u_pnu(ivar, ip, k)
Definition uaccess.F:481
integer function get_u_mid(im)
Definition uaccess.F:667
integer function get_u_mnu(ivar, im, k)
Definition uaccess.F:564