OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
ini_outmax.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com08_c.inc"
#include "param_c.inc"
#include "tabsiz_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine ini_tmax (elbuf_tab, iparg, geo, pm, ixs, ixs10, ixs16, ixs20, ixq, ixc, ixtg, ixt, ixp, ixr, x, d, v, iad_elem, fr_elem, weight, ipm, igeo, stack, itask)

Function/Subroutine Documentation

◆ ini_tmax()

subroutine ini_tmax ( type (elbuf_struct_), dimension(ngroup), target elbuf_tab,
integer, dimension(nparg,ngroup), intent(in) iparg,
intent(in) geo,
intent(in) pm,
integer, dimension(nixs,numels), intent(in) ixs,
integer, dimension(6,numels10), intent(in) ixs10,
integer, dimension(8,numels16), intent(in) ixs16,
integer, dimension(12,numels20), intent(in) ixs20,
integer, dimension(nixq,numelq), intent(in) ixq,
integer, dimension(nixc,numelc), intent(in) ixc,
integer, dimension(nixtg,numeltg), intent(in) ixtg,
integer, dimension(nixt,numelt), intent(in) ixt,
integer, dimension(nixp,numelp), intent(in) ixp,
integer, dimension(nixr,numelr), intent(in) ixr,
intent(in) x,
intent(in) d,
intent(in) v,
integer, dimension(2,nspmd+1), intent(in) iad_elem,
integer, dimension(sfr_elem), intent(in) fr_elem,
integer, dimension(numnod), intent(in) weight,
integer, dimension(npropmi,nummat), intent(in) ipm,
integer, dimension(npropgi,numgeo), intent(in) igeo,
type (stack_ply) stack,
integer, intent(in) itask )

Definition at line 39 of file ini_outmax.F.

44C-----------------------------------------------
45C M o d u l e s
46C-----------------------------------------------
47 USE elbufdef_mod
48 USE outmax_mod
49 USE stack_mod
50 use element_mod , only : nixs,nixq,nixc,nixp,nixr,nixt,nixtg
51C-----------------------------------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "com01_c.inc"
59#include "com04_c.inc"
60#include "com08_c.inc"
61#include "param_c.inc"
62#include "tabsiz_c.inc"
63C-----------------------------------------------
64C D u m m y A r g u m e n t s
65C-----------------------------------------------
66 INTEGER, INTENT(IN):: ITASK
67 INTEGER, DIMENSION(NPARG,NGROUP) ,INTENT(IN):: IPARG
68 INTEGER, DIMENSION(NIXC,NUMELC) ,INTENT(IN):: IXC
69 INTEGER, DIMENSION(NIXTG,NUMELTG) ,INTENT(IN):: IXTG
70 INTEGER, DIMENSION(NIXS,NUMELS) ,INTENT(IN):: IXS
71 INTEGER, DIMENSION(NIXQ,NUMELQ) ,INTENT(IN):: IXQ
72 INTEGER, DIMENSION(NIXT,NUMELT) ,INTENT(IN):: IXT
73 INTEGER, DIMENSION(NIXP,NUMELP) ,INTENT(IN):: IXP
74 INTEGER, DIMENSION(NIXR,NUMELR) ,INTENT(IN):: IXR
75 INTEGER, DIMENSION(6,NUMELS10) ,INTENT(IN):: IXS10
76 INTEGER, DIMENSION(8,NUMELS16) ,INTENT(IN):: IXS16
77 INTEGER, DIMENSION(12,NUMELS20) ,INTENT(IN):: IXS20
78 INTEGER, DIMENSION(2,NSPMD+1) ,INTENT(IN):: IAD_ELEM
79 INTEGER, DIMENSION(SFR_ELEM) ,INTENT(IN):: FR_ELEM
80 INTEGER, DIMENSION(NUMNOD) ,INTENT(IN):: WEIGHT
81 INTEGER, DIMENSION(NPROPMI,NUMMAT) ,INTENT(IN):: IPM
82 INTEGER, DIMENSION(NPROPGI,NUMGEO) ,INTENT(IN):: IGEO
83 my_real, DIMENSION(NPROPG,NUMGEO) ,INTENT(IN):: geo
84 my_real, DIMENSION(NPROPM,NUMMAT) ,INTENT(IN):: pm
85 my_real, DIMENSION(3,NUMNOD) ,INTENT(IN):: x,d,v
86 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
87 TYPE (STACK_PLY) :: STACK
88C-----------------------------------------------
89C L o c a l V a r i a b l e s
90C-----------------------------------------------
91 INTEGER NG, ITY, NEL
92 TYPE(G_BUFEL_) ,POINTER :: GBUF
93
94
95C-----------------------------------------------
96C S o u r c e L i n e s
97C-----------------------------------------------
98c-----doing TT=0 initialization instead of Starter; elementary first
99 IF(itask == 0) nmax_e = 0
100 IF (tt==zero) THEN
101 IF (itask==0) THEN
102 DO ng=1,ngroup
103 ity=iparg(5,ng)
104 nel=iparg(2,ng)
105 IF (ity /= 1 .AND. ity /= 3 .AND. ity /= 7) cycle
106 gbuf => elbuf_tab(ng)%GBUF
107 nmax_e = nmax_e + gbuf%G_TM_YIELD
108 nmax_e = nmax_e + gbuf%G_TM_SEQ
109 nmax_e = nmax_e + gbuf%G_TM_EINT
110 nmax_e = nmax_e + gbuf%G_TM_DMG
111 nmax_e = nmax_e + gbuf%G_TM_SIG
112 nmax_e = nmax_e + gbuf%G_TM_STRA
113 END DO
115 IF (nmax_n>0) THEN
116 IF (lmax_dis>0) tm_pdis = zero
117 IF (lmax_vel>0) tm_pvel = zero
118 IF (lmax_nsig>0) THEN
119 tm_pnsig(1:numnod) = zero
120 tm_pnsig(numnod+1:2*numnod) = ep30
121 END IF
122 IF (lmax_nstra>0) THEN
123 tm_pnstra(1:numnod) = zero
124 tm_pnstra(numnod+1:2*numnod) = ep30
125 END IF
126 END IF
127 END IF !(ITASK==0) THEN
128C-----------------
129 CALL my_barrier()
130C-----------------
131 CALL upd_tmax(elbuf_tab,iparg ,geo ,pm ,
132 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
133 . ixc ,ixtg ,ixt ,ixp ,ixr ,
134 . x ,d ,v ,iad_elem,fr_elem ,
135 . weight ,ipm ,igeo ,stack ,itask )
136C
137 ELSEIF (itask==0) THEN
138 DO ng=1,ngroup
139 ity=iparg(5,ng)
140 nel=iparg(2,ng)
141 IF (ity /= 1 .AND. ity /= 3 .AND. ity /= 7) cycle
142 gbuf => elbuf_tab(ng)%GBUF
143 nmax_e = nmax_e + gbuf%G_TM_YIELD
144 nmax_e = nmax_e + gbuf%G_TM_SEQ
145 nmax_e = nmax_e + gbuf%G_TM_EINT
146 nmax_e = nmax_e + gbuf%G_TM_DMG
147 nmax_e = nmax_e + gbuf%G_TM_SIG
148 nmax_e = nmax_e + gbuf%G_TM_STRA
149 SELECT CASE (ity)
150 CASE(1)
151 IF (gbuf%G_TM_SIG>0) THEN
152 CALL sig3d2pin(gbuf%TM_SIG1,gbuf%TM_SIG3,gbuf%TM_PSIG,nel)
153 END IF
154 IF (gbuf%G_TM_STRA>0) THEN
155 CALL sig3d2pin(gbuf%TM_STRA1,gbuf%TM_STRA3,gbuf%TM_PSTRA,nel)
156 END IF
157 CASE(3,7)
158 IF (gbuf%G_TM_SIG>0) THEN
159 CALL sig2d2pin(gbuf%TM_SIG1,gbuf%TM_SIG3,gbuf%TM_PSIG,nel)
160 END IF
161 IF (gbuf%G_TM_STRA>0) THEN
162 CALL sig2d2pin(gbuf%TM_STRA1,gbuf%TM_STRA3,gbuf%TM_PSTRA,nel)
163 END IF
164 END SELECT
165 END DO
167 IF (nmax_n>0) THEN
168 IF (lmax_dis>0) CALL ini_tmnorm2(tm_dis,tm_pdis,numnod)
169 IF (lmax_vel>0) CALL ini_tmnorm2(tm_vel,tm_pvel,numnod)
170 IF (lmax_nsig>0)CALL sig3d2pin(tm_nsig1,tm_nsig3,tm_pnsig,numnod)
171 IF (lmax_nstra>0)CALL sig3d2pin(tm_nstra1,tm_nstra3,tm_pnstra,numnod)
172 END IF
173 END IF !(TT==ZERO) THEN
174
175 RETURN
#define my_real
Definition cppsort.cpp:32
integer lmax_vel
Definition outmax_mod.F:61
integer lmax_nstra
Definition outmax_mod.F:63
integer nmax_e
Definition outmax_mod.F:59
integer lmax_dis
Definition outmax_mod.F:60
integer lmax_nsig
Definition outmax_mod.F:62
integer nmax_n
Definition outmax_mod.F:58
subroutine ini_tmnorm2(tm_d, tm_norm2, nnod)
Definition outmaxsubr.F:384
subroutine sig2d2pin(sig1, sig3, pin, nel)
Definition outmaxsubr.F:353
subroutine sig3d2pin(sig1, sig3, pin, nel)
Definition outmaxsubr.F:320
subroutine my_barrier
Definition machine.F:31
subroutine upd_tmax(elbuf_tab, iparg, geo, pm, ixs, ixs10, ixs16, ixs20, ixq, ixc, ixtg, ixt, ixp, ixr, x, d, v, iad_elem, fr_elem, weight, ipm, igeo, stack, itask)
Definition upd_outmax.F:57