41#if defined(HAVE_OPENMP)
73 class(batch_t),
allocatable :: p
83 class(mesh_t),
intent(in) :: mesh
84 class(batch_t),
intent(in) :: aa
85 real(real64),
contiguous,
intent(out) :: nrm2(:)
86 logical,
optional,
intent(in) :: reduce
97 nrm2(1:aa%nst) = nrm2(1:aa%nst)**2
98 call mesh%allreduce(nrm2, dim = aa%nst)
99 nrm2(1:aa%nst) =
sqrt(nrm2(1:aa%nst))
108#include "mesh_batch_inc.F90"
111#include "complex.F90"
112#include "mesh_batch_inc.F90"
118#include "mesh_batch_inc.F90"
121#include "complex.F90"
122#include "mesh_batch_inc.F90"
129#include "mesh_batch_inc.F90"
132#include "complex.F90"
133#include "mesh_batch_inc.F90"
140#include "mesh_batch_inc.F90"
143#include "complex.F90"
144#include "mesh_batch_inc.F90"
151#include "mesh_batch_inc.F90"
154#include "complex.F90"
155#include "mesh_batch_inc.F90"
162#include "mesh_batch_inc.F90"
165#include "complex.F90"
166#include "mesh_batch_inc.F90"
double sqrt(double __x) __attribute__((__nothrow__
This module implements batches of mesh functions.
This module implements common operations on batches of mesh functions.
This module contains interfaces for BLAS routines You should not use these routines directly....
This module is intended to contain "only mathematical" functions and procedures.
This module defines functions over batches of mesh functions.
subroutine, public dmesh_batch_dotp_matrix(mesh, aa, bb, dot, reduce)
Calculate the overlap matrix of two batches.
subroutine, public dmesh_batch_codensity(mesh, aa, psi, rho)
calculate the co-densities
subroutine, public dmesh_batch_dotp_self(mesh, aa, dot, reduce)
calculate the overlap matrix of a batch with itself
subroutine, public mesh_batch_nrm2(mesh, aa, nrm2, reduce)
Calculate the norms (norm2, not the square!) of a batch of mesh functions.
subroutine, public zmesh_batch_exchange_points(mesh, aa, forward_map, backward_map)
This functions exchanges points of a mesh according to a certain map. Two possible maps can be given....
subroutine, public zmesh_batch_dotp_vector(mesh, aa, bb, dot, reduce, cproduct)
A simple switch between specialized kernels and generic kernels.
subroutine zpriv_mesh_batch_nrm2(mesh, aa, nrm2)
This function should not be called directly, but through mesh_batch_nrm2.
subroutine, public zmesh_batch_dotp_matrix(mesh, aa, bb, dot, reduce)
Calculate the overlap matrix of two batches.
subroutine, public zmesh_batch_normalize(mesh, psib, norm)
Normalize a batch.
subroutine, public dmesh_batch_orthogonalization(mesh, nst, psib, phib, normalize, overlap, norm, gs_scheme, full_batch)
Orthonormalizes states of phib to the orbitals of nst batches of psi.
subroutine, public zmesh_batch_orthogonalization(mesh, nst, psib, phib, normalize, overlap, norm, gs_scheme, full_batch)
Orthonormalizes states of phib to the orbitals of nst batches of psi.
subroutine, public dmesh_batch_exchange_points(mesh, aa, forward_map, backward_map)
This functions exchanges points of a mesh according to a certain map. Two possible maps can be given....
subroutine, public zmesh_batch_codensity(mesh, aa, psi, rho)
calculate the co-densities
subroutine, public zmesh_batch_mf_dotp(mesh, aa, psi, dot, reduce, nst)
calculate the dot products between a batch and a vector of mesh functions
subroutine, public dmesh_batch_mf_dotp(mesh, aa, psi, dot, reduce, nst)
calculate the dot products between a batch and a vector of mesh functions
subroutine dpriv_mesh_batch_nrm2(mesh, aa, nrm2)
This function should not be called directly, but through mesh_batch_nrm2.
subroutine, public zmesh_batch_dotp_self(mesh, aa, dot, reduce)
calculate the overlap matrix of a batch with itself
subroutine, public dmesh_batch_normalize(mesh, psib, norm)
Normalize a batch.
subroutine, public dmesh_batch_dotp_vector(mesh, aa, bb, dot, reduce, cproduct)
A simple switch between specialized kernels and generic kernels.
This module defines various routines, operating on mesh functions.
This module defines the meshes, which are used in Octopus.
This module handles the communicators for the various parallelization strategies.
Some general things and nomenclature:
type(type_t), parameter, public type_float