Octopus
|
Data Types | |
type | geom_opt_t |
Functions/Subroutines | |
subroutine, public | geom_opt_run (system, from_scratch) |
subroutine | geom_opt_run_legacy (sys, fromscratch) |
subroutine | calc_point (size, coords, objective, getgrad, df) |
Note: you might think it would be better to change the arguments with '(size)' below to '(:)'. However, if you do that, then you will (portably) get a segmentation fault. More... | |
subroutine | calc_point_ng (size, coords, objective) |
Same as calc_point, but without the gradients. No intents here is unfortunately required because the same dummy function will be passed also to newuoa routines in opt_control, and there the interface has no intents. UPDATE: Because the newuoa routine have disappeared, probably this can be changed. More... | |
subroutine | write_iter_info (geom_iter, size, energy, maxdx, maxdf, coords) |
Output the information after each iteration of the geometry optimization. More... | |
subroutine | to_coords (gopt, coords) |
Transfer the data from the data structures to the work array (coords) More... | |
subroutine | to_grad (gopt, grad) |
Transfer data from the forces to the work array for the gradients (grad) More... | |
subroutine | from_coords (gopt, coords) |
Transfer the data from the work array (coords) to the actual data structures. More... | |
subroutine | write_iter_info_ng (geom_iter, size, energy, maxdx, coords) |
Same as write_iter_info, but without the gradients. More... | |
subroutine | symmetrize_lattice_vectors (g_opt, size, rlattice) |
Given a symmetric lattice vector, symmetrize another one. More... | |
Variables | |
type(geom_opt_t), save | g_opt |
integer, parameter | minwhat_energy = 1 |
integer, parameter | minwhat_forces = 2 |
integer, parameter | go_ions = 1 |
integer, parameter | go_cell = 2 |
integer, parameter | go_volume = 4 |
subroutine, public geom_opt_oct_m::geom_opt_run | ( | class(*), intent(inout) | system, |
logical, intent(inout) | from_scratch | ||
) |
Definition at line 206 of file geom_opt.F90.
|
private |
Definition at line 224 of file geom_opt.F90.
|
private |
Note: you might think it would be better to change the arguments with '(size)' below to '(:)'. However, if you do that, then you will (portably) get a segmentation fault.
Definition at line 827 of file geom_opt.F90.
|
private |
Same as calc_point, but without the gradients. No intents here is unfortunately required because the same dummy function will be passed also to newuoa routines in opt_control, and there the interface has no intents. UPDATE: Because the newuoa routine have disappeared, probably this can be changed.
size | intent(in) |
coords | intent(in) |
objective | intent(inout) |
Definition at line 967 of file geom_opt.F90.
|
private |
Output the information after each iteration of the geometry optimization.
[in] | size | must equal dim * natoms |
Definition at line 992 of file geom_opt.F90.
|
private |
Transfer the data from the data structures to the work array (coords)
Definition at line 1103 of file geom_opt.F90.
|
private |
Transfer data from the forces to the work array for the gradients (grad)
Definition at line 1154 of file geom_opt.F90.
|
private |
Transfer the data from the work array (coords) to the actual data structures.
Definition at line 1211 of file geom_opt.F90.
|
private |
Same as write_iter_info, but without the gradients.
[in] | size | must equal dim * natoms |
Definition at line 1303 of file geom_opt.F90.
|
private |
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 1322 of file geom_opt.F90.
|
private |
Definition at line 192 of file geom_opt.F90.
|
private |
Definition at line 194 of file geom_opt.F90.
|
private |
Definition at line 194 of file geom_opt.F90.
|
private |
Definition at line 198 of file geom_opt.F90.
|
private |
Definition at line 198 of file geom_opt.F90.
|
private |
Definition at line 198 of file geom_opt.F90.