Skip to content
Snippets Groups Projects
Commit f2fc0ead authored by eric pellegrini's avatar eric pellegrini
Browse files

Merge tag '1.0.4.rc4' into develop

version 1.0.4.rc4
parents 62c424a7 70af3d2b
No related branches found
No related tags found
No related merge requests found
Pipeline #
version 1.0.4.rc2
version 1.0.4.rc4
----------------
* bug fix in coordination number analysis: some pairs were never taken into account
* bug fix when transmutating atoms from an atom selection different to 'all'
version 1.0.4.rc3
----------------
* bug fix in debian packager: add the python-setuptools dependency
* improved LAMMPS converter: the parsing of the config file is more tolerance in term of required keyword format
......
......@@ -105,14 +105,17 @@ class AtomSelectionConfigurator(IConfigurator):
parser = AtomSelectionParser(trajConfig["instance"])
indexes.update(parser.parse(v))
indexes = sorted(list(indexes))
self["flatten_indexes"] = sorted(list(indexes))
trajConfig = self._configurable[self._dependencies['trajectory']]
atoms = sorted(trajConfig["universe"].atomList(), key = operator.attrgetter('index'))
selectedAtoms = [atoms[idx] for idx in indexes]
self["selection_length"] = len(indexes)
self["selection_length"] = len(self["flatten_indexes"])
self['indexes'] = [[idx] for idx in self["flatten_indexes"]]
self['elements'] = [[at.symbol] for at in selectedAtoms]
self['indexes'] = [[idx] for idx in indexes]
self['names'] = [at.symbol for at in selectedAtoms]
self['unique_names'] = sorted(set(self['names']))
self['masses'] = [[ELEMENTS[n,'atomic_weight']] for n in self['names']]
......
......@@ -112,12 +112,18 @@ class AtomTransmutationConfigurator(IConfigurator):
raise ConfiguratorError("the element %r is not registered in the database" % element, self)
atomSelConfigurator = self._configurable[self._dependencies['atom_selection']]
for idx in selection:
atomSelConfigurator["names"][idx] = element
atomSelConfigurator["elements"][idx] = [element]
try:
idxInSelection = atomSelConfigurator["flatten_indexes"].index(idx)
except ValueError:
pass
else:
atomSelConfigurator["names"][idxInSelection] = element
atomSelConfigurator["elements"][idxInSelection] = [element]
atomSelConfigurator['unique_names'] = sorted(set(atomSelConfigurator['names']))
atomSelConfigurator['masses'] = [[ELEMENTS[n,'atomic_weight']] for n in atomSelConfigurator['names']]
def get_information(self):
'''
......
......@@ -93,7 +93,8 @@ class CoordinationNumber(DistanceHistogram):
self._concentrations[k] /= nFrames
nAtomsPerElement = self.configuration['atom_selection'].get_natoms()
for at1,at2 in self._elementsPairs:
for pair in self._elementsPairs:
at1,at2 = pair
ni = nAtomsPerElement[at1]
nj = nAtomsPerElement[at2]
......@@ -120,6 +121,7 @@ class CoordinationNumber(DistanceHistogram):
cBeta = self._concentrations[pair[1]]
invPair = pair[::-1]
print pair, cnIntra
self._outputData["cn_intra_%s%s" % pair][:] = self.averageDensity*cBeta*cnIntra
self._outputData["cn_inter_%s%s" % pair][:] = self.averageDensity*cBeta*cnInter
self._outputData["cn_total_%s%s" % pair][:] = self.averageDensity*cBeta*cnTotal
......
__version__ = "1.0.4.rc3"
__version__ = "1.0.4.rc4"
__date__ = "28-11-2016"
__date__ = "29-11-2016"
__author__ = "Eric Pellegrini"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment