![]() |
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.