#!/usr/bin/env python


from pNbody import *
from pNbody import param
from pNbody import io
from pNbody import geometry as geo

try:
  from optparse import OptionParser
except ImportError:
  from optik import OptionParser



########################################  
#					  
# parser				  
#					  
######################################## 



def parse_options():

  usage = "usage: %prog [options] file"
  parser = OptionParser(usage=usage)
  
  parser.add_option("-t",
		   action="store", 
		   dest="ftype",
		   type="string",
		   default = None,		   
		   help="type of the file",	 
		   metavar=" TYPE")    

  parser.add_option("-i",
		   action="store", 
		   dest="input_file",
		   type="string",
		   default = None,		   
		   help="input file",	 
		   metavar=" FILE")    

  parser.add_option("--exec",
		   action="store", 
		   dest="execline",
		   type="string",
		   default = None,		   
		   help="give command to execute before making the image",	 
		   metavar=" STRING")   
		    		    		    
  (options, args) = parser.parse_args()
     
  return options






  
      
################################################################################
#
#                                    MAIN
#
################################################################################

files,options = parse_options()


input_file = options.input_file






print input_file











j = 0
for i in range(100000):

  # compute accel
  acc = nb.TreeAccel(pos,eps,Tree=Tree)
  
  # compute dTime
  a = sqrt(acc[:,0]**2+acc[:,1]**2+acc[:,2]**2)
  dTime2 = eps/a * 0.5
  dTime2.shape = (len(dTime2),1)
  
  
  # advance particles
  pos = pos + acc*dTime2	
  
  # create output
  if fmod(i,10)==0.0:
  
    file = 'snap_%04d.dat'%(j)
    print i,file
  
    n = len(pos)
    vel =  ones([n,3])*0.0
    mass = ones([n])*1./n
    nb = Nbody(status='new',p_name=file,pos=pos,vel=vel,mass=mass,ftype='gadget')
    nb.npart = array([n,0,0,0,0,0])
    nb.npart_tot = array([n,0,0,0,0,0])
    nb.write()
  
    j = j + 1
  





























