def create_incar(xsdname, args): """""" if os.path.exists('INCAR'): return 'INCAR already exists, not changed.\n' incar = InCar() if args.task: task = args.task incar.quickgen(args.task) else: task = 'SC' content = 'INCAR -->\n' content += ' Task is %s\n' %task if PY2: pname_value_pairs = args.__dict__.iteritems() else: pname_value_pairs = args.__dict__.items() for pname, value in pname_value_pairs : if (value is not None): if pname in incar.pnames: incar.set(pname, value) else: if (pname in INCAR_PARAMETERS.keys()): incar.add(pname, value) content += " {} -> {}\n".format(pname, value) #incar.set('SYSTEM', xsdname) incar.tofile(verbos=False) content += '\n' return content
distance = np.linalg.norm(b) # Create fort.188 content = '1\n3\n6\n4\n0.04\n%-5d%-5d%f\n0\n' % \ (atom_idxs[0]+1, atom_idxs[1]+1, distance) with open('fort.188', 'w') as f: f.write(content) _logger.info("fort.188 has been created.") _logger.info('-' * 20) _logger.info("atom number: {:<5d}{:<5d}".format( atom_idxs[0] + 1, atom_idxs[1] + 1)) _logger.info("atom name: {} {}".format(*atom_names)) _logger.info("distance: {:f}".format(distance)) _logger.info('-' * 20) # Set IBRION = 1 incar.set('IBRION', 1) _logger.info("{} -> {}".format("IBRION", "1")) if PY2: pname_value_pairs = args.__dict__.iteritems() else: pname_value_pairs = args.__dict__.items() for pname, value in pname_value_pairs: if (value is not None) and (pname in incar.pnames): incar.set(pname, value) _logger.info("{} -> {}".format(pname, value)) # Generate new INCAR file. incar.tofile()
distance = np.linalg.norm(b) # Create fort.188 content = '1\n3\n6\n4\n0.04\n%-5d%-5d%f\n0\n' % \ (atom_idxs[0]+1, atom_idxs[1]+1, distance) with open('fort.188', 'w') as f: f.write(content) _logger.info("fort.188 has been created.") _logger.info('-'*20) _logger.info("atom number: {:<5d}{:<5d}".format(atom_idxs[0]+1, atom_idxs[1]+1)) _logger.info("atom name: {} {}".format(*atom_names)) _logger.info("distance: {:f}".format(distance)) _logger.info('-'*20) # Set IBRION = 1 incar.set('IBRION', 1) _logger.info("{} -> {}".format("IBRION", "1")) if PY2: pname_value_pairs = args.__dict__.iteritems() else: pname_value_pairs = args.__dict__.items() for pname, value in pname_value_pairs : if (value is not None) and (pname in incar.pnames): incar.set(pname, value) _logger.info("{} -> {}".format(pname, value)) # Generate new INCAR file. incar.tofile()