(git:3add494)
space_groups Module Reference

Space Group Symmetry Module (version 1.0, January 16, 2020) More...

Functions/Subroutines

subroutine, public spgr_create (scoor, types, cell, gopt_env, eps_symmetry, pol, ranges, nparticle, n_atom, n_core, n_shell, iunit, print_atoms)
 routine creates the space group structure More...
 
subroutine, public identify_space_group (subsys, geo_section, gopt_env, iunit)
 routine indentifies the space group and finds rotation matrices. More...
 
subroutine, public spgr_find_equivalent_atoms (spgr, scoord)
 routine indentifies the equivalent atoms for each rotation matrix. More...
 
subroutine, public spgr_apply_rotations_coord (spgr, coord)
 routine applies the rotation matrices to the coordinates. More...
 
subroutine, public spgr_apply_rotations_force (spgr, force)
 routine applies the rotation matrices to the forces. More...
 
subroutine, public spgr_apply_rotations_stress (spgr, cell, stress)
 routine applies the rotation matrices to the stress tensor. More...
 
subroutine, public print_spgr (spgr)
 routine prints Space Group Information. More...
 
subroutine, public spgr_write_stress_tensor (stress, spgr)
 Variable precision output of the symmetrized stress tensor. More...
 

Detailed Description

Space Group Symmetry Module (version 1.0, January 16, 2020)

History
Pierre-André Cazade [pcazade] 01.2020 - University of Limerick
Author
Pierre-André Cazade (first version)

Function/Subroutine Documentation

◆ spgr_create()

subroutine, public space_groups::spgr_create ( real(kind=dp), dimension(:, :), intent(in)  scoor,
integer, dimension(:), intent(in)  types,
type(cell_type), intent(in), pointer  cell,
type(gopt_f_type), intent(in), pointer  gopt_env,
real(kind=dp), intent(in), optional  eps_symmetry,
real(kind=dp), dimension(3), intent(in), optional  pol,
integer, dimension(:, :), intent(in), optional  ranges,
integer, intent(in), optional  nparticle,
integer, intent(in), optional  n_atom,
integer, intent(in), optional  n_core,
integer, intent(in), optional  n_shell,
integer, intent(in)  iunit,
logical, intent(in)  print_atoms 
)

routine creates the space group structure

Parameters
scoor...
types...
cell...
gopt_env...
eps_symmetry...
pol...
ranges...
nparticle...
n_atom...
n_core...
n_shell...
iunit...
print_atoms...
History
01.2020 created [pcazade]
Author
Pierre-André Cazade (first version)

Definition at line 81 of file space_groups.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ identify_space_group()

subroutine, public space_groups::identify_space_group ( type(cp_subsys_type), intent(in), pointer  subsys,
type(section_vals_type), intent(in), pointer  geo_section,
type(gopt_f_type), intent(in), pointer  gopt_env,
integer, intent(in)  iunit 
)

routine indentifies the space group and finds rotation matrices.

Parameters
subsys...
geo_section...
gopt_env...
iunit...
History
01.2020 created [pcazade]
Author
Pierre-André Cazade (first version)
Note
rotation matrices innclude translations and translation symmetry: it works with supercells as well.

Definition at line 285 of file space_groups.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ spgr_find_equivalent_atoms()

subroutine, public space_groups::spgr_find_equivalent_atoms ( type(spgr_type), intent(inout), pointer  spgr,
real(kind=dp), dimension(:, :), intent(in), allocatable  scoord 
)

routine indentifies the equivalent atoms for each rotation matrix.

Parameters
spgr...
scoord...
History
01.2020 created [pcazade]
Author
Pierre-André Cazade (first version)

Definition at line 400 of file space_groups.F.

Here is the caller graph for this function:

◆ spgr_apply_rotations_coord()

subroutine, public space_groups::spgr_apply_rotations_coord ( type(spgr_type), intent(in), pointer  spgr,
real(kind=dp), dimension(:), intent(inout)  coord 
)

routine applies the rotation matrices to the coordinates.

Parameters
spgr...
coord...
History
01.2020 created [pcazade]
Author
Pierre-André Cazade (first version)

Definition at line 617 of file space_groups.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ spgr_apply_rotations_force()

subroutine, public space_groups::spgr_apply_rotations_force ( type(spgr_type), intent(in), pointer  spgr,
real(kind=dp), dimension(:), intent(inout)  force 
)

routine applies the rotation matrices to the forces.

Parameters
spgr...
force...
History
01.2020 created [pcazade]
Author
Pierre-André Cazade (first version)

Definition at line 678 of file space_groups.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ spgr_apply_rotations_stress()

subroutine, public space_groups::spgr_apply_rotations_stress ( type(spgr_type), intent(in), pointer  spgr,
type(cell_type), intent(in), pointer  cell,
real(kind=dp), dimension(3, 3), intent(inout)  stress 
)

routine applies the rotation matrices to the stress tensor.

Parameters
spgr...
cell...
stress...
History
01.2020 created [pcazade]
Author
Pierre-André Cazade (first version)

Definition at line 773 of file space_groups.F.

Here is the caller graph for this function:

◆ print_spgr()

subroutine, public space_groups::print_spgr ( type(spgr_type), intent(in), pointer  spgr)

routine prints Space Group Information.

Parameters
spgr...
History
01.2020 created [pcazade]
Author
Pierre-André Cazade (first version)

Definition at line 829 of file space_groups.F.

Here is the caller graph for this function:

◆ spgr_write_stress_tensor()

subroutine, public space_groups::spgr_write_stress_tensor ( real(kind=dp), dimension(3, 3), intent(in)  stress,
type(spgr_type), intent(in), pointer  spgr 
)

Variable precision output of the symmetrized stress tensor.

Parameters
stresstensor ...
spgr...
History
07.2020 adapted to spgr [pcazade]
Author
MK (26.08.2010).

Definition at line 901 of file space_groups.F.

Here is the call graph for this function:
Here is the caller graph for this function: