CP2K 2.4 (Revision 12889)
Functions | Variables

spme Namespace Reference

Calculate the electrostatic energy by the Smooth Particle Ewald method. More...

Functions

subroutine, public spme_evaluate (ewald_env, ewald_pw, box, particle_set, fg_coulomb, vg_coulomb, pv_g, shell_particle_set, core_particle_set, fgshell_coulomb, fgcore_coulomb, use_virial, charges, atprop, error)
subroutine, public get_patch (part, box, green, npts, p, rhos, is_core, is_shell, unit_charge, charges)
 Calculates local density in a small box.
subroutine spme_get_patch (rhos, n, delta, q, coeff)
 Calculates SPME charge assignment.
subroutine get_delta (box, r, npts, delta, n)

Variables

CHARACTER(len=*), parameter,
private 
moduleN = 'spme'

Detailed Description

Calculate the electrostatic energy by the Smooth Particle Ewald method.

History
JGH (03-May-2001) : first correctly working version
Author:
JGH (21-Mar-2001)

Function Documentation

subroutine spme::get_delta ( TYPE(cell_type),pointer  box,
REAL(KIND=dp),dimension(3),intent(in)  r,
INTEGER,dimension(3),intent(in)  npts,
REAL(KIND=dp),dimension(3),intent(out)  delta,
INTEGER,intent(in)  n 
) [private]

Definition at line 547 of file spme.f90.

References kinds::dp, and REAL().

Referenced by get_patch().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public spme::get_patch ( TYPE(particle_type),dimension(:),intent(in)  part,
TYPE(cell_type),pointer  box,
TYPE(greens_fn_type),pointer  green,
INTEGER,dimension(3),intent(in)  npts,
INTEGER,intent(in)  p,
REAL(KIND=dp),dimension(:, :, :),intent(out)  rhos,
LOGICAL,intent(in)  is_core,
LOGICAL,intent(in)  is_shell,
LOGICAL,intent(in)  unit_charge,
REAL(KIND=dp),dimension(:),optional,pointer  charges 
)

Calculates local density in a small box.

History
none
Author:
JGH (21-Mar-2001)

Definition at line 425 of file spme.f90.

References atomic_kind_types::get_atomic_kind(), get_delta(), spme_get_patch(), and termination::stop_program().

Referenced by qs_dftb_coulomb::dftb_spme_evaluate(), and spme_evaluate().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public spme::spme_evaluate ( TYPE(ewald_environment_type),pointer  ewald_env,
TYPE(ewald_pw_type),pointer  ewald_pw,
TYPE(cell_type),pointer  box,
TYPE(particle_type),dimension(:),intent(in)  particle_set,
REAL(KIND=dp),dimension(:, :),intent(out)  fg_coulomb,
REAL(KIND=dp),intent(out)  vg_coulomb,
REAL(KIND=dp),dimension(:, :),intent(out)  pv_g,
TYPE(particle_type),dimension(:),optional,pointer  shell_particle_set,
TYPE(particle_type),dimension(:),optional,pointer  core_particle_set,
REAL(KIND=dp),dimension(:, :),intent(out),optional  fgshell_coulomb,
REAL(KIND=dp),dimension(:, :),intent(out),optional  fgcore_coulomb,
LOGICAL,intent(in)  use_virial,
REAL(KIND=dp),dimension(:),optional,pointer  charges,
TYPE(atprop_type),pointer  atprop,
TYPE(cp_error_type),intent(inout)  error 
)
subroutine spme::spme_get_patch ( REAL(KIND=dp),dimension(:, :, :),intent(out)  rhos,
INTEGER,intent(in)  n,
REAL(KIND=dp),dimension(3),intent(in)  delta,
REAL(KIND=dp),intent(in)  q,
REAL(KIND=dp),dimension(-(n-1):n-1, 0:n-1),intent(in)  coeff 
) [private]

Calculates SPME charge assignment.

History
DG (29-Mar-2001) : code implemented
Author:
JGH (22-Mar-2001)

Definition at line 483 of file spme.f90.

References termination::stop_program().

Referenced by get_patch().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

CHARACTER(len=*),parameter,private spme::moduleN = 'spme'

Definition at line 65 of file spme.f90.