Source code for sknano.testing._funcs

# -*- coding: utf-8 -*-
"""
========================================================================
Helper functions (:mod:`sknano.testing._funcs`)
========================================================================

.. currentmodule:: sknano.testing._funcs

"""
from __future__ import absolute_import, division, print_function

#from inspect import getargspec
import importlib

#import numpy as np
from sknano.core.atoms import StructureAtom as Atom, StructureAtoms as Atoms
from sknano.core.refdata import element_symbols as periodic_table_of_elements
from sknano.generators import STRUCTURE_GENERATORS

__all__ = ['generate_atoms']


[docs]def generate_atoms(elements=None, generator_class=None, **kwargs): if elements is not None: if isinstance(elements, list): atoms = Atoms() for e in elements: atoms.append(Atom(element=e)) return atoms elif isinstance(elements, str) and elements == 'periodic_table': atoms = Atoms() for e in periodic_table_of_elements: atoms.append(Atom(element=e)) return atoms elif generator_class is not None and \ generator_class in STRUCTURE_GENERATORS: try: generator = getattr(importlib.import_module('sknano.generators'), generator_class) structure = generator(**kwargs) return structure.atoms except ImportError as e: print(e)