16 USE iso_c_binding,
ONLY: c_char,&
27 position, types, num_atom, symprec)
bind(c)
28 import c_int, c_double
29 INTEGER(c_int),
INTENT(inout) :: rotation(3, 3, *)
30 REAL(c_double),
INTENT(inout) :: translation(3, *)
31 INTEGER(c_int),
INTENT(in),
value :: max_size
32 REAL(c_double),
INTENT(in) :: lattice(3, 3), position(3, *)
33 INTEGER(c_int),
INTENT(in) :: types(*)
34 INTEGER(c_int),
INTENT(in),
value :: num_atom
35 REAL(c_double),
INTENT(in),
value :: symprec
36 INTEGER(c_int) :: spg_get_symmetry
40 import c_int, c_double
41 REAL(c_double),
INTENT(in) :: lattice(3, 3), position(3, *)
42 INTEGER(c_int),
INTENT(in) :: types(*)
43 INTEGER(c_int),
INTENT(in),
value :: num_atom
44 REAL(c_double),
INTENT(in),
value :: symprec
45 INTEGER(c_int) :: spg_get_multiplicity
49 import c_char, c_int, c_double
50 CHARACTER(kind=c_char),
INTENT(out) :: symbol(11)
51 REAL(c_double),
INTENT(in) :: lattice(3, 3), position(3, *)
52 INTEGER(c_int),
INTENT(in) :: types(*)
53 INTEGER(c_int),
INTENT(in),
value :: num_atom
54 REAL(c_double),
INTENT(in),
value :: symprec
55 INTEGER(c_int) :: spg_get_international
59 import c_char, c_int, c_double
60 CHARACTER(kind=c_char),
INTENT(out) :: symbol(7)
61 REAL(c_double),
INTENT(in) :: lattice(3, 3), position(3, *)
62 INTEGER(c_int),
INTENT(in) :: types(*)
63 INTEGER(c_int),
INTENT(in),
value :: num_atom
64 REAL(c_double),
INTENT(in),
value :: symprec
65 INTEGER(c_int) :: spg_get_schoenflies
69 import c_char, c_int, c_double
70 CHARACTER(kind=c_char) :: symbol(6)
71 INTEGER(c_int),
INTENT(inout) :: trans_mat(3, 3)
72 INTEGER(c_int),
INTENT(in) :: rotations(3, 3, *)
73 INTEGER(c_int),
INTENT(in),
value :: num_rotations
74 INTEGER(c_int) :: spg_get_pointgroup
78 is_shift, is_time_reversal, lattice, position, types, num_atom, symprec)
bind(c)
79 import c_int, c_double
81 INTEGER(c_int),
INTENT(out) :: grid_point(3, *), map(*)
82 INTEGER(c_int),
INTENT(in) :: mesh(3), is_shift(3)
83 INTEGER(c_int),
INTENT(in),
value :: is_time_reversal
84 REAL(c_double),
INTENT(in) :: lattice(3, 3), position(3, *)
85 INTEGER(c_int),
INTENT(in) :: types(*)
86 INTEGER(c_int),
INTENT(in),
value :: num_atom
87 REAL(c_double),
INTENT(in),
value :: symprec
88 INTEGER(c_int) :: spg_get_ir_reciprocal_mesh
93 INTEGER(c_int) :: spg_get_major_version
98 INTEGER(c_int) :: spg_get_minor_version
103 INTEGER(c_int) :: spg_get_micro_version
123 #include "./base/base_uses.f90"
146 position, types, num_atom, symprec)
147 INTEGER,
INTENT(inout) :: rotation(:, :, :)
148 REAL(kind=
dp),
INTENT(inout) :: translation(:, :)
149 INTEGER,
INTENT(in) :: max_size
150 REAL(kind=
dp),
INTENT(in) :: lattice(:, :), position(:, :)
151 INTEGER,
INTENT(in) :: types(:), num_atom
152 REAL(kind=
dp),
INTENT(in) :: symprec
156 mark_used(translation)
164 cpabort(
"Requires linking to the SPGLIB library.")
177 REAL(kind=
dp),
INTENT(in) :: lattice(:, :), position(:, :)
178 INTEGER,
INTENT(in) :: types(:), num_atom
179 REAL(kind=
dp),
INTENT(in) :: symprec
188 cpabort(
"Requires linking to the SPGLIB library.")
202 CHARACTER,
INTENT(out) :: symbol(11)
203 REAL(kind=
dp),
INTENT(in) :: lattice(:, :), position(:, :)
204 INTEGER,
INTENT(in) :: types(:), num_atom
205 REAL(kind=
dp),
INTENT(in) :: symprec
216 cpabort(
"Requires linking to the SPGLIB library.")
230 CHARACTER,
INTENT(out) :: symbol(7)
231 REAL(kind=
dp),
INTENT(in) :: lattice(:, :), position(:, :)
232 INTEGER,
INTENT(in) :: types(:), num_atom
233 REAL(kind=
dp),
INTENT(in) :: symprec
244 cpabort(
"Requires linking to the SPGLIB library.")
256 CHARACTER :: symbol(6)
257 INTEGER,
INTENT(inout) :: trans_mat(:, :)
258 INTEGER,
INTENT(in) :: rotations(:, :, :), num_rotations
263 mark_used(num_rotations)
266 cpabort(
"Requires linking to the SPGLIB library.")
284 is_shift, is_time_reversal, lattice, position, types, num_atom, symprec)
285 INTEGER,
INTENT(out) :: grid_point(:, :), map(:)
286 INTEGER,
INTENT(in) :: mesh(:), is_shift(:), is_time_reversal
287 REAL(kind=
dp),
INTENT(in) :: lattice(:, :), position(:, :)
288 INTEGER,
INTENT(in) :: types(:), num_atom
289 REAL(kind=
dp),
INTENT(in) :: symprec
295 mark_used(grid_point)
299 mark_used(is_time_reversal)
306 cpabort(
"Requires linking to the SPGLIB library.")
Defines the basic variable types.
integer, parameter, public dp
Interface for SPGLIB symmetry routines.
integer function, public spg_get_international(symbol, lattice, position, types, num_atom, symprec)
...
integer function, public spg_get_multiplicity(lattice, position, types, num_atom, symprec)
...
integer function, public spg_get_micro_version()
...
integer function, public spg_get_minor_version()
...
integer function, public spg_get_ir_reciprocal_mesh(grid_point, map, mesh, is_shift, is_time_reversal, lattice, position, types, num_atom, symprec)
...
integer function, public spg_get_major_version()
...
integer function, public spg_get_pointgroup(symbol, trans_mat, rotations, num_rotations)
...
integer function, public spg_get_symmetry(rotation, translation, max_size, lattice, position, types, num_atom, symprec)
...
integer function, public spg_get_schoenflies(symbol, lattice, position, types, num_atom, symprec)
...