Пример #1
0
parser.add_option("-k", "--keywords", dest = "keywords", type="string", default = 'hv,PROD,EMISSION', help = "List of keywords to be ignored in reactants or products (comma delimited; default='hv')")

parser.add_option("-o", "--outpath", dest = "outpath", type="string", default = None, help = "Output path.")

parser.add_option("-m", "--monitor", dest = "monitor", type="string", default = None, help = "Extra monitor values (comma separated string).")

parser.add_option("-s", "--solver", dest = "solver", default = None, help = "solver (default: lsoda; vode; zvode; dopri5; dop853)")

parser.add_option("-c", "--code", dest = "code", default = "", help = "code to solve (exec) after model is compiled and run (unless --norun); out is a keyword for the mechanism that has been generated")

(options, args) = parser.parse_args()

if len(args) == 0:
    parser.print_help()
    exit()
    
outs = []
for arg in args:
    out = Mech(arg, verbose = options.verbose, keywords = [k_.strip() for k_ in options.keywords.split(',')])
    if options.monitor is not None:
        out.monitor = tuple([(None if k not in out.allspcs else out.allspcs.index(k), k) for k in options.monitor.split(',')]) + out.monitor
    if not options.norun:
        runtime = out.run(tstart = options.tstart, tend = options.tend, dt = options.dt, solver = options.solver, jac = options.jacobian, atol = options.atol, rtol = options.rtol)
        print 'Solved in %f seconds' % runtime
        out.output(options.outpath)
    outs.append(out)

if os.path.exists(options.code):
    options.code = file(options.code, 'r').read()
exec(options.code)
Пример #2
0
(options, args) = parser.parse_args()

if len(args) == 0:
    parser.print_help()
    exit()

outs = []
for arg in args:
    out = Mech(arg,
               verbose=options.verbose,
               keywords=[k_.strip() for k_ in options.keywords.split(',')])
    if options.monitor is not None:
        out.monitor = tuple(
            [(None if k not in out.allspcs else out.allspcs.index(k), k)
             for k in options.monitor.split(',')]) + out.monitor
    if not options.norun:
        runtime = out.run(tstart=options.tstart,
                          tend=options.tend,
                          dt=options.dt,
                          solver=options.solver,
                          jac=options.jacobian,
                          atol=options.atol,
                          rtol=options.rtol)
        print 'Solved in %f seconds' % runtime
        out.output(options.outpath)
    outs.append(out)

if os.path.exists(options.code):
    options.code = file(options.code, 'r').read()
exec(options.code)