Coverage for gpaw/test/solvation/test_pbc.py: 100%
24 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-19 00:19 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-19 00:19 +0000
1import warnings
3import pytest
4from ase.build import molecule
6from gpaw.solvation import (EffectivePotentialCavity, LinearDielectric,
7 Power12Potential, SolvationGPAW)
8from gpaw.solvation.poisson import ADM12PoissonSolver
9from gpaw.utilities.adjust_cell import adjust_cell
11h = 0.3
12vac = 3.0
13u0 = 0.180
14epsinf = 80.0
15T = 298.15
16atomic_radii = {'H': 1.09}
19convergence = {
20 'energy': 0.05 / 8,
21 'density': 10.0,
22 'eigenstates': 10.0}
25@pytest.mark.old_gpaw_only
26def test_solvation_pbc():
27 atoms = molecule('H2O')
28 adjust_cell(atoms, vac, h)
29 atoms.pbc = True
31 with warnings.catch_warnings():
32 # Ignore production code warning for ADM12PoissonSolver
33 warnings.simplefilter('ignore')
34 psolver = ADM12PoissonSolver(eps=1e-7)
36 atoms.calc = SolvationGPAW(
37 mode='fd',
38 xc='LDA',
39 h=h,
40 convergence=convergence,
41 cavity=EffectivePotentialCavity(
42 effective_potential=Power12Potential(
43 atomic_radii=atomic_radii, u0=u0),
44 temperature=T),
45 dielectric=LinearDielectric(epsinf=epsinf),
46 poissonsolver=psolver)
47 atoms.get_potential_energy()
48 atoms.get_forces()