COMSOL

  • Программное обеспечение COMSOL установлено в поддиректориях внутри '/opt/shared/comsol'. Например, рассматриваемая ниже версия 4.4, установлена в директорию '/opt/shared/comsol/44', при этом:
    • Документация находится в '/opt/shared/comsol/44/doc'.
    • Запуск осуществляется командой '/opt/shared/comsol/44/bin/comsol' с необходимыми параметрами.
  • Рекомендуется по возможности использовать неинтерактивный (Batch) режим COMSOL, а также 'Parallel Computing'.
  • Для работы с графическим интерфейсом используется технология X window. Само приложение при этом должно запускаться на узлах кластера с помощью интерактивного режима PBS.
  • В случае получения при запуске ошибок, например, такого вида:
    FL3D: error at line 814 in file fl3dglcontext_x11common.c:
       PBuffers are not supported by the system.
    FL3D: error at line 235 in file fl3dglcontext_x11common.c:
       assert: x11Handle

    необходимо запускать COMSOL с дополнительными параметрами:

    /opt/shared/comsol/44/bin/comsol -3drend sw
  • Неинтерактивный режим работы без графического пользовательского интерфейса. Последовательность действий при работе примерно такая:
    • Сперва пользователь запускает графическую оболочку COMSOL и описывает свою задачу. Сохраняет её в файл, закрывает GUI.
    • Создается скрипт для PBS, из которого COMSOL запускается в batch режиме и в качестве параметров получает ранее созданный файл с исходными данными, а результат сохраняет в другой файл.
    • Этот скрипт ставиться в очередь планировщика (в неинтерактивном режиме).
    • Когда batch задача завершится, пользователь опять запускает графическую оболочку COMSOL в интерактивном режиме, загружает файл с полученными результатами и анализирует их.
  • Запуск COMSOL в batch режиме выглядит так:
    /opt/shared/comsol/44/bin/comsol batch -inputfile файл_с_описанием_модели -outputfile файл_с_результатами -batchlog файл_с_логами_работы ...дополнительные параметры...
  • Более подробное описание находится в официальной документации на COMSOL, в частности, в файле '/opt/shared/comsol/44/doc/pdf/COMSOL_Multiphysics/COMSOL_ReferenceManual.pdf' в разделе COMSOL BATCH COMMANDS (стр 1193).
  • :!: Обращаем внимание на разногласие в терминах:
    • В документации COMSOL физический сервер обозначается термином 'host', а термин 'узел' ('node', 'compute node') обозначает MPI-процесс работающего COMSOL.
    • В то время как на нашем сайте термин 'узел' ('узел кластера', 'cluster node') обозначает физический сервер кластера, т.е. 'host' в терминах COMSOL.
  • Поэтому ниже будут использоваться термины 'сервер' и 'вычислительный узел'.
  • COMSOL должен распараллеливаться таким образом, чтобы используемые ресурсы соответствовали запросу ресурсов в задаче PBS. Например, при запросе ресурсов
    #PBS -l select=3:ncpus=12:mpiprocs=3:mem=24g 

    параметры в командной строке при запуске COMSOL должны содержать:

    -nn 9 -nnhost 3 -np 4 -f $PBS_NODEFILE
  • Параметры командной строки:
    • '-nn <no. of nodes>' - полное количество вычислительных узлов (процессов)
    • '-nnhost <no. of nodes per host>' - количество вычислительных узлов, работающих на каждом сервере
    • '-np <no. of cores>' - количество процессорных ядер, используемых каждым вычислительным узлом
    • '-f <path>' - путь до файла, содержащего список имён используемых серверов