示例#1
0
文件: fvm.py 项目: wme7/rupturotops
class Play(Experiment):
    def _initialize(self):
        self.cont = Controller(self.params)
        # self.cont.deriv.reconstructor = WENO(self.cont.mesh)
        et = ErrorTracker(self.cont.mesh, self.cont.analytical, self.params)
        soln_plot = UpdatePlotter(self.params.plotter)

        soln_plot.add_line(self.cont.mesh.x, self.cont.init[2:-2], "+")
        soln_plot.add_line(self.cont.mesh.x, self.cont.init[2:-2], "-")
        self.cont.observers.append(soln_plot)
        self.cont.observers.append(et)

    def _compute(self):
        self.cont._compute()

    def _visualize(self):
        pyp.show()
        self.cont._visualize()
示例#2
0
文件: fvm.py 项目: wme7/rupturotops
    def _initialize(self):
        self.cont = Controller(self.params)
        # self.cont.deriv.reconstructor = WENO(self.cont.mesh)
        et = ErrorTracker(self.cont.mesh, self.cont.analytical, self.params)
        soln_plot = UpdatePlotter(self.params.plotter)

        soln_plot.add_line(self.cont.mesh.x, self.cont.init[2:-2], "+")
        soln_plot.add_line(self.cont.mesh.x, self.cont.init[2:-2], "-")
        self.cont.observers.append(soln_plot)
        self.cont.observers.append(et)
 def run(self):
     errors = []
     for i in range(len(self.dx)):
         print self.dx[i]
         delta_x = np.ones(self.domain_length / self.dx[i]) * self.dx[i]
         self.params.delta_x = delta_x
         cont = Controller(self.params)
         et = ErrorTracker(cont.mesh, cont.analytical, self.params)
         #soln_plot = UpdatePlotter(self.params.plotter)
         #soln_plot.add_line(cont.mesh.x, cont.init, '+')
         #soln_plot.add_line(cont.mesh.x, cont.init, '-')
         #cont.observers.append(soln_plot)
         cont.observers.append(et)
         cont.compute()
         errors.append(et.get_final_error())
     pyp.close('all')
     pyp.figure()
     pyp.plot(np.log(self.dx), np.log(errors))
     pyp.plot([-2.0, -3.0], [-2, -7])
     pyp.xlabel(r'$\log(\Delta x)$')
     pyp.ylabel(r'log(error)')
     pyp.title('Convergence plot for ADER-WENO method')
     pyp.show()