From 352dedabaa7f1d3cf3411b28e7b8a32b64437fcb Mon Sep 17 00:00:00 2001 From: Thomas Baumann <39156931+brownbaerchen@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:58:09 +0000 Subject: [PATCH] Refactor for space transfer classes (#517) --- pySDC/core/space_transfer.py | 6 +++--- .../transfer_classes/TransferFenicsMesh.py | 15 --------------- .../transfer_classes/TransferMesh_NoCoarse.py | 14 +------------- .../TransferParticles_NoCoarse.py | 14 +------------- 4 files changed, 5 insertions(+), 44 deletions(-) diff --git a/pySDC/core/space_transfer.py b/pySDC/core/space_transfer.py index 36acef822..2ec3850c7 100644 --- a/pySDC/core/space_transfer.py +++ b/pySDC/core/space_transfer.py @@ -27,17 +27,17 @@ class SpaceTransfer(object): coarse_prob (pySDC.Problem.ptype): reference to the coarse problem """ - def __init__(self, fine_prob, coarse_prob, space_transfer_params): + def __init__(self, fine_prob, coarse_prob, params): """ Initialization routine Args: fine_prob (pySDC.Problem.ptype): reference to the fine problem coarse_prob (pySDC.Problem.ptype): reference to the coarse problem - space_transfer_params (dict): user-defined parameters + params (dict): user-defined parameters """ - self.params = _Pars(space_transfer_params) + self.params = _Pars(params) # set up logger self.logger = logging.getLogger('space-transfer') diff --git a/pySDC/implementations/transfer_classes/TransferFenicsMesh.py b/pySDC/implementations/transfer_classes/TransferFenicsMesh.py index 4a0e46fc4..09075ba40 100644 --- a/pySDC/implementations/transfer_classes/TransferFenicsMesh.py +++ b/pySDC/implementations/transfer_classes/TransferFenicsMesh.py @@ -10,21 +10,6 @@ class mesh_to_mesh_fenics(SpaceTransfer): This implementation can restrict and prolong between fenics meshes """ - def __init__(self, fine_prob, coarse_prob, params): - """ - Initialization routine - - Args: - fine_prob: fine problem - coarse_prob: coarse problem - params: parameters for the transfer operators - """ - - # invoke super initialization - super(mesh_to_mesh_fenics, self).__init__(fine_prob, coarse_prob, params) - - pass - def project(self, F): """ Restriction implementation via projection diff --git a/pySDC/implementations/transfer_classes/TransferMesh_NoCoarse.py b/pySDC/implementations/transfer_classes/TransferMesh_NoCoarse.py index 3fa698229..330a7ac52 100644 --- a/pySDC/implementations/transfer_classes/TransferMesh_NoCoarse.py +++ b/pySDC/implementations/transfer_classes/TransferMesh_NoCoarse.py @@ -5,7 +5,7 @@ from pySDC.implementations.datatype_classes.mesh import mesh, imex_mesh class mesh_to_mesh(SpaceTransfer): """ - Custon base_transfer class, implements Transfer.py + Custom base_transfer class, implements Transfer.py This implementation can restrict and prolong between nd meshes with dirichlet-0 or periodic boundaries via matrix-vector products @@ -15,18 +15,6 @@ class mesh_to_mesh(SpaceTransfer): Pspace: spatial prolongation matrix, dim. Nc x Nf """ - def __init__(self, fine_prob, coarse_prob, params): - """ - Initialization routine - - Args: - fine_prob: fine problem - coarse_prob: coarse problem - params: parameters for the transfer operators - """ - # invoke super initialization - super(mesh_to_mesh, self).__init__(fine_prob, coarse_prob, params) - def restrict(self, F): """ Restriction implementation diff --git a/pySDC/implementations/transfer_classes/TransferParticles_NoCoarse.py b/pySDC/implementations/transfer_classes/TransferParticles_NoCoarse.py index 503f75803..229482a94 100644 --- a/pySDC/implementations/transfer_classes/TransferParticles_NoCoarse.py +++ b/pySDC/implementations/transfer_classes/TransferParticles_NoCoarse.py @@ -5,24 +5,12 @@ from pySDC.implementations.datatype_classes.particles import particles, fields, class particles_to_particles(SpaceTransfer): """ - Custon transfer class, implements SpaceTransfer.py + Custom transfer class, implements SpaceTransfer.py This implementation is just a dummy for particles with no direct functionality, i.e. the number of particles is not reduced on the coarse problem """ - def __init__(self, fine_prob, coarse_prob, params): - """ - Initialization routine - - Args: - fine_prob: fine problem - coarse_prob: coarse problem - params: parameters for the transfer operators - """ - super(particles_to_particles, self).__init__(fine_prob, coarse_prob, params) - pass - def restrict(self, F): """ Dummy restriction routine -- GitLab