OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
dmasanis.F File Reference
#include "implicit_f.inc"
#include "vect01_c.inc"
#include "mvsiz_p.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "scr17_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine dmasanis (elbuf_tab, iparg, ixs, mas, pm, el2fa, nbf, ipart, ipartsp, isph3d)

Function/Subroutine Documentation

◆ dmasanis()

subroutine dmasanis ( type (elbuf_struct_), dimension(ngroup), target elbuf_tab,
integer, dimension(nparg,*) iparg,
integer, dimension(nixs,*) ixs,
mas,
pm,
integer, dimension(*) el2fa,
integer nbf,
integer, dimension(lipart1,*) ipart,
integer, dimension(*) ipartsp,
integer isph3d )

Definition at line 31 of file dmasanis.F.

34C-----------------------------------------------
35C M o d u l e s
36C-----------------------------------------------
37 USE elbufdef_mod
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 "vect01_c.inc"
46#include "mvsiz_p.inc"
47#include "com01_c.inc"
48#include "com04_c.inc"
49#include "scr17_c.inc"
50#include "param_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54C REAL
55 my_real
56 . MAS(*) ,PM(NPROPM,*)
57 INTEGER IPARG(NPARG,*),IXS(NIXS,*),EL2FA(*),NBF,IPART(LIPART1,*),
58 . IPARTSP(*),ISPH3D
59 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 my_real
64 . EVAR(MVSIZ),
65 . OFF,VALUE
66 INTEGER I, NG, NEL, ISS, ISC,N, J, MLW,
67 . NN, K1, K2,JTURB,MT, IALEL,IPID,
68 . N1,N2,N3,N4,NN1,NN2,NN3,
69 . OFFSET,NFT_FA,N_FA,
70 . INOD, ISOLNOD, IPRT,
71 . JHBE, JIVF, JCLOSE, JPLASOL, IREP, IGTYP,
72 . ICSEN, ISORTHG, IFAILURE, IINT
73 TYPE(G_BUFEL_) ,POINTER :: GBUF
74 REAL R4
75C---+----1----+----2----+----3----+----4----+----5----+----6----+----7--
76 NN1 = 1
77 NN2 = 1
78 NN3 = NN2 + NUMELS
79C-----------------------------------------------
80C face ext
81C-----------------------------------------------
82 DO 490 NG=1,NGROUP
83 CALL INITBUF (IPARG ,NG ,
84 2 MLW ,NEL ,NFT ,IAD ,ITY ,
85 3 NPT ,JALE ,ISMSTR ,JEUL ,JTUR ,
86 4 JTHE ,JLAG ,JMULT ,JHBE ,JIVF ,
87 5 JPOR ,JCVT ,JCLOSE ,JPLASOL ,
88 6 IREP ,IINT ,IGTYP ,ISRAT ,ISROT ,
89 7 ICSEN ,ISORTH ,ISORTHG ,IFAILURE)
90 ISOLNOD = IPARG(28,NG)
91 DO OFFSET = 0,NEL-1,NVSIZ
92 NFT =IPARG(3,NG) + OFFSET
93 IAD =IPARG(4,NG)
94 LFT=1
95 LLT=MIN(NVSIZ,NEL-OFFSET)
96 NFT_FA = NFT
97C-----------------------------------------------
98C SOLIDE
99C-----------------------------------------------
100.and. IF (ITY==1 MLW > 0) THEN
101 IALEL=IPARG(7,NG)+IPARG(11,NG)
102 GBUF => ELBUF_TAB(NG)%GBUF
103 DO 130 I=LFT,LLT
104 N = I + NFT
105 N_FA = I + NFT_FA
106 IF(EL2FA(NN2+N_FA)/=0)THEN
107 IF(IALEL==0)THEN
108 MT=IXS(1,N)
109 VALUE=PM(89,MT)*GBUF%VOL(I)
110 ELSE
111 OFF = MIN(GBUF%OFF(I),ONE)
112 VALUE=GBUF%RHO(I)*GBUF%VOL(I)*OFF
113 ENDIF
114 IF(ISOLNOD==16)THEN
115 VALUE = FOURTH*VALUE
116 MAS(EL2FA(NN2+N_FA)) = VALUE
117 MAS(EL2FA(NN2+N_FA)+1) = VALUE
118 MAS(EL2FA(NN2+N_FA)+2) = VALUE
119 MAS(EL2FA(NN2+N_FA)+3) = VALUE
120 ELSE
121 MAS(EL2FA(NN2+N_FA)) = VALUE
122 ENDIF
123 ENDIF
124 130 CONTINUE
125C
126.AND..and. ELSEIF(ISPH3D==1ITY==51MLW > 0)THEN
127C-----------------------------------------------
128C TETRAS SPH.
129C-----------------------------------------------
130 GBUF => ELBUF_TAB(NG)%GBUF
131 IALEL=IPARG(7,NG)+IPARG(11,NG)
132 DO 140 I=LFT,LLT
133 N = I + NFT
134 N_FA = I + NFT_FA
135 IF(EL2FA(NN3+N_FA)/=0)THEN
136 IF(IALEL==0)THEN
137 IPRT=IPARTSP(N)
138 MT =IPART(1,IPRT)
139 VALUE=PM(89,MT)*GBUF%VOL(I)
140 ELSE
141 OFF = MIN(GBUF%OFF(I),ONE)
142 VALUE=GBUF%RHO(I)*GBUF%VOL(I)*OFF
143 ENDIF
144 MAS(EL2FA(NN3+N_FA)) = VALUE
145 ENDIF
146 140 CONTINUE
147C
148 ELSE
149 ENDIF
150C-----------------------------------------------
151C FIN DE BOUCLE SUR LES OFFSET
152C-----------------------------------------------
153 END DO
154 490 CONTINUE
155C-----------------------------------------------
156C
157 RETURN