![]() |
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) |
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) |
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 212 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 226 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 279 of file submesh.F90.
|
private |
Definition at line 438 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 564 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 630 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 657 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 716 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end | ( | type(submesh_t), intent(inout) | this | ) |
Definition at line 734 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 758 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 775 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 818 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end_global | ( | type(submesh_t), intent(inout) | this | ) |
Definition at line 869 of file submesh.F90.
|
private |
Definition at line 884 of file submesh.F90.
|
private |
Definition at line 927 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 970 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 1005 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end_cube_map | ( | type(submesh_t), intent(inout) | sm | ) |
Definition at line 1044 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 1060 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 1164 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 1204 of file submesh.F90.
|
private |
Definition at line 1237 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 1285 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 1315 of file submesh.F90.
|
private |
Definition at line 1352 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 1397 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 1490 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 1542 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 1701 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 1741 of file submesh.F90.
|
private |
Definition at line 1774 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 1822 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 1852 of file submesh.F90.
|
private |
Definition at line 1889 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 1934 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 2027 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 2079 of file submesh.F90.