From 8595cdc768ac046f9480e8d1448835c72591b7b3 Mon Sep 17 00:00:00 2001 From: Martin Bauer <martin.bauer@fau.de> Date: Fri, 26 Oct 2018 10:25:45 +0200 Subject: [PATCH] Fix in phasefield step external forces - currently scalar multiplication (field-access * Matrix) does not work since sympy classifies field-accesses as iterable and tries matrix multiplication instead of scalar multiplication --- phasefield/phasefieldstep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phasefield/phasefieldstep.py b/phasefield/phasefieldstep.py index 26d6121d..706e0c07 100644 --- a/phasefield/phasefieldstep.py +++ b/phasefield/phasefieldstep.py @@ -121,7 +121,7 @@ class PhaseFieldStep: extra_force = sp.Matrix([0] * self.data_handling.dim) if order_parameter_force is not None: for order_parameter_idx, force in order_parameter_force.items(): - extra_force += self.phi_field(order_parameter_idx) * sp.Matrix(force) + extra_force += sp.Matrix([f_i * self.phi_field(order_parameter_idx) for f_i in force]) self.force_eqs = force_kernel_using_pressure_tensor(self.force_field, self.pressure_tensor_field, dx=dx, extra_force=extra_force, discretization=discretization) self.force_from_pressure_tensor_kernel = create_kernel(apply_neumann_boundaries(self.force_eqs), -- GitLab