Ejemplo n.º 1
0

#plot
import matplotlib.pyplot as plt

if __name__ == '__main__':
  solver = ScipyAndersonOZsolver(port = 0)
  solver.setPotentialByName('HardSphere')
  volumeDensity = 0.5
  solver.setVolumeDensity(volumeDensity)
  solver.setConvergenceCriterion(1.0e-4*solver.getConvergenceCriterion())
  #PY is default, so no explicit settings are needed in this regard
  #so solver is in desired state.
  solver.solve()
  #Get reference structure factor
  Sq_default = solver.getSq()
  #now GCE limit version
  solver.doEnforceGrandCanonicalZeroQlimit()
  #solver is in desired state.
  solver.solve()
  #Get GCE structure factor
  Sq_GCE = solver.getSq()
  print "reference Sq(0)", Sq_default[0]
  print "GCE Sq(0)", Sq_GCE[0]
  print "Analytical Sq(0)", (1.0 - volumeDensity)**4/(1.0 + 2.0*volumeDensity)**2
  
  #Even though the enforcement only affects one point in Fourier space,
  #the impact will be global, hence we plot the functions. (But real analyis must be done numerically)
  
  #Plot results
  Delta_r = solver.getDelta_r()
Ejemplo n.º 2
0
from scipyAndersonOZsolver import ScipyAndersonOZsolver

#plot
import matplotlib.pyplot as plt

if __name__ == '__main__':
    solver = ScipyAndersonOZsolver(port=0)
    solver.setPotentialByName('HardSphere')
    volumeDensity = 0.5
    solver.setVolumeDensity(volumeDensity)
    solver.setConvergenceCriterion(1.0e-4 * solver.getConvergenceCriterion())
    #PY is default, so no explicit settings are needed in this regard
    #so solver is in desired state.
    solver.solve()
    #Get reference structure factor
    Sq_default = solver.getSq()
    #now GCE limit version
    solver.doEnforceGrandCanonicalZeroQlimit()
    #solver is in desired state.
    solver.solve()
    #Get GCE structure factor
    Sq_GCE = solver.getSq()
    print "reference Sq(0)", Sq_default[0]
    print "GCE Sq(0)", Sq_GCE[0]
    print "Analytical Sq(0)", (1.0 - volumeDensity)**4 / (
        1.0 + 2.0 * volumeDensity)**2

    #Even though the enforcement only affects one point in Fourier space,
    #the impact will be global, hence we plot the functions. (But real analyis must be done numerically)

    #Plot results