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 205 of file geom_opt.F90.
|
private |
Definition at line 223 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 826 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 964 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 989 of file geom_opt.F90.
|
private |
Transfer the data from the data structures to the work array (coords)
Definition at line 1100 of file geom_opt.F90.
|
private |
Transfer data from the forces to the work array for the gradients (grad)
Definition at line 1151 of file geom_opt.F90.
|
private |
Transfer the data from the work array (coords) to the actual data structures.
Definition at line 1208 of file geom_opt.F90.
|
private |
Same as write_iter_info, but without the gradients.
[in] | size | must equal dim * natoms |
Definition at line 1304 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 1323 of file geom_opt.F90.
|
private |
Definition at line 191 of file geom_opt.F90.
|
private |
Definition at line 193 of file geom_opt.F90.
|
private |
Definition at line 193 of file geom_opt.F90.
|
private |
Definition at line 197 of file geom_opt.F90.
|
private |
Definition at line 197 of file geom_opt.F90.
|
private |
Definition at line 197 of file geom_opt.F90.