40
41
42
43
44
46 USE i24intarea_fic_mod , ONLY : i24intarea_fic
47
48
49
50#include "implicit_f.inc"
51
52
53
54
55
56
57
58
59
60 INTEGER NUMNOD
61 INTEGER MVSIZ
62 INTEGER S_ADDSUBM
63 INTEGER S_LISUBM
64 INTEGER S_TYPSUB
65 INTEGER NISUBMAX
66 INTEGER NISUB
67 INTEGER I_STOK
68 INTEGER IE
69 INTEGER ITYPSUB
70 INTEGER NIN
71 INTEGER NN
72 INTEGER I
73 INTEGER NFT
74 INTEGER ADDSUBM(S_ADDSUBM)
75 INTEGER LISUBM(S_LISUBM)
76 INTEGER TYPSUB()
77 INTEGER ISENSINT(NISUBMAX+1)
84 INTEGER INTCAREA
86 my_real fsavparit(nisub+1,11,i_stok)
87 INTEGER, INTENT(IN) :: NSNE,NRTSE,NSNR
88 INTEGER, DIMENSION(5,NRTSE),INTENT(IN) :: IRTSE
89 INTEGER, DIMENSION(2,NSNE),INTENT(IN) :: IS2SE
90 INTEGER, DIMENSION(NSNE),INTENT(IN) :: IS2PT
91
92
93
94 INTEGER KK,ISUB,IG
95 my_real impx,impy,impz,arean_fic
96
97 DO kk=addsubm(ie),addsubm(ie+1)-1
98 isub=lisubm(kk)
99 itypsub = typsub(isub)
100
101 IF(itypsub == 2 ) THEN
102
103 impx=-fxi(i)*dt12
104 impy=-fyi(i)*dt12
105 impz=-fzi(i)*dt12
106
107 fsavsub1(1,isub)=fsavsub1(1,isub)+impx
108 fsavsub1(2,isub)=fsavsub1(2,isub)+impy
109 fsavsub1(3,isub)=fsavsub1(3,isub)+impz
110
111 fsavsub1(8,isub) =fsavsub1(8,isub) +abs(impx)
112 fsavsub1(9,isub) =fsavsub1(9,isub) +abs(impy)
113 fsavsub1(10,isub)=fsavsub1(10,isub)+abs(impz)
114
115 fsavsub1(11,isub)=fsavsub1(11,isub)-fni(i)*dt12
116
117 IF(isensint(isub+1)/=0) THEN
118 fsavparit(isub+1,1,i+nft) = -fxi(i)
119 fsavparit(isub+1,2,i+nft) = -fyi(i)
120 fsavparit(isub+1,3,i+nft) = -fzi(i)
121 ENDIF
122
123 IF(intcarea > 0) THEN
124 IF(nn > 0) THEN
125 IF(nn <=numnod) THEN
126 fsavsub1(25,isub) = fsavsub1(25,isub) + intarean(nn)
127 ELSE
128 ig = nn - numnod
129 CALL i24intarea_fic(irtse ,nsne ,is2se ,is2pt ,ig ,
130 + nrtse , numnod ,intarean, arean_fic )
131 fsavsub1(25,isub) = fsavsub1(25,isub) + arean_fic
132 ENDIF
133 ELSE
137 fsavsub1(25,isub) = fsavsub1(25,isub) + arean_fic
138 ELSE
139 fsavsub1(25,isub) = fsavsub1(25,isub) +
intareanfi(nin)%P(nn)
140 ENDIF
141 ENDIF
142 ENDIF
143
144 ENDIF
145
146 ENDDO
147
type(int_pointer), dimension(:), allocatable is2pt_fi
type(int_pointer2), dimension(:), allocatable is2se_fi
type(int_pointer2), dimension(:), allocatable irtse_fi
type(real_pointer), dimension(:), allocatable intareanfi
type(int_pointer), dimension(:), allocatable isedge_fi