CCL:G: Gaussian output problem
- From: FyD <fyd-*-q4md-forcefieldtools.org>
- Subject: CCL:G: Gaussian output problem
- Date: Wed, 24 Nov 2010 17:31:53 +0100
Sent to CCL by: FyD [fyd()q4md-forcefieldtools.org]
Dear Maciek,
I do not think **** is a bug; simply in the format you have the room
for only 4 characters...
We encountered the same "problem" (not really one) in the
Gaussian
outputs related to molecular electrostatic potential computation.
Using Perl, R.E.D. http://q4md-forcefieldtools.org/RED/ (you can
download the code it is under the GNU General Public License) handles
that easily using the code below (the code handles $NM molecules; $NC
conformation & $w reorientations)
- we first calculate the number of MEP points to define the max.
number of points
if(/ESP FIT Center/ig){ $nbpoint[$NM]++;}
- then using this max. number of points you can do whatever you need;
either save in another file with another format or re-build another
Gaussian output...
I am sure you could follow the same idea: you simply need to find the
correct filter...
regards, Francois
for($NC=1;$NC <=$nbconf[$NM];$NC++){
for($w=1;$w<=$nbmod[$NM];$w++){
$nbpoint[$NM]=0;
open(JOB2LOG,"<JOB2-gau_m$NM-$NC-$w.log");
foreach (<JOB2LOG>){ if(/ESP FIT Center/ig){ $nbpoint[$NM]++;} }
close(JOB2LOG);
format_name ESPO "HEADER";
open(ESPO,">espot_m$NM-$NC-$w");
write ESPO;
$flag1=$flag2=$i=0;
open(JOB2LOG,"<JOB2-gau_m$NM-$NC-$w.log");
foreach (<JOB2LOG>){
if((/Electrostatic Properties /ig)&&(/Atomic Units/ig)){
$flag1=1; }
if($flag1 == 1){ $flag2++; }
if(($flag2 > $nbatoms[$NM]+6)&&($flag2 <
$nbpoint[$NM]+$nbatoms[$NM]+7)){
($charge[$i][$NM])=(split(' '))[2]; $i++;
}
}
close(JOB2LOG);
$i=0;
open(JOB2LOG,"<JOB2-gau_m$NM-$NC-$w.log");
foreach (<JOB2LOG>){
if(/^ Atomic Center/ig) {
($x,$y,$z) = unpack("x32 A10 A10 A10",$_);
$x=$x/0.529177249;
$y=$y/0.529177249;
$z=$z/0.529177249;
printf ESPO ("
%16.7E%16.7E%16.7E\n",$x,$y,$z); }
if(/^ ESP Fit Center/ig) {
($x,$y,$z) = unpack("x32 A10 A10 A10",$_);
$x=$x/0.529177249;
$y=$y/0.529177249;
$z=$z/0.529177249;
printf ESPO
("%16.7E%16.7E%16.7E%16.7E\n",$charge[$i][$NM],$x,$y,$z);
$i++; }
}
close(JOB2LOG);
close(ESPO);
}
}
could you help me with one problem, please? Every time
I'm running
G03 job I got problem with outputs. The problem is that I cannot
extract structures because there are stars **** instead of atom
numbers higher than 9999. Have you ever had this problem in your
calculation if you had more than 9999 atoms in the system?
It looks like this in output:
9995 1 20001030 -12.655571 46.600810 32.540627
9996 1 20001030 -12.533484 47.134581 33.952118
9997 8 20001021 2.441067 -19.529269 31.331119
9998 1 20001030 2.813824 -19.307495 32.184450
9999 1 20001030 1.933916 -20.325103 31.491166
**** 8 20001021 37.587292 -11.572024 28.812192
**** 1 20001030 37.333847 -11.927328 27.960694
**** 1 20001030 38.095189 -12.272395 29.221488
**** 8 20001021 23.735956 -43.072924 13.135294
**** 1 20001030 23.388276 -42.182008 13.115359
**** 1 20001030 22.974070 -43.624340 13.312930
Do you have any suggestions?
Thanks in advance