(git:374b731)
Loading...
Searching...
No Matches
pw_methods.F File Reference

Go to the source code of this file.

Data Types

interface  pw_methods::pw_zero
 
interface  pw_methods::pw_scale
 
interface  pw_methods::pw_write
 
interface  pw_methods::pw_integrate_function
 
interface  pw_methods::pw_set
 
interface  pw_methods::pw_copy
 
interface  pw_methods::pw_axpy
 
interface  pw_methods::pw_multiply
 
interface  pw_methods::pw_multiply_with
 
interface  pw_methods::pw_integral_ab
 
interface  pw_methods::pw_integral_a2b
 
interface  pw_methods::pw_gather
 
interface  pw_methods::pw_scatter
 
interface  pw_methods::pw_copy_to_array
 
interface  pw_methods::pw_copy_from_array
 
interface  pw_methods::pw_transfer
 

Modules

module  pw_methods
 

Functions/Subroutines

subroutine, public pw_methods::pw_gauss_damp (pw, omega)
 Multiply all data points with a Gaussian damping factor Needed for longrange Coulomb potential V(\vec r)=erf(omega*r)/r V(\vec g)=\frac{4*\pi}{g**2}*exp(-g**2/omega**2)
 
subroutine, public pw_methods::pw_log_deriv_gauss (pw, omega)
 Multiply all data points with the logarithmic derivative of a Gaussian.
 
subroutine, public pw_methods::pw_compl_gauss_damp (pw, omega)
 Multiply all data points with a Gaussian damping factor Needed for longrange Coulomb potential V(\vec r)=erf(omega*r)/r V(\vec g)=\frac{4*\pi}{g**2}*exp(-g**2/omega**2)
 
subroutine, public pw_methods::pw_log_deriv_compl_gauss (pw, omega)
 Multiply all data points with the logarithmic derivative of the complementary Gaussian damping factor.
 
subroutine, public pw_methods::pw_gauss_damp_mix (pw, omega, scale_coul, scale_long)
 Multiply all data points with a Gaussian damping factor and mixes it with the original function Needed for mixed longrange/Coulomb potential V(\vec r)=(a+b*erf(omega*r))/r V(\vec g)=\frac{4*\pi}{g**2}*(a+b*exp(-g**2/omega**2))
 
subroutine, public pw_methods::pw_log_deriv_mix_cl (pw, omega, scale_coul, scale_long)
 Multiply all data points with the logarithmic derivative of the mixed longrange/Coulomb potential Needed for mixed longrange/Coulomb potential.
 
subroutine, public pw_methods::pw_truncated (pw, rcutoff)
 Multiply all data points with a complementary cosine Needed for truncated Coulomb potential V(\vec r)=1/r if r<rc, 0 else V(\vec g)=\frac{4*\pi}{g**2}*(1-cos(g*rc))
 
subroutine, public pw_methods::pw_log_deriv_trunc (pw, rcutoff)
 Multiply all data points with the logarithmic derivative of the complementary cosine This function is needed for virials using truncated Coulomb potentials.
 
subroutine, public pw_methods::pw_derive (pw, n)
 Calculate the derivative of a plane wave vector.
 
subroutine, public pw_methods::pw_laplace (pw)
 Calculate the Laplacian of a plane wave vector.
 
subroutine, public pw_methods::pw_dr2 (pw, pwdr2, i, j)
 Calculate the tensorial 2nd derivative of a plane wave vector.
 
subroutine, public pw_methods::pw_dr2_gg (pw, pwdr2_gg, i, j)
 Calculate the tensorial 2nd derivative of a plane wave vector and divides by |G|^2. pwdr2_gg(G=0) is put to zero.
 
subroutine, public pw_methods::pw_smoothing (pw, ecut, sigma)
 Multiplies a G-space function with a smoothing factor of the form f(|G|) = exp((ecut - G^2)/sigma)/(1+exp((ecut - G^2)/sigma))
 
subroutine, public pw_methods::pw_structure_factor (sf, r)
 Calculate the structure factor for point r.
 

Variables

integer, parameter, public pw_methods::do_accurate_sum = 0
 
integer, parameter, public pw_methods::do_standard_sum = 1