diff --git a/code/code_gen/post.py b/code/code_gen/post.py index a6125dc..6d38021 100644 --- a/code/code_gen/post.py +++ b/code/code_gen/post.py @@ -966,9 +966,9 @@ close (200) declarr, allocarr, freearr = self.work_array_codes() - declavg = "\n".join(v.code_decl() for v in self.averaged.itervalues()) - allocavg = "\n".join(v.code_alloc() for v in self.averaged.itervalues()) - freeavg = "\n".join(v.code_free() for v in self.averaged.itervalues()) + declavg = "\n".join(self.averaged[v].code_decl() for v in sorted(self.averaged)) + allocavg = "\n".join(self.averaged[v].code_alloc() for v in sorted(self.averaged)) + freeavg = "\n".join(self.averaged[v].code_free() for v in sorted(self.averaged)) decl_export = "\n".join(v.exporter.code_decl() for v in set_export_on) alloc_export = "\n".join(v.exporter.code_alloc() for v in set_export_on) diff --git a/code/termspecs/termspec.fsd-pos-neg b/code/termspecs/termspec.fsd-pos-neg index c0be898..a7c945a 100644 --- a/code/termspecs/termspec.fsd-pos-neg +++ b/code/termspecs/termspec.fsd-pos-neg @@ -12,9 +12,17 @@ nz(latex="n_z") = - ddz(c) / fsd divn(latex="\nabla \cdot \vec{n}") = ddx(nx) + ddy(ny) + ddz(nz) -divn_plus = $positive(divn) -divn_minus = $negative(divn) +divn_sign = $dsign(1, divn) +pdivn_mask = $positive(divn_sign) +ndivn_mask = - $negative(divn_sign) -avg { c, u, v, w, fsd, ddx_c, ddy_c, ddz_c } +fplus (latex="\Sigma_f^+'") = pdivn_mask * fsd +fminus(latex="\Sigma_f^-'") = ndivn_mask * fsd -avg fsd { u, v, w, nx, ny, nz, divn, divn_plus, divn_minus } +avg { c, u, v, w, fsd, fplus, fminus, ddx_c, ddy_c, ddz_c } + +avg fsd { u, v, w, nx, ny, nz, divn } + +avg fplus { divn } + +avg fminus { divn }