From 2a50ae5844365a0255ad65a5013dffe124a0885e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Wed, 25 Sep 2019 13:53:11 +0200 Subject: [PATCH 1/4] Remove unused imports and wildcard imports For wildcard imports, use the tuple import syntax (PEP 328). Pylint rules: W0401,W0611,W0614 --- maintainer/benchmarks/lj.py | 1 - maintainer/benchmarks/p3m.py | 2 - maintainer/gh_post_docs_warnings.py | 1 - maintainer/git2changelog.py | 1 - src/config/featuredefs.py | 1 - src/config/gen_sampleconfig.py | 2 - src/python/espressomd/checkpointing.py | 1 - src/python/espressomd/constraints.py | 1 - src/python/espressomd/ekboundaries.py | 2 +- src/python/object_in_fluid/__init__.py | 41 ++++++------------- src/python/object_in_fluid/oif_classes.py | 13 +++--- src/python/object_in_fluid/oif_utils.py | 2 - testsuite/python/accumulator.py | 2 +- testsuite/python/constant_pH.py | 2 +- testsuite/python/coulomb_cloud_wall.py | 1 - testsuite/python/coulomb_mixed_periodicity.py | 1 - .../python/data/gen_coulomb_2d_ref_data.py | 29 +++++++------ testsuite/python/electrostaticInteractions.py | 2 +- testsuite/python/h5md.py | 6 +-- testsuite/python/interactions_bond_angle.py | 1 - testsuite/python/interactions_dihedral.py | 1 - testsuite/python/lb.py | 1 - testsuite/python/lb_stokes_sphere.py | 2 +- .../python/mass-and-rinertia_per_particle.py | 1 - testsuite/python/npt.py | 1 - testsuite/python/observable_cylindricalLB.py | 1 - testsuite/python/polymer.py | 2 +- testsuite/python/reaction_ensemble.py | 2 +- testsuite/python/rotate_system.py | 2 +- testsuite/python/rotation_per_particle.py | 1 - testsuite/python/scafacos_dipoles_1d_2d.py | 1 - .../python/script_interface_object_params.py | 2 - testsuite/python/stress.py | 2 +- testsuite/python/test_checkpoint.py | 1 - testsuite/python/time_series.py | 2 +- testsuite/python/unittest_decorators.py | 3 +- testsuite/python/virtual_sites_tracers.py | 1 - .../python/virtual_sites_tracers_common.py | 1 - testsuite/python/virtual_sites_tracers_gpu.py | 1 - .../python/wang_landau_reaction_ensemble.py | 1 - testsuite/python/widom_insertion.py | 2 +- testsuite/python/writevtf.py | 3 +- .../samples/test_MDAnalysisIntegration.py | 2 +- .../tutorials/test_07-electrokinetics.py | 1 - .../scripts/tutorials/test_11-ferrofluid_2.py | 1 - .../scripts/tutorials/test_11-ferrofluid_3.py | 1 - 46 files changed, 51 insertions(+), 100 deletions(-) diff --git a/maintainer/benchmarks/lj.py b/maintainer/benchmarks/lj.py index 4a0352ddaf4..cf6cd8f7c1a 100644 --- a/maintainer/benchmarks/lj.py +++ b/maintainer/benchmarks/lj.py @@ -58,7 +58,6 @@ import espressomd -from espressomd import thermostat if args.visualizer: from espressomd import visualization from threading import Thread diff --git a/maintainer/benchmarks/p3m.py b/maintainer/benchmarks/p3m.py index 3a449aca38d..bfdfcd849b1 100644 --- a/maintainer/benchmarks/p3m.py +++ b/maintainer/benchmarks/p3m.py @@ -58,11 +58,9 @@ import espressomd -from espressomd import thermostat from espressomd import electrostatics if args.visualizer: from espressomd import visualization - from threading import Thread required_features = ["P3M", "LENNARD_JONES", "MASS"] espressomd.assert_features(required_features) diff --git a/maintainer/gh_post_docs_warnings.py b/maintainer/gh_post_docs_warnings.py index e6333fef995..26f0f4c307e 100755 --- a/maintainer/gh_post_docs_warnings.py +++ b/maintainer/gh_post_docs_warnings.py @@ -22,7 +22,6 @@ import os import sys import requests -import subprocess if not os.environ['CI_COMMIT_REF_NAME'].startswith('PR-'): exit(0) diff --git a/maintainer/git2changelog.py b/maintainer/git2changelog.py index ecb7bf9cb41..5570bd2ae76 100755 --- a/maintainer/git2changelog.py +++ b/maintainer/git2changelog.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . # -import string import re import os diff --git a/src/config/featuredefs.py b/src/config/featuredefs.py index 8be735f4985..66fc83f635a 100644 --- a/src/config/featuredefs.py +++ b/src/config/featuredefs.py @@ -20,7 +20,6 @@ # This module parses the feature definition file features.def # import fileinput -import string import re diff --git a/src/config/gen_sampleconfig.py b/src/config/gen_sampleconfig.py index 8fd1ad761b2..836d6a32cd1 100644 --- a/src/config/gen_sampleconfig.py +++ b/src/config/gen_sampleconfig.py @@ -20,8 +20,6 @@ # This script appends the sample list of features to the file # myconfig-sample.h. # -import time -import string import fileinput import inspect import sys diff --git a/src/python/espressomd/checkpointing.py b/src/python/espressomd/checkpointing.py index 7bca7286b2a..7ae44088e42 100644 --- a/src/python/espressomd/checkpointing.py +++ b/src/python/espressomd/checkpointing.py @@ -17,7 +17,6 @@ # along with this program. If not, see . # from collections import OrderedDict -import sys import inspect import os import re diff --git a/src/python/espressomd/constraints.py b/src/python/espressomd/constraints.py index 6d21186b775..8eabe9a57cd 100644 --- a/src/python/espressomd/constraints.py +++ b/src/python/espressomd/constraints.py @@ -15,7 +15,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . from .script_interface import ScriptObjectRegistry, ScriptInterfaceHelper, script_interface_register -from espressomd.utils import is_valid_type import numpy as np from itertools import product diff --git a/src/python/espressomd/ekboundaries.py b/src/python/espressomd/ekboundaries.py index 6ecdaf523b5..e27002ae058 100644 --- a/src/python/espressomd/ekboundaries.py +++ b/src/python/espressomd/ekboundaries.py @@ -14,7 +14,7 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from .script_interface import ScriptInterfaceHelper, script_interface_register +from .script_interface import script_interface_register from .__init__ import has_features import espressomd.lbboundaries diff --git a/src/python/object_in_fluid/__init__.py b/src/python/object_in_fluid/__init__.py index 41ff506b070..eb5b6cf18d3 100644 --- a/src/python/object_in_fluid/__init__.py +++ b/src/python/object_in_fluid/__init__.py @@ -14,32 +14,15 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from .oif_classes import \ - FixedPoint, \ - PartPoint, \ - Edge, \ - Triangle, \ - Angle, \ - ThreeNeighbors, \ - Mesh, \ - OifCellType,\ - OifCell - -from .oif_utils import \ - custom_str, \ - get_triangle_normal, \ - norm, \ - vec_distance, \ - area_triangle, \ - angle_btw_triangles, \ - discard_epsilon, \ - oif_neo_hookean_nonlin, \ - oif_calc_stretching_force, \ - oif_calc_linear_stretching_force, \ - oif_calc_bending_force, \ - oif_calc_local_area_force, \ - oif_calc_global_area_force, \ - oif_calc_volume_force, \ - output_vtk_rhomboid, \ - output_vtk_cylinder, \ - output_vtk_lines +from .oif_classes import ( + FixedPoint, PartPoint, Edge, Triangle, Angle, ThreeNeighbors, Mesh, + OifCellType, OifCell +) +from .oif_utils import ( + custom_str, get_triangle_normal, norm, vec_distance, area_triangle, + angle_btw_triangles, discard_epsilon, oif_neo_hookean_nonlin, + oif_calc_stretching_force, oif_calc_linear_stretching_force, + oif_calc_bending_force, oif_calc_local_area_force, + oif_calc_global_area_force, oif_calc_volume_force, output_vtk_rhomboid, + output_vtk_cylinder, output_vtk_lines +) diff --git a/src/python/object_in_fluid/oif_classes.py b/src/python/object_in_fluid/oif_classes.py index 0011882bf5d..56c3f992763 100644 --- a/src/python/object_in_fluid/oif_classes.py +++ b/src/python/object_in_fluid/oif_classes.py @@ -14,12 +14,15 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import espressomd import numpy as np -from .oif_utils import * -from espressomd.interactions import OifLocalForces -from espressomd.interactions import OifGlobalForces -from espressomd.interactions import OifOutDirection +import espressomd +from espressomd.interactions import OifLocalForces, OifGlobalForces, OifOutDirection +from .oif_utils import ( + large_number, small_epsilon, discard_epsilon, custom_str, norm, + vec_distance, get_triangle_normal, area_triangle, angle_btw_triangles, + oif_calc_stretching_force, oif_calc_bending_force, + oif_calc_local_area_force, oif_calc_global_area_force, oif_calc_volume_force +) class FixedPoint: diff --git a/src/python/object_in_fluid/oif_utils.py b/src/python/object_in_fluid/oif_utils.py index 70e7dc208bb..9c8f43a4c8a 100644 --- a/src/python/object_in_fluid/oif_utils.py +++ b/src/python/object_in_fluid/oif_utils.py @@ -16,8 +16,6 @@ # along with this program. If not, see . import numpy as np import math -from espressomd.shapes import Rhomboid -from espressomd.shapes import Cylinder small_epsilon = 0.000000001 large_number = 10000000.0 diff --git a/testsuite/python/accumulator.py b/testsuite/python/accumulator.py index 8c26a779535..1592843c4af 100644 --- a/testsuite/python/accumulator.py +++ b/testsuite/python/accumulator.py @@ -24,7 +24,7 @@ import sys import unittest as ut import numpy as np -import espressomd # pylint: disable=import-error +import espressomd import espressomd.observables import espressomd.accumulators diff --git a/testsuite/python/constant_pH.py b/testsuite/python/constant_pH.py index ee28ce3cc55..476bf0a1879 100644 --- a/testsuite/python/constant_pH.py +++ b/testsuite/python/constant_pH.py @@ -21,7 +21,7 @@ """ import unittest as ut import numpy as np -import espressomd # pylint: disable=import-error +import espressomd from espressomd import reaction_ensemble diff --git a/testsuite/python/coulomb_cloud_wall.py b/testsuite/python/coulomb_cloud_wall.py index c7f9ea3964e..3947a05ac97 100644 --- a/testsuite/python/coulomb_cloud_wall.py +++ b/testsuite/python/coulomb_cloud_wall.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . # -import os import unittest as ut import unittest_decorators as utx import numpy as np diff --git a/testsuite/python/coulomb_mixed_periodicity.py b/testsuite/python/coulomb_mixed_periodicity.py index b2baefdffde..dc6ea1b4361 100644 --- a/testsuite/python/coulomb_mixed_periodicity.py +++ b/testsuite/python/coulomb_mixed_periodicity.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . # -import os import unittest as ut import unittest_decorators as utx import numpy as np diff --git a/testsuite/python/data/gen_coulomb_2d_ref_data.py b/testsuite/python/data/gen_coulomb_2d_ref_data.py index bca6744383a..94b30c7f406 100644 --- a/testsuite/python/data/gen_coulomb_2d_ref_data.py +++ b/testsuite/python/data/gen_coulomb_2d_ref_data.py @@ -14,21 +14,19 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import sys -from scipy import * -import numpy.linalg as linalg +import scipy box_l = 10 -data = genfromtxt("coulomb_mixed_periodicity_system.data") +data = scipy.genfromtxt("coulomb_mixed_periodicity_system.data") n = data.shape[0] pos = data[:, 1:4] q = data[:, 4] -forces = zeros((n, 3)) +forces = scipy.zeros((n, 3)) energy = 0. -q1q2 = outer(q, q) +q1q2 = scipy.outer(q, q) images = 2000 for i in range(n): @@ -36,24 +34,25 @@ for y in range(-images, images + 1, 1): if x**2 + y**2 > images**2: continue - pos_diff = pos[i] - (pos + array((x, y, 0)) * box_l) - r = sqrt(sum(pos_diff**2, 1)) + pos_diff = pos[i] - (pos + scipy.array((x, y, 0)) * box_l) + r = scipy.sqrt(scipy.sum(pos_diff**2, 1)) r3 = r**3 qq = q1q2[i, :] tmp = qq / r - tmp[abs(tmp) == inf] = 0 - energy += sum(tmp) + tmp[abs(tmp) == scipy.inf] = 0 + energy += scipy.sum(tmp) pref = qq / r**3 pref = pref.reshape((n, 1)) - tmp = pos_diff * hstack((pref, pref, pref)) + tmp = pos_diff * scipy.hstack((pref, pref, pref)) - forces += nan_to_num(tmp) + forces += scipy.nan_to_num(tmp) -ids = arange(n) +ids = scipy.arange(n) forces *= -1 -savetxt("coulomb_mixed_periodicity_system.data", - hstack((ids.reshape((n, 1)), pos, q.reshape((n, 1)), forces))) +scipy.savetxt( + "coulomb_mixed_periodicity_system.data", + scipy.hstack((ids.reshape((n, 1)), pos, q.reshape((n, 1)), forces))) diff --git a/testsuite/python/electrostaticInteractions.py b/testsuite/python/electrostaticInteractions.py index 18c975fe490..10c5850e995 100644 --- a/testsuite/python/electrostaticInteractions.py +++ b/testsuite/python/electrostaticInteractions.py @@ -21,7 +21,7 @@ import numpy as np import espressomd -from espressomd import electrostatics +import espressomd.electrostatics @utx.skipIfMissingFeatures(["ELECTROSTATICS"]) diff --git a/testsuite/python/h5md.py b/testsuite/python/h5md.py index ccfb1d1f5a3..3cc5d669060 100644 --- a/testsuite/python/h5md.py +++ b/testsuite/python/h5md.py @@ -25,7 +25,7 @@ import unittest as ut import unittest_decorators as utx import numpy as np -import espressomd # pylint: disable=import-error +import espressomd import h5py # h5py has to be imported *after* espressomd (MPI) from espressomd.interactions import Virtual @@ -130,7 +130,7 @@ class H5mdTestOrdered(CommonTests): @classmethod def setUpClass(cls): write_ordered = True - from espressomd.io.writer import h5md # pylint: disable=import-error + from espressomd.io.writer import h5md h5 = h5md.H5md( filename="test.h5", write_pos=True, @@ -170,7 +170,7 @@ class H5mdTestUnordered(CommonTests): @classmethod def setUpClass(cls): write_ordered = False - from espressomd.io.writer import h5md # pylint: disable=import-error + from espressomd.io.writer import h5md h5 = h5md.H5md( filename="test.h5", write_pos=True, diff --git a/testsuite/python/interactions_bond_angle.py b/testsuite/python/interactions_bond_angle.py index 779cbfd073f..9d3ee46d148 100644 --- a/testsuite/python/interactions_bond_angle.py +++ b/testsuite/python/interactions_bond_angle.py @@ -19,7 +19,6 @@ import espressomd import numpy as np import unittest as ut -import unittest_decorators as utx class InteractionsAngleBondTest(ut.TestCase): diff --git a/testsuite/python/interactions_dihedral.py b/testsuite/python/interactions_dihedral.py index 3a5bbdb1f9c..be63824c2f5 100644 --- a/testsuite/python/interactions_dihedral.py +++ b/testsuite/python/interactions_dihedral.py @@ -17,7 +17,6 @@ # along with this program. If not, see . # import unittest as ut -import unittest_decorators as utx import numpy as np import espressomd diff --git a/testsuite/python/lb.py b/testsuite/python/lb.py index 24ac0953c78..1ef6a93cc6d 100644 --- a/testsuite/python/lb.py +++ b/testsuite/python/lb.py @@ -14,7 +14,6 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import itertools import unittest as ut import unittest_decorators as utx import numpy as np diff --git a/testsuite/python/lb_stokes_sphere.py b/testsuite/python/lb_stokes_sphere.py index 4cbc489819f..a138f10065c 100644 --- a/testsuite/python/lb_stokes_sphere.py +++ b/testsuite/python/lb_stokes_sphere.py @@ -27,7 +27,7 @@ # boundaries, where the velocity is fixed to $v. # import espressomd -from espressomd import lb, lbboundaries, shapes, has_features +from espressomd import lbboundaries, shapes import unittest as ut import unittest_decorators as utx import numpy as np diff --git a/testsuite/python/mass-and-rinertia_per_particle.py b/testsuite/python/mass-and-rinertia_per_particle.py index 9b2a41fd1c4..503a5965dd2 100644 --- a/testsuite/python/mass-and-rinertia_per_particle.py +++ b/testsuite/python/mass-and-rinertia_per_particle.py @@ -20,7 +20,6 @@ from numpy.random import uniform import espressomd import math -import random @utx.skipIfMissingFeatures(["MASS", "PARTICLE_ANISOTROPY", diff --git a/testsuite/python/npt.py b/testsuite/python/npt.py index e7ab860d524..da3201b6b1e 100644 --- a/testsuite/python/npt.py +++ b/testsuite/python/npt.py @@ -20,7 +20,6 @@ import unittest_decorators as utx import numpy as np import espressomd -from espressomd import thermostat import tests_common diff --git a/testsuite/python/observable_cylindricalLB.py b/testsuite/python/observable_cylindricalLB.py index fe3d449c63d..598c068296e 100644 --- a/testsuite/python/observable_cylindricalLB.py +++ b/testsuite/python/observable_cylindricalLB.py @@ -14,7 +14,6 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import sys import numpy as np import unittest as ut import unittest_decorators as utx diff --git a/testsuite/python/polymer.py b/testsuite/python/polymer.py index 876193d52de..74be0c5c1d5 100644 --- a/testsuite/python/polymer.py +++ b/testsuite/python/polymer.py @@ -18,7 +18,7 @@ import numpy as np import espressomd from espressomd import polymer -from espressomd.shapes import Wall +import espressomd.shapes class PolymerPositions(ut.TestCase): diff --git a/testsuite/python/reaction_ensemble.py b/testsuite/python/reaction_ensemble.py index 9c00bb7e394..22c328844eb 100644 --- a/testsuite/python/reaction_ensemble.py +++ b/testsuite/python/reaction_ensemble.py @@ -21,7 +21,7 @@ """ import unittest as ut import numpy as np -import espressomd # pylint: disable=import-error +import espressomd from espressomd import reaction_ensemble diff --git a/testsuite/python/rotate_system.py b/testsuite/python/rotate_system.py index a2905fddc4c..b861dce47f5 100644 --- a/testsuite/python/rotate_system.py +++ b/testsuite/python/rotate_system.py @@ -23,7 +23,7 @@ """ import unittest as ut import numpy as np -import espressomd # pylint: disable=import-error +import espressomd class RotateSystemTest(ut.TestCase): diff --git a/testsuite/python/rotation_per_particle.py b/testsuite/python/rotation_per_particle.py index fc92ee19796..28354bdef67 100644 --- a/testsuite/python/rotation_per_particle.py +++ b/testsuite/python/rotation_per_particle.py @@ -20,7 +20,6 @@ import unittest_decorators as utx import espressomd import numpy as np -from numpy import random @utx.skipIfMissingFeatures("ROTATION") diff --git a/testsuite/python/scafacos_dipoles_1d_2d.py b/testsuite/python/scafacos_dipoles_1d_2d.py index b9f363d7863..a719317a37a 100644 --- a/testsuite/python/scafacos_dipoles_1d_2d.py +++ b/testsuite/python/scafacos_dipoles_1d_2d.py @@ -20,7 +20,6 @@ # reference data from direct summation. In 2d, reference data from the mdlc # test case is used -import os import numpy as np import unittest as ut import unittest_decorators as utx diff --git a/testsuite/python/script_interface_object_params.py b/testsuite/python/script_interface_object_params.py index 76979446091..72e9413eb1c 100644 --- a/testsuite/python/script_interface_object_params.py +++ b/testsuite/python/script_interface_object_params.py @@ -16,8 +16,6 @@ # along with this program. If not, see . import unittest as ut -import espressomd - from espressomd.shapes import Wall, Sphere from espressomd.constraints import ShapeBasedConstraint diff --git a/testsuite/python/stress.py b/testsuite/python/stress.py index d44df94b1a0..0abab71463e 100644 --- a/testsuite/python/stress.py +++ b/testsuite/python/stress.py @@ -23,7 +23,7 @@ from espressomd.interactions import FeneBond from espressomd.observables import StressTensor -from tests_common import fene_force, fene_potential, fene_force2 +from tests_common import fene_force2 import numpy as np diff --git a/testsuite/python/test_checkpoint.py b/testsuite/python/test_checkpoint.py index 7d427fc072a..8d6a552aeb6 100644 --- a/testsuite/python/test_checkpoint.py +++ b/testsuite/python/test_checkpoint.py @@ -15,7 +15,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import subprocess import unittest as ut import unittest_decorators as utx import numpy as np diff --git a/testsuite/python/time_series.py b/testsuite/python/time_series.py index 88dcd900ed0..b7dfcf69a79 100644 --- a/testsuite/python/time_series.py +++ b/testsuite/python/time_series.py @@ -23,7 +23,7 @@ """ import unittest as ut import numpy as np -import espressomd # pylint: disable=import-error +import espressomd from espressomd.observables import ParticlePositions from espressomd.accumulators import TimeSeries diff --git a/testsuite/python/unittest_decorators.py b/testsuite/python/unittest_decorators.py index ea3c78f9ee9..fe1a85a05dd 100644 --- a/testsuite/python/unittest_decorators.py +++ b/testsuite/python/unittest_decorators.py @@ -16,8 +16,7 @@ # along with this program. If not, see . import sys import unittest -import espressomd # pylint: disable=import-error -from espressomd.utils import to_str +import espressomd def _id(x): diff --git a/testsuite/python/virtual_sites_tracers.py b/testsuite/python/virtual_sites_tracers.py index dde4bc3b26a..a353299f0ca 100644 --- a/testsuite/python/virtual_sites_tracers.py +++ b/testsuite/python/virtual_sites_tracers.py @@ -18,7 +18,6 @@ # import unittest as ut import unittest_decorators as utx -import espressomd from espressomd import lb from virtual_sites_tracers_common import VirtualSitesTracersCommon diff --git a/testsuite/python/virtual_sites_tracers_common.py b/testsuite/python/virtual_sites_tracers_common.py index 3ceedb2b399..d815b9d0b79 100644 --- a/testsuite/python/virtual_sites_tracers_common.py +++ b/testsuite/python/virtual_sites_tracers_common.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . # -import unittest_decorators as utx import espressomd from espressomd import lb, shapes, lbboundaries import numpy as np diff --git a/testsuite/python/virtual_sites_tracers_gpu.py b/testsuite/python/virtual_sites_tracers_gpu.py index 3b5b4d04519..7a6e04c92ed 100644 --- a/testsuite/python/virtual_sites_tracers_gpu.py +++ b/testsuite/python/virtual_sites_tracers_gpu.py @@ -18,7 +18,6 @@ # import unittest as ut import unittest_decorators as utx -import espressomd from espressomd import lb from virtual_sites_tracers_common import VirtualSitesTracersCommon diff --git a/testsuite/python/wang_landau_reaction_ensemble.py b/testsuite/python/wang_landau_reaction_ensemble.py index 6d04f8056ff..1a5c33a48ed 100644 --- a/testsuite/python/wang_landau_reaction_ensemble.py +++ b/testsuite/python/wang_landau_reaction_ensemble.py @@ -24,7 +24,6 @@ import espressomd from espressomd.interactions import HarmonicBond from espressomd import reaction_ensemble -from espressomd import system import numpy.testing as npt diff --git a/testsuite/python/widom_insertion.py b/testsuite/python/widom_insertion.py index df2f772febb..a5c75240ea3 100644 --- a/testsuite/python/widom_insertion.py +++ b/testsuite/python/widom_insertion.py @@ -22,7 +22,7 @@ import unittest as ut import unittest_decorators as utx import numpy as np -import espressomd # pylint: disable=import-error +import espressomd from espressomd import reaction_ensemble from tests_common import lj_potential diff --git a/testsuite/python/writevtf.py b/testsuite/python/writevtf.py index fed3473ad01..48305b59e49 100644 --- a/testsuite/python/writevtf.py +++ b/testsuite/python/writevtf.py @@ -20,11 +20,10 @@ """ Testmodule for the VTF file writing. """ -import os import sys import unittest as ut import numpy as np -import espressomd # pylint: disable=import-error +import espressomd from espressomd import interactions from espressomd.io.writer import vtf import tempfile diff --git a/testsuite/scripts/samples/test_MDAnalysisIntegration.py b/testsuite/scripts/samples/test_MDAnalysisIntegration.py index c9cef5e4eaf..37c1b2000ee 100644 --- a/testsuite/scripts/samples/test_MDAnalysisIntegration.py +++ b/testsuite/scripts/samples/test_MDAnalysisIntegration.py @@ -19,7 +19,7 @@ import importlib_wrapper try: - import MDAnalysis + import MDAnalysis # pylint: disable=unused-import except ImportError: sample = importlib_wrapper.MagicMock() skipIfMissingFeatures = ut.skip( diff --git a/testsuite/scripts/tutorials/test_07-electrokinetics.py b/testsuite/scripts/tutorials/test_07-electrokinetics.py index cc37b3f4240..a87abc6cc13 100644 --- a/testsuite/scripts/tutorials/test_07-electrokinetics.py +++ b/testsuite/scripts/tutorials/test_07-electrokinetics.py @@ -18,7 +18,6 @@ import unittest as ut import importlib_wrapper as iw import numpy as np -import sys # these tutorials need to be executed sequentially tutorial_simulation, skipIfMissingFeatures_simulation = iw.configure_and_import( diff --git a/testsuite/scripts/tutorials/test_11-ferrofluid_2.py b/testsuite/scripts/tutorials/test_11-ferrofluid_2.py index 184e4b3947b..f87569ea970 100644 --- a/testsuite/scripts/tutorials/test_11-ferrofluid_2.py +++ b/testsuite/scripts/tutorials/test_11-ferrofluid_2.py @@ -17,7 +17,6 @@ import unittest as ut import importlib_wrapper -import numpy as np tutorial, skipIfMissingFeatures = importlib_wrapper.configure_and_import( diff --git a/testsuite/scripts/tutorials/test_11-ferrofluid_3.py b/testsuite/scripts/tutorials/test_11-ferrofluid_3.py index 543e65224f0..27fad4455f6 100644 --- a/testsuite/scripts/tutorials/test_11-ferrofluid_3.py +++ b/testsuite/scripts/tutorials/test_11-ferrofluid_3.py @@ -17,7 +17,6 @@ import unittest as ut import importlib_wrapper -import numpy as np # value of a reference simulation (10000 equilibration steps; 200000 From f5e2b95ac045fdb9da12a8bcfb019d957a21cffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Wed, 25 Sep 2019 14:16:32 +0200 Subject: [PATCH 2/4] Refactor and cleanup code with pylint Remove unused variables/arguments and superfluous parentheses, merge chained calls to `isinstance()`, merge value checks via `in`, make optional argument values immutable, iterate dict keys directly, class methods take `cls` instead of `self` as first argument, use raw strings in regex patterns, etc. Pylint rules: R1701,R1714,C0201,C0202,C0325,C1801,W0102,W0612,W0613,W1401,W1505 --- maintainer/CI/dox_warnings.py | 12 ++--- maintainer/gh_post_style_patch.py | 2 +- maintainer/git2changelog.py | 6 +-- src/config/featuredefs.py | 4 +- src/python/espressomd/MDA_ESP/__init__.py | 10 ++-- src/python/espressomd/checkpointing.py | 1 - src/python/espressomd/io/writer/vtf.py | 4 +- src/python/object_in_fluid/oif_classes.py | 25 ++++------ src/python/object_in_fluid/oif_utils.py | 5 +- testsuite/python/analyze_distance.py | 2 +- testsuite/python/analyze_distribution.py | 8 ++- testsuite/python/analyze_mass_related.py | 9 ++-- testsuite/python/cluster_analysis.py | 4 +- testsuite/python/collision_detection.py | 17 +++---- testsuite/python/constant_pH.py | 5 +- testsuite/python/constraint_shape_based.py | 14 +++--- testsuite/python/domain_decomposition.py | 2 +- testsuite/python/dpd.py | 4 +- testsuite/python/drude.py | 3 +- testsuite/python/ek_charged_plate.py | 3 +- testsuite/python/ek_common.py | 13 ++--- testsuite/python/ek_eof_one_species_base.py | 11 ++-- testsuite/python/ek_fluctuations.py | 4 +- testsuite/python/exclusions.py | 2 +- testsuite/python/experimental_decorator.py | 6 +-- testsuite/python/interactions_bonded.py | 2 +- testsuite/python/interactions_dihedral.py | 1 - testsuite/python/interactions_non-bonded.py | 2 - testsuite/python/langevin_thermostat.py | 5 +- testsuite/python/layered.py | 2 +- testsuite/python/lb.py | 8 +-- testsuite/python/lb_boundary.py | 6 +-- testsuite/python/lb_get_u_at_pos.py | 50 +++++++++---------- testsuite/python/lb_shear.py | 2 +- testsuite/python/lb_switch.py | 1 - .../python/mass-and-rinertia_per_particle.py | 2 +- testsuite/python/mmm1d.py | 2 +- testsuite/python/observable_cylindricalLB.py | 2 +- testsuite/python/observable_profileLB.py | 2 +- testsuite/python/observables.py | 10 ++-- testsuite/python/oif_volume_conservation.py | 3 +- .../python/p3m_electrostatic_pressure.py | 5 +- testsuite/python/particle.py | 2 +- testsuite/python/polymer.py | 2 +- testsuite/python/reaction_ensemble.py | 5 +- .../python/rotational-diffusion-aniso.py | 3 +- testsuite/python/rotational_inertia.py | 2 +- testsuite/python/scafacos_dipoles_1d_2d.py | 1 - testsuite/python/stress.py | 26 +++++----- testsuite/python/test_checkpoint.py | 10 ++-- testsuite/python/tests_common.py | 50 +++++++++---------- testsuite/python/thole.py | 1 - testsuite/python/unittest_decorators.py | 6 +-- .../python/virtual_sites_tracers_common.py | 14 ++---- .../python/wang_landau_reaction_ensemble.py | 2 +- testsuite/python/widom_insertion.py | 3 +- testsuite/python/writevtf.py | 6 +-- testsuite/scripts/importlib_wrapper.py | 3 +- 58 files changed, 181 insertions(+), 236 deletions(-) diff --git a/maintainer/CI/dox_warnings.py b/maintainer/CI/dox_warnings.py index 2e359b6d7de..4059fef2f47 100755 --- a/maintainer/CI/dox_warnings.py +++ b/maintainer/CI/dox_warnings.py @@ -55,14 +55,14 @@ # filter out non-critical warnings warnings = {} for (filepath, lineno, warning), warning_list in raw_warnings.items(): - if re.search('^member \S+ belongs to two different groups\. ' - 'The second one found here will be ignored\.$', warning): + if re.search(r'^member \S+ belongs to two different groups\. ' + r'The second one found here will be ignored\.$', warning): # happens when a function is declared in a group in the .hpp file but # defined in another group in the .cpp file; this is usually caused by # the "Private functions" and "Exported functions" groups in .hpp files continue - if re.search( - '^documented symbol `\S+\' was not declared or defined\.$', warning): + if re.search(r'^documented symbol `\S+\' was not declared or defined\.$', + warning): # known bug, fixed in 1.8.16 continue if re.search('^no uniquely matching class member found for $', warning): @@ -75,7 +75,7 @@ # warning, when in reality the warning is silenced because the text on # the following line is captured and becomes the argument description continue - filepath = re.sub('^.*(?=src/)', '', filepath) + filepath = re.sub(r'^.*(?=src/)', '', filepath) if filepath not in warnings: warnings[filepath] = {} warnings[filepath][(lineno, warning)] = warning_list @@ -94,7 +94,7 @@ f.write(filepath + ':\n') for (lineno, warning) in sorted(warnings[filepath].keys()): warning_list = warnings[filepath][(lineno, warning)] - s = re.sub('\(.*\)', '()', warning) + s = re.sub(r'\(.*\)', '()', warning) if warning_list: s += ': ' + ', '.join(x.strip() for x in warning_list) f.write(' line {}: {}\n'.format(lineno, s)) diff --git a/maintainer/gh_post_style_patch.py b/maintainer/gh_post_style_patch.py index e74e0ee6c37..f9ff687062d 100755 --- a/maintainer/gh_post_style_patch.py +++ b/maintainer/gh_post_style_patch.py @@ -60,5 +60,5 @@ comment += 'You can run `gitlab-runner exec docker style` afterwards to check if your changes worked out properly.\n\n' comment += 'Please note that there are often multiple ways to correctly format code. As I am just a robot, I sometimes fail to identify the most aesthetically pleasing way. So please look over my suggested changes and adapt them where the style does not make sense.' - if len(patch) > 0: + if patch: requests.post(URL, json={'body': comment}) diff --git a/maintainer/git2changelog.py b/maintainer/git2changelog.py index 5570bd2ae76..b78b6e7f1cb 100755 --- a/maintainer/git2changelog.py +++ b/maintainer/git2changelog.py @@ -51,14 +51,14 @@ continue # Match the author line and extract the part we want - m = re.match('^Author:\s*(.*)\s*$', line) + m = re.match(r'^Author:\s*(.*)\s*$', line) if m is not None: author = m.group(1) authorFound = True continue # Match the date line - m = re.match('^Date:\s*(.*)\s*$', line) + m = re.match(r'^Date:\s*(.*)\s*$', line) if m is not None: date = m.group(1) dateFound = True @@ -91,7 +91,7 @@ continue # Collect the files for this commit. FIXME: Still need to add +/- to files elif authorFound & dateFound & messageFound: - fileList = re.split(' \| ', line, 2) + fileList = re.split(r' \| ', line, 2) if len(fileList) > 1: if files: files = files + ", " + fileList[0].strip() diff --git a/src/config/featuredefs.py b/src/config/featuredefs.py index 66fc83f635a..d29bdaa7db4 100644 --- a/src/config/featuredefs.py +++ b/src/config/featuredefs.py @@ -23,7 +23,7 @@ import re -class SyntaxError: +class SyntaxError(Exception): def __init__(self, message, instead): self.message = message @@ -170,7 +170,7 @@ def check_validity(self, activated): for feature in allfeatures: featurevars[feature] = feature in newset - for feature, expr, undef in self.requirements: + for feature, expr, _ in self.requirements: # print 'Requirement: ', feature, ' -> ', expr if feature in newset: if not eval(expr, featurevars): diff --git a/src/python/espressomd/MDA_ESP/__init__.py b/src/python/espressomd/MDA_ESP/__init__.py index 3b3c3b36782..0aba0b9d25c 100644 --- a/src/python/espressomd/MDA_ESP/__init__.py +++ b/src/python/espressomd/MDA_ESP/__init__.py @@ -210,9 +210,9 @@ def _read_first_frame(self): with util.openany(self.filename, 'rt') as espfile: n_atoms = 1 for pos, line in enumerate(espfile, start=-3): - if (pos == -3): + if pos == -3: time = float(line[1:-1]) - elif(pos == -2): + elif pos == -2: n_atoms = int(line) self.n_atoms = n_atoms positions = np.zeros( @@ -224,13 +224,13 @@ def _read_first_frame(self): self.ts = ts = self._Timestep( self.n_atoms, **self._ts_kwargs) self.ts.time = time - elif(pos == -1): + elif pos == -1: self.ts._unitcell[:3] = np.array( list(map(float, line[1:-2].split()))) - elif(pos < n_atoms): + elif pos < n_atoms: positions[pos] = np.array( list(map(float, line[1:-2].split()))) - elif(pos < 2 * n_atoms): + elif pos < 2 * n_atoms: velocities[pos - n_atoms] = np.array( list(map(float, line[1:-2].split()))) else: diff --git a/src/python/espressomd/checkpointing.py b/src/python/espressomd/checkpointing.py index 7ae44088e42..c8175421c49 100644 --- a/src/python/espressomd/checkpointing.py +++ b/src/python/espressomd/checkpointing.py @@ -96,7 +96,6 @@ def __setattr_submodule(self, obj, name, value): """ names = name.split('.') - tmp_obj = obj for i in range(len(names) - 1): obj = getattr(obj, names[i], None) diff --git a/src/python/espressomd/io/writer/vtf.py b/src/python/espressomd/io/writer/vtf.py index 4d653c05d06..c6087317bad 100644 --- a/src/python/espressomd/io/writer/vtf.py +++ b/src/python/espressomd/io/writer/vtf.py @@ -40,7 +40,7 @@ def vtf_pid_map(system, types='all'): id_to_write = [] for p in system.part: for t in types: - if p.type == t or t == "all": + if t in (p.type, "all"): id_to_write.append(p.id) return dict(zip(id_to_write, range(len(id_to_write)))) @@ -70,7 +70,7 @@ def writevsf(system, fp, types='all'): system.part[pid].type)) for pid, vtf_id, in vtf_index.items(): for b in system.part[pid].bonds: - if (system.part[b[1]].id in vtf_index): + if system.part[b[1]].id in vtf_index: fp.write("bond {}:{}\n".format( vtf_id, vtf_index[system.part[b[1]].id])) diff --git a/src/python/object_in_fluid/oif_classes.py b/src/python/object_in_fluid/oif_classes.py index 56c3f992763..116c3d025ad 100644 --- a/src/python/object_in_fluid/oif_classes.py +++ b/src/python/object_in_fluid/oif_classes.py @@ -107,8 +107,7 @@ class Edge: """ def __init__(self, A, B): - if not (isinstance(A, PartPoint) or (isinstance(A, FixedPoint))) and ( - isinstance(B, PartPoint) or (isinstance(B, FixedPoint))): + if not all(isinstance(x, (PartPoint, FixedPoint)) for x in [A, B]): TypeError("Arguments to Edge must be FixedPoint or PartPoint.") self.A = A self.B = B @@ -125,8 +124,7 @@ class Triangle: """ def __init__(self, A, B, C): - if not (isinstance(A, PartPoint) or (isinstance(A, FixedPoint))) and (isinstance(B, PartPoint) or ( - isinstance(B, FixedPoint))) and (isinstance(C, PartPoint) or (isinstance(C, FixedPoint))): + if not all(isinstance(x, (PartPoint, FixedPoint)) for x in [A, B, C]): TypeError("Arguments to Triangle must be FixedPoint or PartPoint.") self.A = A self.B = B @@ -146,10 +144,8 @@ class Angle: """ def __init__(self, A, B, C, D): - if not (isinstance(A, PartPoint) or (isinstance(A, FixedPoint))) \ - and (isinstance(B, PartPoint) or (isinstance(B, FixedPoint))) \ - and (isinstance(C, PartPoint) or (isinstance(C, FixedPoint))) \ - and (isinstance(D, PartPoint) or (isinstance(D, FixedPoint))): + if not all(isinstance(x, (PartPoint, FixedPoint)) + for x in [A, B, C, D]): TypeError("Arguments to Angle must be FixedPoint or PartPoint.") self.A = A self.B = B @@ -170,9 +166,7 @@ class ThreeNeighbors: """ def __init__(self, A, B, C): - if not (isinstance(A, PartPoint) or (isinstance(A, FixedPoint))) \ - and (isinstance(B, PartPoint) or (isinstance(B, FixedPoint))) \ - and (isinstance(C, PartPoint) or (isinstance(C, FixedPoint))): + if not all(isinstance(x, (PartPoint, FixedPoint)) for x in [A, B, C]): TypeError( "Arguments to ThreeNeighbors must be FixedPoint or PartPoint.") self.A = A @@ -706,9 +700,8 @@ def mirror(self, mirror_x=0, mirror_y=0, mirror_z=0, out_file_name=""): if out_file_name == "": raise Exception( "Cell.Mirror: output meshnodes file for new mesh is missing. Quitting.") - if (mirror_x != 0 and mirror_x != 1) or ( - mirror_y != 0 and mirror_y != 1) or ( - mirror_z != 0 and mirror_z != 1): + if mirror_x not in (0, 1) or mirror_y not in ( + 0, 1) or mirror_z not in (0, 1): raise Exception( "Mesh.Mirror: for mirroring only values 0 or 1 are accepted. 1 indicates that the corresponding coordinate will be flipped. Exiting.") if mirror_x + mirror_y + mirror_z > 1: @@ -1052,7 +1045,7 @@ def append_point_data_to_vtk(self, file_name=None, data_name=None, raise Exception("OifCell: append_point_data_to_vtk: Need to know whether this is the first data list to be " "appended for this file. Quitting.") n_points = self.get_n_nodes() - if (len(data) != n_points): + if len(data) != n_points: raise Exception( "OifCell: append_point_data_to_vtk: Number of data points does not match number of mesh points. Quitting.") output_file = open(file_name, "a") @@ -1072,7 +1065,7 @@ def output_raw_data(self, file_name=None, data=None): raise Exception( "OifCell: output_raw_data: No data provided. Quitting.") n_points = self.get_n_nodes() - if (len(data) != n_points): + if len(data) != n_points: raise Exception( "OifCell: output_raw_data: Number of data points does not match number of mesh points. Quitting.") output_file = open(file_name, "w") diff --git a/src/python/object_in_fluid/oif_utils.py b/src/python/object_in_fluid/oif_utils.py index 9c8f43a4c8a..fa6fc1bfdab 100644 --- a/src/python/object_in_fluid/oif_utils.py +++ b/src/python/object_in_fluid/oif_utils.py @@ -56,8 +56,7 @@ def norm(vect): Input vector """ - v = np.array(vect) - return np.sqrt(np.dot(v, v)) + return np.linalg.norm(vect) def vec_distance(a, b): @@ -147,7 +146,7 @@ def discard_epsilon(x): real number """ - if (x > -small_epsilon and x < small_epsilon): + if abs(x) < small_epsilon: res = 0.0 else: res = x diff --git a/testsuite/python/analyze_distance.py b/testsuite/python/analyze_distance.py index f0e01e2b025..e36779ebc85 100644 --- a/testsuite/python/analyze_distance.py +++ b/testsuite/python/analyze_distance.py @@ -76,7 +76,7 @@ def dist_to_id(self, id): def test_min_dist(self): # try five times - for i in range(5): + for _ in range(5): self.system.part[:].pos = np.random.random( (len(self.system.part), 3)) * BOX_L self.assertAlmostEqual(self.system.analysis.min_dist(), diff --git a/testsuite/python/analyze_distribution.py b/testsuite/python/analyze_distribution.py index b97c9f03461..d8f7c8d24b3 100644 --- a/testsuite/python/analyze_distribution.py +++ b/testsuite/python/analyze_distribution.py @@ -45,7 +45,7 @@ def calc_rdf(self, r, bins): hist = np.histogram(dist, bins=bins, density=False)[0] return hist - def calc_min_distribution(self, bins, type_list_a): + def calc_min_distribution(self, bins): dist = [] for i in range(self.num_part): dist.append(self.system.analysis.dist_to(id=i)) @@ -122,8 +122,6 @@ def test_distribution_lin(self): r_max = 100.0 r_bins = 100 bins = np.linspace(r_min, r_max, num=r_bins + 1, endpoint=True) - bin_volume = 4. / 3. * np.pi * (bins[1:]**3 - bins[:-1]**3) - box_volume = np.prod(self.system.box_l) # no int flag core_rdf = self.system.analysis.distribution(type_list_a=[0], type_list_b=[0], @@ -137,7 +135,7 @@ def test_distribution_lin(self): # rdf self.assertTrue(np.allclose(core_rdf[1], - self.calc_min_distribution(bins, type_list_a=[0]))) + self.calc_min_distribution(bins))) # with int flag core_rdf = self.system.analysis.distribution(type_list_a=[0], type_list_b=[0], @@ -147,7 +145,7 @@ def test_distribution_lin(self): log_flag=0, int_flag=1) self.assertTrue(np.allclose(core_rdf[1], - np.cumsum(self.calc_min_distribution(bins, type_list_a=[0])))) + np.cumsum(self.calc_min_distribution(bins)))) if __name__ == "__main__": diff --git a/testsuite/python/analyze_mass_related.py b/testsuite/python/analyze_mass_related.py index b9c6f902d71..69f6baec04b 100644 --- a/testsuite/python/analyze_mass_related.py +++ b/testsuite/python/analyze_mass_related.py @@ -140,11 +140,10 @@ def test_kinetic_pressure(self): expected_stress, analyze_stress) def test_gyration_radius(self): - if len(self.system.part.select(virtual=True)) > 0: - with self.assertRaisesRegexp(Exception, "not well-defined"): - core_rg = self.system.analysis.calc_rg(chain_start=0, - number_of_chains=1, - chain_length=len(self.system.part)) + if self.system.part.select(virtual=True): + with self.assertRaisesRegex(Exception, "not well-defined"): + self.system.analysis.calc_rg(chain_start=0, number_of_chains=1, + chain_length=len(self.system.part)) if __name__ == "__main__": diff --git a/testsuite/python/cluster_analysis.py b/testsuite/python/cluster_analysis.py index 42d26a60759..795ecb51c1a 100644 --- a/testsuite/python/cluster_analysis.py +++ b/testsuite/python/cluster_analysis.py @@ -51,7 +51,7 @@ class ClusterAnalysis(ut.TestCase): handle_errors("") def test_00_fails_without_criterion_set(self): - with(self.assertRaises(Exception)): + with self.assertRaises(Exception): self.cs.run_for_all_pairs() def test_set_criterion(self): @@ -158,7 +158,7 @@ def test_zz_single_cluster_analysis(self): # Fractal dimension of a disk should be close to 2 self.es.part.clear() center = np.array((0.1, .02, 0.15)) - for i in range(3000): + for _ in range(3000): r_inv, phi = np.random.random(2) * np.array((0.2, 2 * np.pi)) r = 1 / r_inv self.es.part.add( diff --git a/testsuite/python/collision_detection.py b/testsuite/python/collision_detection.py index f2eb2734f1a..027617ffd7b 100644 --- a/testsuite/python/collision_detection.py +++ b/testsuite/python/collision_detection.py @@ -146,9 +146,6 @@ def verify_state_after_bind_at_poc(self, expected_np): # At the end of test, this list should be empty parts_not_accounted_for = list(range(expected_np)) - # Collect pairs of non-virtual-particles found - non_virtual_pairs = [] - # We traverse particles. We look for a vs with a bond to find the other vs. # From the two vs we find the two non-virtual particles for p in self.s.part: @@ -203,7 +200,7 @@ def verify_bind_at_poc_pair(self, p1, p2, vs1, vs2): rel_to = r[0] dist = r[1] # Vs is related to one of the particles - self.assertTrue(rel_to == p1.id or rel_to == p2.id) + self.assertTrue(rel_to in (p1.id, p2.id)) # The two vs relate to two different particles self.assertNotIn(rel_to, seen) seen.append(rel_to) @@ -330,18 +327,18 @@ def run_test_glue_to_surface_for_pos(self, *positions): # Place particle which should not take part in collisions # In this case, it is skipped, because it is of the wrong type, # even if it is within range for a collision - p = self.s.part.add(pos=positions[0], type=self.other_type) + self.s.part.add(pos=positions[0], type=self.other_type) for pos in positions: # Since this is non-symmetric, we randomize order if np.random.random() > .5: - p1 = self.s.part.add( + self.s.part.add( pos=pos + (0, 0, 0), type=self.part_type_to_attach_vs_to) - p2 = self.s.part.add( + self.s.part.add( pos=pos + (0.1, 0, 0), type=self.part_type_to_be_glued) else: - p2 = self.s.part.add( + self.s.part.add( pos=pos + (0.1, 0, 0), type=self.part_type_to_be_glued) - p1 = self.s.part.add( + self.s.part.add( pos=pos + (0, 0, 0), type=self.part_type_to_attach_vs_to) # 2 non-virtual + 1 virtual + one that doesn't take part @@ -508,7 +505,6 @@ def test_glue_to_surface_random(self): # Analysis virtual_sites = self.s.part.select(virtual=True) non_virtual = self.s.part.select(virtual=False) - to_be_glued = self.s.part.select(type=self.part_type_to_be_glued) after_glueing = self.s.part.select(type=self.part_type_after_glueing) # One virtual site per glued particle? @@ -583,7 +579,6 @@ def test_bind_three_particles(self): self.s.part.clear() dx = np.array((1, 0, 0)) dy = np.array((0, 1, 0)) - dz = np.array((0, 0, 1)) a = np.array((0.499, 0.499, 0.499)) b = a + 0.1 * dx c = a + 0.03 * dx + 0.03 * dy diff --git a/testsuite/python/constant_pH.py b/testsuite/python/constant_pH.py index 476bf0a1879..0efd7958cbd 100644 --- a/testsuite/python/constant_pH.py +++ b/testsuite/python/constant_pH.py @@ -73,23 +73,20 @@ def ideal_alpha(cls, pH): def test_ideal_titration_curve(self): N0 = ReactionEnsembleTest.N0 - temperature = ReactionEnsembleTest.temperature type_A = ReactionEnsembleTest.type_A type_H = ReactionEnsembleTest.type_H type_HA = ReactionEnsembleTest.type_HA - box_l = ReactionEnsembleTest.system.box_l system = ReactionEnsembleTest.system RE = ReactionEnsembleTest.RE # chemical warmup - get close to chemical equilibrium before we start # sampling RE.reaction(40 * N0) - volume = np.prod(self.system.box_l) # cuboid box average_NH = 0.0 average_NHA = 0.0 average_NA = 0.0 num_samples = 1000 - for i in range(num_samples): + for _ in range(num_samples): RE.reaction(10) average_NH += system.number_of_particles(type=type_H) average_NHA += system.number_of_particles(type=type_HA) diff --git a/testsuite/python/constraint_shape_based.py b/testsuite/python/constraint_shape_based.py index 0fb9689f814..662ccaccf33 100644 --- a/testsuite/python/constraint_shape_based.py +++ b/testsuite/python/constraint_shape_based.py @@ -66,8 +66,8 @@ def test_sphere(self): * (rad + distance), math.cos(theta_angle) * (rad + distance)]) + rad - shape_dist, shape_dist_vec = sphere_shape.call_method( - "calc_distance", position=pos.tolist()) + shape_dist, _ = sphere_shape.calc_distance( + position=pos.tolist()) self.assertAlmostEqual(shape_dist, -distance) def test_ellipsoid(self): @@ -245,8 +245,8 @@ def test_cylinder(self): phi_rot_point = np.dot( phi_rot_matrix, start_point - center) + center - shape_dist, shape_dist_vec = cylinder_shape_finite.call_method( - "calc_distance", position=phi_rot_point.tolist()) + shape_dist, _ = cylinder_shape_finite.calc_distance( + position=phi_rot_point.tolist()) dist = -distance if distance > 0.0: @@ -642,8 +642,7 @@ def test_rhomboid(self): [x + (self.box_l + length[0] - x_range) / 2.0, y + (self.box_l + length[1] - y_range) / 2.0, z + (self.box_l + length[2] - z_range) / 2.0]) - shape_dist, shape_dist_vec = rhomboid_shape.call_method( - "calc_distance", + shape_dist, shape_dist_vec = rhomboid_shape.calc_distance( position=pos.tolist()) outside = False @@ -837,8 +836,7 @@ def test_torus(self): phi_rot_matrix, theta_rot_point - center) + center - shape_dist, shape_dist_vec = torus_shape.call_method( - "calc_distance", + shape_dist, _ = torus_shape.calc_distance( position=phi_rot_point.tolist()) self.assertAlmostEqual(shape_dist, distance) diff --git a/testsuite/python/domain_decomposition.py b/testsuite/python/domain_decomposition.py index b20e7d60807..0e5e7135324 100644 --- a/testsuite/python/domain_decomposition.py +++ b/testsuite/python/domain_decomposition.py @@ -38,7 +38,7 @@ def test_resort(self): # And now change their positions for i in range(n_part): - self.system.part[i].pos = pos = np.random.random(3) + self.system.part[i].pos = np.random.random(3) # Distribute the particles on the nodes part_dist = self.system.cell_system.resort() diff --git a/testsuite/python/dpd.py b/testsuite/python/dpd.py index 46f925a8c91..e16ed4157ee 100644 --- a/testsuite/python/dpd.py +++ b/testsuite/python/dpd.py @@ -230,7 +230,7 @@ def test_linear_weight_function(self): trans_weight_function=1, trans_gamma=gamma, trans_r_cut=1.4) def omega(dist, r_cut): - return (1. - dist / r_cut) + return 1. - dist / r_cut s.part.add(id=0, pos=[5, 5, 5], type=0, v=[0, 0, 0]) v = [.5, .8, .3] @@ -459,7 +459,7 @@ def test_momentum_conservation(self): weight_function=1, gamma=gamma, r_cut=r_cut, trans_weight_function=1, trans_gamma=gamma / 2.0, trans_r_cut=r_cut) momentum = np.matmul(s.part[:].v.T, s.part[:].mass) - for i in range(10): + for _ in range(10): s.integrator.run(25) np.testing.assert_array_less(np.zeros((3, 3)), np.abs(s.part[:].f)) np.testing.assert_allclose( diff --git a/testsuite/python/drude.py b/testsuite/python/drude.py index e08a95d7f6a..a892a18cf48 100644 --- a/testsuite/python/drude.py +++ b/testsuite/python/drude.py @@ -61,7 +61,6 @@ def test(self): # TIMESTEP fs_to_md_time = 1.0e-2 time_step_fs = 0.5 - time_step_ns = time_step_fs * 1e-6 dt = time_step_fs * fs_to_md_time # COM TEMPERATURE @@ -214,7 +213,7 @@ def measure_dipole_moments(): system.integrator.run(115) - for i in range(100): + for _ in range(100): system.integrator.run(1) dm_pf6.append(dipole_moment(0, 1)) diff --git a/testsuite/python/ek_charged_plate.py b/testsuite/python/ek_charged_plate.py index f6f293a0fe8..09bac464366 100644 --- a/testsuite/python/ek_charged_plate.py +++ b/testsuite/python/ek_charged_plate.py @@ -40,11 +40,10 @@ def test(self): box_x = 20 box_y = 20 box_z = 20 - system.box_l = box_l = [box_x, box_y, box_z] + system.box_l = [box_x, box_y, box_z] system.cell_system.skin = 0.2 system.time_step = 0.1 system.periodicity = [1, 1, 1] - coulomb_accuracy = 1.0e-4 bjerrum_length = 2.13569 agrid = 0.5 diff --git a/testsuite/python/ek_common.py b/testsuite/python/ek_common.py index 91945507069..3f9ff1dc714 100644 --- a/testsuite/python/ek_common.py +++ b/testsuite/python/ek_common.py @@ -22,18 +22,15 @@ def solve(xi, d, bjerrum_length, sigma, valency): - pi = math.pi el_char = 1.0 - return xi * math.tan(xi * d / 2.0) + 2.0 * pi * \ + return xi * math.tan(xi * d / 2.0) + 2.0 * math.pi * \ bjerrum_length * sigma / (valency * el_char) # function to calculate the density def density(x, xi, bjerrum_length): - pi = math.pi - kb = 1.0 - return (xi * xi) / (2.0 * pi * bjerrum_length * + return (xi * xi) / (2.0 * math.pi * bjerrum_length * math.cos(xi * x) * math.cos(xi * x)) # function to calculate the velocity @@ -47,16 +44,14 @@ def velocity( force, viscosity_kinematic, density_water): - pi = math.pi return force * math.log(math.cos(xi * x) / math.cos(xi * d / 2.0)) / \ - (2.0 * pi * bjerrum_length * viscosity_kinematic * density_water) + (2.0 * math.pi * bjerrum_length * viscosity_kinematic * density_water) # function to calculate the nonzero component of the pressure tensor def pressure_tensor_offdiagonal(x, xi, bjerrum_length, force): - pi = math.pi - return force * xi * math.tan(xi * x) / (2.0 * pi * bjerrum_length) + return force * xi * math.tan(xi * x) / (2.0 * math.pi * bjerrum_length) # function to calculate the hydrostatic pressure diff --git a/testsuite/python/ek_eof_one_species_base.py b/testsuite/python/ek_eof_one_species_base.py index e907266756e..0cf8f9518bd 100644 --- a/testsuite/python/ek_eof_one_species_base.py +++ b/testsuite/python/ek_eof_one_species_base.py @@ -51,7 +51,7 @@ ('valency', 1.0)]) -def bisection(params): +def bisection(): # initial parameters for bisection scheme size = math.pi / (2.0 * params_base['width']) pnt0 = 0.0 @@ -60,7 +60,7 @@ def bisection(params): # the bisection scheme tol = 1.0e-08 - while (size > tol): + while size > tol: val0 = ek_common.solve( pnt0, params_base['width'], @@ -81,7 +81,7 @@ def bisection(params): params_base['valency']) if (val0 < 0.0 and val1 > 0.0): - if (valm < 0.0): + if valm < 0.0: pnt0 = pntm size = size / 2.0 pntm = pnt0 + size @@ -90,7 +90,7 @@ def bisection(params): size = size / 2.0 pntm = pnt1 - size elif (val0 > 0.0 and val1 < 0.0): - if (valm < 0.0): + if valm < 0.0: pnt1 = pntm size = size / 2.0 pntm = pnt1 - size @@ -109,7 +109,7 @@ def bisection(params): class ek_eof_one_species(ut.TestCase): system = espressomd.System(box_l=[1.0, 1.0, 1.0]) system.seed = system.cell_system.get_state()['n_nodes'] * [1234] - xi = bisection(params_base) + xi = bisection() def run_test(self, params): system = self.system @@ -173,7 +173,6 @@ def run_test(self, params): params_base['agrid'] >= params_base['padding'] and i * params_base['agrid'] < system.box_l[params['non_periodic_dir']] - params_base['padding']): - xvalue = i * params_base['agrid'] - params_base['padding'] position = i * params_base['agrid'] - params_base['padding'] - \ params_base['width'] / 2.0 + params_base['agrid'] / 2.0 diff --git a/testsuite/python/ek_fluctuations.py b/testsuite/python/ek_fluctuations.py index 1bcd84d72dd..e86c7937919 100644 --- a/testsuite/python/ek_fluctuations.py +++ b/testsuite/python/ek_fluctuations.py @@ -46,7 +46,7 @@ def test(self): diff = 1.0 agrid = 1.0 - system.box_l = box_l = [box_x, box_y, box_z] + system.box_l = [box_x, box_y, box_z] system.time_step = time_step system.cell_system.skin = 0.2 system.thermostat.turn_off() @@ -82,7 +82,7 @@ def test(self): count = 0 # Integrate - for t in range(sample_steps): + for _ in range(sample_steps): system.integrator.run(integration_steps) for i in range(box_x): for j in range(box_y): diff --git a/testsuite/python/exclusions.py b/testsuite/python/exclusions.py index d1c9ac3b78a..54a062e6619 100644 --- a/testsuite/python/exclusions.py +++ b/testsuite/python/exclusions.py @@ -54,7 +54,7 @@ def test_transfer(self): self.s.part[0].exclusions = [1, 2, 3] - for i in range(15): + for _ in range(15): self.s.integrator.run(100) self.assertTrue((self.s.part[0].exclusions == [1, 2, 3]).all()) diff --git a/testsuite/python/experimental_decorator.py b/testsuite/python/experimental_decorator.py index 7256d6dcf16..ed96bd0b313 100644 --- a/testsuite/python/experimental_decorator.py +++ b/testsuite/python/experimental_decorator.py @@ -34,10 +34,10 @@ class RequireExperimental(ut.TestCase): def test(self): if espressomd.has_features("EXPERIMENTAL_FEATURES"): - x = A(1, 3.0) + _ = A(1, 3.0) else: - with self.assertRaisesRegexp(Exception, "because"): - x = A(1, 3.0) + with self.assertRaisesRegex(Exception, "because"): + _ = A(1, 3.0) if __name__ == "__main__": diff --git a/testsuite/python/interactions_bonded.py b/testsuite/python/interactions_bonded.py index e6e54ca9a40..452763eb343 100644 --- a/testsuite/python/interactions_bonded.py +++ b/testsuite/python/interactions_bonded.py @@ -184,7 +184,7 @@ def run_test(self, bond_instance, force_func, energy_func, min_dist, if test_breakage: self.system.part[1].pos = self.system.part[0].pos \ + self.axis * cutoff * (1.01) - with self.assertRaisesRegexp(Exception, "Encountered errors during integrate"): + with self.assertRaisesRegex(Exception, "Encountered errors during integrate"): self.system.integrator.run(recalc_forces=True, steps=0) diff --git a/testsuite/python/interactions_dihedral.py b/testsuite/python/interactions_dihedral.py index be63824c2f5..08836a45e50 100644 --- a/testsuite/python/interactions_dihedral.py +++ b/testsuite/python/interactions_dihedral.py @@ -169,7 +169,6 @@ def test_tabulated_dihedral(self): N = 111 d_phi = 2 * np.pi / N # tabulated values for the range [0, 2*pi] - tab_phi = [i * d_phi for i in range(N + 1)] tab_energy = [np.cos(i * d_phi) for i in range(N + 1)] tab_force = [np.cos(i * d_phi) for i in range(N + 1)] diff --git a/testsuite/python/interactions_non-bonded.py b/testsuite/python/interactions_non-bonded.py index 30b88cf4144..841c9a0541e 100644 --- a/testsuite/python/interactions_non-bonded.py +++ b/testsuite/python/interactions_non-bonded.py @@ -446,8 +446,6 @@ def test_buckingham(self): b_disc = 1.03 b_cut = 2.253 b_shift = 0.133 - b_f1 = 0.123 - b_f2 = 0.123 self.system.non_bonded_inter[0, 0].buckingham.set_params( a=b_a, b=b_b, c=b_c, d=b_d, discont=b_disc, cutoff=b_cut, diff --git a/testsuite/python/langevin_thermostat.py b/testsuite/python/langevin_thermostat.py index fed8d3e34a2..39ea76e4635 100644 --- a/testsuite/python/langevin_thermostat.py +++ b/testsuite/python/langevin_thermostat.py @@ -131,7 +131,7 @@ def test_02__friction_trans(self): system.thermostat.set_langevin(kT=0, gamma=gamma_t_i, seed=41) system.time = 0 - for i in range(100): + for _ in range(100): system.integrator.run(10) if espressomd.has_features("PARTICLE_ANISOTROPY"): np.testing.assert_allclose( @@ -175,7 +175,7 @@ def test_03__friction_rot(self): rinertia = np.copy(system.part[0].rinertia) else: rinertia = np.array((1, 1, 1)) - for i in range(100): + for _ in range(100): system.integrator.run(10) if espressomd.has_features("PARTICLE_ANISOTROPY"): np.testing.assert_allclose( @@ -423,7 +423,6 @@ def test_06__diffusion(self): # Decide on effective gamma rotation, since for rotation it is # direction dependent eff_gamma_rot = None - per_part_eff_gamma_rot = None if espressomd.has_features("PARTICLE_ANISOTROPY"): eff_gamma_rot = gamma_rot_a eff_per_part_gamma_rot = per_part_gamma_rot_a diff --git a/testsuite/python/layered.py b/testsuite/python/layered.py index 69d7886450e..eb7a65520a1 100644 --- a/testsuite/python/layered.py +++ b/testsuite/python/layered.py @@ -38,7 +38,7 @@ def test_resort(self): # And now change their positions for i in range(n_part): - self.S.part[i].pos = pos = np.random.random(3) + self.S.part[i].pos = np.random.random(3) # Distribute the particles on the nodes part_dist = self.S.cell_system.resort() diff --git a/testsuite/python/lb.py b/testsuite/python/lb.py index 1ef6a93cc6d..e852afa1265 100644 --- a/testsuite/python/lb.py +++ b/testsuite/python/lb.py @@ -109,7 +109,7 @@ def test_mass_momentum_thermostat(self): all_temp_fluid = [] # Integration - for i in range(self.params['int_times']): + for _ in range(self.params['int_times']): self.system.integrator.run(self.params['int_steps']) # Summation vars @@ -293,13 +293,13 @@ def test_grid_index(self): ext_force_density=[0, 0, 0]) self.system.actors.add(self.lbf) with self.assertRaises(ValueError): - v = self.lbf[ + _ = self.lbf[ int(self.params['box_l'] / self.params['agrid']) + 1, 0, 0].velocity with self.assertRaises(ValueError): - v = self.lbf[ + _ = self.lbf[ 0, int(self.params['box_l'] / self.params['agrid']) + 1, 0].velocity with self.assertRaises(ValueError): - v = self.lbf[ + _ = self.lbf[ 0, 0, int(self.params['box_l'] / self.params['agrid']) + 1].velocity def test_incompatible_agrid(self): diff --git a/testsuite/python/lb_boundary.py b/testsuite/python/lb_boundary.py index 29128ac09e4..d7ac0365f30 100644 --- a/testsuite/python/lb_boundary.py +++ b/testsuite/python/lb_boundary.py @@ -69,10 +69,8 @@ def test_empty(self): def test_clear(self): lbb = self.system.lbboundaries - b1 = lbb.add( - espressomd.lbboundaries.LBBoundary(shape=self.wall_shape1)) - b2 = lbb.add( - espressomd.lbboundaries.LBBoundary(shape=self.wall_shape1)) + lbb.add(espressomd.lbboundaries.LBBoundary(shape=self.wall_shape1)) + lbb.add(espressomd.lbboundaries.LBBoundary(shape=self.wall_shape1)) lbb.clear() diff --git a/testsuite/python/lb_get_u_at_pos.py b/testsuite/python/lb_get_u_at_pos.py index f45644ffecd..b7a64f0d9bf 100644 --- a/testsuite/python/lb_get_u_at_pos.py +++ b/testsuite/python/lb_get_u_at_pos.py @@ -32,8 +32,8 @@ class TestLBGetUAtPos(ut.TestCase): """ @classmethod - def setUpClass(self): - self.params = { + def setUpClass(cls): + cls.params = { 'tau': 0.01, 'agrid': 0.5, 'box_l': [12.0, 12.0, 12.0], @@ -42,31 +42,31 @@ def setUpClass(self): 'friction': 2.0, 'gamma': 1.5 } - self.system = espressomd.System(box_l=[1.0, 1.0, 1.0]) - self.system.box_l = self.params['box_l'] - self.system.cell_system.skin = 0.4 - self.system.time_step = 0.01 - self.n_nodes_per_dim = int(self.system.box_l[0] / self.params['agrid']) - for p in range(self.n_nodes_per_dim): + cls.system = espressomd.System(box_l=[1.0, 1.0, 1.0]) + cls.system.box_l = cls.params['box_l'] + cls.system.cell_system.skin = 0.4 + cls.system.time_step = 0.01 + cls.n_nodes_per_dim = int(cls.system.box_l[0] / cls.params['agrid']) + for p in range(cls.n_nodes_per_dim): # Set particles exactly between two LB nodes in x direction. - self.system.part.add(id=p, - pos=[(p + 1) * self.params['agrid'], - 0.5 * self.params['agrid'], - 0.5 * self.params['agrid']]) - self.lb_fluid = lb.LBFluidGPU( - visc=self.params['viscosity'], - dens=self.params['dens'], - agrid=self.params['agrid'], - tau=self.params['tau'], + cls.system.part.add(id=p, + pos=[(p + 1) * cls.params['agrid'], + 0.5 * cls.params['agrid'], + 0.5 * cls.params['agrid']]) + cls.lb_fluid = lb.LBFluidGPU( + visc=cls.params['viscosity'], + dens=cls.params['dens'], + agrid=cls.params['agrid'], + tau=cls.params['tau'], ) - self.system.actors.add(self.lb_fluid) - self.vels = np.zeros((self.n_nodes_per_dim, 3)) - self.vels[:, 0] = np.arange(self.n_nodes_per_dim, dtype=float) - self.interpolated_vels = self.vels.copy() - self.interpolated_vels[:, 0] += 0.5 - for n in range(self.n_nodes_per_dim): - self.lb_fluid[n, 0, 0].velocity = self.vels[n, :] - self.system.integrator.run(0) + cls.system.actors.add(cls.lb_fluid) + cls.vels = np.zeros((cls.n_nodes_per_dim, 3)) + cls.vels[:, 0] = np.arange(cls.n_nodes_per_dim, dtype=float) + cls.interpolated_vels = cls.vels.copy() + cls.interpolated_vels[:, 0] += 0.5 + for n in range(cls.n_nodes_per_dim): + cls.lb_fluid[n, 0, 0].velocity = cls.vels[n, :] + cls.system.integrator.run(0) def test_get_u_at_pos(self): """ diff --git a/testsuite/python/lb_shear.py b/testsuite/python/lb_shear.py index 8bca90f9177..54bd171b939 100644 --- a/testsuite/python/lb_shear.py +++ b/testsuite/python/lb_shear.py @@ -118,7 +118,7 @@ def check_profile(self, shear_plane_normal, shear_direction): t0 = self.system.time sample_points = int(H / AGRID - 1) - for i in range(9): + for _ in range(9): self.system.integrator.run(50) v_expected = shear_flow( diff --git a/testsuite/python/lb_switch.py b/testsuite/python/lb_switch.py index 9b79bdcaf7f..63e075b7b65 100644 --- a/testsuite/python/lb_switch.py +++ b/testsuite/python/lb_switch.py @@ -33,7 +33,6 @@ def switch_test(self, GPU=False): system = self.system system.actors.clear() system.part.add(pos=[1., 1., 1.], v=[1., 0, 0], fix=[1, 1, 1]) - ext_force_density = [0.2, 0.3, 0.15] lb_fluid_params = {'agrid': 2.0, 'dens': 1.0, 'visc': 1.0, 'tau': 0.03} friction_1 = 1.5 diff --git a/testsuite/python/mass-and-rinertia_per_particle.py b/testsuite/python/mass-and-rinertia_per_particle.py index 503a5965dd2..a14254fcdbf 100644 --- a/testsuite/python/mass-and-rinertia_per_particle.py +++ b/testsuite/python/mass-and-rinertia_per_particle.py @@ -242,7 +242,7 @@ def check_dissipation(self, n): """ tol = 1.2E-3 - for step in range(100): + for _ in range(100): self.system.integrator.run(2) for i in range(n): for k in range(2): diff --git a/testsuite/python/mmm1d.py b/testsuite/python/mmm1d.py index 18572d91c27..4ed47bfc404 100644 --- a/testsuite/python/mmm1d.py +++ b/testsuite/python/mmm1d.py @@ -24,7 +24,7 @@ import espressomd -if(not espressomd.has_features(("ELECTROSTATICS"))): +if not espressomd.has_features("ELECTROSTATICS"): sys.exit() diff --git a/testsuite/python/observable_cylindricalLB.py b/testsuite/python/observable_cylindricalLB.py index 598c068296e..4e41c32935f 100644 --- a/testsuite/python/observable_cylindricalLB.py +++ b/testsuite/python/observable_cylindricalLB.py @@ -100,7 +100,7 @@ def set_fluid_velocity(self): self.v_phi = 2.5 self.v_z = 1.5 node_positions = np.arange(-4.5, 5.0, 1.0) - for i, value in enumerate(node_positions): + for i, _ in enumerate(node_positions): position = np.array( [node_positions[i], node_positions[i], node_positions[i]]) v_y = (position[0] * np.sqrt(position[0]**2 + position[1]**2) * self.v_phi + diff --git a/testsuite/python/observable_profileLB.py b/testsuite/python/observable_profileLB.py index c11208caeec..e2737050a9c 100644 --- a/testsuite/python/observable_profileLB.py +++ b/testsuite/python/observable_profileLB.py @@ -95,7 +95,7 @@ def test_error_sampling_delta_of_0(self): lb_velocity_params_local['sampling_delta_y'] = 0.0 lb_velocity_params_local['sampling_delta_z'] = 0.0 with self.assertRaises(RuntimeError): - obs2 = espressomd.observables.LBVelocityProfile( + _ = espressomd.observables.LBVelocityProfile( **lb_velocity_params_local) def test_error_if_no_LB(self): diff --git a/testsuite/python/observables.py b/testsuite/python/observables.py index b3e31ccb6a8..b4a3511caa6 100644 --- a/testsuite/python/observables.py +++ b/testsuite/python/observables.py @@ -77,11 +77,11 @@ def func(self): part_data = getattr(self.system.part[id_list], pprop_name) # Reshape and aggregate to linear array if len(part_data.shape) > 1: - if (agg_type == "average"): - part_data = average(part_data, 0) - if (agg_type == "sum"): - part_data = sum(part_data, 0) - if (agg_type == 'com'): + if agg_type == "average": + part_data = np.average(part_data, 0) + if agg_type == "sum": + part_data = np.sum(part_data, 0) + if agg_type == 'com': part_data = calc_com_x(self.system, pprop_name) part_data = part_data.flatten() diff --git a/testsuite/python/oif_volume_conservation.py b/testsuite/python/oif_volume_conservation.py index 930447f6600..f60dc95b5a8 100644 --- a/testsuite/python/oif_volume_conservation.py +++ b/testsuite/python/oif_volume_conservation.py @@ -55,7 +55,6 @@ def test(self): print("initial diameter = " + str(diameter_init)) # OIF object is being stretched by factor 1.5 - maxCycle = 500 system.part[:].pos = (system.part[:].pos - 5) * 1.5 + 5 diameter_stretched = cell0.diameter() @@ -63,7 +62,7 @@ def test(self): # main integration loop # OIF object is let to relax into relaxed shape of the sphere - for i in range(3): + for _ in range(3): system.integrator.run(steps=90) diameter_final = cell0.diameter() print("final diameter = " + str(diameter_final)) diff --git a/testsuite/python/p3m_electrostatic_pressure.py b/testsuite/python/p3m_electrostatic_pressure.py index afbb1d79134..71205bff97e 100644 --- a/testsuite/python/p3m_electrostatic_pressure.py +++ b/testsuite/python/p3m_electrostatic_pressure.py @@ -90,7 +90,7 @@ def setUp(self): num_part = 40 mass = 1 - for i in range(num_part): + for _ in range(num_part): self.system.part.add( pos=np.random.random(3) * self.system.box_l, q=1, v=np.sqrt(self.kT / mass) * np.random.normal(loc=[0, 0, 0])) @@ -117,7 +117,6 @@ def setUp(self): def test_p3m_pressure(self): pressures_via_virial = [] - pressures_via_volume_scaling = [] p3m = electrostatics.P3M( prefactor=2.0, accuracy=1e-3, @@ -131,7 +130,7 @@ def test_p3m_pressure(self): num_samples = 100 pressure_via_volume_scaling = pressureViaVolumeScaling( self.system, self.kT) - for i in range(num_samples): + for _ in range(num_samples): self.system.integrator.run(100) pressures_via_virial.append( self.system.analysis.pressure()['total']) diff --git a/testsuite/python/particle.py b/testsuite/python/particle.py index 70d85a6a2e8..ea3084fdcce 100644 --- a/testsuite/python/particle.py +++ b/testsuite/python/particle.py @@ -269,7 +269,7 @@ def test_parallel_property_setters(self): except AttributeError: print("Skipping read-only", p) # Cause a different mpi callback to uncover deadlock immediately - x = getattr(s.part[:], p) + _ = getattr(s.part[:], p) def test_zz_remove_all(self): for id in self.system.part[:].id: diff --git a/testsuite/python/polymer.py b/testsuite/python/polymer.py index 74be0c5c1d5..b2904176c41 100644 --- a/testsuite/python/polymer.py +++ b/testsuite/python/polymer.py @@ -166,7 +166,7 @@ def test_respect_constraints_wall(self): w = espressomd.shapes.Wall(normal=[0., 0., 1.], dist=0.5 * self.box_l) wall_constraint = espressomd.constraints.ShapeBasedConstraint(shape=w) - c = self.system.constraints.add(wall_constraint) + self.system.constraints.add(wall_constraint) positions = polymer.positions( n_polymers=num_poly, beads_per_chain=num_mono, diff --git a/testsuite/python/reaction_ensemble.py b/testsuite/python/reaction_ensemble.py index 22c328844eb..dc5b4135006 100644 --- a/testsuite/python/reaction_ensemble.py +++ b/testsuite/python/reaction_ensemble.py @@ -86,12 +86,9 @@ def test_ideal_titration_curve(self): type_A = ReactionEnsembleTest.type_A type_H = ReactionEnsembleTest.type_H type_HA = ReactionEnsembleTest.type_HA - box_l = ReactionEnsembleTest.system.box_l system = ReactionEnsembleTest.system gamma = ReactionEnsembleTest.gamma - nubar = ReactionEnsembleTest.nubar - volume = ReactionEnsembleTest.volume RE = ReactionEnsembleTest.RE target_alpha = ReactionEnsembleTest.target_alpha @@ -103,7 +100,7 @@ def test_ideal_titration_curve(self): average_NHA = 0.0 average_NA = 0.0 num_samples = 1000 - for i in range(num_samples): + for _ in range(num_samples): RE.reaction(10) average_NH += system.number_of_particles(type=type_H) average_NHA += system.number_of_particles(type=type_HA) diff --git a/testsuite/python/rotational-diffusion-aniso.py b/testsuite/python/rotational-diffusion-aniso.py index 67e58635bce..59e8b3dbdd7 100644 --- a/testsuite/python/rotational-diffusion-aniso.py +++ b/testsuite/python/rotational-diffusion-aniso.py @@ -118,7 +118,6 @@ def check_rot_diffusion(self, n): """ # Global diffusivity tensor in the body frame: D = self.kT / self.gamma_global - dt0 = self.J / self.gamma_global # Thermalizing... therm_steps = 100 @@ -151,7 +150,7 @@ def check_rot_diffusion(self, n): self.system.time = 0.0 int_steps = 20 loops = 100 - for step in range(loops): + for _ in range(loops): self.system.integrator.run(steps=int_steps) dcosjj = np.zeros((3)) dcosjj2 = np.zeros((3)) diff --git a/testsuite/python/rotational_inertia.py b/testsuite/python/rotational_inertia.py index 18f6b7be7f8..c927a44709a 100644 --- a/testsuite/python/rotational_inertia.py +++ b/testsuite/python/rotational_inertia.py @@ -148,7 +148,7 @@ def test_energy_and_momentum_conservation(self): E0 = self.energy(p) m0 = self.momentum(p) system.time_step = 0.001 - for i in range(1000): + for _ in range(1000): system.integrator.run(100) self.assertAlmostEqual(self.energy(p), E0, places=3) self.assertAlmostEqual(self.momentum(p), m0, places=3) diff --git a/testsuite/python/scafacos_dipoles_1d_2d.py b/testsuite/python/scafacos_dipoles_1d_2d.py index a719317a37a..0184bbe21bf 100644 --- a/testsuite/python/scafacos_dipoles_1d_2d.py +++ b/testsuite/python/scafacos_dipoles_1d_2d.py @@ -39,7 +39,6 @@ def test_scafacos(self): n_particle = 100 particle_radius = 0.5 - dipole_lambda = 3.0 ################################################# diff --git a/testsuite/python/stress.py b/testsuite/python/stress.py index 0abab71463e..cf2eb5e6a70 100644 --- a/testsuite/python/stress.py +++ b/testsuite/python/stress.py @@ -33,13 +33,13 @@ # analytical result for convective stress -def stress_kinetic(vel, box_l): +def stress_kinetic(vel): return np.einsum('ij,ik->jk', vel, vel) / np.prod(system.box_l) # analytical result for stress originating from bond force -def stress_bonded(pos, box_l): +def stress_bonded(pos): stress = np.zeros([3, 3]) for p1, p2 in zip(pos[0::2], pos[1::2]): r = p1 - p2 @@ -50,7 +50,7 @@ def stress_bonded(pos, box_l): # analytical result for stress originating from non-bonded force -def stress_nonbonded(particle_pairs, box_l): +def stress_nonbonded(particle_pairs): stress = np.zeros([3, 3]) for p1, p2 in particle_pairs: if (p1.type == 0 and p2.type == 0) or (p1.type == 1 and p2.type == 2): @@ -62,7 +62,7 @@ def stress_nonbonded(particle_pairs, box_l): return stress -def stress_nonbonded_inter(particle_pairs, box_l): +def stress_nonbonded_inter(particle_pairs): stress = np.zeros([3, 3]) for p1, p2 in particle_pairs: if p1.type == 1 and p2.type == 2 and p1.mol_id != p2.mol_id: @@ -74,7 +74,7 @@ def stress_nonbonded_inter(particle_pairs, box_l): return stress -def stress_nonbonded_intra(particle_pairs, box_l): +def stress_nonbonded_intra(particle_pairs): stress = np.zeros([3, 3]) for p1, p2 in particle_pairs: if p1.type == 0 and p2.type == 0 and p1.mol_id == p2.mol_id: @@ -94,8 +94,7 @@ class Stress(ut.TestCase): def test(self): # system parameters - box_l = 10.0 - system.box_l = [box_l, box_l, box_l] + system.box_l = 3 * [10.0] skin = 0.4 time_step = 0.01 system.time_step = time_step @@ -160,13 +159,13 @@ def test(self): 'non_bonded_intra', 0, 0] sim_pressure_total = system.analysis.pressure()['total'] - anal_stress_kinetic = stress_kinetic(vel, box_l) - anal_stress_bonded = stress_bonded(pos, box_l) - anal_stress_nonbonded = stress_nonbonded(system.part.pairs(), box_l) + anal_stress_kinetic = stress_kinetic(vel) + anal_stress_bonded = stress_bonded(pos) + anal_stress_nonbonded = stress_nonbonded(system.part.pairs()) anal_stress_nonbonded_inter = stress_nonbonded_inter( - system.part.pairs(), box_l) + system.part.pairs()) anal_stress_nonbonded_intra = stress_nonbonded_intra( - system.part.pairs(), box_l) + system.part.pairs()) anal_stress_total = anal_stress_kinetic + \ anal_stress_bonded + anal_stress_nonbonded anal_pressure_kinetic = np.einsum('ii', anal_stress_kinetic) / 3.0 @@ -243,8 +242,7 @@ def get_anal_stress_fene(self, pos_1, pos_2, k, d_r_max, r_0): def test_fene(self): # system parameters - box_l = 10.0 - system.box_l = [box_l, box_l, box_l] + system.box_l = 3 * [10.0] skin = 0.4 time_step = 0.01 system.time_step = time_step diff --git a/testsuite/python/test_checkpoint.py b/testsuite/python/test_checkpoint.py index 8d6a552aeb6..158566512a3 100644 --- a/testsuite/python/test_checkpoint.py +++ b/testsuite/python/test_checkpoint.py @@ -71,7 +71,7 @@ def test_LB(self): decimal=precision) state = lbf.get_params() reference = {'agrid': 0.5, 'visc': 1.3, 'dens': 1.5, 'tau': 0.01} - for key, val in reference.items(): + for key in reference: self.assertTrue(key in state) self.assertAlmostEqual(reference[key], state[key], delta=1E-7) @@ -101,12 +101,12 @@ def test_EK(self): reference = {'agrid': 0.5, 'lb_density': 26.15, 'viscosity': 1.7, 'friction': 0.0, 'T': 1.1, 'prefactor': 0.88, 'stencil': "linkcentered"} - for key, val in reference.items(): + for key in reference: self.assertTrue(key in state) self.assertAlmostEqual(reference[key], state[key], delta=1E-5) state_species = ek_species.get_params() reference_species = {'density': 0.4, 'D': 0.02, 'valency': 0.3} - for key, val in reference_species.items(): + for key in reference_species: self.assertTrue(key in state_species) self.assertAlmostEqual( reference_species[key], @@ -171,13 +171,13 @@ def test_non_bonded_inter(self): def test_bonded_inter(self): state = system.part[1].bonds[0][0].params reference = {'r_0': 0.0, 'k': 1.0} - for key in reference.keys(): + for key in reference: self.assertAlmostEqual(state[key], reference[key], delta=1E-10) if 'LBTHERM' not in modes: state = system.part[1].bonds[1][0].params reference = {'temp_com': 0., 'gamma_com': 0., 'temp_distance': 0.2, 'gamma_distance': 0.5, 'r_cut': 2.0, 'seed': 51} - for key in reference.keys(): + for key in reference: self.assertAlmostEqual(state[key], reference[key], delta=1E-10) @utx.skipIfMissingFeatures(['VIRTUAL_SITES', 'VIRTUAL_SITES_RELATIVE']) diff --git a/testsuite/python/tests_common.py b/testsuite/python/tests_common.py index 5c38694d544..fc5c8510990 100644 --- a/testsuite/python/tests_common.py +++ b/testsuite/python/tests_common.py @@ -84,7 +84,7 @@ def lj_force_vector(v_d, d, lj_params): return 4. * lj_params["epsilon"] * v_d * (-12.0 * d**-14 + 6.0 * d**-8) -def verify_lj_forces(system, tolerance, ids_to_skip=[]): +def verify_lj_forces(system, tolerance, ids_to_skip=()): """Goes over all pairs of particles in system and compares the forces on them to what would be expected based on the systems LJ parameters. Particle ids listed in ids_to_skip are not checked @@ -351,7 +351,7 @@ def lj_generic_potential(r, eps, sig, cutoff, offset=0., shift=0., e1=12., def lj_generic_force(espressomd, r, eps, sig, cutoff, offset=0., e1=12, e2=6, b1=4., b2=4., delta=0., lam=1., generic=True): f = 1. - if (r >= offset + cutoff): + if r >= offset + cutoff: f = 0. else: h = (r - offset)**2 + delta * (1. - lam) * sig**2 @@ -382,10 +382,10 @@ def lj_cos_potential(r, eps, sig, cutoff, offset): V = 0. r_min = offset + np.power(2., 1. / 6.) * sig r_cut = cutoff + offset - if (r < r_min): + if r < r_min: V = lj_potential(r, eps=eps, sig=sig, cutoff=cutoff, offset=offset, shift=0.) - elif (r < r_cut): + elif r < r_cut: alpha = np.pi / \ (np.power(r_cut - offset, 2) - np.power(r_min - offset, 2)) beta = np.pi - np.power(r_min - offset, 2) * alpha @@ -398,10 +398,10 @@ def lj_cos_force(espressomd, r, eps, sig, cutoff, offset): f = 0. r_min = offset + np.power(2., 1. / 6.) * sig r_cut = cutoff + offset - if (r < r_min): + if r < r_min: f = lj_force(espressomd, r, eps=eps, sig=sig, cutoff=cutoff, offset=offset) - elif (r < r_cut): + elif r < r_cut: alpha = np.pi / \ (np.power(r_cut - offset, 2) - np.power(r_min - offset, 2)) beta = np.pi - np.power(r_min - offset, 2) * alpha @@ -416,10 +416,10 @@ def lj_cos2_potential(r, eps, sig, offset, width): V = 0. r_min = offset + np.power(2., 1. / 6.) * sig r_cut = r_min + width - if (r < r_min): + if r < r_min: V = lj_potential(r, eps=eps, sig=sig, offset=offset, cutoff=r_cut, shift=0.) - elif (r < r_cut): + elif r < r_cut: V = -eps * np.power(np.cos(np.pi / (2. * width) * (r - r_min)), 2) return V @@ -429,10 +429,10 @@ def lj_cos2_force(espressomd, r, eps, sig, offset, width): f = 0. r_min = offset + np.power(2., 1. / 6.) * sig r_cut = r_min + width - if (r < r_min): + if r < r_min: f = lj_force(espressomd, r, eps=eps, sig=sig, cutoff=r_cut, offset=offset) - elif (r < r_cut): + elif r < r_cut: f = - np.pi * eps * \ np.sin(np.pi * (r - r_min) / width) / (2. * width) return f @@ -442,7 +442,7 @@ def lj_cos2_force(espressomd, r, eps, sig, offset, width): def smooth_step_potential(r, eps, sig, cutoff, d, n, k0): V = 0. - if (r < cutoff): + if r < cutoff: V = np.power(d / r, n) + eps / \ (1 + np.exp(2 * k0 * (r - sig))) return V @@ -450,7 +450,7 @@ def smooth_step_potential(r, eps, sig, cutoff, d, n, k0): def smooth_step_force(r, eps, sig, cutoff, d, n, k0): f = 0. - if (r < cutoff): + if r < cutoff: f = n * d / r**2 * np.power(d / r, n - 1) + 2 * k0 * eps * np.exp( 2 * k0 * (r - sig)) / (1 + np.exp(2 * k0 * (r - sig))**2) return f @@ -460,10 +460,10 @@ def smooth_step_force(r, eps, sig, cutoff, d, n, k0): def bmhtf_potential(r, a, b, c, d, sig, cutoff): V = 0. - if (r == cutoff): + if r == cutoff: V = a * np.exp(b * (sig - r)) - c * np.power( r, -6) - d * np.power(r, -8) - if (r < cutoff): + if r < cutoff: V = a * np.exp(b * (sig - r)) - c * np.power( r, -6) - d * np.power(r, -8) V -= bmhtf_potential(cutoff, a, b, c, d, sig, cutoff) @@ -472,7 +472,7 @@ def bmhtf_potential(r, a, b, c, d, sig, cutoff): def bmhtf_force(r, a, b, c, d, sig, cutoff): f = 0. - if (r < cutoff): + if r < cutoff: f = a * b * np.exp(b * (sig - r)) - 6 * c * np.power( r, -7) - 8 * d * np.power(r, -9) return f @@ -482,7 +482,7 @@ def bmhtf_force(r, a, b, c, d, sig, cutoff): def morse_potential(r, eps, alpha, cutoff, rmin=0): V = 0. - if (r < cutoff): + if r < cutoff: V = eps * (np.exp(-2. * alpha * (r - rmin)) - 2 * np.exp(-alpha * (r - rmin))) V -= eps * (np.exp(-2. * alpha * (cutoff - rmin) @@ -492,7 +492,7 @@ def morse_potential(r, eps, alpha, cutoff, rmin=0): def morse_force(r, eps, alpha, cutoff, rmin=0): f = 0. - if (r < cutoff): + if r < cutoff: f = 2. * np.exp((rmin - r) * alpha) * \ (np.exp((rmin - r) * alpha) - 1) * alpha * eps return f @@ -502,7 +502,7 @@ def morse_force(r, eps, alpha, cutoff, rmin=0): def buckingham_potential(r, a, b, c, d, cutoff, discont, shift): V = 0. - if (r < discont): + if r < discont: m = - buckingham_force( discont, a, b, c, d, cutoff, discont, shift) c = buckingham_potential( @@ -516,7 +516,7 @@ def buckingham_potential(r, a, b, c, d, cutoff, discont, shift): def buckingham_force(r, a, b, c, d, cutoff, discont, shift): f = 0. - if (r < discont): + if r < discont: f = buckingham_force( discont, a, b, c, d, cutoff, discont, shift) if (r >= discont) and (r < cutoff): @@ -529,14 +529,14 @@ def buckingham_force(r, a, b, c, d, cutoff, discont, shift): def soft_sphere_potential(r, a, n, cutoff, offset=0): V = 0. - if (r < offset + cutoff): + if r < offset + cutoff: V = a * np.power(r - offset, -n) return V def soft_sphere_force(r, a, n, cutoff, offset=0): f = 0. - if ((r > offset) and (r < offset + cutoff)): + if (r > offset) and (r < offset + cutoff): f = n * a * np.power(r - offset, -(n + 1)) return f @@ -545,14 +545,14 @@ def soft_sphere_force(r, a, n, cutoff, offset=0): def hertzian_potential(r, eps, sig): V = 0. - if (r < sig): + if r < sig: V = eps * np.power(1 - r / sig, 5. / 2.) return V def hertzian_force(r, eps, sig): f = 0. - if (r < sig): + if r < sig: f = 5. / 2. * eps / sig * np.power(1 - r / sig, 3. / 2.) return f @@ -561,14 +561,14 @@ def hertzian_force(r, eps, sig): def gaussian_potential(r, eps, sig, cutoff): V = 0. - if (r < cutoff): + if r < cutoff: V = eps * np.exp(-np.power(r / sig, 2) / 2) return V def gaussian_force(r, eps, sig, cutoff): f = 0. - if (r < cutoff): + if r < cutoff: f = eps * r / sig**2 * np.exp(-np.power(r / sig, 2) / 2) return f diff --git a/testsuite/python/thole.py b/testsuite/python/thole.py index 67ed53fc275..5fdb3fc1a18 100644 --- a/testsuite/python/thole.py +++ b/testsuite/python/thole.py @@ -57,7 +57,6 @@ def setUp(self): def test(self): res_dForce = [] res_dEnergy = [] - Es = [] ns = 100 for i in range(1, ns): x = 20.0 * i / ns diff --git a/testsuite/python/unittest_decorators.py b/testsuite/python/unittest_decorators.py index fe1a85a05dd..5658037d19b 100644 --- a/testsuite/python/unittest_decorators.py +++ b/testsuite/python/unittest_decorators.py @@ -29,7 +29,7 @@ def skipIfMissingFeatures(*args): if not espressomd.has_features(*args): missing_features = espressomd.missing_features(*args) return unittest.skip("Skipping test: missing feature{} {}".format( - 's' if len(missing_features) else '', ', '.join(missing_features))) + 's' if missing_features else '', ', '.join(missing_features))) return _id @@ -44,7 +44,7 @@ def skipIfMissingModules(*args): missing_modules = set(args) - set(sys.modules.keys()) if missing_modules: return unittest.skip("Skipping test: missing python module{} {}".format( - 's' if len(missing_modules) else '', ', '.join(missing_modules))) + 's' if missing_modules else '', ', '.join(missing_modules))) return _id @@ -53,6 +53,4 @@ def skipIfMissingGPU(): if not espressomd.gpu_available(): return unittest.skip("Skipping test: no GPU available") - devices = espressomd.cuda_init.CudaInitHandle().device_list - current_device_id = espressomd.cuda_init.CudaInitHandle().device return _id diff --git a/testsuite/python/virtual_sites_tracers_common.py b/testsuite/python/virtual_sites_tracers_common.py index d815b9d0b79..56eca7f1c11 100644 --- a/testsuite/python/virtual_sites_tracers_common.py +++ b/testsuite/python/virtual_sites_tracers_common.py @@ -33,9 +33,7 @@ class VirtualSitesTracersCommon: system.time_step = 0.05 system.cell_system.skin = 0.1 - def reset_lb(self, ext_force_density=[0, 0, 0]): - box_height = 10 - box_lw = 8 + def reset_lb(self, ext_force_density=(0, 0, 0)): self.system.actors.clear() self.system.lbboundaries.clear() self.lbf = self.LBClass( @@ -51,7 +49,7 @@ def reset_lb(self, ext_force_density=[0, 0, 0]): walls = [lbboundaries.LBBoundary() for k in range(2)] walls[0].set_params(shape=shapes.Wall(normal=[0, 0, 1], dist=0.5)) walls[1].set_params(shape=shapes.Wall(normal=[0, 0, -1], - dist=-box_height - 0.5)) + dist=-self.box_height - 0.5)) for wall in walls: self.system.lbboundaries.add(wall) @@ -72,8 +70,6 @@ def test_advection(self): self.reset_lb(ext_force_density=[0.1, 0, 0]) # System setup system = self.system - box_lw = self.box_lw - box_height = self.box_height system.virtual_sites = VirtualSitesInertialessTracers() @@ -85,7 +81,7 @@ def test_advection(self): system.time = 0 # Perform integration - for i in range(3): + for _ in range(3): system.integrator.run(100) # compute expected position X = self.lbf.get_interpolated_velocity( @@ -155,7 +151,7 @@ def test_tribend(self): # Perform integration last_angle = self.compute_angle() - for i in range(6): + for _ in range(6): system.integrator.run(430) angle = self.compute_angle() self.assertLess(angle, last_angle) @@ -254,5 +250,5 @@ def test_zz_without_lb(self): p = system.part.add(pos=(0, 0, 0)) system.integrator.run(1) p.virtual = True - with(self.assertRaises(Exception)): + with self.assertRaises(Exception): system.integrator.run(1) diff --git a/testsuite/python/wang_landau_reaction_ensemble.py b/testsuite/python/wang_landau_reaction_ensemble.py index 1a5c33a48ed..ade5f4600e6 100644 --- a/testsuite/python/wang_landau_reaction_ensemble.py +++ b/testsuite/python/wang_landau_reaction_ensemble.py @@ -102,7 +102,7 @@ def test_wang_landau_output(self): while True: try: self.WLRE.reaction() - for i in range(2): + for _ in range(2): self.WLRE.displacement_mc_move_for_particles_of_type(3) except reaction_ensemble.WangLandauHasConverged: # only catch my exception break diff --git a/testsuite/python/widom_insertion.py b/testsuite/python/widom_insertion.py index a5c75240ea3..1d1ca71ecc5 100644 --- a/testsuite/python/widom_insertion.py +++ b/testsuite/python/widom_insertion.py @@ -91,7 +91,6 @@ def setUp(self): default_charges={self.TYPE_HA: self.CHARGE_HA}) def test_widom_insertion(self): - TYPE_HA = WidomInsertionTest.TYPE_HA system = WidomInsertionTest.system Widom = WidomInsertionTest.Widom target_mu_ex = WidomInsertionTest.target_mu_ex @@ -99,7 +98,7 @@ def test_widom_insertion(self): system.seed = system.cell_system.get_state()[ 'n_nodes'] * [np.random.randint(5)] num_samples = 100000 - for i in range(num_samples): + for _ in range(num_samples): # 0 for insertion reaction Widom.measure_excess_chemical_potential(0) mu_ex = Widom.measure_excess_chemical_potential(0) diff --git a/testsuite/python/writevtf.py b/testsuite/python/writevtf.py index 48305b59e49..6e1f7cf7e4d 100644 --- a/testsuite/python/writevtf.py +++ b/testsuite/python/writevtf.py @@ -65,7 +65,7 @@ def test_pos(self): if self.types_to_write == 'all': simulation_pos = np.array( [((i), float(i), float(i), float(i)) for i in range(npart)]) - elif (2 in self.types_to_write): + elif 2 in self.types_to_write: simulation_pos = np.array( [((i * 2), float(i * 2), float(i * 2), float(i * 2)) for i in range(npart // 2)]) @@ -77,7 +77,7 @@ def test_bonds(self): """Test if bonds have been written properly: just look at number of bonds""" if self.types_to_write == 'all': simulation_bonds = np.array([1, 2, 3]) # the two bonded particles - elif (2 in self.types_to_write): + elif 2 in self.types_to_write: types = [2] simulation_bonds = np.array(2) # only this one is type 2 @@ -90,7 +90,7 @@ def test_atoms(self): if self.types_to_write == 'all': simulation_atoms = np.array( [((i), (1 + (-1)**i)) for i in range(npart)]) - elif (2 in self.types_to_write): + elif 2 in self.types_to_write: simulation_atoms = np.array([((i * 2), 2) for i in range(npart // 2)]) diff --git a/testsuite/scripts/importlib_wrapper.py b/testsuite/scripts/importlib_wrapper.py index 2aaaab69fd1..199d7a7ba2b 100644 --- a/testsuite/scripts/importlib_wrapper.py +++ b/testsuite/scripts/importlib_wrapper.py @@ -145,8 +145,7 @@ def configure_and_import(filepath, def set_cmd(code, filepath, cmd_arguments): - assert isinstance(cmd_arguments, list) \ - or isinstance(cmd_arguments, tuple) + assert isinstance(cmd_arguments, (list, tuple)) sys_argv = list(map(str, cmd_arguments)) sys_argv.insert(0, os.path.basename(filepath)) re_import_sys = re.compile("^import[\t\ ]+sys[\t\ ]*$", re.M) From e4a3f8abddd173f1f661b4f1c2b4e29657a902c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Wed, 25 Sep 2019 14:27:42 +0200 Subject: [PATCH 3/4] Formatting with pylint Remove trailing whitespaces and fix indentation. Pylint rules: W0311,C0303,C0321,C0330 --- maintainer/benchmarks/p3m.py | 2 +- src/python/espressomd/accumulators.py | 4 +-- src/python/object_in_fluid/oif_classes.py | 8 +++--- testsuite/python/analyze_mass_related.py | 2 +- testsuite/python/dawaanr-and-bh-gpu.py | 10 +++---- testsuite/python/dpd.py | 2 +- testsuite/python/engine_lb.py | 28 +++++++++---------- testsuite/python/interactions_bond_angle.py | 2 +- testsuite/python/interactions_non-bonded.py | 5 ++-- testsuite/python/lb.py | 2 +- testsuite/python/lb_shear.py | 6 ++-- testsuite/python/lb_stokes_sphere.py | 8 +++--- .../python/mass-and-rinertia_per_particle.py | 2 +- testsuite/python/minimize_energy.py | 2 +- testsuite/python/mmm1d.py | 8 +++--- testsuite/python/observable_cylindrical.py | 2 +- testsuite/python/observable_profileLB.py | 6 ++-- .../python/rotational-diffusion-aniso.py | 2 +- testsuite/python/test_checkpoint.py | 6 ++-- testsuite/python/tests_common.py | 16 +++++------ testsuite/python/thermalized_bond.py | 2 +- .../python/virtual_sites_tracers_common.py | 2 +- testsuite/python/widom_insertion.py | 6 ++-- 23 files changed, 68 insertions(+), 65 deletions(-) diff --git a/maintainer/benchmarks/p3m.py b/maintainer/benchmarks/p3m.py index bfdfcd849b1..0f2117bb27c 100644 --- a/maintainer/benchmarks/p3m.py +++ b/maintainer/benchmarks/p3m.py @@ -99,7 +99,7 @@ # Integration parameters ############################################################# system.time_step = 0.01 -system.cell_system.skin = .4 +system.cell_system.skin = .4 system.thermostat.turn_off() diff --git a/src/python/espressomd/accumulators.py b/src/python/espressomd/accumulators.py index 8485b448e0a..d6fc33446bb 100644 --- a/src/python/espressomd/accumulators.py +++ b/src/python/espressomd/accumulators.py @@ -241,10 +241,10 @@ def result(self): ------- numpy.ndarray - The result of the correlation function as a 2d-array. + The result of the correlation function as a 2d-array. The first column contains the values of the lag time tau. The second column contains the number of values used to - perform the averaging of the correlation. Further columns contain + perform the averaging of the correlation. Further columns contain the values of the correlation function. The number of these columns is the dimension of the output of the correlation operation. """ diff --git a/src/python/object_in_fluid/oif_classes.py b/src/python/object_in_fluid/oif_classes.py index 116c3d025ad..5207442b5c4 100644 --- a/src/python/object_in_fluid/oif_classes.py +++ b/src/python/object_in_fluid/oif_classes.py @@ -667,10 +667,10 @@ def volume(self): triangle.A.get_pos(), triangle.B.get_pos(), triangle.C.get_pos()) tmp_normal_length = norm(tmp_normal) tmp_sum_z_coords = 1.0 / 3.0 * \ - (triangle.A.get_pos()[2] + triangle.B.get_pos()[ - 2] + triangle.C.get_pos()[2]) - volume -= triangle.area() * tmp_normal[ - 2] / tmp_normal_length * tmp_sum_z_coords + (triangle.A.get_pos()[2] + triangle.B.get_pos()[2] + + triangle.C.get_pos()[2]) + volume -= (triangle.area() * tmp_normal[2] / tmp_normal_length * + tmp_sum_z_coords) return volume def get_n_nodes(self): diff --git a/testsuite/python/analyze_mass_related.py b/testsuite/python/analyze_mass_related.py index 69f6baec04b..37ee7c75813 100644 --- a/testsuite/python/analyze_mass_related.py +++ b/testsuite/python/analyze_mass_related.py @@ -139,7 +139,7 @@ def test_kinetic_pressure(self): np.testing.assert_allclose( expected_stress, analyze_stress) - def test_gyration_radius(self): + def test_gyration_radius(self): if self.system.part.select(virtual=True): with self.assertRaisesRegex(Exception, "not well-defined"): self.system.analysis.calc_rg(chain_start=0, number_of_chains=1, diff --git a/testsuite/python/dawaanr-and-bh-gpu.py b/testsuite/python/dawaanr-and-bh-gpu.py index d9d1638e178..c3dc50ca3a0 100644 --- a/testsuite/python/dawaanr-and-bh-gpu.py +++ b/testsuite/python/dawaanr-and-bh-gpu.py @@ -130,21 +130,21 @@ def test(self): ratio_dawaanr_bh_gpu * np.array(bhgpu_t[i])), msg='Torques on particle do not match. i={0} dawaanr_t={1} ' 'ratio_dawaanr_bh_gpu*bhgpu_t={2}'.format( - i, np.array(dawaanr_t[i]), - ratio_dawaanr_bh_gpu * np.array(bhgpu_t[i]))) + i, np.array(dawaanr_t[i]), + ratio_dawaanr_bh_gpu * np.array(bhgpu_t[i]))) self.assertTrue( self.vectorsTheSame( np.array(dawaanr_f[i]), ratio_dawaanr_bh_gpu * np.array(bhgpu_f[i])), msg='Forces on particle do not match: i={0} dawaanr_f={1} ' 'ratio_dawaanr_bh_gpu*bhgpu_f={2}'.format( - i, np.array(dawaanr_f[i]), - ratio_dawaanr_bh_gpu * np.array(bhgpu_f[i]))) + i, np.array(dawaanr_f[i]), + ratio_dawaanr_bh_gpu * np.array(bhgpu_f[i]))) self.assertLessEqual( abs(dawaanr_e - bhgpu_e * ratio_dawaanr_bh_gpu), abs(1E-3 * dawaanr_e), msg='Energies for dawaanr {0} and bh_gpu {1} do not match.' - .format(dawaanr_e, ratio_dawaanr_bh_gpu * bhgpu_e)) + .format(dawaanr_e, ratio_dawaanr_bh_gpu * bhgpu_e)) self.system.integrator.run(steps=0, recalc_forces=True) diff --git a/testsuite/python/dpd.py b/testsuite/python/dpd.py index e16ed4157ee..cd88896786a 100644 --- a/testsuite/python/dpd.py +++ b/testsuite/python/dpd.py @@ -447,7 +447,7 @@ def calc_stress(dist, vel_diff): def test_momentum_conservation(self): r_cut = 1.0 gamma = 5. - r_cut = 2.9 + r_cut = 2.9 s = self.s s.thermostat.set_dpd(kT=1.3, seed=42) diff --git a/testsuite/python/engine_lb.py b/testsuite/python/engine_lb.py index 8f120f48d6b..0a20d81dc9b 100644 --- a/testsuite/python/engine_lb.py +++ b/testsuite/python/engine_lb.py @@ -28,7 +28,7 @@ class SwimmerTest(): 'dens': 1.1, 'visc': 1.2, 'kT': 0, - 'tau': system.time_step} + 'tau': system.time_step} gamma = 0.3 lbf = None @@ -40,7 +40,7 @@ def add_all_types_of_swimmers( """Places all combinations of pusher/puller and f_swim/v_swim in a box, either in the corners or around the center """ - system = self.system + system = self.system plus_x = np.sqrt([.5, 0, .5, 0]) plus_y = np.sqrt([0, 0, .5, .5]) plus_z = np.sqrt([.5, 0, 0, .5]) @@ -80,7 +80,7 @@ def test_conflicting_parameters(self): """ swimmer = self.system.part.add(pos=[3] * 3) with self.assertRaises(Exception): - swimmer.swimming = {"v_swim": 0.3, "f_swim": 0.6} + swimmer.swimming = {"v_swim": 0.3, "f_swim": 0.6} def test_momentum_conservation(self): """friction as well as 'active' forces apply to particles @@ -90,7 +90,7 @@ def test_momentum_conservation(self): self.system.integrator.run(20, reuse_forces=True) tot_mom = self.system.analysis.linear_momentum(include_particles=True, include_lbfluid=True) - np.testing.assert_allclose(tot_mom, 3 * [0.], atol=self.tol) + np.testing.assert_allclose(tot_mom, 3 * [0.], atol=self.tol) def test_particle_forces(self): """run through all swimmers to check expected forces @@ -106,7 +106,7 @@ def test_particle_forces(self): # due to dt/2 time-shift between force calculation and LB-update, # v_swimmer has to be calculated at the half step v_swimmer = swimmer.v + \ - 0.5 * self.system.time_step * swimmer.f / swimmer.mass + 0.5 * self.system.time_step * swimmer.f / swimmer.mass # for friction coupling, the old fluid at the new position is used v_fluid = self.lbf.get_interpolated_velocity( swimmer.pos + self.system.time_step * v_swimmer) @@ -126,7 +126,7 @@ def check_fluid_force(self, swimmer): @utx.skipIfMissingFeatures(["ENGINE", "ROTATION", "MASS"]) -class SwimmerTestCPU(SwimmerTest, ut.TestCase): +class SwimmerTestCPU(SwimmerTest, ut.TestCase): def setUp(self): self.tol = 1e-10 @@ -145,15 +145,15 @@ def test_rotfric_exception(self): # with rot_fric it is not with self.assertRaises(Exception): self.system.part.add(pos=[0, 0, 0], rotation=3 * [True], - swimming={"f_swim": 0.1, - "mode": "pusher", + swimming={"f_swim": 0.1, + "mode": "pusher", "rotational_friction": 0.3}) self.system.integrator.run(3) @utx.skipIfMissingGPU() @utx.skipIfMissingFeatures(["ENGINE", "ROTATION", "MASS"]) -class SwimmerTestGPU(SwimmerTest, ut.TestCase): +class SwimmerTestGPU(SwimmerTest, ut.TestCase): def setUp(self): self.tol = 1e-5 @@ -162,11 +162,11 @@ def setUp(self): self.system.thermostat.set_lb(LB_fluid=self.lbf, gamma=self.gamma) def test_particle_torques(self): - """setup shear flow and check if resulting torques match + """setup shear flow and check if resulting torques match the formulae in the core """ - bottom = shapes.Wall(normal=[0, 0, 1], + bottom = shapes.Wall(normal=[0, 0, 1], dist=self.LB_params['agrid']) top = shapes.Wall(normal=[0, 0, -1], dist=-self.system.box_l[2] + self.LB_params['agrid']) @@ -186,12 +186,12 @@ def test_particle_torques(self): director = swimmer.director dip_len = swimmer.swimming["dipole_length"] mode_fac = 1. if swimmer.swimming["mode"] == "puller" else -1. - source_pos = swimmer.pos + mode_fac * dip_len * director + source_pos = swimmer.pos + mode_fac * dip_len * director v_center = self.lbf.get_interpolated_velocity(swimmer.pos) v_source = self.lbf.get_interpolated_velocity(source_pos) diff = v_center - v_source - cross = np.cross(diff, director) + cross = np.cross(diff, director) # half-step omega with isotropic rinertia omega_part = swimmer.omega_lab + 0.5 * self.system.time_step * \ swimmer.torque_lab / swimmer.rinertia[0] @@ -204,7 +204,7 @@ def test_particle_torques(self): np.testing.assert_allclose( swimmer.torque_lab, torque, - atol=self.tol) + atol=self.tol) if __name__ == "__main__": diff --git a/testsuite/python/interactions_bond_angle.py b/testsuite/python/interactions_bond_angle.py index 9d3ee46d148..299369f9fec 100644 --- a/testsuite/python/interactions_bond_angle.py +++ b/testsuite/python/interactions_bond_angle.py @@ -128,7 +128,7 @@ def run_test(self, bond_instance, force_func, energy_func, phi0): # No pressure (isotropic compression preserves angles) self.assertAlmostEqual( self.system.analysis.pressure()["bonded"], 0, delta=1E-12) - # Stress tensor trace=0 (isotropic compression preserves angles, + # Stress tensor trace=0 (isotropic compression preserves angles, # consistency with pressure) self.assertAlmostEqual( np.trace(self.system.analysis.stress_tensor()["bonded"]), 0, delta=1E-12) diff --git a/testsuite/python/interactions_non-bonded.py b/testsuite/python/interactions_non-bonded.py index 841c9a0541e..fafb1eede27 100644 --- a/testsuite/python/interactions_non-bonded.py +++ b/testsuite/python/interactions_non-bonded.py @@ -610,8 +610,9 @@ def gradient(func, x0, dx=1.0e-7): the approximated gradient of func at x0 """ - def partial_x(x): return (func(x0 + x) - func(x0 - x)) / ( - 2.0 * np.linalg.norm(x)) + def partial_x(x): + return (func(x0 + x) - func(x0 - x)) / ( + 2.0 * np.linalg.norm(x)) delta = np.array([dx, 0.0, 0.0]) return np.array([partial_x(np.roll(delta, i)) for i in range(3)]) diff --git a/testsuite/python/lb.py b/testsuite/python/lb.py index e852afa1265..f9c489d7f44 100644 --- a/testsuite/python/lb.py +++ b/testsuite/python/lb.py @@ -244,7 +244,7 @@ def test_lb_node_set_get(self): ext_force_density=[0, 0, 0]) self.system.actors.add(self.lbf) - self.assertEqual(self.lbf.shape, + self.assertEqual(self.lbf.shape, ( int(self.system.box_l[0] / self.params["agrid"]), int(self.system.box_l[1] / self.params["agrid"]), diff --git a/testsuite/python/lb_shear.py b/testsuite/python/lb_shear.py index 54bd171b939..96bed26595a 100644 --- a/testsuite/python/lb_shear.py +++ b/testsuite/python/lb_shear.py @@ -37,8 +37,8 @@ # Box size will be H +2 AGRID to make room for walls. # The number of grid cells should be divisible by four and 3 in all directions # for testing on multiple mpi nodes. -H = 12 * AGRID -W = 6 * AGRID +H = 12 * AGRID +W = 6 * AGRID SHEAR_VELOCITY = 0.3 LB_PARAMS = {'agrid': AGRID, @@ -164,7 +164,7 @@ def check_profile(self, shear_plane_normal, shear_direction): np.copy(wall1.get_force()), -np.copy(wall2.get_force()), atol=1E-4) - np.testing.assert_allclose(np.copy(wall1.get_force()), + np.testing.assert_allclose(np.copy(wall1.get_force()), shear_direction * SHEAR_VELOCITY / H * W**2 * VISC, atol=2E-4) def test(self): diff --git a/testsuite/python/lb_stokes_sphere.py b/testsuite/python/lb_stokes_sphere.py index a138f10065c..d798c1c806f 100644 --- a/testsuite/python/lb_stokes_sphere.py +++ b/testsuite/python/lb_stokes_sphere.py @@ -34,15 +34,15 @@ # Define the LB Parameters TIME_STEP = 0.4 -AGRID = 0.6 -KVISC = 6 -DENS = 2.3 +AGRID = 0.6 +KVISC = 6 +DENS = 2.3 LB_PARAMS = {'agrid': AGRID, 'dens': DENS, 'visc': KVISC, 'tau': TIME_STEP} # System setup -radius = 8 * AGRID +radius = 8 * AGRID box_width = 62 * AGRID real_width = box_width + 2 * AGRID box_length = 62 * AGRID diff --git a/testsuite/python/mass-and-rinertia_per_particle.py b/testsuite/python/mass-and-rinertia_per_particle.py index a14254fcdbf..4b6468ff043 100644 --- a/testsuite/python/mass-and-rinertia_per_particle.py +++ b/testsuite/python/mass-and-rinertia_per_particle.py @@ -32,7 +32,7 @@ class ThermoTest(ut.TestCase): kT = 0.0 gamma_global = np.zeros((3)) gamma_global_rot = np.zeros((3)) - # Test ranges + # Test ranges gamma_min = 5. gamma_max = 10. diff --git a/testsuite/python/minimize_energy.py b/testsuite/python/minimize_energy.py index 81105b6166b..88fb7eb451a 100644 --- a/testsuite/python/minimize_energy.py +++ b/testsuite/python/minimize_energy.py @@ -79,7 +79,7 @@ def test_relaxation(self): self.system.analysis.energy()["total"], 0, places=10) np.testing.assert_allclose(np.copy(self.system.part[:].f), 0.) if self.test_rotation: - np.testing.assert_allclose(np.copy(self.system.part[:].dip), + np.testing.assert_allclose(np.copy(self.system.part[:].dip), np.hstack((-np.ones((self.n_part, 1)), np.zeros((self.n_part, 1)), np.zeros((self.n_part, 1)))), atol=1E-9) def test_rescaling(self): diff --git a/testsuite/python/mmm1d.py b/testsuite/python/mmm1d.py index 4ed47bfc404..e88c828e036 100644 --- a/testsuite/python/mmm1d.py +++ b/testsuite/python/mmm1d.py @@ -102,7 +102,7 @@ def test_with_analytical_result(self, prefactor=1.0, accuracy=1e-4): abs(f_measured[2] - target_force_z_config), accuracy, msg="Measured force in z has a deviation which is too big compared to analytical result " - + str(abs(f_measured[2] - target_force_z_config))) + + str(abs(f_measured[2] - target_force_z_config))) self.assertLess( abs(energy_measured - target_energy_config), self.allowed_error, @@ -110,11 +110,11 @@ def test_with_analytical_result(self, prefactor=1.0, accuracy=1e-4): def test_bjerrum_length_change(self): self.system.part.clear() - self.system.actors.clear() # tear down previous actors + self.system.actors.clear() # tear down previous actors prefactor = 2 mmm1d = self.MMM1D(prefactor=prefactor, maxPWerror=1e-20) - self.system.actors.add(mmm1d) - self.test_with_analytical_result(prefactor=prefactor, accuracy=0.0017) + self.system.actors.add(mmm1d) + self.test_with_analytical_result(prefactor=prefactor, accuracy=0.0017) @utx.skipIfMissingFeatures(["ELECTROSTATICS", "MMM1D_GPU"]) diff --git a/testsuite/python/observable_cylindrical.py b/testsuite/python/observable_cylindrical.py index 78a75e3b0d4..14169a68923 100644 --- a/testsuite/python/observable_cylindrical.py +++ b/testsuite/python/observable_cylindrical.py @@ -93,7 +93,7 @@ def set_particles(self): (len(self.params['ids']) + 1) - self.params['center'][2]]) v_y = (position[0] * np.sqrt(position[0]**2 + position[1]**2) * self.v_phi + position[1] * self.v_r) / np.sqrt( - position[0]**2 + position[1]**2) + position[0]**2 + position[1]**2) v_x = (self.v_r * np.sqrt(position[0]**2 + position[1]**2) - position[1] * v_y) / position[0] velocity = np.array([v_x, v_y, self.v_z]) diff --git a/testsuite/python/observable_profileLB.py b/testsuite/python/observable_profileLB.py index e2737050a9c..37e9e37f165 100644 --- a/testsuite/python/observable_profileLB.py +++ b/testsuite/python/observable_profileLB.py @@ -86,8 +86,10 @@ def test_velocity_profile(self): for z in range(obs_data.shape[2]): self.assertAlmostEqual( obs_data[x, y, z, 0], float(x), places=5) - self.assertEqual(obs.n_values(), LB_VELOCITY_PROFILE_PARAMS[ - 'n_x_bins'] * LB_VELOCITY_PROFILE_PARAMS['n_y_bins'] * LB_VELOCITY_PROFILE_PARAMS['n_z_bins'] * 3) + self.assertEqual(obs.n_values(), + LB_VELOCITY_PROFILE_PARAMS['n_x_bins'] * + LB_VELOCITY_PROFILE_PARAMS['n_y_bins'] * + LB_VELOCITY_PROFILE_PARAMS['n_z_bins'] * 3) def test_error_sampling_delta_of_0(self): lb_velocity_params_local = copy.copy(LB_VELOCITY_PROFILE_PARAMS) diff --git a/testsuite/python/rotational-diffusion-aniso.py b/testsuite/python/rotational-diffusion-aniso.py index 59e8b3dbdd7..e2d8e0e5d15 100644 --- a/testsuite/python/rotational-diffusion-aniso.py +++ b/testsuite/python/rotational-diffusion-aniso.py @@ -29,7 +29,7 @@ class RotDiffAniso(ut.TestCase): # Handle for espresso system system = espressomd.System(box_l=[1.0, 1.0, 1.0]) system.cell_system.skin = 5.0 - system.seed = range(system.cell_system.get_state()["n_nodes"]) + system.seed = range(system.cell_system.get_state()["n_nodes"]) # The NVT thermostat parameters kT = 0.0 diff --git a/testsuite/python/test_checkpoint.py b/testsuite/python/test_checkpoint.py index 158566512a3..f9f86b07d40 100644 --- a/testsuite/python/test_checkpoint.py +++ b/testsuite/python/test_checkpoint.py @@ -56,9 +56,9 @@ def test_LB(self): lbf.load_checkpoint(cpt_path.format(""), cpt_mode) precision = 9 if "LB.CPU" in modes else 5 m = np.pi / 12 - nx = lbf.shape[0] - ny = lbf.shape[1] - nz = lbf.shape[2] + nx = lbf.shape[0] + ny = lbf.shape[1] + nz = lbf.shape[2] grid_3D = np.fromfunction( lambda i, j, k: np.cos(i * m) * np.cos(j * m) * np.cos(k * m), (nx, ny, nz), dtype=float) diff --git a/testsuite/python/tests_common.py b/testsuite/python/tests_common.py index fc5c8510990..b8e79957f3e 100644 --- a/testsuite/python/tests_common.py +++ b/testsuite/python/tests_common.py @@ -34,8 +34,8 @@ def params_match(inParams, outParams): return False else: if outParams[k] != inParams[k]: - print("Mismatch in parameter ", k, inParams[ - k], outParams[k], type(inParams[k]), type(outParams[k])) + print("Mismatch in parameter ", k, inParams[k], + outParams[k], type(inParams[k]), type(outParams[k])) return False return True @@ -485,8 +485,8 @@ def morse_potential(r, eps, alpha, cutoff, rmin=0): if r < cutoff: V = eps * (np.exp(-2. * alpha * (r - rmin)) - 2 * np.exp(-alpha * (r - rmin))) - V -= eps * (np.exp(-2. * alpha * (cutoff - rmin) - ) - 2 * np.exp(-alpha * (cutoff - rmin))) + V -= eps * (np.exp(-2. * alpha * (cutoff - rmin)) - + 2 * np.exp(-alpha * (cutoff - rmin))) return V @@ -585,14 +585,14 @@ def gay_berne_potential(r_ij, u_i, u_j, epsilon_0, sigma_0, mu, nu, k_1, k_2): sigma = sigma_0 \ / np.sqrt( (1 - 0.5 * chi * ( - (r_u_i + r_u_j)**2 / (1 + chi * u_i_u_j) + - (r_u_i - r_u_j)**2 / (1 - chi * u_i_u_j)))) + (r_u_i + r_u_j)**2 / (1 + chi * u_i_u_j) + + (r_u_i - r_u_j)**2 / (1 - chi * u_i_u_j)))) epsilon = epsilon_0 *\ (1 - chi**2 * u_i_u_j**2)**(-nu / 2.) *\ (1 - chi_d / 2. * ( - (r_u_i + r_u_j)**2 / (1 + chi_d * u_i_u_j) + - (r_u_i - r_u_j)**2 / (1 - chi_d * u_i_u_j)))**mu + (r_u_i + r_u_j)**2 / (1 + chi_d * u_i_u_j) + + (r_u_i - r_u_j)**2 / (1 - chi_d * u_i_u_j)))**mu rr = np.linalg.norm((np.linalg.norm(r_ij) - sigma + sigma_0) / sigma_0) diff --git a/testsuite/python/thermalized_bond.py b/testsuite/python/thermalized_bond.py index ba176f716ae..1b6c4224519 100644 --- a/testsuite/python/thermalized_bond.py +++ b/testsuite/python/thermalized_bond.py @@ -142,7 +142,7 @@ def test_dist_langevin(self): v_stored = np.zeros((N2 * loops, 3)) for i in range(loops): self.system.integrator.run(12) - v_dist = self.system.part[1::2].v - self.system.part[::2].v + v_dist = self.system.part[1::2].v - self.system.part[::2].v v_stored[i * N2:(i + 1) * N2, :] = v_dist v_minmax = 5 diff --git a/testsuite/python/virtual_sites_tracers_common.py b/testsuite/python/virtual_sites_tracers_common.py index 56eca7f1c11..3374575593c 100644 --- a/testsuite/python/virtual_sites_tracers_common.py +++ b/testsuite/python/virtual_sites_tracers_common.py @@ -238,7 +238,7 @@ def test_triel(self): self.assertAlmostEqual(dist2strong, np.sqrt(2), delta=0.1) def test_zz_without_lb(self): - """Check behaviour without lb. Ignore non-virtual particles, complain on + """Check behaviour without lb. Ignore non-virtual particles, complain on virtual ones. """ diff --git a/testsuite/python/widom_insertion.py b/testsuite/python/widom_insertion.py index 1d1ca71ecc5..1024dc0c3ad 100644 --- a/testsuite/python/widom_insertion.py +++ b/testsuite/python/widom_insertion.py @@ -55,7 +55,7 @@ class WidomInsertionTest(ut.TestCase): LJ_SIG, LJ_CUT, LJ_SHIFT) / TEMPERATURE), - x=radius) + x=radius) # numerical solution for V_lj=0 => corresponds to the volume (as exp(0)=1) integreateRest = (BOX_L**3 - 4.0 / 3.0 * np.pi * LJ_CUT**3) @@ -73,7 +73,7 @@ class WidomInsertionTest(ut.TestCase): volume = np.prod(system.box_l) # cuboid box Widom = reaction_ensemble.WidomInsertion( - temperature=TEMPERATURE, seed=1) + temperature=TEMPERATURE, seed=1) def setUp(self): self.system.part.add(id=0, pos=0.5 * self.system.box_l, @@ -90,7 +90,7 @@ def setUp(self): product_coefficients=[1], default_charges={self.TYPE_HA: self.CHARGE_HA}) - def test_widom_insertion(self): + def test_widom_insertion(self): system = WidomInsertionTest.system Widom = WidomInsertionTest.Widom target_mu_ex = WidomInsertionTest.target_mu_ex From 3b716e592ad7ec9a104597995f9c25ec37bee325 Mon Sep 17 00:00:00 2001 From: Kai Szuttor Date: Mon, 30 Sep 2019 09:37:51 +0200 Subject: [PATCH 4/4] pylint:fixed: Dangerous default value [] as argument. --- src/config/defines.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/config/defines.py b/src/config/defines.py index 084e98d6976..7dfb4a28041 100644 --- a/src/config/defines.py +++ b/src/config/defines.py @@ -21,9 +21,10 @@ class Defines: - def __init__(self, compiler, flags=[]): + def __init__(self, compiler, flags=()): self._compiler = compiler - self._flags = flags + ["-E", "-dM"] + assert isinstance(flags, (list, tuple)) + self._flags = list(flags) + ["-E", "-dM"] build_in = self._build_in_defs() self._buildin = set(build_in)