![]() |
Octopus
|
Data Types | |
type | symmetrizer_t |
Functions/Subroutines | |
subroutine, public | symmetrizer_init (this, mesh, symm) |
subroutine, public | symmetrizer_end (this) |
subroutine, public | symmetrize_lattice_vectors (this, size, initial_rlattice, rlattice, symmetrize) |
Given a symmetric lattice vector, symmetrize another one. More... | |
subroutine, public | dsymmetrizer_apply (this, mesh, field, field_vector, symmfield, symmfield_vector, suppress_warning, reduced_quantity) |
supply field and symmfield, and/or field_vector and symmfield_vector More... | |
subroutine, public | dsymmetrizer_apply_single (this, mesh, iop, field, symmfield) |
subroutine, public | dsymmetrize_tensor_cart (symm, tensor, use_non_symmorphic) |
Symmetric a rank-2 tensor defined in Cartesian space. More... | |
subroutine, public | dsymmetrize_magneto_optics_cart (symm, tensor) |
subroutine, public | zsymmetrizer_apply (this, mesh, field, field_vector, symmfield, symmfield_vector, suppress_warning, reduced_quantity) |
supply field and symmfield, and/or field_vector and symmfield_vector More... | |
subroutine, public | zsymmetrizer_apply_single (this, mesh, iop, field, symmfield) |
subroutine, public | zsymmetrize_tensor_cart (symm, tensor, use_non_symmorphic) |
Symmetric a rank-2 tensor defined in Cartesian space. More... | |
subroutine, public | zsymmetrize_magneto_optics_cart (symm, tensor) |
subroutine, public symmetrizer_oct_m::symmetrizer_init | ( | type(symmetrizer_t), intent(out) | this, |
class(mesh_t), intent(in) | mesh, | ||
type(symmetries_t), intent(in), target | symm | ||
) |
Definition at line 161 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::symmetrizer_end | ( | type(symmetrizer_t), intent(inout) | this | ) |
Definition at line 244 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::symmetrize_lattice_vectors | ( | class(symmetrizer_t), intent(inout) | this, |
integer, intent(in) | size, | ||
real(real64), dimension(size,size), intent(in) | initial_rlattice, | ||
real(real64), dimension(size,size), intent(inout) | rlattice, | ||
logical, intent(in) | symmetrize | ||
) |
Given a symmetric lattice vector, symmetrize another one.
This is done by symmetrizing the strain tensor This is partly inspired by the routine strainsym from Abinit To be more precise, we work with the right stretch tensor, which is identity plus strain
Definition at line 264 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::dsymmetrizer_apply | ( | type(symmetrizer_t), intent(in) | this, |
class(mesh_t), intent(in) | mesh, | ||
real(real64), dimension(:), intent(in), optional, target | field, | ||
real(real64), dimension(:, :), intent(in), optional, target | field_vector, | ||
real(real64), dimension(:), intent(out), optional | symmfield, | ||
real(real64), dimension(:, :), intent(out), optional | symmfield_vector, | ||
logical, intent(in), optional | suppress_warning, | ||
logical, intent(in), optional | reduced_quantity | ||
) |
supply field and symmfield, and/or field_vector and symmfield_vector
[in] | field | (np) |
[in] | field_vector | (np, 3) |
[out] | symmfield | (np) |
[out] | symmfield_vector | (np, 3) |
[in] | suppress_warning | use to avoid output of discrepancy, for forces, where this routine is not used to symmetrize something already supposed to be symmetric, but rather to construct the quantity properly from reduced k-points |
Definition at line 373 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::dsymmetrizer_apply_single | ( | type(symmetrizer_t), intent(in) | this, |
class(mesh_t), intent(in) | mesh, | ||
integer, intent(in) | iop, | ||
real(real64), dimension(:), intent(in), target | field, | ||
real(real64), dimension(:), intent(out) | symmfield | ||
) |
[in] | field | (np) |
[out] | symmfield | (np) |
Definition at line 526 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::dsymmetrize_tensor_cart | ( | type(symmetries_t), intent(in) | symm, |
real(real64), dimension(:,:), intent(inout) | tensor, | ||
logical, intent(in), optional | use_non_symmorphic | ||
) |
Symmetric a rank-2 tensor defined in Cartesian space.
If use_non_symmorphic is set to true, the non-symmorphic operators are also used for the symmetrization
The operation is T = S * T * S^T, where T is a vector invariant by the symmetry operation S
[in,out] | tensor | (3, 3) |
Definition at line 584 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::dsymmetrize_magneto_optics_cart | ( | type(symmetries_t), intent(in) | symm, |
real(real64), dimension(:,:,:), intent(inout) | tensor | ||
) |
[in,out] | tensor | (3, 3, 3) |
Definition at line 627 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::zsymmetrizer_apply | ( | type(symmetrizer_t), intent(in) | this, |
class(mesh_t), intent(in) | mesh, | ||
complex(real64), dimension(:), intent(in), optional, target | field, | ||
complex(real64), dimension(:, :), intent(in), optional, target | field_vector, | ||
complex(real64), dimension(:), intent(out), optional | symmfield, | ||
complex(real64), dimension(:, :), intent(out), optional | symmfield_vector, | ||
logical, intent(in), optional | suppress_warning, | ||
logical, intent(in), optional | reduced_quantity | ||
) |
supply field and symmfield, and/or field_vector and symmfield_vector
[in] | field | (np) |
[in] | field_vector | (np, 3) |
[out] | symmfield | (np) |
[out] | symmfield_vector | (np, 3) |
[in] | suppress_warning | use to avoid output of discrepancy, for forces, where this routine is not used to symmetrize something already supposed to be symmetric, but rather to construct the quantity properly from reduced k-points |
Definition at line 744 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::zsymmetrizer_apply_single | ( | type(symmetrizer_t), intent(in) | this, |
class(mesh_t), intent(in) | mesh, | ||
integer, intent(in) | iop, | ||
complex(real64), dimension(:), intent(in), target | field, | ||
complex(real64), dimension(:), intent(out) | symmfield | ||
) |
[in] | field | (np) |
[out] | symmfield | (np) |
Definition at line 897 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::zsymmetrize_tensor_cart | ( | type(symmetries_t), intent(in) | symm, |
complex(real64), dimension(:,:), intent(inout) | tensor, | ||
logical, intent(in), optional | use_non_symmorphic | ||
) |
Symmetric a rank-2 tensor defined in Cartesian space.
If use_non_symmorphic is set to true, the non-symmorphic operators are also used for the symmetrization
The operation is T = S * T * S^T, where T is a vector invariant by the symmetry operation S
[in,out] | tensor | (3, 3) |
Definition at line 955 of file symmetrizer.F90.
subroutine, public symmetrizer_oct_m::zsymmetrize_magneto_optics_cart | ( | type(symmetries_t), intent(in) | symm, |
complex(real64), dimension(:,:,:), intent(inout) | tensor | ||
) |
[in,out] | tensor | (3, 3, 3) |
Definition at line 998 of file symmetrizer.F90.