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)
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)
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)
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)