Octopus
ions_oct_m Module Reference

Data Types

interface  ions_t
 

Functions/Subroutines

class(ions_t) function, pointer ions_constructor (namespace, print_info, latt_inp)
 
subroutine ions_init_species (ions, factory, print_info)
 
subroutine ions_copy (ions_out, ions_in)
 
subroutine ions_partition (this, mc)
 
subroutine ions_init_interaction (this, interaction)
 
subroutine ions_initialize (this)
 
subroutine ions_update_quantity (this, iq)
 
subroutine ions_init_interaction_as_partner (partner, interaction)
 
subroutine ions_copy_quantities_to_interaction (partner, interaction)
 
subroutine ions_fold_atoms_into_cell (this)
 
real(real64) function ions_min_distance (this, real_atoms_only)
 
logical function ions_has_time_dependent_species (this)
 
real(real64) function ions_val_charge (this, mask)
 
real(real64) function, dimension(this%space%dim) ions_dipole (this, mask)
 
subroutine ions_translate (this, xx)
 
subroutine ions_rotate (this, from, from2, to)
 
real(real64) function, dimension(this%space%dim) ions_global_force (this, time)
 
subroutine ions_write_xyz (this, fname, append, comment, reduce_coordinates)
 
subroutine ions_read_xyz (this, fname, comment)
 
subroutine ions_write_crystal (this, dir)
 This subroutine creates a crystal by replicating the geometry and writes the result to dir. More...
 
subroutine ions_write_bild_forces_file (this, dir, fname)
 
subroutine ions_write_vtk_geometry (this, filename, ascii)
 
subroutine ions_finalize (ions)
 
subroutine ions_update_lattice_vectors (ions, latt, symmetrize)
 Regenerate the ions information after update of the lattice vectors. More...
 
subroutine ions_generate_mapping_symmetric_atoms (ions)
 Given the symmetries of the system, we create a mapping that tell us for each atom and symmetry, to which atom is corresponds. Also creates the inverse mapping: for each atom, what is the pair (atom, symmetry) that maps into him. More...
 
subroutine ions_symmetrize_atomic_coord (ions)
 Symmetrizes atomic coordinates by applying all symmetries. More...
 
subroutine ions_print_spacegroup (ions)
 Prints the spacegroup of the system for periodic systems. More...
 

Function/Subroutine Documentation

◆ ions_constructor()

class(ions_t) function, pointer ions_oct_m::ions_constructor ( type(namespace_t), intent(in)  namespace,
logical, intent(in), optional  print_info,
type(lattice_vectors_t), intent(out), optional  latt_inp 
)
private

Definition at line 221 of file ions.F90.

◆ ions_init_species()

subroutine ions_oct_m::ions_init_species ( type(ions_t), intent(inout)  ions,
type(species_factory_t), intent(in)  factory,
logical, intent(in), optional  print_info 
)
private

Definition at line 418 of file ions.F90.

◆ ions_copy()

subroutine ions_oct_m::ions_copy ( class(ions_t), intent(out)  ions_out,
class(ions_t), intent(in)  ions_in 
)
private

Definition at line 530 of file ions.F90.

◆ ions_partition()

subroutine ions_oct_m::ions_partition ( class(ions_t), intent(inout)  this,
type(multicomm_t), intent(in)  mc 
)
private

Definition at line 562 of file ions.F90.

◆ ions_init_interaction()

subroutine ions_oct_m::ions_init_interaction ( class(ions_t), intent(inout), target  this,
class(interaction_t), intent(inout)  interaction 
)
private

Definition at line 576 of file ions.F90.

◆ ions_initialize()

subroutine ions_oct_m::ions_initialize ( class(ions_t), intent(inout)  this)
private

Definition at line 591 of file ions.F90.

◆ ions_update_quantity()

subroutine ions_oct_m::ions_update_quantity ( class(ions_t), intent(inout)  this,
integer, intent(in)  iq 
)
private

Definition at line 600 of file ions.F90.

◆ ions_init_interaction_as_partner()

subroutine ions_oct_m::ions_init_interaction_as_partner ( class(ions_t), intent(in)  partner,
class(interaction_surrogate_t), intent(inout)  interaction 
)
private

Definition at line 619 of file ions.F90.

◆ ions_copy_quantities_to_interaction()

subroutine ions_oct_m::ions_copy_quantities_to_interaction ( class(ions_t), intent(inout)  partner,
class(interaction_surrogate_t), intent(inout)  interaction 
)
private

Definition at line 634 of file ions.F90.

◆ ions_fold_atoms_into_cell()

subroutine ions_oct_m::ions_fold_atoms_into_cell ( class(ions_t), intent(inout)  this)
private

Definition at line 650 of file ions.F90.

◆ ions_min_distance()

real(real64) function ions_oct_m::ions_min_distance ( class(ions_t), intent(in)  this,
logical, intent(in), optional  real_atoms_only 
)
private

Definition at line 665 of file ions.F90.

◆ ions_has_time_dependent_species()

logical function ions_oct_m::ions_has_time_dependent_species ( class(ions_t), intent(in)  this)
private

Definition at line 724 of file ions.F90.

◆ ions_val_charge()

real(real64) function ions_oct_m::ions_val_charge ( class(ions_t), intent(in)  this,
logical, dimension(:), intent(in), optional  mask 
)
private

Definition at line 735 of file ions.F90.

◆ ions_dipole()

real(real64) function, dimension(this%space%dim) ions_oct_m::ions_dipole ( class(ions_t), intent(in)  this,
logical, dimension(:), intent(in), optional  mask 
)
private

Definition at line 751 of file ions.F90.

◆ ions_translate()

subroutine ions_oct_m::ions_translate ( class(ions_t), intent(inout)  this,
real(real64), dimension(this%space%dim), intent(in)  xx 
)
private

Definition at line 773 of file ions.F90.

◆ ions_rotate()

subroutine ions_oct_m::ions_rotate ( class(ions_t), intent(inout)  this,
real(real64), dimension(this%space%dim), intent(in)  from,
real(real64), dimension(this%space%dim), intent(in)  from2,
real(real64), dimension(this%space%dim), intent(in)  to 
)
private
Parameters
[in]fromassumed to be normalized
[in]from2assumed to be normalized
[in]toassumed to be normalized

Definition at line 789 of file ions.F90.

◆ ions_global_force()

real(real64) function, dimension(this%space%dim) ions_oct_m::ions_global_force ( class(ions_t), intent(in)  this,
real(real64), intent(in)  time 
)
private

Definition at line 903 of file ions.F90.

◆ ions_write_xyz()

subroutine ions_oct_m::ions_write_xyz ( class(ions_t), intent(in)  this,
character(len=*), intent(in)  fname,
logical, intent(in), optional  append,
character(len=*), intent(in), optional  comment,
logical, intent(in), optional  reduce_coordinates 
)
private

Definition at line 920 of file ions.F90.

◆ ions_read_xyz()

subroutine ions_oct_m::ions_read_xyz ( class(ions_t), intent(inout)  this,
character(len=*), intent(in)  fname,
character(len=*), intent(in), optional  comment 
)
private

Definition at line 969 of file ions.F90.

◆ ions_write_crystal()

subroutine ions_oct_m::ions_write_crystal ( class(ions_t), intent(in)  this,
character(len=*), intent(in)  dir 
)
private

This subroutine creates a crystal by replicating the geometry and writes the result to dir.

Definition at line 1002 of file ions.F90.

◆ ions_write_bild_forces_file()

subroutine ions_oct_m::ions_write_bild_forces_file ( class(ions_t), intent(in)  this,
character(len=*), intent(in)  dir,
character(len=*), intent(in)  fname 
)
private

Definition at line 1036 of file ions.F90.

◆ ions_write_vtk_geometry()

subroutine ions_oct_m::ions_write_vtk_geometry ( class(ions_t), intent(in)  this,
character(len=*), intent(in)  filename,
logical, intent(in), optional  ascii 
)
private

Definition at line 1074 of file ions.F90.

◆ ions_finalize()

subroutine ions_oct_m::ions_finalize ( type(ions_t), intent(inout)  ions)
private

Definition at line 1178 of file ions.F90.

◆ ions_update_lattice_vectors()

subroutine ions_oct_m::ions_update_lattice_vectors ( class(ions_t), intent(inout)  ions,
type(lattice_vectors_t), intent(in)  latt,
logical, intent(in)  symmetrize 
)
private

Regenerate the ions information after update of the lattice vectors.

Definition at line 1213 of file ions.F90.

◆ ions_generate_mapping_symmetric_atoms()

subroutine ions_oct_m::ions_generate_mapping_symmetric_atoms ( class(ions_t), intent(inout)  ions)
private

Given the symmetries of the system, we create a mapping that tell us for each atom and symmetry, to which atom is corresponds. Also creates the inverse mapping: for each atom, what is the pair (atom, symmetry) that maps into him.

Definition at line 1237 of file ions.F90.

◆ ions_symmetrize_atomic_coord()

subroutine ions_oct_m::ions_symmetrize_atomic_coord ( class(ions_t), intent(inout)  ions)
private

Symmetrizes atomic coordinates by applying all symmetries.

Both symmorphic and non-symmorphic operations are used

Definition at line 1307 of file ions.F90.

◆ ions_print_spacegroup()

subroutine ions_oct_m::ions_print_spacegroup ( class(ions_t), intent(inout)  ions)
private

Prints the spacegroup of the system for periodic systems.

Definition at line 1345 of file ions.F90.