![]() |
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 (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) |
| 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 | ( | 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 226 of file submesh.F90.
|
private |
Definition at line 380 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 506 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 572 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 599 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 659 of file submesh.F90.
| subroutine, public submesh_oct_m::submesh_end | ( | type(submesh_t), intent(inout) | this | ) |
Definition at line 677 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 701 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 744 of file submesh.F90.
| subroutine, public submesh_oct_m::submesh_end_global | ( | type(submesh_t), intent(inout) | this | ) |
Definition at line 795 of file submesh.F90.
|
private |
Definition at line 810 of file submesh.F90.
|
private |
Definition at line 853 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 896 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 931 of file submesh.F90.
| subroutine, public submesh_oct_m::submesh_end_cube_map | ( | type(submesh_t), intent(inout) | sm | ) |
Definition at line 970 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 986 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 1090 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 1130 of file submesh.F90.
|
private |
Definition at line 1163 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 1211 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 1241 of file submesh.F90.
|
private |
Definition at line 1278 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 1323 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 1416 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 1468 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 1627 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 1667 of file submesh.F90.
|
private |
Definition at line 1700 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 1748 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 1778 of file submesh.F90.
|
private |
Definition at line 1815 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 1860 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 1953 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 2005 of file submesh.F90.