42#include "implicit_f.inc"
52 . xp1,yp1,zp1,xp2,yp2,zp2,skew(lskew,*),nodin(3)
58 . p1(3),p2(3),p3(3),p4(3),pp2(3)
92!||====================================================================
97#include "implicit_f.inc"
101#include "param_c.inc"
117 pn(1) = po(1)*sk(1,jsk) + po(2)*sk(2,jsk) + po(3)*sk(3,jsk)
118 sum = sk(1,jsk)**2 + sk(2,jsk)**2 + sk(3,jsk)**2
122 pn(2) = po(1)*sk(4,jsk) + po(2)*sk(5,jsk) + po(3)*sk(6,jsk)
123 sum = sk(4,jsk)**2 + sk(5,jsk)**2 + sk(6,jsk)**2
127 pn(3) = po(1)*sk(7,jsk) + po(2)*sk(8,jsk) + po(3)*sk(9,jsk)
128 sum = sk(7,jsk)**2 + sk(8,jsk)**2 + sk(9,jsk)**2
176#include "implicit_f.inc"
182 . p1(3),p2(3),p3(3),p4(3),p(3)
189 dot = dot_product( p(1:3) - p1(1:3),
192 suma = sum((p2(1:3) - p1(1:3) )**2)
193 IF((suma == zero . and. p(1) /= p1(1)) .OR.
196 dot = dot_product( p(1:3) - p1(1:3),
199 suma = sum((p3(1:3) - p1(1:3) )**2)
200 IF((suma == zero . and. p(2) /= p1(2)) .OR.
203 dot = dot_product( p(1:3) - p1(1:3),
206 suma = sum((p4(1:3) - p1(1:3) )**2)
207 IF((suma == zero . and. p(3) /= p1(3)) .OR.
214!||====================================================================
216!||--- called by ------------------------------------------------------
224!||--- calls -----------------------------------------------------
232#include "implicit_f.inc"
238 . xp1,yp1,zp1,xp2,yp2,zp2,nodin(3),d
281#include "implicit_f.inc"
292 . axis(3),axis_length,
vec_length,off_axix_component,
293 . p_dot_axis,p_length
295 axis(1:3) = p2(1:3) - p1(1:3)
297 IF(axis_length == zero)
RETURN
299 axis(1:3) = axis(1:3) / axis_length
300 p_dot_axis = dot_product(p(1:3) - p1(1:3),axis)
304 IF(p_dot_axis < zero .or. axis_length < p_dot_axis)
RETURN
308 p_length =
vec_length(3, p1(1:3) - (p(1:3) - p_dot_axis * axis(1:3)))
309 IF(p_length <= half*d)ok = 1
314!||====================================================================
316!||--- called by ------------------------------------------------------
350#include "implicit_f.inc"
356 . xp,yp,zp,nodin(3),d
384#include "implicit_f.inc"
397 suma = sum((p(1:3) - pc(1:3))**2)
399 IF(suma <= d**2) ok = 1
subroutine inside_parallelepiped(p1, p2, p3, p4, p, ok)
subroutine checkcyl(xp1, yp1, zp1, xp2, yp2, zp2, nodin, d, ok)
subroutine inside_cylinder(p1, p2, p, d, ok)
subroutine projskew(po, sk, isk)
subroutine checkpara(xp1, yp1, zp1, xp2, yp2, zp2, isk, nodin, skew, ok)
function vec_length(dimens, x)
subroutine inside_sphere(pc, p, d, ok)
subroutine checksphere(xp, yp, zp, nodin, d, ok)
subroutine simple_node_box(ibox, x, skew, ib, nd_array, nd_size)
subroutine simple_rbody_box(ibox, x, skew, ib, nd_array, nd_size, rby_msn)