예제 #1
0
def txt_rdf(iter, molecule1, molecule2):
  if molecule2 > 0:
    d1, d2, d3, d4 = lmp_io.load_target_and_cg_rdf("rdf.%d.%d" % (molecule1, molecule2), "rdf_%d.%d.%d" % (iter-1, molecule1, molecule2))
    print iter, " for particles ", molecule1, molecule2, "ave. diff: %f, quad. diff: %f" % (d3, d4)
  else:
    ave_diff_tot = 0.0
    quad_diff_tot = 0.0
    for i in xrange(1, molecule1+1):
      for j in xrange(i, molecule1+1):
        d1, d2, d3, d4 = lmp_io.load_target_and_cg_rdf("rdf.%d.%d" % (i, j), "rdf_%d.%d.%d" % (iter-1, i, j))  
        ave_diff_tot += d3 
        quad_diff_tot += d4
        #print iter, i, j, "ave.: %f, quad.: %f" % (d3, d4)
    print iter, "Average difference (total): %f, Squared difference (total): %f" % (ave_diff_tot, quad_diff_tot)
예제 #2
0
def add_rdf_plot(iter, molecule1, molecule2, row, column, index, fig):

    print "add_rdf_plot: ", iter, molecule1, molecule2, "d1: rdf.%d.%d" % (
        molecule1, molecule2), "d2: rdf_%d.%d.%d" % (iter - 1, molecule1,
                                                     molecule2)

    d1, d2, d3, d4 = lmp_io.load_target_and_cg_rdf(
        "rdf.%d.%d" % (molecule1, molecule2),
        "rdf_%d.%d.%d" % (iter - 1, molecule1, molecule2),
        averaging="no")

    ax2 = fig.add_subplot(row, column, index)

    ax2.plot(d1[:, 0], d1[:, 2], label="target %d %d" % (molecule1, molecule2))
    ax2.plot(d2[:, 0], d2[:, 1], label="fit iteration %d" % (iter - 1))
    #  ax2.plot(d2[:,0],np.absolute(d3), label="error iteration %d" % (iter-1)) #plot the error if needed:

    y_coord = (pylab.ylim())[1] - 0.1
    ax2.text(0.1,
             y_coord,
             "ave. diff: %f, quad. diff: %f" %
             (np.average(np.absolute(d3)), np.average(d4)),
             style='italic')

    set_small_legend()
예제 #3
0
def txt_rdf(iter, molecule1, molecule2):
    if molecule2 > 0:
        d1, d2, d3, d4 = lmp_io.load_target_and_cg_rdf(
            "rdf.%d.%d" % (molecule1, molecule2),
            "rdf_%d.%d.%d" % (iter - 1, molecule1, molecule2))
        print iter, " for particles ", molecule1, molecule2, "ave. diff: %f, quad. diff: %f" % (
            d3, d4)
    else:
        ave_diff_tot = 0.0
        quad_diff_tot = 0.0
        for i in xrange(1, molecule1 + 1):
            for j in xrange(i, molecule1 + 1):
                d1, d2, d3, d4 = lmp_io.load_target_and_cg_rdf(
                    "rdf.%d.%d" % (i, j), "rdf_%d.%d.%d" % (iter - 1, i, j))
                ave_diff_tot += d3
                quad_diff_tot += d4
                #print iter, i, j, "ave.: %f, quad.: %f" % (d3, d4)
        print iter, "Average difference (total): %f, Squared difference (total): %f" % (
            ave_diff_tot, quad_diff_tot)
예제 #4
0
def add_rdf_plot(iter, molecule1, molecule2, row, column, index, fig):

  print "add_rdf_plot: ", iter, molecule1, molecule2, "d1: rdf.%d.%d" % (molecule1, molecule2), "d2: rdf_%d.%d.%d" % (iter-1, molecule1, molecule2)

  d1, d2, d3, d4 = lmp_io.load_target_and_cg_rdf("rdf.%d.%d" % (molecule1, molecule2), "rdf_%d.%d.%d" % (iter-1, molecule1, molecule2), averaging="no")
 
  ax2 = fig.add_subplot(row, column, index)
  
  ax2.plot(d1[:,0],d1[:,2], label="target %d %d" % (molecule1, molecule2))
  ax2.plot(d2[:,0],d2[:,1], label="fit iteration %d" % (iter-1))
#  ax2.plot(d2[:,0],np.absolute(d3), label="error iteration %d" % (iter-1)) #plot the error if needed:

  y_coord = (pylab.ylim())[1] - 0.1
  ax2.text(0.1, y_coord, "ave. diff: %f, quad. diff: %f" % (np.average(np.absolute(d3)), np.average(d4)), style='italic') 
  
  set_small_legend()