![]() |
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 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 719 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end | ( | type(submesh_t), intent(inout) | this | ) |
Definition at line 737 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 761 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 778 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 821 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end_global | ( | type(submesh_t), intent(inout) | this | ) |
Definition at line 872 of file submesh.F90.
|
private |
Definition at line 887 of file submesh.F90.
|
private |
Definition at line 930 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 973 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 1008 of file submesh.F90.
subroutine, public submesh_oct_m::submesh_end_cube_map | ( | type(submesh_t), intent(inout) | sm | ) |
Definition at line 1047 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 1063 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 1167 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 1207 of file submesh.F90.
|
private |
Definition at line 1240 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 1288 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 1318 of file submesh.F90.
|
private |
Definition at line 1355 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 1400 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 1493 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 1545 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 1704 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 1744 of file submesh.F90.
|
private |
Definition at line 1777 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 1825 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 1855 of file submesh.F90.
|
private |
Definition at line 1892 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 1937 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 2030 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 2082 of file submesh.F90.