parameters: (name, dertype)
return_statement: return text, options
docstring: Transform calculation method *name* and derivative level *dertype*
      into options for orca. While deliberately requested pieces,
      generally orca__orca_deriv_level and orca__orca_calc_level,
      are set to complain if contradicted ('clobber' set to True), other
      'recommended' settings, can be countermanded by keywords in input file
      ('clobber' set to False). Occasionally, we want these pieces to actually
      overcome keywords in input file ('superclobber' set to True).
docstring_summary: Transform calculation method *name* and derivative level *dertype*
      into options for orca. While deliberately requested pieces,
      generally orca__orca_deriv_level and orca__orca_calc_level,
      are set to complain if contradicted ('clobber' set to True), other
      'recommended' settings, can be countermanded by keywords in input file
      ('clobber' set to False). Occasionally, we want these pieces to actually
      overcome keywords in input file ('superclobber' set to True).
docstring_tokens: Transform calculation method * name * and derivative level * dertype * into options for orca . While deliberately requested pieces generally orca__orca_deriv_level and orca__orca_calc_level are set to complain if contradicted ( clobber set to True ) other recommended settings can be countermanded by keywords in input file ( clobber set to False ) . Occasionally we want these pieces to actually overcome keywords in input file ( superclobber set to True ) .
function: def muster_modelchem(name, dertype):
      """Transform calculation method *name* and derivative level *dertype*
      into options for orca. While deliberately requested pieces,
      generally orca__orca_deriv_level and orca__orca_calc_level,
      are set to complain if contradicted ('clobber' set to True), other
      'recommended' settings, can be countermanded by keywords in input file
      ('clobber' set to False). Occasionally, we want these pieces to actually
      overcome keywords in input file ('superclobber' set to True).
      """
      text = ''
      lowername = name.lower()
      options = defaultdict(lambda: defaultdict(dict))
  
      if dertype == 0:
          options['ORCA']['ORCA_RUNTYP']['value'] = 'ENERGY'
      elif dertype == 1:
          options['ORCA']['ORCA_RUNTYP']['value'] = 'ENGRAD'
      else:
          raise ValidationError("Requested Orca dertype {} is not available."
                                .format(dertype))
  
      if lowername == 'orca':
          pass
      elif lowername == 'orca-b3lyp':
          options['ORCA']['ORCA_FUNCTIONAL']['value'] = 'B3LYP_G'
      elif lowername == 'orca-mp2':
          options['ORCA']['ORCA_CALC_LEVEL']['value'] = 'MP2'
      elif lowername == 'orca-ccsd':
          options['ORCA']['ORCA_CALC_LEVEL']['value'] = 'CCSD'
      elif lowername == 'orca-ccsd(t)':
          options['ORCA']['ORCA_CALC_LEVEL']['value'] = 'CCSD(T)'
      else:
          raise ValidationError("Requested Orca computational methods {} is not "
                                "available." .format(lowername))
  
      # Set clobbering
      if 'ORCA_RUNTYP' in options['ORCA']:
          options['ORCA']['ORCA_RUNTYP']['clobber'] = True
          options['ORCA']['ORCA_RUNTYP']['superclobber'] = True
      if 'ORCA_FUNCTIONAL' in options['ORCA']:
          options['ORCA']['ORCA_FUNCTIONAL']['clobber'] = True
          options['ORCA']['ORCA_FUNCTIONAL']['superclobber'] = True
  
      return text, options
function_tokens: def muster_modelchem ( name , dertype ) : text = '' lowername = name . lower ( ) options = defaultdict ( lambda : defaultdict ( dict ) ) if dertype == 0 : options [ 'ORCA' ] [ 'ORCA_RUNTYP' ] [ 'value' ] = 'ENERGY' elif dertype == 1 : options [ 'ORCA' ] [ 'ORCA_RUNTYP' ] [ 'value' ] = 'ENGRAD' else : raise ValidationError ( "Requested Orca dertype {} is not available." . format ( dertype ) ) if lowername == 'orca' : pass elif lowername == 'orca-b3lyp' : options [ 'ORCA' ] [ 'ORCA_FUNCTIONAL' ] [ 'value' ] = 'B3LYP_G' elif lowername == 'orca-mp2' : options [ 'ORCA' ] [ 'ORCA_CALC_LEVEL' ] [ 'value' ] = 'MP2' elif lowername == 'orca-ccsd' : options [ 'ORCA' ] [ 'ORCA_CALC_LEVEL' ] [ 'value' ] = 'CCSD' elif lowername == 'orca-ccsd(t)' : options [ 'ORCA' ] [ 'ORCA_CALC_LEVEL' ] [ 'value' ] = 'CCSD(T)' else : raise ValidationError ( "Requested Orca computational methods {} is not " "available." . format ( lowername ) ) # Set clobbering if 'ORCA_RUNTYP' in options [ 'ORCA' ] : options [ 'ORCA' ] [ 'ORCA_RUNTYP' ] [ 'clobber' ] = True options [ 'ORCA' ] [ 'ORCA_RUNTYP' ] [ 'superclobber' ] = True if 'ORCA_FUNCTIONAL' in options [ 'ORCA' ] : options [ 'ORCA' ] [ 'ORCA_FUNCTIONAL' ] [ 'clobber' ] = True options [ 'ORCA' ] [ 'ORCA_FUNCTIONAL' ] [ 'superclobber' ] = True return text , options