54 real(kind=
rp),
intent(in) :: omega(3)
55 real(kind=
rp),
intent(in) :: ref_point(3)
59 type(
field_t),
pointer :: fu, fv, fw
60 real(kind=
rp) :: rx, ry, rz, cx, cy, cz
63 n = fields%item_size(1)
65 fu => fields%get_by_index(1)
66 fv => fields%get_by_index(2)
67 fw => fields%get_by_index(3)
76 rx = dof%x%x(i,1,1,1) - ref_point(1)
77 ry = dof%y%x(i,1,1,1) - ref_point(2)
78 rz = dof%z%x(i,1,1,1) - ref_point(3)
81 cx = (omega(2) * rz - omega(3) * ry)
82 cy = (omega(3) * rx - omega(1) * rz)
83 cz = (omega(1) * ry - omega(2) * rx)
86 fu%x(i,1,1,1) = fu%x(i,1,1,1) - (omega(2) * cz - omega(3) * cy)
87 fv%x(i,1,1,1) = fv%x(i,1,1,1) - (omega(3) * cx - omega(1) * cz)
88 fw%x(i,1,1,1) = fw%x(i,1,1,1) - (omega(1) * cy - omega(2) * cx)
subroutine, public vcross(u1, u2, u3, v1, v2, v3, w1, w2, w3, n)
Compute a cross product assuming vector components etc.