Exemplo n.º 1
0
def selectTag(zones, Filter, vars):
    if len(vars) == 0: return None
    res = findVar(vars[0])
    if res == 0: return None
    if res == 1:  # tag en noeuds
        Z = C.initVars(zones, '__tag__', Filter, vars)
        Z = P.selectCells2(Z, '__tag__')
        C._rmVars(Z, '__tag__')
    else:  # tag en centres
        Z = C.initVars(zones, 'centers:__tag__', Filter, vars)
        Z = P.selectCells2(Z, 'centers:__tag__')
        C._rmVars(Z, 'centers:__tag__')
    for z in Z:
        z[0] = C.getZoneName(z[0])
    return Z
Exemplo n.º 2
0
def suppressCells():
    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
    W = WIDGETS['suppress']
    if CTK.__BUSY__ == False:
        CPlot.unselectAllZones()
        CTK.__BUSY__ = True
        TTK.sunkButton(W)
        CPlot.setState(cursor=1)
        while CTK.__BUSY__:
            l = []
            while (l == []):
                nz = CPlot.getSelectedZone()
                l = CPlot.getActivePointIndex()
                CPlot.unselectAllZones()
                time.sleep(CPlot.__timeStep__)
                W.update()
                if (CTK.__BUSY__ == False): break
            if CTK.__BUSY__:
                nob = CTK.Nb[nz] + 1
                noz = CTK.Nz[nz]
                CTK.saveTree()
                z = CTK.t[2][nob][2][noz]
                C._initVars(z, 'centers:__tag__', 1)
                C.setValue(z, 'centers:__tag__', l[1], 0)
                try:
                    z = P.selectCells2(z, 'centers:__tag__')
                    CTK.replace(CTK.t, nob, noz, z)
                except:
                    pass
                CTK.TKTREE.updateApp()
                CPlot.render()
        CTK.__BUSY__ = False
        TTK.raiseButton(W)
        CPlot.setState(cursor=0)
    else:
        CTK.__BUSY__ = False
        TTK.raiseButton(W)
        CPlot.setState(cursor=0)
Exemplo n.º 3
0
def viewQual():
    if CTK.t == []: return
    qtype = VARS[1].get()
    if qtype == 'Neg. volume cells':
        res = findVar('vol')
        if res == 0: CTK.t = G.getVolumeMap(CTK.t)
        if CTK.__MAINTREE__ == 1:
            CTK.__MAINACTIVEZONES__ = CPlot.getActiveZones()
        active = []
        zones = Internal.getZones(CTK.t)
        for z in CTK.__MAINACTIVEZONES__: active.append(CTK.t[2][CTK.Nb[z]+1][2][CTK.Nz[z]])

        temp = C.newPyTree(['Base']); temp[2][1][2] += active
        Z = C.initVars(temp, 'centers:__tag__', F1, ['centers:vol'])
        Z = P.selectCells2(Z, 'centers:__tag__')
        if Z is not None:
            CTK.TXT.insert('START', 'Viewing '+qtype+'.\n')
            CTK.dt = Z
            CTK.display(CTK.dt, mainTree=CTK.MESHQUAL)
    elif qtype == 'Mesh':
        CTK.display(CTK.t)
import Generator.PyTree as G
import Post.PyTree as P
import KCore.test as test


def F(x, y, z):
    if (x + 2 * y + z > 20.): return True
    else: return False


# test sur une zone
a = G.cart((0, 0, 0), (1, 1, 1), (11, 11, 11))
a = C.addBC2Zone(a, 'wall1', 'BCWall', 'imin')
a = C.addBC2Zone(a, 'overlap1', 'BCOverlap', 'jmin')
a = C.addBC2Zone(a, 'match1', 'BCMatch', 'imax', a, 'imin', [1, 2, 3])
a = C.initVars(a, 'tag', F, ['CoordinateX', 'CoordinateY', 'CoordinateZ'])
a = C.initVars(a, 'centers:G', 12.)
b = P.selectCells2(a, 'tag')
test.testT(b, 1)

# test sur une base
t = C.newPyTree(['Base'])
t[2][1][2] += [a]
t[2][1] = C.addState(t[2][1], 'Mach', 0.6)
b = P.selectCells2(t[2][1], 'tag')
test.testT(b, 2)

# test sur un arbre
t = P.selectCells2(t, 'tag')
test.testT(b, 3)
# - selectCells2 (pyTree) -
import Converter.PyTree as C
import Generator.PyTree as G
import Post.PyTree as P

a = G.cart((0, 0, 0), (1, 1, 1), (11, 11, 11))
a = C.initVars(a, 'tag', 1.)
b = P.selectCells2(a, 'tag')
C.convertPyTree2File(b, 'out.cgns')

def F2(x):
    if (x > 15.): return True
    else: return False


# test sur une zone + tag aux centres
a = G.cart((0, 0, 0), (1, 1, 1), (11, 11, 11))
a = C.addBC2Zone(a, 'wall1', 'BCWall', 'imin')
a = C.addBC2Zone(a, 'overlap1', 'BCOverlap', 'jmin')
a = C.addBC2Zone(a, 'match1', 'BCMatch', 'imax', a, 'imin', [1, 2, 3])
a = C.initVars(a, 'Density', F, ['CoordinateX', 'CoordinateY', 'CoordinateZ'])
a = C.node2Center(a, 'Density')
a = C.initVars(a, 'centers:tag', F2, ['centers:Density'])
b = P.selectCells2(a, 'centers:tag')
t = C.newPyTree(['Base'])
t[2][1][2] += [b]
test.testT(t, 1)

# test sur une base
t = C.newPyTree(['Base'])
t[2][1][2] += [a]
t[2][1] = C.addState(t[2][1], 'Mach', 0.6)
b = P.selectCells2(t[2][1], 'centers:tag')
test.testT(b, 2)

# test sur un arbre
t = P.selectCells2(t, 'centers:tag')
test.testT(t, 3)