30 . ELEM_CENTROID, FACE_CENTROID)
38#include "implicit_f.inc"
46 INTEGER,
INTENT(IN) :: NEL, NFT, IXS(NIXS, *), LENGTH
47 my_real,
INTENT(IN) :: xgrid(3, *)
48 my_real,
INTENT(OUT) :: elem_centroid(3, nel), face_centroid(3, 6, nel)
52 INTEGER :: I, II, NODE1, NODE2, , NODE4, NODE5, NODE6, NODE7, NODE8
54 . x1(3), x2(3), x3(3), x4(3), x5(3), x6(3), x7(3), x8(3)
67 x1(1:3) = xgrid(1:3, node1)
69 x3(1:3) = xgrid(1:3, node3)
70 x4(1:3) = xgrid(1:3, node4)
71 x5(1:3) = xgrid(1:3, node5)
72 x6(1:3) = xgrid(1:3, node6)
73 x7(1:3) = xgrid(1:3, node7)
74 x8(1:3) = xgrid(1:3, node8)
76 elem_centroid(1:3, ii) = one_over_8 * (x1(1:3) + x2(1:3) + x3(1:3) + x4(1:3) +
77 . x5(1:3) + x6(1:3) + x7(1:3) + x8(1:3))
80 face_centroid(1:3, 1, ii) = fourth * (x1(1:3) + x2(1:3) + x3(1:3) + x4(1:3))
82 face_centroid(1:3, 2, ii) = fourth * (x3(1:3) + x4(1:3) + x8(1:3) + x7(1:3))
84 face_centroid(1:3, 3, ii) = fourth * (x5(1:3) + x6(1:3) + x7(1:3) + x8(1:3))
86 face_centroid(1:3, 4, ii) = fourth * (x1(1:3) + x2(1:3) + x6(1:3) + x5(1:3))
88 face_centroid(1:3, 5, ii) = fourth * (x2(1:3) + x3(1:3) + x7(1:3) + x6(1:3))
90 face_centroid(1:3, 6, ii) = fourth * (x1(1:3) + x4(1:3) + x8(1:3) + x5(1:3))
103 . ELEM_CENTROID, FACE_CENTROID)
111#include "implicit_f.inc"
119 INTEGER,
INTENT(IN) :: NEL, NFT, IXS(NIXS, *), LENGTH
120 my_real,
INTENT(IN) :: XGRID(3, *)
121 my_real,
INTENT(OUT) :: elem_centroid(3, nel), face_centroid(3, 6, nel)
125 INTEGER :: I, II, NODE1, NODE2, NODE3, NODE4, NODE5, NODE6, NODE7, NODE8
127 . x1(3), x2(3), x3(3), x4(3), vol
138 x1(1:3) = xgrid(1:3, node1)
139 x2(1:3) = xgrid(1:3, node2)
140 x3(1:3) = xgrid(1:3, node3)
141 x4(1:3) = xgrid(1:3, node4)
142 elem_centroid(1:3, ii) = zero
148 CALL geom(a, b, c,elem_centroid(1,ii),elem_centroid(2,ii),elem_centroid(3,ii), vol)
153 CALL geom(a, b, c,elem_centroid(1,ii),elem_centroid(2,ii),elem_centroid(3,ii), vol)
158 CALL geom(a, b, c,elem_centroid(1,ii),elem_centroid(2,ii),elem_centroid(3,ii), vol)
163 CALL geom(a, b, c,elem_centroid(1,ii),elem_centroid(2,ii),elem_centroid(3,ii), vol)
166 elem_centroid(1:3, ii) = elem_centroid(1:3, ii) / 12.d0 / vol
171 face_centroid(1:3, 5, ii) = third * (x1(1:3) + x2(1:3) + x3(1:3))
173 face_centroid(1:3, 6, ii) = third * (x1(1:3) + x2(1:3) + x4(1:3))
175 face_centroid(1:3, 2, ii) = third * (x2(1:3) + x3(1:3) + x4(1:3))
177 face_centroid(1:3, 4, ii) = third * (x1(1:3) + x3(1:3) + x4(1:3))
188 . ELEM_CENTROID, FACE_CENTROID)
196#include "implicit_f.inc"
204 INTEGER,
INTENT(IN) :: NEL, NFT, IXQ(NIXQ, *), LENGTH
205 my_real,
INTENT(IN) :: XGRID(3, *)
206 my_real,
INTENT(OUT) :: ELEM_CENTROID(3, NEL), FACE_CENTROID(3, 6, NEL)
210 INTEGER :: I, II, NODE1, NODE2, NODE3, NODE4
212 . X1(3), X2(3), X3(3), X4(3)
221 x1(1:3) = xgrid(1:3, node1)
222 x2(1:3) = xgrid(1:3, node2)
223 x3(1:3) = xgrid(1:3, node3)
224 x4(1:3) = xgrid(1:3, node4)
226 elem_centroid(1:3, ii) = fourth * (x1(1:3) + x2(1:3) + x3(1:3) + x4(1:3))
229 face_centroid(1:3, 1, ii) = half * (x1(1:3) +
231 face_centroid(1:3, 2, ii) = half * (x2(1:3) + x3(1:3))
233 face_centroid(1:3, 3, ii) = half * (x3(1:3) + x4(1:3))
235 face_centroid(1:3, 4, ii) = half * (x1(1:3) + x4(1:3))
246 . ELEM_CENTROID, FACE_CENTROID)
254#include "implicit_f.inc"
262 INTEGER,
INTENT(IN) :: NEL, NFT, IXTG(, *), LENGTH
263 my_real,
INTENT(IN) :: XGRID(3, *)
264 my_real,
INTENT(OUT) :: ELEM_CENTROID(3, NEL), FACE_CENTROID(3, 6, NEL)
268 INTEGER :: I, II, NODE1, NODE2, NODE3, NODE4, NODE5, NODE6, NODE7, NODE8
270 . X1(3), X2(3), X3(3), X4(3), X5(3), X6(3), X7(3), X8(3)
278 x1(1:3) = xgrid(1:3, node1)
279 x2(1:3) = xgrid(1:3, node2)
280 x3(1:3) = xgrid(1:3, node3)
282 elem_centroid(1:3, ii) = third * (x1(1:3) + x2(1:3) + x3(1:3))
285 face_centroid(1:3, 1, ii) = half * (x1(1:3) + x2(1:3))
287 face_centroid(1:3, 2, ii) = half * (x2(1:3) + x3(1:3))
289 face_centroid(1:3, 3, ii) = half * (x3(1:3) + x1(1:3))