def LSF(variables, RBF):
    nele = variables.nele
    nod = variables.nod
    ele = variables.ele

    # Gauss quadrature
    [pnt, wgt] = FCM.Gauss_scheme(1, 2)  #P=1, dim=2D

    # Numerical integration to compute volume
    phi = np.zeros((nele * len(wgt), ))
    for e in range(nele):
        for gp in range(len(wgt)):  #for the number of int points in element
            N = FCM.N(pnt[gp, :], 1)  #P=1
            x, y = np.dot(N, nod[ele[e, :], :])  #loc int point in global coord
            phi[e * len(wgt) + gp] = LSFeval(variables, RBF, x,
                                             y)  #LSF at int point

    wgts = np.tile(wgt, nele)

    return phi, wgts