Ejemplo n.º 1
0
    def changeWind(self, *args):
        '''Change in Mach, Re or nE (# element) by changing the solver
           and interpolating old solution'''
        for b in self.buttons.values():
            b.set_sensitive(False)
        self.terminateSolver()

        m = self.solver.mesh
        xt0, W0 = m.xt(), self.solver.soln
        freeStream0 = self.solver.freeStream(1)
        axesLimit = ravel(array(fig.axes[0].viewLim).T)

        v, t, b = adaptMesh(self.geom, m.v, m.t, m.b, self.nE, self.metric)
        e = extractEdges(v, t)
        self.vis = Visualize(v, t, e, self.fig, self.win, axesLimit)
        self.solver = chooseSolver(v, t, b, self.Mach, self.Re)
        #W0 = griddata(xt0, W0, self.solver.mesh.xt(), method='nearest')
        W0 = linNearGrid(xt0, W0, self.solver.mesh.xt() )
        W0 += self.solver.freeStream(1) - freeStream0
        self.solver.integrate(1E-9, W0)
        self._soln_copy = self.solver.soln.copy()

        self.startSolver()
        self.buttons['MachDisp'].set_label('Mach = {0}'.format(self.Mach))
        self.buttons['ReDisp'].set_label('Re = {0}'.format(self.Re))
        self.buttons['NEDisp'].set_label('{0} cells'.format(self.nE))
        for b in self.buttons.values():
            b.set_sensitive(True)
Ejemplo n.º 2
0
    def changeWind(self, *args):
        '''Change in Mach, Re or nE (# element) by changing the solver
           and interpolating old solution'''
        for b in self.buttons.values():
            b.set_sensitive(False)
        self.terminateSolver()

        m = self.solver.mesh
        xt0, W0 = m.xt(), self.solver.soln
        freeStream0 = self.solver.freeStream(1)
        axesLimit = ravel(array(fig.axes[0].viewLim).T)

        v, t, b = adaptMesh(self.geom, m.v, m.t, m.b, self.nE, self.metric)
        e = extractEdges(v, t)
        self.vis = Visualize(v, t, e, self.fig, self.win, axesLimit)
        self.solver = chooseSolver(v, t, b, self.Mach, self.Re)
        #W0 = griddata(xt0, W0, self.solver.mesh.xt(), method='nearest')
        W0 = linNearGrid(xt0, W0, self.solver.mesh.xt())
        W0 += self.solver.freeStream(1) - freeStream0
        self.solver.integrate(1E-9, W0)
        self._soln_copy = self.solver.soln.copy()

        self.startSolver()
        self.buttons['MachDisp'].set_label('Mach = {0}'.format(self.Mach))
        self.buttons['ReDisp'].set_label('Re = {0}'.format(self.Re))
        self.buttons['NEDisp'].set_label('{0} cells'.format(self.nE))
        for b in self.buttons.values():
            b.set_sensitive(True)
Ejemplo n.º 3
0
    def changeWind(self, *args):
        '''Change in Mach, Re or nE (# element) by changing the solver
           and interpolating old solution'''
        for b in self.buttons.values():
            b.set_sensitive(False)
        self.terminateSolver()

        xt0, W0 = self.xt, self.last_soln
        freeStream0 = freeStream(self.M0)
        axesLimit = ravel(array(fig.axes[0].viewLim).T)

        self.v, self.t, self.b = adaptMesh(self.geom, self.v, self.t, self.b, self.nE, self.metric)
        e = extractEdges(self.v, self.t)
        self.vis = Visualize(self.v, self.t, e, self.fig, self.win, axesLimit)
        self.xt = triCenters(self.v, self.t)
        
        nv = len(self.v)
        self.metric = zeros([nv, 2, 2])


        W0 = linNearGrid(xt0, W0, self.xt )
        W0 += freeStream(self.Mach) - freeStream0

        self.solver = SolverProcess(self.v,self.t,self.b,self.Mach, self.Re, self.data_queue, W0)


        self.startSolver()
        self.buttons['MachDisp'].set_label('Mach = {0}'.format(self.Mach))
        self.buttons['ReDisp'].set_label('Re = {0}'.format(self.Re))
        self.buttons['NEDisp'].set_label('{0} cells'.format(self.nE))
        for b in self.buttons.values():
            b.set_sensitive(True)
Ejemplo n.º 4
0
    def changeWind(self, *args):
        '''Change in Mach, Re or nE (# element) by changing the solver
           and interpolating old solution'''
        for b in self.buttons.values():
            b.set_sensitive(False)
        self.terminateSolver()

        xt0, W0 = self.xt, self.last_soln
        freeStream0 = freeStream(self.M0)
        axesLimit = ravel(array(fig.axes[0].viewLim).T)

        self.v, self.t, self.b = adaptMesh(self.geom, self.v, self.t, self.b,
                                           self.nE, self.metric)
        e = extractEdges(self.v, self.t)
        self.vis = Visualize(self.v, self.t, e, self.fig, self.win, axesLimit)
        self.xt = triCenters(self.v, self.t)

        nv = len(self.v)
        self.metric = zeros([nv, 2, 2])

        W0 = linNearGrid(xt0, W0, self.xt)
        W0 += freeStream(self.Mach) - freeStream0

        self.solver = SolverProcess(self.v, self.t, self.b, self.Mach, self.Re,
                                    self.data_queue, W0)

        self.startSolver()
        self.buttons['MachDisp'].set_label('Mach = {0}'.format(self.Mach))
        self.buttons['ReDisp'].set_label('Re = {0}'.format(self.Re))
        self.buttons['NEDisp'].set_label('{0} cells'.format(self.nE))
        for b in self.buttons.values():
            b.set_sensitive(True)