diff --git a/doc/conf.py b/doc/conf.py index c21a31aeef74282c01a6b7e3b0b0c13e2cff40e0..1b1cb89eb3abdf59de9093124c4a8bdc5ca4e67e 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -1,4 +1,3 @@ -# # grudge documentation build configuration file, created by # sphinx-quickstart on Sun Sep 27 13:08:30 2015. # @@ -324,6 +323,6 @@ intersphinx_mapping = { "https://documen.tician.de/modepy/": None, "https://documen.tician.de/pymbolic/": None, "https://documen.tician.de/meshmode/": None, - "http://documen.tician.de/loopy/": None, + "https://documen.tician.de/loopy/": None, } autoclass_content = "class" diff --git a/examples/dagrt-fusion.py b/examples/dagrt-fusion.py index d920c6a2e008b67a20389912edf10d2572f598d8..2a285ad533b0d1ffb545da65f69efc8665072a10 100755 --- a/examples/dagrt-fusion.py +++ b/examples/dagrt-fusion.py @@ -2,7 +2,6 @@ """Study of operator fusion (inlining) for time integration operators in Grudge. """ - __copyright__ = """ Copyright (C) 2015 Andreas Kloeckner Copyright (C) 2019 Matt Wala diff --git a/examples/geometry.py b/examples/geometry.py index b315cf3b4f632ea5182d71610111efefd682b16c..0affdc8ecf5ba887a409758152c58420609f74db 100644 --- a/examples/geometry.py +++ b/examples/geometry.py @@ -1,6 +1,5 @@ """Minimal example of a grudge driver.""" - __copyright__ = "Copyright (C) 2015 Andreas Kloeckner" __license__ = """ @@ -23,6 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ + import numpy as np # noqa import pyopencl as cl from grudge import sym, bind, DGDiscretizationWithBoundaries, shortcuts diff --git a/examples/maxwell/cavities.py b/examples/maxwell/cavities.py index 9cd10cf5b011358745f3f68b6a6a39c716749bdc..d31e08219f2fb944e980d93d5f63b9aee754d6d2 100644 --- a/examples/maxwell/cavities.py +++ b/examples/maxwell/cavities.py @@ -1,6 +1,5 @@ """Minimal example of a grudge driver.""" - __copyright__ = "Copyright (C) 2015 Andreas Kloeckner" __license__ = """ diff --git a/examples/wave/var-propagation-speed.py b/examples/wave/var-propagation-speed.py index 9085b870c3fe551296c5897fb60797275c21cf8b..6a075650184f94e7ee820806c7706fb337e7278c 100644 --- a/examples/wave/var-propagation-speed.py +++ b/examples/wave/var-propagation-speed.py @@ -1,6 +1,5 @@ """Minimal example of a grudge driver.""" - __copyright__ = "Copyright (C) 2015 Andreas Kloeckner" __license__ = """ diff --git a/examples/wave/wave-min-mpi.py b/examples/wave/wave-min-mpi.py index 5a4a390d4054d6dee9dbfdbdc5fd9bca52f3d5eb..a65582b7dd1227868a3ae81f67ca08b1c37b4237 100644 --- a/examples/wave/wave-min-mpi.py +++ b/examples/wave/wave-min-mpi.py @@ -1,6 +1,5 @@ """Minimal example of a grudge driver.""" - __copyright__ = "Copyright (C) 2015 Andreas Kloeckner" __license__ = """ diff --git a/grudge/dt_finding.py b/grudge/dt_finding.py index 2e9ac86992d26040d4f66e7a9535c5bafd2620be..fd5a3d8e2ddcc2d13170182656eb59d40a23b798 100644 --- a/grudge/dt_finding.py +++ b/grudge/dt_finding.py @@ -1,6 +1,5 @@ """Helpers for estimating a stable time step.""" - __copyright__ = "Copyright (C) 2015 Andreas Kloeckner" __license__ = """ diff --git a/grudge/function_registry.py b/grudge/function_registry.py index 45e041472106bc8562be5aa82cc2288ffd26eef8..89629deffcf450ab41c6869d37e6b5e7aa666a0e 100644 --- a/grudge/function_registry.py +++ b/grudge/function_registry.py @@ -139,8 +139,7 @@ class FunctionRegistry(RecordWithoutPickling): if id_to_function is None: id_to_function = {} - super().__init__( - id_to_function=id_to_function) + super().__init__(id_to_function=id_to_function) def register(self, function): """Return a copy of *self* with *function* registered.""" diff --git a/grudge/models/__init__.py b/grudge/models/__init__.py index a5a248cb7d9a082e79a553ffc805be729fbd34ea..6b2d4e59e8c503d123a1790112afc9ce7c1eeef1 100644 --- a/grudge/models/__init__.py +++ b/grudge/models/__init__.py @@ -1,6 +1,5 @@ """Base classes for operators.""" - __copyright__ = "Copyright (C) 2007 Andreas Kloeckner" __license__ = """ diff --git a/grudge/models/advection.py b/grudge/models/advection.py index f982506e885931a50e995b34bc303d5797e2fbd2..55840b5a110a80825c87e6bd13963942c0ac1a13 100644 --- a/grudge/models/advection.py +++ b/grudge/models/advection.py @@ -1,6 +1,5 @@ """Operators modeling advective phenomena.""" - __copyright__ = "Copyright (C) 2009-2017 Andreas Kloeckner, Bogdan Enache" __license__ = """ @@ -51,7 +50,7 @@ def advection_weak_flux(flux_type, u, velocity): ) return u_upwind * v_dot_n else: - raise ValueError(f"flux `{flux_type}` is not implemented") + raise ValueError(f"flux '{flux_type}' is not implemented") # }}} @@ -72,7 +71,7 @@ class AdvectionOperatorBase(HyperbolicOperator): self.flux_type = flux_type if flux_type not in self.flux_types: - raise ValueError(f"unknown flux type: {flux_type}") + raise ValueError(f"unknown flux type: '{flux_type}'") def weak_flux(self, u): return advection_weak_flux(self.flux_type, u, self.v) @@ -207,7 +206,7 @@ def surface_advection_weak_flux(flux_type, u, velocity): elif flux_type == "lf": return u.avg * v_dot_n + 0.5 * sym.fabs(v_dot_n) * (u.int - u.ext) else: - raise ValueError(f"flux `{flux_type}` is not implemented") + raise ValueError(f"flux '{flux_type}' is not implemented") class SurfaceAdvectionOperator(AdvectionOperatorBase): diff --git a/grudge/models/burgers.py b/grudge/models/burgers.py index 994cc8b4428bc222cc531ebff9d49fcb0c10d37b..0be0b6ffffe5027fd360d21fa999cceb99ca64ed 100644 --- a/grudge/models/burgers.py +++ b/grudge/models/burgers.py @@ -1,6 +1,5 @@ """Burgers operator.""" - __copyright__ = "Copyright (C) 2009 Andreas Kloeckner" __license__ = """ @@ -23,18 +22,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - - - from grudge.models import HyperbolicOperator import numpy from grudge.second_order import CentralSecondDerivative - - class BurgersOperator(HyperbolicOperator): - def __init__(self, dimensions, viscosity=None, + def __init__(self, dimensions, viscosity=None, viscosity_scheme=CentralSecondDerivative()): # yes, you read that right--no BCs, 1D only. # (well--you can run the operator on a 2D grid. If you must.) @@ -92,8 +86,8 @@ class BurgersOperator(HyperbolicOperator): num_flux = make_lax_friedrichs_flux( #u0, to_if_quad(emax_u), - make_obj_array([to_if_quad(u)]), - [make_obj_array([flux(to_if_quad(u))])], + make_obj_array([to_if_quad(u)]), + [make_obj_array([flux(to_if_quad(u))])], [], strong=False)[0] from grudge.second_order import SecondDerivativeTarget diff --git a/grudge/models/diffusion.py b/grudge/models/diffusion.py index 0cf3d2426e9db78d179e53260835b676dcfff59b..4c2db682f92ce985121e140568732e166ca4c9e3 100644 --- a/grudge/models/diffusion.py +++ b/grudge/models/diffusion.py @@ -1,6 +1,5 @@ """Operators modeling diffusive phenomena.""" - __copyright__ = "Copyright (C) 2009 Andreas Kloeckner" __license__ = """ @@ -23,8 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - - import numpy import grudge.data @@ -33,8 +30,6 @@ from grudge.models.poisson import LaplacianOperatorBase from grudge.second_order import CentralSecondDerivative - - class DiffusionOperator(TimeDependentOperator, LaplacianOperatorBase): def __init__(self, dimensions, diffusion_tensor=None, dirichlet_bc=grudge.data.make_tdep_constant(0), dirichlet_tag="dirichlet", @@ -63,7 +58,7 @@ class DiffusionOperator(TimeDependentOperator, LaplacianOperatorBase): return BoundDiffusionOperator(self, discr) - def estimate_timestep(self, discr, + def estimate_timestep(self, discr, stepper=None, stepper_class=None, stepper_args=None, t=None, fields=None): """Estimate the largest stable timestep, given a time stepper diff --git a/grudge/models/gas_dynamics/__init__.py b/grudge/models/gas_dynamics/__init__.py index faf31a84d313b358b1827a729fe639d6cd4d9cd5..8c86c8e0aed0c4cae043cec274f171122668f4cc 100644 --- a/grudge/models/gas_dynamics/__init__.py +++ b/grudge/models/gas_dynamics/__init__.py @@ -1,7 +1,5 @@ """Operator for compressible Navier-Stokes and Euler equations.""" -import six - __copyright__ = "Copyright (C) 2007 Hendrik Riedmann, Andreas Kloeckner" __license__ = """ @@ -25,8 +23,6 @@ THE SOFTWARE. """ - - import numpy import grudge.tools import grudge.mesh @@ -263,7 +259,7 @@ class GasDynamicsOperator(TimeDependentOperator): def get_mu(self, q, to_quad_op): r""" :param to_quad_op: If not *None*, represents an operator which transforms - nodal values onto a quadrature grid on which the returned :math:`\mu` + nodal values onto a quadrature grid on which the returned :math:`\mu` needs to be represented. In that case, *q* is assumed to already be on the same quadrature grid. """ @@ -277,7 +273,7 @@ class GasDynamicsOperator(TimeDependentOperator): t_s = 110.4 mu_inf = 1.735e-5 result = cse( - mu_inf * self.cse_temperature(q) ** 1.5 * (1 + t_s) + mu_inf * self.cse_temperature(q) ** 1.5 * (1 + t_s) / (self.cse_temperature(q) + t_s), "sutherland_mu") else: @@ -468,7 +464,7 @@ class GasDynamicsOperator(TimeDependentOperator): # flux rho_u make_obj_array([ - self.rho_u(q)[i]*self.cse_u(q)[j] + self.rho_u(q)[i]*self.cse_u(q)[j] + delta(i,j) * self.cse_p(q) for j in range(self.dimensions) ]) @@ -505,11 +501,11 @@ class GasDynamicsOperator(TimeDependentOperator): rho0=rho0, p0=p0, u0=u0, c0=c0, # notation: suffix "m" for "minus", i.e. "interior" - drhom=cse(self.rho(cse(to_bdry_quad(bdrize_op(state)))) + drhom=cse(self.rho(cse(to_bdry_quad(bdrize_op(state)))) - rho0, "drhom"), - dumvec=cse(self.cse_u(cse(to_bdry_quad(bdrize_op(state)))) + dumvec=cse(self.cse_u(cse(to_bdry_quad(bdrize_op(state)))) - u0, "dumvec"), - dpm=cse(self.cse_p(cse(to_bdry_quad(bdrize_op(state)))) + dpm=cse(self.cse_p(cse(to_bdry_quad(bdrize_op(state)))) - p0, "dpm")) def outflow_state(self, state): @@ -656,7 +652,7 @@ class GasDynamicsOperator(TimeDependentOperator): from pymbolic.primitives import Subscript, Variable if isinstance(expr, Subscript): - assert (isinstance(expr.aggregate, Variable) + assert (isinstance(expr.aggregate, Variable) and expr.aggregate.name == "q") return cbstate[expr.index] @@ -694,7 +690,7 @@ class GasDynamicsOperator(TimeDependentOperator): faceq_tau_mat = self.tau(to_int_face_quad, state) return join_fields( - 0, + 0, self.div( numpy.sum(volq_tau_mat*self.cse_u(volq_state), axis=1) + self.heat_conduction_grad(to_vol_quad) @@ -731,7 +727,7 @@ class GasDynamicsOperator(TimeDependentOperator): return make_obj_array([ self.div( to_vol_quad(self.sensor())*to_vol_quad(dq[i]), - to_int_face_quad(self.sensor())*to_int_face_quad(dq[i])) + to_int_face_quad(self.sensor())*to_int_face_quad(dq[i])) for i in range(dq.shape[0])]) # }}} @@ -757,7 +753,7 @@ class GasDynamicsOperator(TimeDependentOperator): primitive_bcs_as_quad_conservative = { tag: self.primitive_to_conservative(to_bdry_quad(bc)) - for tag, bc in + for tag, bc in self.get_primitive_boundary_conditions().items()} def get_bc_tuple(tag): @@ -780,7 +776,7 @@ class GasDynamicsOperator(TimeDependentOperator): first_order_part = 0*first_order_part result = join_fields( - first_order_part + first_order_part + self.make_second_order_part() + make_artificial_diffusion() + self.make_extra_terms(), @@ -800,7 +796,7 @@ class GasDynamicsOperator(TimeDependentOperator): # {{{ operator binding ---------------------------------------------------- def bind(self, discr, sensor=None, sensor_scaling=None, viscosity_only=False): - if (sensor is None and + if (sensor is None and self.artificial_viscosity_mode is not None): raise ValueError("must specify a sensor if using " "artificial viscosity") @@ -840,7 +836,7 @@ class GasDynamicsOperator(TimeDependentOperator): bc_q_noslip=self.bc_noslip.boundary_interpolant( t, discr, self.noslip_tag), bc_q_supersonic_in=self.bc_supersonic_inflow - .boundary_interpolant(t, discr, + .boundary_interpolant(t, discr, self.supersonic_inflow_tag), **extra_kwargs ) @@ -855,7 +851,7 @@ class GasDynamicsOperator(TimeDependentOperator): # {{{ timestep estimation ------------------------------------------------- - def estimate_timestep(self, discr, + def estimate_timestep(self, discr, stepper=None, stepper_class=None, stepper_args=None, t=None, max_eigenvalue=None): """Estimate the largest stable timestep, given a time stepper diff --git a/grudge/models/gas_dynamics/lbm.py b/grudge/models/gas_dynamics/lbm.py index 43b13f6c2a078298173758efba7df5870e17d734..548e38aaeb0422442362c8f910b705e6c842e01d 100644 --- a/grudge/models/gas_dynamics/lbm.py +++ b/grudge/models/gas_dynamics/lbm.py @@ -1,6 +1,5 @@ """Lattice-Boltzmann operator.""" - __copyright__ = "Copyright (C) 2011 Andreas Kloeckner" __license__ = """ @@ -29,9 +28,6 @@ from grudge.models import HyperbolicOperator from pytools.obj_array import make_obj_array - - - class LBMMethodBase: def __len__(self): return len(self.direction_vectors) @@ -46,7 +42,7 @@ class LBMMethodBase: found = False for alpha_2 in range(alpha, len(self)): if la.norm( - self.direction_vectors[alpha] + self.direction_vectors[alpha] + self.direction_vectors[alpha_2]) < 1e-12: self.opposites[alpha] = alpha_2 self.opposites[alpha_2] = alpha @@ -54,7 +50,7 @@ class LBMMethodBase: if not found: raise RuntimeError( - "direction %s had no opposite" + "direction %s had no opposite" % self.direction_vectors[alpha]) diff --git a/grudge/models/nd_calculus.py b/grudge/models/nd_calculus.py index f1aa5ff1c22cfa634681198e0f9a5022969924a9..bcfbd57d758723412dc9b4c73292759bab0ea2ae 100644 --- a/grudge/models/nd_calculus.py +++ b/grudge/models/nd_calculus.py @@ -1,6 +1,5 @@ """Canned operators for multivariable calculus.""" - __copyright__ = "Copyright (C) 2009 Andreas Kloeckner" __license__ = """ @@ -23,14 +22,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - - - from grudge.models import Operator - - class GradientOperator(Operator): def __init__(self, dimensions): self.dimensions = dimensions diff --git a/grudge/models/pml.py b/grudge/models/pml.py index 770f0076be485d7dd7077a0b433efce9f99be55e..bd8bfd0468ebc96ea23cbd691de0eaa3dee8344e 100644 --- a/grudge/models/pml.py +++ b/grudge/models/pml.py @@ -1,6 +1,5 @@ """Models describing absorbing boundary layers.""" - __copyright__ = "Copyright (C) 2007 Andreas Kloeckner" __license__ = """ @@ -23,9 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - - - import numpy from pytools import memoize_method, Record @@ -35,8 +31,6 @@ from grudge.models.em import \ TEMaxwellOperator - - class AbarbanelGottliebPMLMaxwellOperator(MaxwellOperator): """Implements a PML as in diff --git a/grudge/models/poisson.py b/grudge/models/poisson.py index 8500ab59e62f167827f3dbc2c5905a9885999cd4..6636b94fe4d7ea90894bf92a86d30189fe93348e 100644 --- a/grudge/models/poisson.py +++ b/grudge/models/poisson.py @@ -1,6 +1,5 @@ """Operators for Poisson problems.""" - __copyright__ = "Copyright (C) 2007 Andreas Kloeckner" __license__ = """ @@ -23,7 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - import numpy as np from grudge.models import Operator diff --git a/grudge/models/second_order.py b/grudge/models/second_order.py index 12ee42d2c17a890d61372d60655c809f38a26eab..8f7251d329ea1cbbb960e368fe3c272f481ca36a 100644 --- a/grudge/models/second_order.py +++ b/grudge/models/second_order.py @@ -1,6 +1,5 @@ """Schemes for second-order derivatives.""" - __copyright__ = "Copyright (C) 2009 Andreas Kloeckner" __license__ = """ @@ -23,7 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - import numpy as np import grudge.symbolic.mappers as mappers from grudge import sym diff --git a/grudge/models/wave.py b/grudge/models/wave.py index 95160d251a417a12a0b8dec7e4c151311bc6be9e..a06295bb4743c671c9ce33c5bd00258733f96923 100644 --- a/grudge/models/wave.py +++ b/grudge/models/wave.py @@ -1,6 +1,5 @@ """Wave equation operators.""" - __copyright__ = "Copyright (C) 2009 Andreas Kloeckner" __license__ = """ @@ -23,7 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - import numpy as np from grudge.models import HyperbolicOperator from meshmode.mesh import BTAG_ALL, BTAG_NONE diff --git a/grudge/shortcuts.py b/grudge/shortcuts.py index 9ad04c8b2c1129f0665c42d2904b2278b274f6e3..a4de4bb7a13d6dc7462f17698a23f858f7af6a2b 100644 --- a/grudge/shortcuts.py +++ b/grudge/shortcuts.py @@ -1,6 +1,5 @@ """Minimal example of a grudge driver.""" - __copyright__ = "Copyright (C) 2009 Andreas Kloeckner" __license__ = """ diff --git a/grudge/symbolic/__init__.py b/grudge/symbolic/__init__.py index 74bfa3da720041bba645c4619c8a50a515713d9a..c075674070b0138888b92c03a9a782f8344f9e90 100644 --- a/grudge/symbolic/__init__.py +++ b/grudge/symbolic/__init__.py @@ -1,6 +1,5 @@ """Building blocks and mappers for operator expression trees.""" - __copyright__ = "Copyright (C) 2008 Andreas Kloeckner" __license__ = """ diff --git a/grudge/symbolic/compiler.py b/grudge/symbolic/compiler.py index 17d318458525eed5e73bb4efeb02fc07a7499179..075c0b07f30375f3a010651d305005fd920c61e2 100644 --- a/grudge/symbolic/compiler.py +++ b/grudge/symbolic/compiler.py @@ -1,6 +1,5 @@ """Compiler to turn operator expression tree into (imperative) bytecode.""" - __copyright__ = "Copyright (C) 2008-15 Andreas Kloeckner" __license__ = """ @@ -25,16 +24,14 @@ THE SOFTWARE. import numpy as np -import six # noqa -from six.moves import reduce - from pytools import Record, memoize_method, memoize from pytools.obj_array import obj_array_vectorize from grudge import sym import grudge.symbolic.mappers as mappers from pymbolic.primitives import Variable, Subscript -from six.moves import intern +from sys import intern +from functools import reduce from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_2 # noqa: F401 @@ -101,9 +98,7 @@ class LoopyKernelInstruction(Instruction): @memoize_method def get_assignees(self): - return { - k - for k in self.kernel_descriptor.output_mappings.keys()} + return {k for k in self.kernel_descriptor.output_mappings.keys()} @memoize_method def get_dependencies(self): @@ -227,7 +222,7 @@ class RankDataSwapAssign(Instruction): self.dd_out = op.dd_out self.send_tag = self.MPI_TAG_GRUDGE_DATA_BASE + op.unique_id self.recv_tag = self.MPI_TAG_GRUDGE_DATA_BASE + op.unique_id - self.comment = "Swap data with rank %02d" % self.i_remote_rank + self.comment = f"Swap data with rank {self.i_remote_rank:02d}" @memoize_method def get_assignees(self): @@ -239,9 +234,9 @@ class RankDataSwapAssign(Instruction): def __str__(self): return ("{\n" - + " /* %s */\n" % self.comment - + " send_tag = %s\n" % self.send_tag - + " recv_tag = %s\n" % self.recv_tag + + f" /* {self.comment} */\n" + + f" send_tag = {self.send_tag}\n" + + f" recv_tag = {self.recv_tag}\n" + f" {self.name} <- {self.field}\n" + "}") @@ -344,8 +339,8 @@ def dot_dataflow_graph(code, max_node_label_length=30, node_label = node_label.replace("\n", "\\l") + "\\l" - result.append('%s [ label="p%d: %s" shape=box ];' % ( - node_name, insn.priority, node_label)) + result.append(f"{node_name} [ " + f'label="p{insn.priority}: {node_label}" shape=box ];') for assignee in insn.get_assignees(): origins[assignee] = node_name @@ -358,8 +353,8 @@ def dot_dataflow_graph(code, max_node_label_length=30, return "initial" def gen_expr_arrow(expr, target_node): - result.append('%s -> %s [label="%s"];' - % (get_orig_node(expr), target_node, expr)) + orig_node = get_orig_node(expr) + result.append(f'{orig_node} -> {target_node} [label="{expr}"];') for insn in code.instructions: for dep in insn.get_dependencies(): @@ -641,8 +636,7 @@ def aggregate_assignments(inf_mapper, instructions, result, try: return var_assignees_cache[insn] except KeyError: - result = {Variable(assignee) - for assignee in insn.get_assignees()} + result = {Variable(assignee) for assignee in insn.get_assignees()} var_assignees_cache[insn] = result return result diff --git a/grudge/symbolic/operators.py b/grudge/symbolic/operators.py index 3f9687ca3cdaf8ca7c022c511a39a65a711c24db..5155cbb6ad213691f56054001b697e505db40878 100644 --- a/grudge/symbolic/operators.py +++ b/grudge/symbolic/operators.py @@ -20,7 +20,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -from six.moves import intern +from sys import intern import numpy as np import pymbolic.primitives diff --git a/grudge/symbolic/primitives.py b/grudge/symbolic/primitives.py index a02fd62fcc69c01b8de964e8da3863ae8d0a3f6d..b106de1cb2b67eceb916e4031d3d3f7462b0f081 100644 --- a/grudge/symbolic/primitives.py +++ b/grudge/symbolic/primitives.py @@ -1,6 +1,5 @@ """Operator template language: primitives.""" - __copyright__ = "Copyright (C) 2008-2017 Andreas Kloeckner, Bogdan Enache" __license__ = """ @@ -23,7 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -from six.moves import intern +from sys import intern import numpy as np from pytools.obj_array import make_obj_array diff --git a/grudge/symbolic/tools.py b/grudge/symbolic/tools.py index e6de5a02f8af4bcb4f0eea9c7d9bc56047da4145..12d8c47fe66a473e2d380c83e3ea09c95b0dd1aa 100644 --- a/grudge/symbolic/tools.py +++ b/grudge/symbolic/tools.py @@ -1,6 +1,5 @@ """Operator templates: extra bits of functionality.""" - __copyright__ = "Copyright (C) 2008 Andreas Kloeckner" __license__ = """ @@ -23,7 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - import numpy as np diff --git a/grudge/tools.py b/grudge/tools.py index 4733f89535a51fa0c44e74ec12d308596cdc0458..4872962e521c5b2a512111589c699b7a11bb28f0 100644 --- a/grudge/tools.py +++ b/grudge/tools.py @@ -1,6 +1,5 @@ """Miscellaneous helper facilities.""" - __copyright__ = "Copyright (C) 2007 Andreas Kloeckner" __license__ = """ diff --git a/setup.py b/setup.py index dd85b0dbc1f6b20bdae108442ba1bea58a7f2f1f..22aaa32c258a5e73d2bff6cee64490fa4403478d 100644 --- a/setup.py +++ b/setup.py @@ -54,8 +54,6 @@ def main(): "cgen>=2013.1.2", "leap>=2019.1", "dagrt>=2019.1", - - "six>=1.8", ])