#!/usr/bin/env python

#################################################################
from 	os 		import makedirs, path, remove		#
from 	numpy 		import array, transpose, dot		#
from 	numpy.linalg 	import norm			        #
from 	shutil 		import move, copy			#
from 	sys 		import stdout				#
from 	math		import acos, sqrt, atan, fabs, asin	#
from	sys		import argv
import vasptools 	as     vt
from	molecule	import com
################################################################

#===============================================================================================================================================
# C O N S T A N T s  #========================================================================================================================== 
#===============================================================================================================================================

MC	=  12.000		# atomic masses
MO	=  16.000		#
MH	=   1.008		#
MCu	=  63.546		#
SlabAtoms= 45			#
AtXlayer =  9			#

Masses =  [MC] + [MO] + 4*[MH] 
au2Ang	=    0.52917721092		#conversion constants
amu2au	= 1822.88839			#
fs2au	=   41.341373337  		#
au2eV	=   27.21138505 		#
JtoeV	=    6.24181E18 		#
deg2rad	=    0.0174532925		#
amu2kg	=    1.66053892    * 10**-27	#
J2eV	=    6.24181       * 10**18	#
h	=    6.6260695729  * 10**-34	#

#= reading parameters ==========================================================================================================================

inp = argv[1]

std_input 	= open(inp , 'r')		#open files
inFile 		= open('InitialConditionsMethanol.dat' , 'r')	#

inLines 	= inFile.readlines()

title 	= inLines[0]			#set initial conditions&parameters
seed 	= int(inLines[1].split()[2])	#from 'InitialConditionsMethanol.dat'
trajN 	= int(inLines[2].split()[0])	#
first 	= int(inLines[2].split()[1])	#
last 	= int(inLines[2].split()[2]) 	#

#===============================================================================================================================================
# P O S C A R S #===============================================================================================================================
#===============================================================================================================================================

com_OUT = open("COM.dat", 'w')
for i in range(1,(trajN+1)):
	
	tarjlabel = int(inLines[(3+(i-1)*14)])							#	
	label = '%.4d' % tarjlabel

	MetCoord = [] 
	MetVel	 = []

	Num = int(  inLines[ (3+(i-1)*14) ]  )
	for j in range(6): 
		MetCoord.append( [ float(x) for x in inLines[(4+(i-1)*14+j)].split()   ] )
		MetVel.append(   [ float(x) for x in inLines[(4+(i-1)*14+6+j)].split() ] )
	surface = int( inLines[(3+(i-1)*14+11)].split()[0] )
	frame	= int( inLines[(3+(i-1)*14+11)].split()[1] )  

	com_OUT.write("%9.5f %9.5f %9.5f\n" % tuple(com(MetCoord, Masses)))

inFile.close()		#close streams in
std_input.close() 	#
com_OUT.close()		#
