Octopus
cube_function_oct_m Module Reference

Data Types

type  cube_function_t
 

Functions/Subroutines

subroutine, public dcube_function_alloc_rs (cube, cf, in_device, force_alloc)
 Allocates locally the real space grid, if PFFT library is not used. Otherwise, it assigns the PFFT real space grid to the cube real space grid, via pointer. More...
 
subroutine, public dcube_function_free_rs (cube, cf)
 Deallocates the real space grid. More...
 
subroutine, public dcube_function_allgather (cube, cf, cf_local, order, gatherfs)
 
subroutine, public dmesh_to_cube (mesh, mf, cube, cf)
 The next two subroutines convert a function between the normal mesh and the cube. More...
 
subroutine, public dcube_to_mesh (cube, cf, mesh, mf)
 
subroutine, public dmesh_to_cube_parallel (mesh, mf, cube, cf, map)
 The next two subroutines convert a function between the normal mesh and the cube in parallel. More...
 
subroutine, public dcube_to_mesh_parallel (cube, cf, mesh, mf, map)
 
real(real64) function, public dcube_function_surface_average (cube, cf)
 This function calculates the surface average of any function. More...
 
subroutine, public dsubmesh_to_cube (sm, mf, cube, cf)
 The next two subroutines convert a function between a submesh and the cube. More...
 
subroutine, public dcube_to_submesh (cube, cf, sm, mf)
 
subroutine, public zcube_function_alloc_rs (cube, cf, in_device, force_alloc)
 Allocates locally the real space grid, if PFFT library is not used. Otherwise, it assigns the PFFT real space grid to the cube real space grid, via pointer. More...
 
subroutine, public zcube_function_free_rs (cube, cf)
 Deallocates the real space grid. More...
 
subroutine, public zcube_function_allgather (cube, cf, cf_local, order, gatherfs)
 
subroutine, public zmesh_to_cube (mesh, mf, cube, cf)
 The next two subroutines convert a function between the normal mesh and the cube. More...
 
subroutine, public zcube_to_mesh (cube, cf, mesh, mf)
 
subroutine, public zmesh_to_cube_parallel (mesh, mf, cube, cf, map)
 The next two subroutines convert a function between the normal mesh and the cube in parallel. More...
 
subroutine, public zcube_to_mesh_parallel (cube, cf, mesh, mf, map)
 
complex(real64) function, public zcube_function_surface_average (cube, cf)
 This function calculates the surface average of any function. More...
 
subroutine, public zsubmesh_to_cube (sm, mf, cube, cf)
 The next two subroutines convert a function between a submesh and the cube. More...
 
subroutine, public zcube_to_submesh (cube, cf, sm, mf)
 

Function/Subroutine Documentation

◆ dcube_function_alloc_rs()

subroutine, public cube_function_oct_m::dcube_function_alloc_rs ( type(cube_t), intent(in), target  cube,
type(cube_function_t), intent(inout)  cf,
logical, intent(in), optional  in_device,
logical, intent(in), optional  force_alloc 
)

Allocates locally the real space grid, if PFFT library is not used. Otherwise, it assigns the PFFT real space grid to the cube real space grid, via pointer.

Definition at line 247 of file cube_function.F90.

◆ dcube_function_free_rs()

subroutine, public cube_function_oct_m::dcube_function_free_rs ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

Deallocates the real space grid.

Definition at line 298 of file cube_function.F90.

◆ dcube_function_allgather()

subroutine, public cube_function_oct_m::dcube_function_allgather ( type(cube_t), intent(in)  cube,
real(real64), dimension(:,:,:), intent(out)  cf,
real(real64), dimension(:,:,:), intent(in), contiguous  cf_local,
integer, dimension(3), intent(in), optional  order,
logical, intent(in), optional  gatherfs 
)

Definition at line 338 of file cube_function.F90.

◆ dmesh_to_cube()

subroutine, public cube_function_oct_m::dmesh_to_cube ( class(mesh_t), intent(in)  mesh,
real(real64), dimension(:), intent(in), target, contiguous  mf,
type(cube_t), intent(in), target  cube,
type(cube_function_t), intent(inout)  cf 
)

The next two subroutines convert a function between the normal mesh and the cube.

Note that the function in the mesh should be defined globally, not just in a partition (when running in parallel in real-space domains).

Parameters
[in]mffunction defined on the mesh, meshnp points

Definition at line 437 of file cube_function.F90.

◆ dcube_to_mesh()

subroutine, public cube_function_oct_m::dcube_to_mesh ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(in)  cf,
class(mesh_t), intent(in)  mesh,
real(real64), dimension(:), intent(out), target, contiguous  mf 
)
Parameters
[out]mffunction defined on the mesh, meshnp points

Definition at line 637 of file cube_function.F90.

◆ dmesh_to_cube_parallel()

subroutine, public cube_function_oct_m::dmesh_to_cube_parallel ( class(mesh_t), intent(in)  mesh,
real(real64), dimension(:), intent(in), target  mf,
type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf,
type(mesh_cube_parallel_map_t), intent(in)  map 
)

The next two subroutines convert a function between the normal mesh and the cube in parallel.

Parameters
[in]mfmf(meshnp)

Definition at line 714 of file cube_function.F90.

◆ dcube_to_mesh_parallel()

subroutine, public cube_function_oct_m::dcube_to_mesh_parallel ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(in)  cf,
class(mesh_t), intent(in)  mesh,
real(real64), dimension(:), intent(out)  mf,
type(mesh_cube_parallel_map_t), intent(in)  map 
)
Parameters
[out]mfmf(meshnp)

Definition at line 805 of file cube_function.F90.

◆ dcube_function_surface_average()

real(real64) function, public cube_function_oct_m::dcube_function_surface_average ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(in)  cf 
)

This function calculates the surface average of any function.

Warning
Some more careful testing should be done on this.

Definition at line 880 of file cube_function.F90.

◆ dsubmesh_to_cube()

subroutine, public cube_function_oct_m::dsubmesh_to_cube ( type(submesh_t), intent(in)  sm,
real(real64), dimension(:), intent(in), target  mf,
type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

The next two subroutines convert a function between a submesh and the cube.

Parameters
[in]mffunction defined on the submesh.

Definition at line 928 of file cube_function.F90.

◆ dcube_to_submesh()

subroutine, public cube_function_oct_m::dcube_to_submesh ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(in)  cf,
type(submesh_t), intent(in)  sm,
real(real64), dimension(:), intent(out), target  mf 
)
Parameters
[out]mffunction defined on the submesh.

Definition at line 970 of file cube_function.F90.

◆ zcube_function_alloc_rs()

subroutine, public cube_function_oct_m::zcube_function_alloc_rs ( type(cube_t), intent(in), target  cube,
type(cube_function_t), intent(inout)  cf,
logical, intent(in), optional  in_device,
logical, intent(in), optional  force_alloc 
)

Allocates locally the real space grid, if PFFT library is not used. Otherwise, it assigns the PFFT real space grid to the cube real space grid, via pointer.

Definition at line 1083 of file cube_function.F90.

◆ zcube_function_free_rs()

subroutine, public cube_function_oct_m::zcube_function_free_rs ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

Deallocates the real space grid.

Definition at line 1134 of file cube_function.F90.

◆ zcube_function_allgather()

subroutine, public cube_function_oct_m::zcube_function_allgather ( type(cube_t), intent(in)  cube,
complex(real64), dimension(:,:,:), intent(out)  cf,
complex(real64), dimension(:,:,:), intent(in), contiguous  cf_local,
integer, dimension(3), intent(in), optional  order,
logical, intent(in), optional  gatherfs 
)

Definition at line 1174 of file cube_function.F90.

◆ zmesh_to_cube()

subroutine, public cube_function_oct_m::zmesh_to_cube ( class(mesh_t), intent(in)  mesh,
complex(real64), dimension(:), intent(in), target, contiguous  mf,
type(cube_t), intent(in), target  cube,
type(cube_function_t), intent(inout)  cf 
)

The next two subroutines convert a function between the normal mesh and the cube.

Note that the function in the mesh should be defined globally, not just in a partition (when running in parallel in real-space domains).

Parameters
[in]mffunction defined on the mesh, meshnp points

Definition at line 1273 of file cube_function.F90.

◆ zcube_to_mesh()

subroutine, public cube_function_oct_m::zcube_to_mesh ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(in)  cf,
class(mesh_t), intent(in)  mesh,
complex(real64), dimension(:), intent(out), target, contiguous  mf 
)
Parameters
[out]mffunction defined on the mesh, meshnp points

Definition at line 1473 of file cube_function.F90.

◆ zmesh_to_cube_parallel()

subroutine, public cube_function_oct_m::zmesh_to_cube_parallel ( class(mesh_t), intent(in)  mesh,
complex(real64), dimension(:), intent(in), target  mf,
type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf,
type(mesh_cube_parallel_map_t), intent(in)  map 
)

The next two subroutines convert a function between the normal mesh and the cube in parallel.

Parameters
[in]mfmf(meshnp)

Definition at line 1550 of file cube_function.F90.

◆ zcube_to_mesh_parallel()

subroutine, public cube_function_oct_m::zcube_to_mesh_parallel ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(in)  cf,
class(mesh_t), intent(in)  mesh,
complex(real64), dimension(:), intent(out)  mf,
type(mesh_cube_parallel_map_t), intent(in)  map 
)
Parameters
[out]mfmf(meshnp)

Definition at line 1641 of file cube_function.F90.

◆ zcube_function_surface_average()

complex(real64) function, public cube_function_oct_m::zcube_function_surface_average ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(in)  cf 
)

This function calculates the surface average of any function.

Warning
Some more careful testing should be done on this.

Definition at line 1716 of file cube_function.F90.

◆ zsubmesh_to_cube()

subroutine, public cube_function_oct_m::zsubmesh_to_cube ( type(submesh_t), intent(in)  sm,
complex(real64), dimension(:), intent(in), target  mf,
type(cube_t), intent(in)  cube,
type(cube_function_t), intent(inout)  cf 
)

The next two subroutines convert a function between a submesh and the cube.

Parameters
[in]mffunction defined on the submesh.

Definition at line 1764 of file cube_function.F90.

◆ zcube_to_submesh()

subroutine, public cube_function_oct_m::zcube_to_submesh ( type(cube_t), intent(in)  cube,
type(cube_function_t), intent(in)  cf,
type(submesh_t), intent(in)  sm,
complex(real64), dimension(:), intent(out), target  mf 
)
Parameters
[out]mffunction defined on the submesh.

Definition at line 1806 of file cube_function.F90.