Сегодня 19 мая, воскресенье ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7273
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Тимур Лукманов
Тимур Лукманов
Голосов: 2
Адрес блога: http://www.destructio.ru/
Добавлен: 2012-02-07 17:12:01
 

Запуск Gaussian

2011-09-17 17:56:00 (читать в оригинале)

Небольшой перлоскрипт для запуска расчетов в Gaussian. Свойства:
1. Ест входные файлы с расширением .inp и выдает .out файлы. Оба типа можно изменить прямо в теле скрипта. Можно запускать по маске, удобнее всего *.
2. При запуске с параметром chk выдаст готовые Formatted Checkpoint файлы .fchk с названием входных файлов. Для корректной работы необходимо наличие во входном файле строки %Chk=tmpdir/1.chk
Например:
g chk *
3. Дописывает в конец выходного файла время проведения расчета

Собственно, сам скрипт:


#!/usr/bin/perl
$in_type = "gjf";  #filetype for input
$out_type = "out"; #output filetype
$gauss_path = "/opt/q/g09"; #gaussian path
$tmpdir = "/windows/E/tmp/g09";  #tmp path
if ($ARGV[0] =~ m/chk/)
  { foreach $file (@ARGV)
    { if ($file =~ m/chk/)
      {next}
    if ($file =~ m/$in_type/)
      { $file =~ s/.$in_type//;
      print "processing $file\t";
      open INP, "$file.gjf";
      @inp = ;
      close INP;
      $gauss = "$gauss_path/g09 $file.$in_type $file.$out_type";
      `/usr/bin/time -a -f %E --output=$file.$out_type $gauss $file.$in_type`;

      `mv -f $tmpdir/1.chk $file.chk`;
      `$gauss_path/formchk -3 $file.chk $file.fchk`;
      `rm -f $tmpdir/*`;
      unlink "$file.chk";
      open (INPEND,"> $file.gjf");
      print INPEND @inp;
      close INPEND;
      print "done\n"
      }
    }
  }
else
  { foreach $file (@ARGV)
    { if ($file =~ m/$in_type/)
      { $file =~ s/.$in_type//;
      print "processing $file\t";
      open INP, "$file.gjf";
      @inp = ;
      close INP;
      $gauss = "$gauss_path/g09 $file.$in_type $file.$out_type";
      `/usr/bin/time -a -f %E --output=$file.$out_type $gauss $file.$in_type`;
      `rm -f $tmpdir/*`;
      open (INPEND,"> $file.gjf");
      print INPEND @inp;
      close INPEND;
      print "done\n";
      }
    }
  }





 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.