예제 #1
0
        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)
 
 
예제 #2
0
    # ===== 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




예제 #3
0
        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)