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)
 Convert a function from the mesh to the cube. More...
 
subroutine, public dcube_to_mesh (cube, cf, mesh, mf)
 Convert a function from the cube to the mesh. More...
 
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)
 Convert a function from the mesh to the cube. More...
 
subroutine, public zcube_to_mesh (cube, cf, mesh, mf)
 Convert a function from the cube to the mesh. More...
 
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 248 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 299 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 339 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 
)

Convert a function from the mesh to the cube.

Parameters
[in]mffunction defined on the mesh, meshnp points (local part)

Definition at line 435 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 
)

Convert a function from the cube to the mesh.

Parameters
[in]cfcube function
[out]mffunction defined on the mesh, meshnp points (local part)

Definition at line 636 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 713 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 804 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 879 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 927 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 969 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 1082 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 1133 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 1173 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 
)

Convert a function from the mesh to the cube.

Parameters
[in]mffunction defined on the mesh, meshnp points (local part)

Definition at line 1269 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 
)

Convert a function from the cube to the mesh.

Parameters
[in]cfcube function
[out]mffunction defined on the mesh, meshnp points (local part)

Definition at line 1470 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 1547 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 1638 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 1713 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 1761 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 1803 of file cube_function.F90.