def default_parameters(cls): result = Parameters() universe = context.application.model.universe if universe.cell.active[0]: result.interval_a = numpy.array([0.0, universe.repetitions[0]], float) if universe.cell.active[1]: result.interval_b = numpy.array([0.0, universe.repetitions[1]], float) if universe.cell.active[2]: result.interval_c = numpy.array([0.0, universe.repetitions[2]], float) return result
def fn(): context.application.model.file_open("test/input/sod.zml") parameters = Parameters() parameters.interval_b = numpy.array([-0.5, 2.5], float) parameters.interval_c = numpy.array([-1.5, 1.5], float) UnitCellToCluster = context.application.plugins.get_action("UnitCellToCluster") assert UnitCellToCluster.analyze_selection(parameters) UnitCellToCluster(parameters) # check the bond lengths Bond = context.application.plugins.get_node("Bond") universe = context.application.model.universe for bond in context.application.model.universe.children: if isinstance(bond, Bond): delta = bond.children[0].target.transformation.t - bond.children[1].target.transformation.t delta = universe.shortest_vector(delta) distance = numpy.linalg.norm(delta) assert distance < 4.0