Exemple #1
0
    def definition(field_a, field_b, field_c, field_out, *, weight, alpha_factor):
        from __externals__ import USE_ALPHA
        from __gtscript__ import __INLINED

        with computation(PARALLEL), interval(...):
            if __INLINED(USE_ALPHA):
                factor = alpha_factor
            else:
                factor = 1.0
            field_out = factor * field_a[  # noqa: F841 # Local name is assigned to but never used
                0, 0, 0
            ] - (1 - factor) * (field_b[0, 0, 0] - weight * field_c[0, 0, 0])
Exemple #2
0
    def definition(u, diffusion, *, weight):
        from __externals__ import BRANCH
        from __gtscript__ import __INLINED

        with computation(PARALLEL), interval(...):
            laplacian = lap_op(u=u)
            if __INLINED(BRANCH):
                flux_i = fwd_diff_op_x(field=laplacian)
                flux_j = fwd_diff_op_y(field=laplacian)
            else:
                flux_i, flux_j = fwd_diff_op_xy(field=laplacian)
            diffusion = u[  # noqa: F841 # Local name is assigned to but never used
                0, 0, 0] - weight * (flux_i[0, 0, 0] - flux_i[-1, 0, 0] +
                                     flux_j[0, 0, 0] - flux_j[0, -1, 0])