8 integer,
parameter,
private :: kreal = kind(0.0d0)
11 character(len=128) :: sys_name
16 real(kind=kreal) :: coordsys(3, 3)
28 integer :: center_ngrp_id
29 integer :: torque_ngrp_id
30 real(kind=kreal) :: vec(3)
50 integer,
intent(in) :: nfile
53 write(nfile, *) coordsys%sys_type, coordsys%sys_name
54 write(nfile, *) coordsys%node_ID(:)
55 write(nfile, *) coordsys%CoordSys(1,:)
56 write(nfile, *) coordsys%CoordSys(2,:)
57 write(nfile, *) coordsys%CoordSys(3,:)
66 stype = mod( coordsys%sys_type, 10 )
73 real(kind=kreal),
intent(inout) :: coords(:, :)
75 real(kind=kreal),
intent(out) :: outsys(3, 3)
76 integer,
intent(out) :: ierr
78 real(kind=kreal) :: f, xyza(3), xyzb(3), xyzc(3)
82 stype = mod( coordsys%sys_type, 10 )
85 outsys = coordsys%CoordSys
86 elseif( stype==1 )
then
87 xyza = coords(1,:)-coords(3,:)
88 xyzb = coords(2,:)-coords(3,:)
90 f = dsqrt( dot_product( xyza, xyza ) )
92 f = dsqrt( dot_product( xyzc, xyzc ) )
99 integer,
intent(in) :: n
100 type(
trotinfo),
intent(inout) :: rinfo
107 allocate(rinfo%conds(n))
109 rinfo%conds(i)%active = .false.
110 rinfo%conds(i)%center_ngrp_id = -1
111 rinfo%conds(i)%torque_ngrp_id = -1
112 rinfo%conds(i)%vec(1:3) = 0.d0
120 if(
associated(rinfo%conds))
deallocate(rinfo%conds)