from st.expr import Index, ConstRef from st.grid import Grid # Declare indices i = Index(0) j = Index(1) # Declare grid input = Grid("in", 2) output = Grid("out", 2) c = [] for cc in range(25): c.append(ConstRef('c[{}]'.format(cc))) calc = c[0] * input(i - 2, j - 2) + c[1] * input(i - 1, j - 2) + c[2] * input( i, j - 2) + c[3] * input(i + 1, j - 2) + c[4] * input(i + 2, j - 2) + c[ 5] * input(i - 2, j - 1) + c[6] * input(i - 1, j - 1) + c[7] * input( i, j - 1) + c[8] * input(i + 1, j - 1) + c[9] * input( i + 2, j - 1) + c[10] * input(i - 2, j) + c[11] * input( i - 1, j) + c[12] * input(i, j) + c[13] * input( i + 1, j) + c[14] * input(i + 2, j) + c[15] * input( i - 2, j + 1) + c[16] * input( i - 1, j + 1) + c[17] * input(i, j + 1) + c[18] * input( i + 1, j + 1) + c[19] * input( i + 2, j + 1) + c[20] * input( i - 2, j + 2) + c[21] * input( i - 1, j + 2) + c[22] * input( i, j + 2) + c[23] * input( i + 1, j + 2) + c[24] * input(
from st.expr import Index, ConstRef from st.grid import Grid # Declare indices i = Index(0) j = Index(1) k = Index(2) # Declare grid input = Grid("in", 3) output = Grid("out", 3) c = [] for cc in range(125): c.append(ConstRef('c[{}]'.format(cc))) calc = c[0] * input(i, j, k) + c[1] * input(i - 3, j, k) + c[2] * input( i - 2, j, k ) + c[3] * input(i - 1, j, k) + c[4] * input(i + 1, j, k) + c[5] * input( i + 2, j, k) + c[6] * input(i + 3, j, k) + c[7] * input( i, j - 3, k) + c[8] * input(i, j - 2, k) + c[9] * input( i, j - 1, k) + c[10] * input(i, j + 1, k) + c[11] * input( i, j + 2, k) + c[12] * input(i, j + 3, k) + c[13] * input( i, j, k - 3) + c[14] * input(i, j, k - 2) + c[15] * input( i, j, k - 1) + c[16] * input( i, j, k + 1) + c[17] * input( i, j, k + 2) + c[18] * input(i, j, k + 3) output(i, j, k).assign(calc) STENCIL = [output]
from st.expr import Index, ConstRef from st.grid import Grid i = Index(0) j = Index(1) k = Index(2) qu = Grid("qu", 3) qv = Grid("qv", 3) qw = Grid("qw", 3) qpres = Grid("qpres", 3) flux_irho = Grid('flux_irho', 3) flux_imx = Grid("flux_imx", 3) flux_imy = Grid("flux_imy", 3) flux_imz = Grid("flux_imz", 3) flux_iene = Grid("flux_iene", 3) cons_imx = Grid("cons_imx", 3) cons_imy = Grid("cons_imy", 3) cons_imz = Grid("cons_imz", 3) cons_iene = Grid("cons_iene", 3) dxinv0 = ConstRef('dxinv0') dxinv1 = ConstRef('dxinv1') dxinv2 = ConstRef('dxinv2') ALP = ConstRef('ALP') BET = ConstRef('BET') GAM = ConstRef('GAM') DEL = ConstRef('DEL')
from st.expr import Index, ConstRef, If from st.grid import Grid from st.func import Func # Declare indices i = Index(0) j = Index(1) k = Index(2) maxfunc = Func("max", 2) # Declare grid input = Grid("bIn", 3) output = Grid("bOut", 3) param = [ ConstRef("coeff[0]"), ConstRef("coeff[1]"), ConstRef("coeff[2]"), ConstRef("coeff[3]"), ConstRef("coeff[4]"), ConstRef("coeff[5]"), ConstRef("coeff[6]") ] zero = ConstRef("0.0") # Express computation # output[i, j, k] is assumed calc = param[0] * maxfunc(input(i, j, k), zero) + \ param[1] * maxfunc(input(i + 1, j, k), zero) + \ param[2] * maxfunc(input(i - 1, j, k), zero) + \ param[3] * maxfunc(input(i, j + 1, k), zero) + \
from st.expr import Index, ConstRef from st.grid import Grid # Declare indices i = Index(0) j = Index(1) k = Index(2) # Declare grid Ac = Grid("Ac", 3) Ap = Grid("Ap", 3) Dinv = Grid("Dinv", 3) RHS = Grid("RHS", 3) output = Grid("out", 3) c1 = ConstRef('c1') c2 = ConstRef('c2') h2inv = ConstRef('h2inv') calc = Ac(i, j, k) + c1 * (Ac(i, j, k) + Ap(i, j, k)) + c2 * Dinv(i, j, k) * ( RHS(i, j, k) + (Ac(i, j, k) + h2inv * (0.03 * (Ac(i - 1, j - 1, k - 1) + Ac(i + 1, j - 1, k - 1) + Ac(i - 1, j + 1, k - 1) + Ac(i + 1, j + 1, k - 1) + Ac(i - 1, j - 1, k + 1) + Ac(i + 1, j - 1, k + 1) + Ac(i - 1, j + 1, k + 1) + Ac(i + 1, j + 1, k + 1)) + 0.1 * (Ac(i, j - 1, k - 1) + Ac(i - 1, j, k - 1) + Ac(i + 1, j, k - 1) + Ac(i, j + 1, k - 1) + Ac(i - 1, j - 1, k) + Ac(i + 1, j - 1, k) + Ac(i - 1, j + 1, k) + Ac(i + 1, j + 1, k) + Ac(i, j - 1, k + 1) + Ac(i - 1, j, k + 1) + Ac(i + 1, j, k + 1) + Ac(i, j + 1, k + 1)) + 0.46 * (Ac(i, j, k - 1) + Ac(i, j - 1, k) + Ac(i - 1, j, k) + Ac(i + 1, j, k) +
from st.expr import Index, ConstRef from st.grid import Grid # Declare indices i = Index(0) j = Index(1) k = Index(2) # Declare grid ux = Grid("ux", 3) vx = Grid("vx", 3) wx = Grid("wx", 3) uy = Grid("uy", 3) vy = Grid("vy", 3) wy = Grid("wy", 3) uz = Grid("uz", 3) vz = Grid("vz", 3) wz = Grid("wz", 3) q_1 = Grid("q_1", 3) q_2 = Grid("q_2", 3) q_3 = Grid("q_3", 3) q_5 = Grid("q_5", 3) diffflux1 = Grid("diffflux1", 3) diffflux2 = Grid("diffflux2", 3) diffflux3 = Grid("diffflux3", 3) diffflux4 = Grid("diffflux4", 3)
from st.expr import Index, ConstRef from st.grid import Grid # Declare indices i = Index(0) j = Index(1) k = Index(2) # Declare grid x = Grid("x", 3) alpha = Grid("alpha", 3) beta_i = Grid("beta_i", 3) beta_j = Grid("beta_j", 3) beta_k = Grid("beta_k", 3) output = Grid("out", 3) c1 = ConstRef('c1') c2 = ConstRef('c2') h2inv = ConstRef('h2inv') calc = c1 * alpha(i, j, k) * x(i, j, k) - c2 * h2inv * ( 0.0833 * (beta_i(i, j, k) * (15.0 * (x(i - 1, j, k) - x(i, j, k)) - (x(i - 1, j, k) - x(i + 1, j, k))) + beta_i(i + 1, j, k) * (15.0 * (x(i + 1, j, k) - x(i, j, k)) - (x(i + 2, j, k) - x(i - 1, j, k))) + beta_j(i, j, k) * (15.0 * (x(i, j - 1, k) - x(i, j, k)) - (x(i, j - 1, k) - x(i, j + 1, k))) + beta_j(i, j + 1, k) * (15.0 * (x(i, j + 1, k) - x(i, j, k)) - (x(i, j + 2, k) - x(i, j - 1, k))) + beta_k(i, j, k) * (15.0 * (x(i, j, k - 1) - x(i, j, k)) -