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

Bugfix in finite-differences: dx forgotten in divergence

parent 2675698b
No related merge requests found
...@@ -115,14 +115,14 @@ def discretizeDivergence(vectorTerm, symbolsToFieldDict, dx): ...@@ -115,14 +115,14 @@ def discretizeDivergence(vectorTerm, symbolsToFieldDict, dx):
>>> gradX = grad(x, dim=3) >>> gradX = grad(x, dim=3)
>>> f = Field.createGeneric('f', spatialDimensions=3) >>> f = Field.createGeneric('f', spatialDimensions=3)
>>> sp.simplify(discretizeDivergence(gradX, {x : f}, dx)) >>> sp.simplify(discretizeDivergence(gradX, {x : f}, dx))
(f_B - 6*f_C + f_E + f_N + f_S + f_T + f_W)/dx (f_B - 6*f_C + f_E + f_N + f_S + f_T + f_W)/dx**2
""" """
dim = len(vectorTerm) dim = len(vectorTerm)
result = 0 result = 0
for d in range(dim): for d in range(dim):
for offset in [-1, 1]: for offset in [-1, 1]:
result += offset * discretizeStaggered(vectorTerm[d], symbolsToFieldDict, d, offset, dx, dim) result += offset * discretizeStaggered(vectorTerm[d], symbolsToFieldDict, d, offset, dx, dim)
return result return result / dx
def __upDownOffsets(d, dim): def __upDownOffsets(d, dim):
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment