Commit 70af3d2b authored by eric pellegrini's avatar eric pellegrini

Merge branch 'hotfix-1.0.4.rc4'

parents 7c0d220c e8291af2
Pipeline #1201 passed with stages
in 16 minutes and 47 seconds
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"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment