![]() |
Octopus
|
Data Types | |
type | cell_state_t |
type | ion_dynamics_t |
type | ion_state_t |
type | ion_td_displacement_t |
type | nose_hoover_t |
Functions/Subroutines | |
subroutine, public | ion_dynamics_init (this, namespace, ions, symmetrize, symm) |
subroutine, public | ion_dynamics_end (this) |
subroutine, public | ion_dynamics_propagate (this, ions, time, dt, namespace) |
Interface for the ion/cell dynamics. More... | |
subroutine | ion_dynamics_update_temperature (this, time, namespace) |
Update the temperature of the ions in case of a thermostat. More... | |
subroutine | ion_dynamics_propagate_driven_ions (this, ions, time, dt) |
Move ions following a driven motion. More... | |
subroutine | ion_dynamics_propagate_ions (this, ions, time, dt) |
Time evolution of the ions. More... | |
subroutine | ion_dynamics_propagate_cell (this, ions, time, dt, namespace) |
Time-evolution of the lattice vectors. More... | |
subroutine | nh_chain (this, ions) |
subroutine, public | ion_dynamics_propagate_vel (this, ions, atoms_moved) |
subroutine, public | ion_dynamics_verlet_step1 (ions, q, v, fold, dt) |
A bare verlet integrator. More... | |
subroutine, public | ion_dynamics_verlet_step2 (ions, v, fold, fnew, dt) |
A bare verlet integrator. More... | |
subroutine, public | ion_dynamics_save_state (this, ions, state) |
subroutine, public | ion_dynamics_restore_state (this, ions, state) |
logical pure function | ion_dynamics_ions_move (this) |
logical pure function, public | ion_dynamics_drive_ions (this) |
Is the ion dynamics activated or not. More... | |
logical pure function | ion_dynamics_cell_relax (this) |
Is the cell dynamics activated or not. More... | |
logical pure function | ion_dynamics_is_active (this) |
Is the cell dynamics activated or not. More... | |
real(real64) function, public | ion_dynamics_temperature (ions) |
This function returns the ionic temperature in energy units. More... | |
logical function, public | ion_dynamics_freeze (this) |
Freezes the ionic movement. More... | |
subroutine, public | ion_dynamics_unfreeze (this) |
Unfreezes the ionic movement. More... | |
subroutine, public | ion_dynamics_dump (this, restart, ierr) |
subroutine, public | ion_dynamics_load (this, restart, ierr) |
subroutine | ion_dynamics_update_stress (this, space, stress, rlattice, rcell_volume) |
Updates the stress tensor for the ion dynamics. More... | |
subroutine, public | electrons_lattice_vectors_update (namespace, gr, space, psolver, kpoints, mc, qtot, new_latt) |
Variables | |
integer, parameter | thermo_none = 0 |
integer, parameter | thermo_scal = 1 |
integer, parameter | thermo_nh = 2 |
subroutine, public ion_dynamics_oct_m::ion_dynamics_init | ( | type(ion_dynamics_t), intent(out) | this, |
type(namespace_t), intent(in) | namespace, | ||
type(ions_t), intent(inout) | ions, | ||
logical, intent(in) | symmetrize, | ||
type(symmetrizer_t), intent(in), optional, target | symm | ||
) |
Definition at line 251 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_end | ( | type(ion_dynamics_t), intent(inout) | this | ) |
Definition at line 708 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_propagate | ( | type(ion_dynamics_t), intent(inout) | this, |
type(ions_t), intent(inout) | ions, | ||
real(real64), intent(in) | time, | ||
real(real64), intent(in) | dt, | ||
type(namespace_t), intent(in) | namespace | ||
) |
Interface for the ion/cell dynamics.
Definition at line 738 of file ion_dynamics.F90.
|
private |
Update the temperature of the ions in case of a thermostat.
Definition at line 797 of file ion_dynamics.F90.
|
private |
Move ions following a driven motion.
This can be a constant velocity, or a prescribed time-dependent displacement
Definition at line 826 of file ion_dynamics.F90.
|
private |
Time evolution of the ions.
On input, the coordinates are in reduced coordinates, not in Cartesian coordinates. Coordinates are returned in reduced coordinate
Definition at line 866 of file ion_dynamics.F90.
|
private |
Time-evolution of the lattice vectors.
Definition at line 911 of file ion_dynamics.F90.
|
private |
Definition at line 964 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_propagate_vel | ( | type(ion_dynamics_t), intent(inout) | this, |
type(ions_t), intent(inout) | ions, | ||
logical, intent(out), optional | atoms_moved | ||
) |
[out] | atoms_moved | Returns true if the atoms were moved by this function. |
Definition at line 1008 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_verlet_step1 | ( | type(ions_t), intent(in) | ions, |
real(real64), dimension(:, :), intent(inout) | q, | ||
real(real64), dimension(:, :), intent(inout) | v, | ||
real(real64), dimension(:, :), intent(in) | fold, | ||
real(real64), intent(in) | dt | ||
) |
A bare verlet integrator.
Definition at line 1062 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_verlet_step2 | ( | type(ions_t), intent(in) | ions, |
real(real64), dimension(:, :), intent(inout) | v, | ||
real(real64), dimension(:, :), intent(in) | fold, | ||
real(real64), dimension(:, :), intent(in) | fnew, | ||
real(real64), intent(in) | dt | ||
) |
A bare verlet integrator.
Definition at line 1097 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_save_state | ( | type(ion_dynamics_t), intent(in) | this, |
type(ions_t), intent(in) | ions, | ||
type(ion_state_t), intent(out) | state | ||
) |
Definition at line 1130 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_restore_state | ( | type(ion_dynamics_t), intent(inout) | this, |
type(ions_t), intent(inout) | ions, | ||
type(ion_state_t), intent(inout) | state | ||
) |
Definition at line 1157 of file ion_dynamics.F90.
|
private |
Definition at line 1185 of file ion_dynamics.F90.
logical pure function, public ion_dynamics_oct_m::ion_dynamics_drive_ions | ( | type(ion_dynamics_t), intent(in) | this | ) |
Is the ion dynamics activated or not.
Definition at line 1195 of file ion_dynamics.F90.
|
private |
Is the cell dynamics activated or not.
Definition at line 1204 of file ion_dynamics.F90.
|
private |
Is the cell dynamics activated or not.
Definition at line 1213 of file ion_dynamics.F90.
real(real64) function, public ion_dynamics_oct_m::ion_dynamics_temperature | ( | type(ions_t), intent(in) | ions | ) |
This function returns the ionic temperature in energy units.
Definition at line 1223 of file ion_dynamics.F90.
logical function, public ion_dynamics_oct_m::ion_dynamics_freeze | ( | type(ion_dynamics_t), intent(inout) | this | ) |
Freezes the ionic movement.
Definition at line 1241 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_unfreeze | ( | type(ion_dynamics_t), intent(inout) | this | ) |
Unfreezes the ionic movement.
Definition at line 1254 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_dump | ( | type(ion_dynamics_t), intent(in) | this, |
type(restart_t), intent(in) | restart, | ||
integer, intent(out) | ierr | ||
) |
Definition at line 1260 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::ion_dynamics_load | ( | type(ion_dynamics_t), intent(inout) | this, |
type(restart_t), intent(in) | restart, | ||
integer, intent(out) | ierr | ||
) |
Definition at line 1281 of file ion_dynamics.F90.
|
private |
Updates the stress tensor for the ion dynamics.
Definition at line 1303 of file ion_dynamics.F90.
subroutine, public ion_dynamics_oct_m::electrons_lattice_vectors_update | ( | type(namespace_t), intent(in) | namespace, |
type(grid_t), intent(inout) | gr, | ||
class(space_t), intent(in) | space, | ||
type(poisson_t), intent(inout) | psolver, | ||
type(kpoints_t), intent(inout) | kpoints, | ||
type(multicomm_t), intent(in) | mc, | ||
real(real64), intent(in) | qtot, | ||
type(lattice_vectors_t), intent(in) | new_latt | ||
) |
Definition at line 1347 of file ion_dynamics.F90.
|
private |
Definition at line 169 of file ion_dynamics.F90.
|
private |
Definition at line 169 of file ion_dynamics.F90.
|
private |
Definition at line 169 of file ion_dynamics.F90.