Octopus
|
Data Types | |
interface | submesh_add_to_mesh |
type | submesh_t |
A submesh is a type of mesh, used for the projectors in the pseudopotentials It contains points on a regular mesh confined to a sphere of a given radius. More... | |
interface | submesh_to_mesh_dotp |
Functions/Subroutines | |
recursive real(real64) function | f_n (dims) |
subroutine, public | submesh_init_box (this, space, mesh, box, center) |
This subroutine creates a submesh which has the same box of the one that the user passes. More... | |
subroutine, public | submesh_init (this, space, mesh, latt, center, rc) |
subroutine | submesh_reorder_points (this, space, xtmp, rtmp) |
subroutine, public | submesh_merge (this, space, mesh, sm1, sm2, shift) |
subroutine, public | submesh_shift_center (this, space, newcenter) |
subroutine, public | submesh_broadcast (this, space, mesh, center, radius, root, mpi_grp) |
logical function, public | submesh_compatible (this, radius, center, dx) |
subroutine, public | submesh_end (this) |
subroutine, public | submesh_get_inv (this, map_inv) |
logical function, public | submesh_overlap (sm1, sm2, space) |
subroutine, public | submesh_build_global (this, space) |
subroutine, public | submesh_end_global (this) |
subroutine | zzsubmesh_add_to_mesh (this, sphi, phi, factor) |
complex(real64) function | zzsubmesh_to_mesh_dotp (this, sphi, phi, reduce) |
subroutine, public | submesh_get_cube_dim (sm, space, db) |
finds the dimension of a box containing the submesh More... | |
subroutine, public | submesh_init_cube_map (sm, space) |
subroutine, public | submesh_end_cube_map (sm) |
subroutine, public | dzsubmesh_batch_add (this, ss, mm) |
The following function takes a batch of functions defined in submesh (ss) and adds one of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array factor. In this version of the routine, the submesh batch is real and the mesh batch is complex. More... | |
real(real64) function, public | dsm_integrate (mesh, sm, ff, reduce) |
real(real64) function, public | dsm_integrate_frommesh (mesh, sm, ff, reduce) |
subroutine | ddsubmesh_add_to_mesh (this, sphi, phi, factor) |
subroutine, public | dsubmesh_copy_from_mesh (this, phi, sphi, conjugate) |
subroutine, public | dsubmesh_copy_from_mesh_batch (this, psib, spsi) |
real(real64) function, public | dsm_nrm2 (sm, ff, reduce) |
this function returns the the norm of a vector More... | |
real(real64) function | ddsubmesh_to_mesh_dotp (this, sphi, phi, reduce) |
subroutine, public | dsubmesh_batch_add_matrix (this, factor, ss, mm) |
The following functions takes a batch of functions defined in submesh (ss) and adds all of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array 'factor'. More... | |
subroutine, public | dsubmesh_batch_add (this, ss, mm) |
The following function takes a batch of functions defined in submesh (ss) and adds one of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array factor. More... | |
subroutine, public | dsubmesh_batch_dotp_matrix (this, mm, ss, dot, reduce) |
complex(real64) function, public | zsm_integrate (mesh, sm, ff, reduce) |
complex(real64) function, public | zsm_integrate_frommesh (mesh, sm, ff, reduce) |
subroutine | zdsubmesh_add_to_mesh (this, sphi, phi, factor) |
subroutine, public | zsubmesh_copy_from_mesh (this, phi, sphi, conjugate) |
subroutine, public | zsubmesh_copy_from_mesh_batch (this, psib, spsi) |
real(real64) function, public | zsm_nrm2 (sm, ff, reduce) |
this function returns the the norm of a vector More... | |
complex(real64) function | zdsubmesh_to_mesh_dotp (this, sphi, phi, reduce) |
subroutine, public | zsubmesh_batch_add_matrix (this, factor, ss, mm) |
The following functions takes a batch of functions defined in submesh (ss) and adds all of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array 'factor'. More... | |
subroutine, public | zsubmesh_batch_add (this, ss, mm) |
The following function takes a batch of functions defined in submesh (ss) and adds one of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array factor. More... | |
subroutine, public | zsubmesh_batch_dotp_matrix (this, mm, ss, dot, reduce) |
|
private |
Definition at line 214 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_init_box | ( | type(submesh_t), intent(inout) | this, |
class(space_t), intent(in) | space, | ||
class(mesh_t), intent(in), target | mesh, | ||
class(box_t), intent(in), target | box, | ||
real(real64), dimension(:), intent(in) | center | ||
) |
This subroutine creates a submesh which has the same box of the one that the user passes.
[in] | box | Simulation box of the submesh. Must be contained in the box of the mesh! |
Definition at line 228 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_init | ( | type(submesh_t), intent(inout) | this, |
class(space_t), intent(in) | space, | ||
class(mesh_t), intent(in), target | mesh, | ||
type(lattice_vectors_t), intent(in) | latt, | ||
real(real64), dimension(1:space%dim), intent(in) | center, | ||
real(real64), intent(in) | rc | ||
) |
Definition at line 281 of file submesh.F90.
|
private |
Definition at line 440 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_merge | ( | type(submesh_t), intent(inout) | this, |
class(space_t), intent(in) | space, | ||
class(mesh_t), intent(in), target | mesh, | ||
type(submesh_t), intent(in) | sm1, | ||
type(submesh_t), intent(in) | sm2, | ||
real(real64), dimension(:), intent(in), optional | shift | ||
) |
[in,out] | this | valgrind objects to intent(out) due to the initializations above |
[in] | shift | If present, shifts the center of sm2 |
Definition at line 566 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_shift_center | ( | type(submesh_t), intent(inout) | this, |
class(space_t), intent(in) | space, | ||
real(real64), dimension(:), intent(in) | newcenter | ||
) |
Definition at line 632 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_broadcast | ( | type(submesh_t), intent(inout) | this, |
class(space_t), intent(in) | space, | ||
type(mesh_t), intent(in), target | mesh, | ||
real(real64), dimension(1:space%dim), intent(in) | center, | ||
real(real64), intent(in) | radius, | ||
integer, intent(in) | root, | ||
type(mpi_grp_t), intent(in) | mpi_grp | ||
) |
Definition at line 659 of file submesh.F90.
logical function, public submesh_oct_m::submesh_compatible | ( | type(submesh_t), intent(in) | this, |
real(real64), intent(in) | radius, | ||
real(real64), dimension(:), intent(in) | center, | ||
real(real64), intent(in) | dx | ||
) |
At the moment the center check doesnt matter because everywhere submeshes are recycled at the moment, between uses, the position doesnt change
Definition at line 718 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end | ( | type(submesh_t), intent(inout) | this | ) |
Definition at line 736 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_get_inv | ( | type(submesh_t), intent(in) | this, |
integer, dimension(:), intent(out) | map_inv | ||
) |
Definition at line 760 of file submesh.F90.
logical function, public submesh_oct_m::submesh_overlap | ( | type(submesh_t), intent(in) | sm1, |
type(submesh_t), intent(in) | sm2, | ||
class(space_t), intent(in) | space | ||
) |
Definition at line 777 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_build_global | ( | type(submesh_t), intent(inout) | this, |
class(space_t), intent(in) | space | ||
) |
Definition at line 820 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end_global | ( | type(submesh_t), intent(inout) | this | ) |
Definition at line 871 of file submesh.F90.
|
private |
Definition at line 886 of file submesh.F90.
|
private |
Definition at line 929 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_get_cube_dim | ( | type(submesh_t), intent(in), target | sm, |
class(space_t), intent(in) | space, | ||
integer, dimension(1:space%dim), intent(out) | db | ||
) |
finds the dimension of a box containing the submesh
Definition at line 972 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_init_cube_map | ( | type(submesh_t), intent(inout), target | sm, |
class(space_t), intent(in) | space | ||
) |
Definition at line 1003 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end_cube_map | ( | type(submesh_t), intent(inout) | sm | ) |
Definition at line 1042 of file submesh.F90.
subroutine, public submesh_oct_m::dzsubmesh_batch_add | ( | type(submesh_t), intent(in) | this, |
class(batch_t), intent(in) | ss, | ||
class(batch_t), intent(inout) | mm | ||
) |
The following function takes a batch of functions defined in submesh (ss) and adds one of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array factor. In this version of the routine, the submesh batch is real and the mesh batch is complex.
Definition at line 1058 of file submesh.F90.
real(real64) function, public submesh_oct_m::dsm_integrate | ( | class(mesh_t), intent(in) | mesh, |
type(submesh_t), intent(in) | sm, | ||
real(real64), dimension(:), intent(in), optional | ff, | ||
logical, intent(in), optional | reduce | ||
) |
Definition at line 1162 of file submesh.F90.
real(real64) function, public submesh_oct_m::dsm_integrate_frommesh | ( | type(mesh_t), intent(in) | mesh, |
type(submesh_t), intent(in) | sm, | ||
real(real64), dimension(:), intent(in), optional | ff, | ||
logical, intent(in), optional | reduce | ||
) |
Definition at line 1202 of file submesh.F90.
|
private |
Definition at line 1235 of file submesh.F90.
subroutine, public submesh_oct_m::dsubmesh_copy_from_mesh | ( | type(submesh_t), intent(in) | this, |
real(real64), dimension(:), intent(in) | phi, | ||
real(real64), dimension(:), intent(inout) | sphi, | ||
logical, intent(in), optional | conjugate | ||
) |
Definition at line 1283 of file submesh.F90.
subroutine, public submesh_oct_m::dsubmesh_copy_from_mesh_batch | ( | type(submesh_t), intent(in) | this, |
class(batch_t), intent(in) | psib, | ||
real(real64), dimension(:,:), intent(inout) | spsi | ||
) |
Definition at line 1312 of file submesh.F90.
real(real64) function, public submesh_oct_m::dsm_nrm2 | ( | type(submesh_t), intent(in) | sm, |
real(real64), dimension(:), intent(in) | ff, | ||
logical, intent(in), optional | reduce | ||
) |
this function returns the the norm of a vector
Definition at line 1358 of file submesh.F90.
|
private |
Definition at line 1395 of file submesh.F90.
subroutine, public submesh_oct_m::dsubmesh_batch_add_matrix | ( | type(submesh_t), intent(in) | this, |
real(real64), dimension(:, :), intent(in) | factor, | ||
class(batch_t), intent(in) | ss, | ||
class(batch_t), intent(inout) | mm | ||
) |
The following functions takes a batch of functions defined in submesh (ss) and adds all of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array 'factor'.
Definition at line 1440 of file submesh.F90.
subroutine, public submesh_oct_m::dsubmesh_batch_add | ( | type(submesh_t), intent(in) | this, |
class(batch_t), intent(in) | ss, | ||
class(batch_t), intent(inout) | mm | ||
) |
The following function takes a batch of functions defined in submesh (ss) and adds one of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array factor.
Definition at line 1533 of file submesh.F90.
subroutine, public submesh_oct_m::dsubmesh_batch_dotp_matrix | ( | type(submesh_t), intent(in) | this, |
class(batch_t), intent(in) | mm, | ||
class(batch_t), intent(in) | ss, | ||
real(real64), dimension(:, :), intent(inout), contiguous | dot, | ||
logical, intent(in), optional | reduce | ||
) |
Definition at line 1585 of file submesh.F90.
complex(real64) function, public submesh_oct_m::zsm_integrate | ( | class(mesh_t), intent(in) | mesh, |
type(submesh_t), intent(in) | sm, | ||
complex(real64), dimension(:), intent(in), optional | ff, | ||
logical, intent(in), optional | reduce | ||
) |
Definition at line 1744 of file submesh.F90.
complex(real64) function, public submesh_oct_m::zsm_integrate_frommesh | ( | type(mesh_t), intent(in) | mesh, |
type(submesh_t), intent(in) | sm, | ||
complex(real64), dimension(:), intent(in), optional | ff, | ||
logical, intent(in), optional | reduce | ||
) |
Definition at line 1784 of file submesh.F90.
|
private |
Definition at line 1817 of file submesh.F90.
subroutine, public submesh_oct_m::zsubmesh_copy_from_mesh | ( | type(submesh_t), intent(in) | this, |
complex(real64), dimension(:), intent(in) | phi, | ||
complex(real64), dimension(:), intent(inout) | sphi, | ||
logical, intent(in), optional | conjugate | ||
) |
Definition at line 1865 of file submesh.F90.
subroutine, public submesh_oct_m::zsubmesh_copy_from_mesh_batch | ( | type(submesh_t), intent(in) | this, |
class(batch_t), intent(in) | psib, | ||
complex(real64), dimension(:,:), intent(inout) | spsi | ||
) |
Definition at line 1894 of file submesh.F90.
real(real64) function, public submesh_oct_m::zsm_nrm2 | ( | type(submesh_t), intent(in) | sm, |
complex(real64), dimension(:), intent(in) | ff, | ||
logical, intent(in), optional | reduce | ||
) |
this function returns the the norm of a vector
Definition at line 1940 of file submesh.F90.
|
private |
Definition at line 1977 of file submesh.F90.
subroutine, public submesh_oct_m::zsubmesh_batch_add_matrix | ( | type(submesh_t), intent(in) | this, |
complex(real64), dimension(:, :), intent(in) | factor, | ||
class(batch_t), intent(in) | ss, | ||
class(batch_t), intent(inout) | mm | ||
) |
The following functions takes a batch of functions defined in submesh (ss) and adds all of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array 'factor'.
Definition at line 2022 of file submesh.F90.
subroutine, public submesh_oct_m::zsubmesh_batch_add | ( | type(submesh_t), intent(in) | this, |
class(batch_t), intent(in) | ss, | ||
class(batch_t), intent(inout) | mm | ||
) |
The following function takes a batch of functions defined in submesh (ss) and adds one of them to each of the mesh functions in other batch (mm). Each one is multiplied by a factor given by the array factor.
Definition at line 2115 of file submesh.F90.
subroutine, public submesh_oct_m::zsubmesh_batch_dotp_matrix | ( | type(submesh_t), intent(in) | this, |
class(batch_t), intent(in) | mm, | ||
class(batch_t), intent(in) | ss, | ||
complex(real64), dimension(:, :), intent(inout), contiguous | dot, | ||
logical, intent(in), optional | reduce | ||
) |
Definition at line 2167 of file submesh.F90.