Nmol = Nw + Nelb + Nc # total num of molecules mol_ids = list(range(1, Nw+Nelb+1)) for i in range(Nw+Nelb+1, Nmol+1): #(1, Nc+1): # chains mol_ids += [i]*Nbc xyz_str = ll.atoms2str(np.hstack((np.matrix(mol_ids).T,\ np.matrix(atom_ids_n).T, xyz))) # ===== bonds bond_mat = gen_bonds(Nmc, Nc, mono_beads, start=Nw+Nelb) bonds_str = ll.bonds2str2(bond_mat) print("%i bonds created." % len(bond_mat)) data_string = ll.header2str(len(xyz), len(bond_mat), Nbt, len(k_ij), L) + \ ll.mass2str(masses) + \ ll.pair_dpd_coeffs2str(a_ij_lmp) + \ ll.bond_coeffs2str(k_ij) + \ "Atoms\n\n" + xyz_str + \ "Bonds\n\n" + bonds_str fname = "nafion.data" open(fname, "w").write(data_string) print("Data file saved in", fname) if args["--xyz"]: fname = args["--xyz"] xyz = np.hstack((np.matrix(atom_ids_n).T, xyz)) ll.save_xyzfile(fname, xyz) print("xyz file saved in", fname)
# ===== pair and bond parameters Nbt = len(bead_types) r0 = 0.85 * rc # from Dorenbos, JCP, 2015 a_ij = gen_pair_coeffs(bead_types, data["ksi-params"], gamma, rc, a_ii) k_ij = gen_bond_coeffs(bead_types, data["bond-coeffs"], r0) masses = {1: m_PMMA*MAU, 2: m_sol*MAU} final_string = ll.header2str(len(final_xyz), len(bonds), Nbt, len(k_ij), L) + \ ll.mass2str(masses) + \ ll.pair_dpd_coeffs2str(a_ij) + \ ll.bond_coeffs2str(k_ij) + \ "Atoms\n\n" + xyz_str + \ "Bonds\n\n" + bonds_str if args["--save"]: fname = args["--save"] open(fname, "w").write(final_string) print "Data file saved in", fname else: print final_string if args["--xyz"]: fname = args["--xyz"] ll.save_xyzfile(fname, final_xyz[:, 1:]) print "xyz file saved in", fname
L *= rc xyz_str = ll.atoms2str(xyz) # ===== bonds bonds = bonds_mat2(data["topology"], Nc) bonds_str = ll.bonds2str(bonds) print(len(bonds), "bonds created") # ===== pair and bond parameters a_ij = gen_pair_coeffs(bead_types, data["chi-params"], gamma, units) k_ij = gen_bond_coeffs(bead_types, data["bond-coeffs"], r0, units) # ===== putting it together final_string = ll.header2str(len(xyz), len(bonds), Nbt, len(k_ij), L) + \ ll.mass2str(masses) + \ ll.pair_dpd_coeffs2str(a_ij) + \ ll.bond_coeffs2str(k_ij) + \ "Atoms\n\n" + xyz_str + \ "Bonds\n\n" + bonds_str fname = args["--save"] open(fname, "w").write(final_string) print("Data file saved in", fname) if args["--xyz"]: fname = args["--xyz"] ll.save_xyzfile(fname, xyz[:, 1:]) print("xyz file saved in", fname)