OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
seggetv.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23C remplit le tableau segvar avec les valeurs des variables de l ments voisins
24C sert pour les interfaces et pour les ebc
25!||====================================================================
26!|| seggetv ../engine/source/interfaces/interf/seggetv.F
27!||--- called by ------------------------------------------------------
28!|| alemain ../engine/source/ale/alemain.F
29!||--- calls -----------------------------------------------------
30!|| initbuf ../engine/share/resol/initbuf.F
31!|| my_barrier ../engine/source/system/machine.F
32!|| varcondec ../engine/source/interfaces/interf/varcondec.F
33!||--- uses -----------------------------------------------------
34!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
35!|| ale_mod ../common_source/modules/ale/ale_mod.F
36!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
37!|| initbuf_mod ../engine/share/resol/initbuf.F
38!|| segvar_mod ../engine/share/modules/segvar_mod.F
39!||====================================================================
40 SUBROUTINE seggetv(IPARG,ELBUF_TAB,ALE_CONNECTIVITY,ITASK,SEGVAR)
41C-----------------------------------------------
42C M o d u l e s
43C-----------------------------------------------
44 USE initbuf_mod
45 USE elbufdef_mod
46 USE segvar_mod
48 USE ale_mod
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "com01_c.inc"
57#include "vect01_c.inc"
58#include "param_c.inc"
59#include "task_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER IPARG(NPARG,ngroup), ITASK
64 TYPE(t_segvar),TARGET :: SEGVAR
65 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
66 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECTIVITY
67C-----------------------------------------------
68C L o c a l V a r i a b l e s
69C-----------------------------------------------
70 INTEGER NG, I, J, IV, KVAR, KK, JCODV(ALE%GLOBAL%LCONV),CODTOT, SEGAD, IAD2, LGTH
71 TYPE(g_bufel_) ,POINTER :: GBUF
72 TYPE(buf_mat_) ,POINTER :: MBUF
73C=======================================================================
74C
75 CALL my_barrier
76C
77 DO 100 ng=itask+1,ngroup,nthread
78 IF (iparg(8,ng) == 1) GO TO 100
79c
80 CALL varcondec(jcodv,iparg(34,ng),codtot)
81 IF (codtot == 0) GOTO 100
82 CALL initbuf(iparg ,ng ,
83 2 mtn ,llt ,nft ,iad ,ity ,
84 3 npt ,jale ,ismstr ,jeul ,jtur ,
85 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
86 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
87 6 irep ,iint ,igtyp ,israt ,isrot ,
88 7 icsen ,isorth ,isorthg ,ifailure,jsms )
89 lft=1
90c NBB(1) = NB4
91c NBB(2) = NB3
92c NBB(3) = NB10
93c NBB(4) = NB12
94 gbuf => elbuf_tab(ng)%GBUF
95 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
96
97 DO i=lft,llt
98 j=i+nft
99 iad2 = ale_connectivity%ee_connect%iad_connect(j)
100 lgth = ale_connectivity%ee_connect%iad_connect(j+1)-
101 . ale_connectivity%ee_connect%iad_connect(j)
102 DO iv=1,lgth
103 IF (ale_connectivity%ee_connect%connected(iad2 + iv - 1) < 0) THEN
104 kk=-ale_connectivity%ee_connect%connected(iad2 + iv - 1)
105c
106 kvar = 1
107 IF (jcodv(kvar) == 1) THEN
108 segvar%RHO(kk) = gbuf%RHO(i)
109 ENDIF
110c
111 kvar = 2
112 IF (jcodv(kvar) == 1) THEN
113 segvar%EINT(kk) = gbuf%EINT(i)
114 ENDIF
115c
116 kvar = 3
117 IF (jcodv(kvar) == 1) THEN
118 segvar%RK(kk) = gbuf%RK(i)
119 ENDIF
120c
121 kvar = 4
122 IF (jcodv(kvar) == 1) THEN
123 segvar%RE(kk) = gbuf%RE(i)
124 ENDIF
125c
126 kvar = 5
127 IF (jcodv(kvar) == 1) THEN ! UVAR(1)
128 segvar%UVAR(kk) = mbuf%VAR(llt*(i-1)+1)
129 ENDIF
130
131 ENDIF
132 ENDDO
133 50 CONTINUE
134 ENDDO
135 100 CONTINUE
136c
137c write(iout,*)'NVCONV =',NVCONV,' NSEGFLU=',NSEGFLU
138c write(iout,'(2(1pE10.3))')(segvar(i),i=1,NVCONV*NSEGFLU)
139C
140 CALL my_barrier
141c-----------
142 RETURN
143 END
144
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
Definition initbuf.F:261
subroutine seggetv(iparg, elbuf_tab, ale_connectivity, itask, segvar)
Definition seggetv.F:41
subroutine my_barrier
Definition machine.F:31
subroutine varcondec(icodv, varconv, codtot)
Definition varcondec.F:33