29 SUBROUTINE geom(A, B, C, CENTER_X,CENTER_Y,CENTER_Z, VOL)
33#include "implicit_f.inc"
37 my_real,
INTENT(IN) :: a(3), b(3), c(3)
38 my_real,
INTENT(INOUT) :: center_x,center_y,center_z, vol
47 norm(1) = (b(2) - a(2)) * (c(3) - a(3)) - (b(3) - a(3)) * (c(2) - a(2))
48 norm(2) = (b(3) - a(3)) * (c(1) - a(1)) - (b(1) - a(1)) * (c(3) - a(3))
49 norm(3) = (b(1) - a(1)) * (c(2) - a(2)) - (b(2) - a(2)) * (c(1) - a(1))
51 vol = vol + dot_product(a,
norm)
54 bc = dot_product(half * (b + c), half * (b + c))
55 ca = dot_product(half * (c + a
57 center_x = center_x +
norm(1) * (ab + bc + ca)
58 center_y = center_y +
norm(2) * (ab + bc + ca)
59 center_z = center_z +
norm(3) * (ab + bc + ca)
subroutine geom(a, b, c, center_x, center_y, center_z, vol)