Пример #1
0
def get_vorticity(particle,cluster):
    particle.wi = arange(particle.ni)*1.
    for ic in range(cluster.n):
        particle,cluster = get_trunc(particle,cluster,ic)
        ista = cluster.ista[ic]
        iend = cluster.iend[ic]
        for ip in range(ista,iend+1):
            dx = particle.xi[ip]-cluster.xjt
            dy = particle.yi[ip]-cluster.yjt
            particle.wi[ip] = dot(cluster.gjt,exp(-(dx**2+dy**2)/\
                (2*particle.sigma**2))/(2*pi*particle.sigma**2))
    return particle,cluster
Пример #2
0
t[0] = tic-toc

# solve rbf using c wrapper
if parameter.wrapper == 1:
    rbf_solver(particle.xi,particle.yi,particle.gj,particle.ei,
        particle.sigma,parameter.vis)

toc = tic
tic = cpu_time()

# generate clusters
particle,cluster = get_cluster(particle,cluster)

# set up reference data
if parameter.wrapper == 1:
    particle,cluster = get_trunc(particle,cluster)
    particle,cluster = get_vorticity(particle,cluster)
    particle.gj = exp(-(particle.xj**2+particle.yj**2)/\
    (4*parameter.vis*parameter.t))/(pi*4*parameter.vis*parameter.t)*particle.h**2
    particle.ei = particle.wi
    particle.wi = particle.gj/particle.h**2

toc = tic
tic = cpu_time()
t[0] += tic-toc

# RBF interpolation
it = -1; iconv = 0; err = []; grid.r = []
while iconv < 5:
    it = it+1