diff --git a/code/code_gen/code_gen.py b/code/code_gen/code_gen.py index 5042eaa..2f14efa 100644 --- a/code/code_gen/code_gen.py +++ b/code/code_gen/code_gen.py @@ -32,6 +32,7 @@ calc_grammar = """ ?atom: NUMBER -> number | "-" atom -> neg | NAME -> var + | NAME "'" -> fluc | "$" NAME -> env | "(" sum ")" | inlinefunc "(" sum ")" -> icall @@ -144,6 +145,13 @@ class CalculateTree(Transformer): dep.append(name.value) return (name + "(i,j,k)", dep) + def fluc(self, name): + dep = [] + if name not in self.primary: + dep.append(name.value) + fmt = "({0}(i,j,k) - avg_{0}(i))" + return (fmt.format(name) , dep) + def env(self, name): return (name, []) diff --git a/code/code_gen/terms.input b/code/code_gen/terms.input index 5c7062b..94d44bf 100644 --- a/code/code_gen/terms.input +++ b/code/code_gen/terms.input @@ -4,7 +4,14 @@ c_auto = 1.0 - y wrate_auto = rxn_rate(c_auto) fsd_auto = sqrt (sqr(ddx(c_auto)) + sqr(ddy(c_auto)) + sqr(ddz(c_auto))) -avg { u, v, w} -avg c_auto { u, v, w} -avg y { u, v, w} +k = (sqr(u')+sqr(v')+sqr(w'))/2.0 + +tflux = u' * c_auto' + +avg { u, v, w, c_auto } + +avg c_auto { u, v, w } + +avg y { u, v, w } + avg fsd_auto { u }