Make constrainAsSpaceGroup take effect immediately. As it is the constraints are applied after iterating the resultant object.
from __future__ importprint_functionfromdiffpy.StructureimportStructure, Atomfromdiffpy.srfit.structureimportstruToParameterSet, constrainAsSpaceGroupstru=Structure([Atom('X')])
stru.lattice.setLatPar(3.52, 3.52, 3.52)
phase=struToParameterSet("nickel", stru)
sgpars=constrainAsSpaceGroup(phase, 'Fm-3m')
print("initial constraints:", phase._formatConstraints())
list(sgpars)
print("after sgpars iteration:", phase._formatConstraints())outputs
initial constraints: []
after sgpars iteration: ['lattice.b <-- a', 'lattice.c <-- a']
Make
constrainAsSpaceGrouptake effect immediately. As it is the constraints are applied after iterating the resultant object.outputs