ppmd.coulomb.ewald module¶
Methods for Coulombic forces and energies with the classical Ewald method.
-
class
ppmd.coulomb.ewald.
EwaldOrthoganal
(domain, eps=1e-06, real_cutoff=None, alpha=None, recip_cutoff=None, recip_nmax=None, shared_memory=False, shell_width=None, work_ratio=1.0, force_unit=1.0, energy_unit=1.0)¶ Bases:
object
-
alpha
¶ alpha
-
evaluate_contributions
(positions, charges)¶
-
evaluate_self_interactions
(charges, energy=None, potential=None)¶
-
extract_forces_energy_real
(positions, charges, forces, energy=None, potential=None)¶
-
extract_forces_energy_reciprocal
(positions, charges, forces, energy, potential=None)¶
-
static
internal_to_ev
()¶ Multiply by this constant to convert from internal units to eV.
-
kmax
¶ Number of reciporcal vectors taken in each direction.
-
real_cutoff
¶ Real space cutoff
-
recip_cutoff
¶ Reciprocal space cutoff.
-
recip_vectors
¶ Reciprocal lattice vectors
-
shell_width
¶ Real space padding width
-
test_evaluate_python_lr
(positions, charges)¶
-
test_evaluate_python_self
(charges)¶
-
test_evaluate_python_sr
(positions, charges)¶
-
-
ppmd.coulomb.ewald.
EwaldOrthogonal
¶ alias of
ppmd.coulomb.ewald.EwaldOrthoganal
-
ppmd.coulomb.ewald.
compute_alpha
(N, L, ratio)¶ Compute an optimal alpha to give O(N^{3/2}) scaling for ewald summation. tau_r: Real space time cost per pair of particles (time cost per real space kernel executin) tau_f: Time for reciprocal component per particle per reciprocal vector. :param N: Number of particles :param L: Domain extent (assumes cubic) :param ratio: ratio: tau_r/tau_f. :return: optimal alpha
-
ppmd.coulomb.ewald.
compute_rc_nc_cutoff
(alpha, L, eps=1e-06)¶