def run_as_libsbmlsim_time_course(self, model, res):
   if res is None:
     res = result.TimeSeries()
   steps = self.get_number_of_points()
   start = self.get_output_start_time()
   end = self.get_output_end_time()
   step = (end - start) / steps
   mod = model.get_sbml_doc()
   # TODO: acquire KiSAO description of the algorithm
   r = libsbmlsim.simulateSBMLFromString(
       mod.toSBML(),
       end,
       step,
       1,
       0,
       libsbmlsim.MTHD_RUNGE_KUTTA,
       0)
   res.import_from_libsbmlsim(r, start)
   return res
# Simulation conditions
model_file = "FEBS_antimony.xml"
start = 0.0
end = 20.0
steps = 100.0
step = (end - start) / steps

# Open SBML file
reader = libsbml.SBMLReader()
doc = reader.readSBMLFromFile(model_file)

# Simulate model with stiff solver
r_stiff = libsbmlsim.simulateSBMLFromString(
    doc.toSBML(),
    end,
    step,
    1,
    0,
    libsbmlsim.MTHD_RUNGE_KUTTA,
    0)
stiff_result = result.TimeSeries()
stiff_result.import_from_libsbmlsim(r_stiff, 0.0)

# Simulate model with non-stiff solver
r_non_stiff = libsbmlsim.simulateSBMLFromString(
    doc.toSBML(),
    end,
    step,
    1,
    0,
    libsbmlsim.MTHD_ADAMS_MOULTON_2,
    0)