Skip to content
Snippets Groups Projects
Commit 8595cdc7 authored by Martin Bauer's avatar Martin Bauer
Browse files

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
parent 864615d2
Branches
Tags
No related merge requests found
...@@ -121,7 +121,7 @@ class PhaseFieldStep: ...@@ -121,7 +121,7 @@ class PhaseFieldStep:
extra_force = sp.Matrix([0] * self.data_handling.dim) extra_force = sp.Matrix([0] * self.data_handling.dim)
if order_parameter_force is not None: if order_parameter_force is not None:
for order_parameter_idx, force in order_parameter_force.items(): 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, self.force_eqs = force_kernel_using_pressure_tensor(self.force_field, self.pressure_tensor_field, dx=dx,
extra_force=extra_force, discretization=discretization) extra_force=extra_force, discretization=discretization)
self.force_from_pressure_tensor_kernel = create_kernel(apply_neumann_boundaries(self.force_eqs), self.force_from_pressure_tensor_kernel = create_kernel(apply_neumann_boundaries(self.force_eqs),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment