Source code for atsim.potentials.config._common
import collections
import sys
try:
from inspect import signature, Parameter
except ImportError:
from funcsigs import signature, Parameter
[docs]SpeciesTuple = collections.namedtuple("SpeciesTuple", ["species_a", "species_b"])
[docs]EAMFSDensitySpeciesTuple = collections.namedtuple("EAMFSDensitySpeciesTuple", ["from_species", "to_species"])
_tuple_args = ["species", 'potential_form_instance']
[docs]EAMEmbedTuple = collections.namedtuple("EAMEmbedTuple", _tuple_args)
[docs]EAMDensityTuple = collections.namedtuple("EAMDensityTuple", _tuple_args)
[docs]PairPotentialTuple = collections.namedtuple("PairPotentialTuple", _tuple_args)
[docs]MultiRangeDefinitionTuple = collections.namedtuple("MultiRangeDefinition", ["range_type", "start"])
[docs]PotentialModifierTuple = collections.namedtuple("PotentialModifierTuple", ['modifier', 'potential_forms', 'start', 'next'])
[docs]class ConfigurationException(Exception):
pass
[docs]class ConfigParserException(ConfigurationException):
pass
[docs]class ConfigParserMissingSectionException(ConfigParserException):
pass
[docs]class ConfigParserDuplicateEntryException(ConfigParserException):
pass
[docs]class Modifier_Exception(ConfigurationException):
pass
[docs]class Unknown_Modifier_Exception(Modifier_Exception):
pass
def _is_vararg_signature(sig):
for p in sig.parameters.values():
if not p.kind == Parameter.VAR_POSITIONAL:
return False
return True