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

Go to the source code of this file.

Functions/Subroutines

subroutine s_user (nbx, imx, ihbe, nel, npt, mlw, ipm, igeo, ixc, ity, jj, elbuf_tab, wa, nft, func, nlay, nptr, npts)

Function/Subroutine Documentation

◆ s_user()

subroutine s_user ( integer nbx,
integer imx,
integer ihbe,
integer nel,
integer npt,
integer mlw,
integer, dimension(npropmi,*) ipm,
integer, dimension(npropgi,*) igeo,
integer, dimension(nixc,*) ixc,
integer ity,
integer jj,
type (elbuf_struct_), target elbuf_tab,
wa,
integer nft,
func,
integer nlay,
integer nptr,
integer npts )

Definition at line 31 of file s_user.F.

34C-----------------------------------------------
35C M o d u l e s
36C-----------------------------------------------
37 USE elbufdef_mod
38 use element_mod , only : nixc
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "param_c.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER IHBE,NEL,NPT,JJ,MLW,ITY,NLAY,NPTR,NPTS,
51 .IXC(NIXC,*),IPM(NPROPMI,*),IGEO(NPROPGI,*)
53 . wa(*)
54 TYPE (ELBUF_STRUCT_) , TARGET :: ELBUF_TAB
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER I,II,I1,IPT,IL,IR,IS,IT,
59 . NUVAR,IGTYP,NFT, NBX, IMX,NPTT
61 . fac,aa,var(200),func(6)
62 TYPE(BUF_MAT_) ,POINTER :: MBUF
63C=======================================================================
64C QBAT----
65 IF (ity == 3 .AND. ihbe == 11) THEN
66 fac = fourth
67 ENDIF
68C DKT18----
69 IF (ity == 7 .AND. ihbe == 11) THEN
70 fac = third
71 ENDIF
72C------------------------
73C---QEPH:------
74 IF (ihbe == 23) THEN
75C---Transfer to QBAT------
76 ELSEIF (ihbe == 11) THEN ! QBAT,DKT18
77 IF (mlw == 29.OR.mlw == 30.OR.mlw == 31.OR.mlw>=33) THEN
78 nuvar = 0
79 DO i=1,nel
80 nuvar = max(nuvar,ipm(8,ixc(1,nft+1)))
81 ENDDO
82 igtyp = igeo(11,ixc(6,nft+1))
83 ENDIF
84c
85 ii = nbx - 19
86 i1 = (ii -1)*nel
87 DO i=1,nel
88 aa = zero
89 IF (mlw == 29.OR.mlw == 30.OR.mlw == 31.OR.mlw>=33) THEN
90c
91 IF (nlay > 1) THEN
92 it = 1
93 DO ipt=1,nlay
94 DO ir=1,nptr
95 DO is=1,npts
96 mbuf => elbuf_tab%BUFLY(ipt)%MAT(1,1,it)
97 var(ipt) = var(ipt) + mbuf%VAR(i1 + i )*fac
98 IF (var(ipt) >= aa) aa = var(ipt)
99 ENDDO
100 ENDDO
101 ENDDO
102 ELSE ! NLAY = 1
103 il = 1
104 nptt = elbuf_tab%NPTT
105 DO ipt=1,nptt
106 var(ipt) = zero
107 DO ir=1,nptr
108 DO is=1,npts
109 mbuf => elbuf_tab%BUFLY(il)%MAT(1,1,ipt)
110 var(ipt) = var(ipt) + mbuf%VAR(i1 + i )*fac
111 IF (var(ipt) >= aa) aa = var(ipt)
112 ENDDO
113 ENDDO
114 ENDDO
115 ENDIF ! NLAY
116c
117 IF(imx == 0)THEN
118 wa(jj +1) = var(iabs(npt)/2 + 1)
119 ELSE
120 wa(jj + 1) = aa
121 ENDIF
122 jj = jj + 1
123 ENDIF
124 ENDDO
125 ELSE ! IHBE == 11
126c error message------
127 ENDIF
128C-----------
129 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21