#!/bin/bash

clusterfile=$1

# Orca NPA specific settings
sed -n '/Atom No    Charge        Core      Valence    Rydberg      Total/,/==============/p' orca1.out >zurg
sed -i '1d' zurg
sed -i '1d' zurg
sed -i '$d' zurg
awk '{print $3}' zurg> zorg1
atommol=`wc -l zorg1 | awk '{print $1}'` 
echo $atommol >bla4

# Setting number of atoms
natoms=`grep natoms orca1.47 | awk '{print $2}'`

# Creating field file
echo "block = field records = 0" >fieldfile
echo "block = field_grid records = $natoms elements = 3" >>fieldfile
sed  -n -e '/coordinates/,/charges/ { /coordinates/b; /records/b; p }' hybrid.orca.coords >fieldcoords
awk '{print $2"   "$3"   "$4}' fieldcoords >>fieldfile
echo "block = field_data records = $natoms elements = 1" >>fieldfile
cat zorg1 >>fieldfile

# Settings to deal with Bq charges
bq=`grep -c Bq $clusterfile.c`
atomwithbq=`grep 'block = atom_charges records =' $clusterfile.c | awk '{print $6}'`
atomfull=`expr $atomwithbq - $bq`

#Deleting xtal Bq data
sed  -n '/block = xtal_map/,/block = connectivity/p' $clusterfile.c > xtalstuff
sed -i '/-1/d' xtalstuff
sed -i '$d' xtalstuff
sed  -i '/block = xtal_map/,/block = connectivity/{//p;d;}' $clusterfile.c

# Adding marker to original file
sed -i '/block = xtal_map/a  xtal' $clusterfile.c
# Adding xtal data back                                                                         
sed -i '/xtal/ {r ./xtalstuff
d}' $clusterfile.c


# Deleting all atom_charges
sed -i '/atom_charges records/,/fractional_atom_charges/{//p;d;}' $clusterfile.c

# Taking all coordinates
sed  -n '/coordinates records/,/fractional_coordinates records/p' $clusterfile.c >atomcoordinates-pre
sed '1d' atomcoordinates-pre | sed  '$d' > atomcoordinates

# Deleting all atom coordinates
sed -i '/block = coordinates records =/,/block = fractional_coordinates records/{//p;d;}' $clusterfile.c

# Deleting Bq charges from fragment file
sed -i '/Bq/d' atomcoordinates

cat atomcoordinates >fullcoordinates
 

# Adding marker to original file
sed -i '/block = coordinates records =/a  something' $clusterfile.c

sed -i '/something/ {r ./fullcoordinates
d}' $clusterfile.c


numcomplexatoms=$atomfull
atommol=`grep 'block = coordinates records' hybrid.orca.coords | awk '{print $6}'`
echo $atommol >bla5
nummol=`expr $numcomplexatoms / $atommol`


# # Making full charge-list, Orca
counter=1
cat /dev/null > output
while (( $counter <= $nummol )); do
        cat zorg1  >> output
        let counter=$counter+1
done

cat output >allcharges


# Adding all charges to file.                                    
sed -i '/block = atom_charges records/a  something' $clusterfile.c
sed -i '/something/ {r ./allcharges
d}' $clusterfile.c


# Changing numbers in $clusterfile.c due to deletion of Bq charges (if present)

if [ "$bq" == "" ]; then
echo "No Bq charges present in first loop"
else
sed -i "s/block = coordinates records = $atomwithbq/block = coordinates records = $atomfull/g" $clusterfile.c
sed -i "s/block = atom_charges records = $atomwithbq/block = atom_charges records = $atomfull/g" $clusterfile.c
sed -i "s/block = xtal_map  records = $atomwithbq/block = xtal_map  records = $atomfull/g" $clusterfile.c
fi


cp $clusterfile.c $clusterfile-fit.c

rm fieldcoords output  atomcoordinates-pre atomcoordinates fullcoordinates allcharges
rm zorg1 zurg