old_contents: #!/usr/bin/python
  #
  # 1D Sod Tube Test
  #
  
  class PlotManager():
      """
      Manage how to show the data generated by SodTube
      """
      def __init__(self):
          pass
      def plotMesh(self, mesh):
          pass
      def plotSolution(self, solution):
          pass
  
  class SodTube():
      """
      The core to generate the 1D Sod tube test
      """
      def __init__(self):
          # initial condition
          # [(xl, rhol, ul, pl), (xr, rhor, ur, pr)]
          self.initcondition = [(1.0, 0.0, 1.0), (0.125, 0.0, 1.0)]
          # a mesh, which has this format:
          # [point0, point1, point2, point3, ......, pointn]
          self.mesh = []
          # solution has this format:
          # [(x0, rho0, u0, p0),
          #  (x1, rho1, u1, p1),
          #  ......,
          #  (xn, rhon, un, pn)]
          self.solution = []
          self.ceseparameters = []
  
      def getMesh(self):
          return self.mesh
      def getAnalyticSolution(self):
          return self.solution
      def calAnalyticSolution(self):
          pass
      def getCESESolution(self):
          return self.solution
      def calCESESolution(self, initcondition, mesh, ceseparameters):
          return self.solution
  
new_contents: #!/usr/bin/python
  #
  # 1D Sod Tube Test
  #
  
  class PlotManager():
      """
      Manage how to show the data generated by SodTube.
      Roughly speaking, it is a wrapper of matplotlib
      """
      def __init__(self):
          pass
  
      def plotMesh(self, mesh):
          pass
  
  def plotSolution(self, solution):
          pass
  
  class DataManager(PlotManager):
      """
      Manage how to get extended information by input data.
      """
      def __init__(self):
          pass
  
      def getErrorNorm(self, solution_A, solution_B):
          return solution_errornorm
  
      def getL2Norm(self, solution_A, solution_B):
          return solution_errornorm
  
  class SodTube():
      """
      The core to generate the 1D Sod tube test
      """
      def __init__(self):
          # initial condition
          # [(xl, rhol, ul, pl), (xr, rhor, ur, pr)]
          self.initcondition = [(1.0, 0.0, 1.0), (0.125, 0.0, 1.0)]
          # a mesh, which has this format:
          # [point0, point1, point2, point3, ......, pointn]
          self.mesh = []
          # solution has this format:
          # [(x0, rho0, u0, p0),
          #  (x1, rho1, u1, p1),
          #  ......,
          #  (xn, rhon, un, pn)]
          self.solution = []
          self.ceseparameters = []
  
      def getMesh(self):
          return self.mesh
      def getAnalyticSolution(self):
          return self.solution
      def calAnalyticSolution(self):
          pass
      def getCESESolution(self):
          return self.solution
      def calCESESolution(self, initcondition, mesh, ceseparameters):
          return self.solution
  
subject: add Datamanager and more comments