Source code for aiida_orca.utils.input_generator

# -*- coding: utf-8 -*-
"""Functions for rendering ORCA input files"""


[docs]def render_orca_input(params: dict) -> str: """Rendering ORCA input file. The only thing missing is the coordinate section. Args: params (dict): Input parameters Returns: str: Input file as a single string """ # List of strings, one per line, concatenated at the end output = ['### Generated by AiiDA-ORCA Plugin ###'] keywords = params.get('input_keywords', ['SP']) output.append(f'! {" ".join(keywords)}') if extra_keywords := params.get('extra_input_keywords'): output.append(f'! {" ".join(extra_keywords)}') if blocks := params.get('input_blocks'): for key in blocks.keys(): output.append(f'%{key} ') for keyword, val in blocks[key].items(): if val is None: output.append(f'\t{keyword}') else: output.append(f'\t{keyword} {val}') output.append('end\n') return '\n'.join(output)