OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
userin3.F File Reference
#include "implicit_f.inc"
#include "param_c.inc"
#include "vect01_c.inc"
#include "com01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine userin3 (sigsp, sigi, uvar, eps, ix, nix, nsigi, nuvar, nel, nsigs, iuser, idef, straglob, jhbe, igtyp, x, bufgama, pt, sigb, l_sigb, imat, ipm, bufmat, pla, l_pla)
subroutine ustrsin3 (sigi, sig, ix, nix, nsigi, nel, strsglob, jhbe, igtyp, x, bufgama, pt, voldp, rho0, rho)

Function/Subroutine Documentation

◆ userin3()

subroutine userin3 ( sigsp,
sigi,
uvar,
eps,
integer, dimension(nix,*) ix,
integer nix,
integer nsigi,
integer nuvar,
integer nel,
integer nsigs,
integer iuser,
integer idef,
integer, dimension(*) straglob,
integer jhbe,
integer igtyp,
x,
bufgama,
integer, dimension(*) pt,
sigb,
integer l_sigb,
integer imat,
integer, dimension(npropmi,*) ipm,
bufmat,
dimension(nel*l_pla) pla,
integer, intent(in) l_pla )

Definition at line 31 of file userin3.F.

38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42C-----------------------------------------------
43C C o m m o n B l o c k s
44C-----------------------------------------------
45#include "param_c.inc"
46#include "vect01_c.inc"
47#include "com01_c.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER IPM(NPROPMI,*)
52 INTEGER NIX, N, JPS,IUSER,NSIGS,IDEF,JHBE,IGTYP,L_SIGB,IMAT
53 INTEGER IX(NIX,*), NSIGI, NUVAR,NEL,STRAGLOB(*),PT(*)
54 INTEGER, INTENT(IN) :: L_PLA
55C REAL
57 . sigsp(nsigi,*),sigi(nsigs,nel),uvar(nel),
58 . eps(nel,6),x(3,*),bufgama(*),sigb(nel*l_sigb),bufmat(*)
59 my_real, INTENT(INOUT), DIMENSION(NEL*L_PLA) :: pla
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I,J,IIP,JPT, II, JJ, IPT, IPP,IUS,IPSU,IPS,
64 . IFLAGINI,NVAR_TMP,IADB,NRATE
66 . gama(6),tens(6)
67C-----------------------------------------------
68C L o c a l V a r i a b l e s
69C-----------------------------------------------
70 INTEGER MA
71C-----------------------------------------------
72 DO i=lft,llt
73 IF (straglob(i) == 1 )THEN
74 IF(jcvt==2)THEN
75 gama(1)=bufgama(i )
76 gama(2)=bufgama(i + nel)
77 gama(3)=bufgama(i + 2*nel)
78 gama(4)=bufgama(i + 3*nel)
79 gama(5)=bufgama(i + 4*nel)
80 gama(6)=bufgama(i + 5*nel)
81 ELSE
82 gama(1)=one
83 gama(2)=zero
84 gama(3)=zero
85 gama(4)=zero
86 gama(5)=one
87 gama(6)=zero
88 END IF
89 ENDIF
90C
91 ii=nft+i
92 jj=pt(ii)
93 iflagini = 1
94 IF (jj == 0) iflagini = 0
95c
96 IF (iuser /= 0 .AND. iflagini == 1) THEN
97 IF (mtn == 36 .and. l_sigb == 6) THEN
98 iadb = ipm(7,imat)
99 nrate = nint(bufmat(iadb))
100 nvar_tmp = sigsp(nvsolid1 + nvsolid2 + 3, jj)
101 ipsu = nvsolid1 + nvsolid2 + 4
102 IF (nvar_tmp > 6) THEN
103 DO ius = 1,6
104 ipp = i + (ius - 1)*nel
105 ips = ipsu + nrate + 5
106 sigb(ipp) = sigsp(ips + ius, jj)
107 ENDDO
108 ENDIF
109 ELSEIF (mtn == 112) THEN
110 nvar_tmp = sigsp(nvsolid1 + nvsolid2 + 3, jj)
111 ipsu = nvsolid1 + nvsolid2 + 4
112 DO ius = 1, nvar_tmp
113 ipp = i + ius*nel
114 pla(ipp) = sigsp(ipsu + ius, jj)
115 ENDDO
116 ELSE IF (mtn >= 28) THEN
117 nvar_tmp = sigsp(nvsolid1 + nvsolid2 + 3, jj)
118 ipsu = nvsolid1 + nvsolid2 + 4
119 DO ius = 1, nvar_tmp
120 ipp = i + (ius -1)*nel
121 uvar(ipp) = sigsp(ipsu + ius, jj)
122 ENDDO
123 DO ius = nvar_tmp+1, nuvar
124 ipp = i + (ius -1)*nel
125 uvar(ipp) = zero
126 ENDDO
127 ENDIF
128 ENDIF
129 IF(idef /= 0 .AND. nvsolid2 /= 0 .AND. iflagini == 1) THEN
130 eps(i,1)=sigsp(nvsolid1 + 1 ,jj)
131 eps(i,2)=sigsp(nvsolid1 + 2 ,jj)
132 eps(i,3)=sigsp(nvsolid1 + 3 ,jj)
133 eps(i,4)=sigsp(nvsolid1 + 4 ,jj)
134 eps(i,5)=sigsp(nvsolid1 + 5 ,jj)
135 eps(i,6)=sigsp(nvsolid1 + 6 ,jj)
136 IF (straglob(i) == 1) THEN
137 tens(1)=eps(i,1)
138 tens(2)=eps(i,2)
139 tens(3)=eps(i,3)
140 tens(4)=eps(i,4)
141 tens(5)=eps(i,5)
142 tens(6)=eps(i,6)
143 CALL srota6_m1(x,ix(1,ii),jcvt,tens,gama,jhbe,igtyp)
144 eps(i,1)=tens(1)
145 eps(i,2)=tens(2)
146 eps(i,3)=tens(3)
147 eps(i,4)=tens(4)
148 eps(i,5)=tens(5)
149 eps(i,6)=tens(6)
150 ENDIF
151 ENDIF
152 ENDDO ! I=LFT,LLT
153c-----------
154 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine srota6_m1(x, ixs, kcvt, tens, gama, khbe, ityp)
Definition srota6_M1.F:36

◆ ustrsin3()

subroutine ustrsin3 ( sigi,
sig,
integer, dimension(nix,*) ix,
integer nix,
integer nsigi,
integer nel,
integer, dimension(*) strsglob,
integer jhbe,
integer igtyp,
x,
bufgama,
integer, dimension(*) pt,
double precision, dimension(*) voldp,
rho0,
rho )

Definition at line 164 of file userin3.F.

168C-----------------------------------------------
169C I m p l i c i t T y p e s
170C-----------------------------------------------
171#include "implicit_f.inc"
172C-----------------------------------------------
173C C o m m o n B l o c k s
174C-----------------------------------------------
175#include "vect01_c.inc"
176C-----------------------------------------------
177C D u m m y A r g u m e n t s
178C-----------------------------------------------
179 INTEGER NIX, JHBE,IGTYP,NSIGI,NEL
180 INTEGER IX(NIX,*), STRSGLOB(*),PT(*)
181C REAL
182 my_real
183 . sigi(nsigi,*),sig(nel,6),x(3,*),bufgama(*),rho0(*),rho(*)
184 double precision
185 . voldp(*)
186C-----------------------------------------------
187C L o c a l V a r i a b l e s
188C-----------------------------------------------
189 INTEGER I,J,IIP,JPT, II, JJ
190 my_real
191 . gama(6),tens(6)
192C-----------------------------------------------
193C L o c a l V a r i a b l e s
194C-----------------------------------------------
195 INTEGER MA
196C-----------------------------------------------
197 DO i=lft,llt
198 ii=nft+i
199 jj=pt(ii)
200 IF ((jcvt+isorth)==0.OR.jj==0 .OR. strsglob(i) /= 1) cycle
201 IF(jcvt==2)THEN
202 gama(1)=bufgama(i )
203 gama(2)=bufgama(i + nel)
204 gama(3)=bufgama(i + 2*nel)
205 gama(4)=bufgama(i + 3*nel)
206 gama(5)=bufgama(i + 4*nel)
207 gama(6)=bufgama(i + 5*nel)
208 ELSE
209 gama(1)=one
210 gama(2)=zero
211 gama(3)=zero
212 gama(4)=zero
213 gama(5)=one
214 gama(6)=zero
215 END IF
216C
217 tens(1)=sigi(1,jj)
218 tens(2)=sigi(2,jj)
219 tens(3)=sigi(3,jj)
220 tens(4)=sigi(4,jj)
221 tens(5)=sigi(5,jj)
222 tens(6)=sigi(6,jj)
223 CALL srota6_m1(x,ix(1,ii),jcvt,tens,gama,jhbe,igtyp)
224 sig(i,1)=tens(1)
225 sig(i,2)=tens(2)
226 sig(i,3)=tens(3)
227 sig(i,4)=tens(4)
228 sig(i,5)=tens(5)
229 sig(i,6)=tens(6)
230 voldp(i) = rho(i)*voldp(i) / rho0(i)
231 ENDDO ! I=LFT,LLT
232c-----------
233 RETURN