Example #1
0
def compute():
    if CTK.t == []: return
    if (CTK.__MAINTREE__ <= 0):
        CTK.TXT.insert('START', 'Fail on a temporary tree.\n')
        CTK.TXT.insert('START', 'Error: ', 'Error')
        return
    type = VARS[0].get()
    var1 = VARS[2].get()

    if (type == 'INT((v1,v2,v3).ndS)' or 'INT((v1,v2,v3)^OMdS)'):
        var2 = VARS[3].get()
        var3 = VARS[4].get()
        vector = [var1, var2, var3]
    if (type == 'INT((v1,v2,v3)^OMdS)' or type == 'INT(v1n^OMdS)'):
        center = CTK.varsFromWidget(VARS[1].get(), type=1)
        if (len(center) != 3):
            CTK.TXT.insert('START',
                           'Center for moment integration is incorrect.\n')
            CTK.TXT.insert('START', 'Error: ', 'Error')
            return

    nzs = CPlot.getSelectedZones()
    if (nzs == []):
        CTK.TXT.insert('START', 'Selection is empty.\n')
        CTK.TXT.insert('START', 'Error: ', 'Error')
        return

    res1 = 0.
    res2 = 0.
    res3 = 0.
    for nz in nzs:
        nob = CTK.Nb[nz] + 1
        noz = CTK.Nz[nz]
        z = CTK.t[2][nob][2][noz]
        if (type == 'INT(v1dS)'):
            res1 += P.integ(z, var1)[0]
        elif (type == 'INT(v1.ndS)'):
            res = P.integNorm(z, var1)[0]
            res1 += res[0]
            res2 += res[1]
            res3 += res[2]
        elif (type == 'INT((v1,v2,v3).ndS)'):
            res1 += P.integNormProduct(z, vector)
        elif (type == 'INT((v1,v2,v3)^OMdS)'):
            res = P.integMoment(z, center, vector)
            res1 += res[0]
            res2 += res[1]
            res3 += res[2]
        elif (type == 'INT(v1n^OMdS)'):
            res = P.integMomentNorm(z, center, var1)[0]
            res1 += res[0]
            res2 += res[1]
            res3 += res[2]
    if (type == 'INT((v1,v2,v3)^OMdS)' or type == 'INT(v1n^OMdS)'
            or type == 'INT(v1.ndS)'):
        res = [res1, res2, res3]
    else:
        res = res1
    CTK.TXT.insert('START', 'Res=' + str(res) + '.\n')
import Generator.PyTree as G
import Post.PyTree as P
import KCore.test as test

# 2D
ni = 30
nj = 40
m = G.cart((0, 0, 0), (10. / (ni - 1), 10. / (nj - 1), 1), (ni, nj, 1))
m = C.addBC2Zone(m, 'overlap', 'BCOverlap', 'imin')
m = C.initVars(m, 'vx', 1.)
m = C.initVars(m, 'centers:vy', 1.)
m = C.initVars(m, 'ratio', 1.)
t = C.newPyTree(['Base', 2])
t[2][1] = C.addState(t[2][1], 'Mach', 0.6)
t[2][1][2].append(m)
res = P.integ(t, 'vx') + P.integ(t, 'centers:vy')
test.testO(res, 1)

# 1D
ni = 30
m = G.cart((0, 0, 0), (10. / (ni - 1), 1, 1), (ni, 1, 1))
m = C.initVars(m, 'vx', 1.)
m = C.initVars(m, 'centers:vy', 1.)
m = C.initVars(m, 'ratio', 1.)
m = C.addBC2Zone(m, 'overlap', 'BCOverlap', 'imin')
m = C.initVars(m, 'vx', 1.)
m = C.initVars(m, 'centers:vy', 1.)
m = C.initVars(m, 'ratio', 1.)
t = C.newPyTree(['Base', 1])
t[2][1] = C.addState(t[2][1], 'Mach', 0.6)
t[2][1][2].append(m)
# - integ (pyTree) -
import Converter.PyTree as C
import Generator.PyTree as G
import Post.PyTree as P

ni = 30
nj = 40
m = G.cart((0, 0, 0), (10. / (ni - 1), 10. / (nj - 1), 1), (ni, nj, 1))
m = C.initVars(m, 'vx', 1.)
m = C.initVars(m, 'ratio', 1.)
resn = P.integ(m, 'vx')
print resn
test.testT(a, 2)

# reorder a QUAD mesh
a = G.cartHexa((0, 0, 0), (1, 1, 1), (8, 9, 1))
C._initVars(a, '{Density}={CoordinateX}**2+2*{CoordinateY}')
C._initVars(a, '{centers:F}={centers:CoordinateX}')
a = T.reorder(a, (-1, ))
test.testT(a, 3)

# reorder a NGON mesh: sphere case
a = D.sphere6((0, 0, 0), 1., 20)
a = C.convertArray2NGon(a)
a = T.join(a)
a = G.close(a)
a = T.reorder(a, (1, ))
G._getNormalMap(a)
a = C.initVars(a, '{centers:DensityX}=12.*{centers:sx}')
C._initVars(a, '{centers:DensityY}=12.*{centers:sy}')
C._initVars(a, '{centers:DensityZ}=12.*{centers:sz}')
resX = P.integ(a, var='centers:DensityX')
resY = P.integ(a, var='centers:DensityX')
resZ = P.integ(a, var='centers:DensityX')
test.testT(a, 4)

# reorder a NGON mesh v2
a = G.cartNGon((0, 0, 0), (1, 1, 1), (8, 9, 1))
C._initVars(a, '{Density}={CoordinateX}**2+2*{CoordinateY}')
C._initVars(a, '{centers:F}={centers:CoordinateX}')
a = T.reorder(a, (-1, ))
#test.testT(a,5)
Example #5
0
# - usurp (pyTree) -
import Generator.PyTree as G
import Converter.PyTree as C
import Post.PyTree as P
import KCore.test as test

a = G.cart((-5, -5, 0.), (1, 1, 1), (10, 10, 1))
C._initVars(a, 'centers:cellN=1')
b = G.cylinder((0, 0, 0.), 1, 2, 360, 0, 1, (30, 30, 1))
C._initVars(b, 'centers:cellN=1')
t = C.newPyTree(['Base', 2, a, b])
try:
    P._usurp(t)
    f = P.integ(t, 'centers:cellN')
    test.testT(t, 1)
except:
    pass