From 706c525715e13a8176fbc21500e87cd27d475453 Mon Sep 17 00:00:00 2001 From: Martin Bauer <martin.bauer@fau.de> Date: Thu, 22 Mar 2018 19:15:44 +0100 Subject: [PATCH] Added notebook with LES Smagorinsky model --- equationcollection/equationcollection.py | 15 +++++++++++++++ parallel/blockiteration.py | 5 ++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/equationcollection/equationcollection.py b/equationcollection/equationcollection.py index 5baac35a0..66146ad0c 100644 --- a/equationcollection/equationcollection.py +++ b/equationcollection/equationcollection.py @@ -225,6 +225,21 @@ class EquationCollection(object): allLhs = [eq.lhs for eq in self.mainEquations] return self.extract(allLhs) + def appendToSubexpressions(self, rhs, lhs=None, topologicalSort=True): + if lhs is None: + lhs = sp.Dummy() + eq = sp.Eq(lhs, rhs) + self.subexpressions.append(eq) + if topologicalSort: + self.topologicalSort(subexpressions=True, mainEquations=False) + return lhs + + def topologicalSort(self, subexpressions=True, mainEquations=True): + if subexpressions: + self.subexpressions = sortEquationsTopologically(self.subexpressions) + if mainEquations: + self.mainEquations = sortEquationsTopologically(self.mainEquations) + def insertSubexpression(self, symbol): newSubexpressions = [] subsDict = None diff --git a/parallel/blockiteration.py b/parallel/blockiteration.py index e6280d216..110f7a673 100644 --- a/parallel/blockiteration.py +++ b/parallel/blockiteration.py @@ -4,8 +4,11 @@ These function simplify the iteration over rectangular slices, managing the mapp global coordinates. """ import numpy as np -import waLBerla as wlb from pystencils.slicing import normalizeSlice +try: + import waLBerla as wlb +except ImportError: + wlb = None def blockIteration(blocks, ghostLayers, dim=3, accessPrefix=''): -- GitLab