Beispiel #1
0
def main(args=None):
    """The CLI main entry point function.

    The optional argument args, can be used to
    directly supply command line argument like

    $ catmap <args>

    otherwise args will be taken from STDIN.

    """
    from glob import glob

    options, args, parser = get_options(args, get_parser=True)

    if not args[0] in usage.keys():
        args[0] = match_keys(args[0], usage, parser)

    elif args[0] == 'import':
        if len(args) < 2:
            parser.error('mkm filename expected.')

        from catmap import ReactionModel
        mkm_file = args[1]
        global model
        model = ReactionModel(setup_file=mkm_file)
        sh(banner=
           'Note: model = catmap.ReactionModel(setup_file=\'%s\')\n# do model.run()\nfor a fully initialized model.'
           % args[1])
Beispiel #2
0
def main(args=None):
    """The CLI main entry point function.

    The optional argument args, can be used to
    directly supply command line argument like

    $ catmap <args>

    otherwise args will be taken from STDIN.

    """
    from glob import glob

    options, args, parser = get_options(args, get_parser=True)

    if not args[0] in usage.keys():
        args[0] = match_keys(args[0], usage, parser)

    elif args[0] == 'import':
        if len(args) < 2:
            parser.error('mkm filename expected.')

        from catmap import ReactionModel
        mkm_file = args[1]
        global model
        model = ReactionModel(setup_file=mkm_file)
        sh(banner=
           'Note: model = catmap.ReactionModel(setup_file=\'%s\')\n# do model.run()\nfor a fully initialized model.'
           % args[1])

    elif args[0] == 'graphviz':
        import catmap.analyze.mechanism
        import catmap.model
        if len(args) < 2:
            parser.error('mkm filename expected.')
        mkm_file = args[1]
        seed = mkm_file.split('.')[0]
        model = catmap.model.ReactionModel(setup_file=mkm_file)
        mechanism = catmap.analyze.mechanism.MechanismAnalysis(model)
        graph = mechanism.create_graph()
        graph.render(seed)
Beispiel #3
0
from catmap import ReactionModel

mkm_file = 'CO_oxidation.mkm'
model = ReactionModel(setup_file=mkm_file)
scaler_variables = ['rxn_parameter', 'frequency', 'electronic_energy',
                    'free_energy', 'zero_point_energy', 'enthalpy', 'entropy']
# Warning: adding 'rate_control' or 'selectivity_control' to
# output_variables increases calculation time significantly
solver_variables = ['production_rate', 'rate_control', 'coverage', 'rate',
                    'consumption_rate', 'selectivity', 'rxn_direction',
                    'rate_constant', 'equilibrium_constant', 'carbon_selectivity',
                    'selectivity_control', 'rxn_order', 'apparent_activation_energy',
                    'interacting_energy', 'directional_rates', 'forward_rate', 'reverse_rate',
                    'forward_rate_constant', 'reverse_rate_constant']
two_dim_variables = ['rate_control', 'selectivity_control', 'rxn_order', 'frequency']
one_dim_variables = list(set(scaler_variables + solver_variables) - set(two_dim_variables))
model.output_variables += solver_variables + scaler_variables

model.run()

from catmap import analyze
vm = analyze.VectorMap(model)
vm.log_scale = True  # not necessarily the right choice of parameters for all output_variables
vm.min = 1e-25
vm.max = 1e3
vm.threshold = 1e-25
vm.unique_only = False
for out_var in one_dim_variables:
    vm.plot_variable = out_var
    fig = vm.plot(save=out_var + '.pdf')
    fig.clf()
Beispiel #4
0
#SBATCH --time=1:00:00                                 #default is 20 hours
#SBATCH --nodes=1
##SBATCH --mem-per-cpu=4000
#SBATCH --mail-type=END,FAIL                            #get emailed about job BEGIN, END, or FAIL
#SBATCH [email protected]
##SBATCH --ntasks-per-node=16                            #task to run per node; each node has 16 cores

import catmap
import numpy as np
import os
from catmap import ReactionModel
from catmap import analyze
from matplotlib import pyplot as plt

#mkm_file = [f for f in os.listdir('.') if f.endswith('.mkm')][0]
model = ReactionModel(setup_file='mechanism.mkm')
model.output_variables.append('production_rate')
model.output_variables.append('free_energy')
#model.output_variables.append('interaction_matrix')
model.run()

vm = analyze.VectorMap(model)
vm.model_name = 'CH3OH'
vm.plot_variable = 'free_energy'
vm.log_scale = False
vm.plot(save=vm.plot_variable + '.pdf')

vm.plot_variable = 'coverage'
vm.min = 0
vm.max = 1
vm.plot(save=vm.plot_variable + '.pdf')
Beispiel #5
0
from catmap import ReactionModel
import sys
from string import Template

model = ReactionModel(setup_file='HER.mkm')
model.output_variables += [
    'production_rate', 'free_energy', 'selectivity', 'directional_rates'
]
model.run()

from catmap import analyze
vm = analyze.VectorMap(model)

vm.plot_variable = 'rate'
vm.log_scale = True
vm.min = 1e-10
vm.max = 1e6
fig = vm.plot(save='rate.png')

vm.plot_variable = 'production_rate'
vm.log_scale = True
vm.min = 1e-10
vm.max = 1e6
fig = vm.plot(save='production_rate.png')

vm.plot_variable = 'coverage'
vm.min = 0
vm.max = 1
vm.log_scale = False
fig = vm.plot(save='coverage.png')