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 37 of file xanim28.F.

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