Difference between revisions of "Meep"

From Quantum kot
Jump to navigation Jump to search
(Created page with "Meep is a free and open-source software package for electromagnetics simulation via the finite-difference time-domain (FDTD) method spanning a broad range of applications. ===...")
 
 
Line 1: Line 1:
 
Meep is a free and open-source software package for electromagnetics simulation via the finite-difference time-domain (FDTD) method spanning a broad range of applications.
 
Meep is a free and open-source software package for electromagnetics simulation via the finite-difference time-domain (FDTD) method spanning a broad range of applications.
 
=== Meep Install ===
 
=== Meep Install ===
 +
Результаты моделирования позволяют найти собственные моды системы их добротность и многое другое.
 +
Имеются скомпилированные сборки пакета для линукс и мак ос, чтобы пакет был агностичен по отношению к дистрибутиву линукса,  используется контейнер и окружение conda.
 +
Для установки MEEP необходимо вначале установить conda, для этого выполнить следующие команды
 +
 +
$ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
 +
$ bash miniconda.sh -b -p /home/user/dir
 +
$ export PATH=/home/user/dir/bin:$PATH
 +
 +
где  /home/user/dir - желаемый путь установки.
 +
Желательно также добавить "export PATH=/home/user/dir/bin:$PATH" in ~/.bashrc too
 +
 +
Далее необходимо создать окружение для MEEP, чтобы изолировать его от других питоновских библиотек установленных в системе.
 +
 +
Команда для одноядерной системы (удобно прототипировать код и проверять его в IDE) :
 +
$conda create -n mp -c conda-forge pymeep
 +
 +
Для многоядерной (для фактического запуска симуляции):
 +
$ conda create -n pmp -c conda-forge pymeep=*=mpi_mpich_*conda
 +
 +
Для перехода в соответствующее окружение,что необходимо для запуска моделирования, используйте команду:
 +
$ conda activate pmp
 +
 +
На этом установка завершена.
 +
 +
 +
Для запуска файла code.py на 4 ядрах с помощью MPI и выводом промежуточной информации в Nanobeam.out будучи в окружении pmp запустите:
 +
$ mpirun -np 4 python code.py > Nanobeam.out
 +
 +
Во время выполнения симуляции можно сохранять значения поля в рассматриваемом объеме в интересующий момент времени, данные файлы сохраняются в специальном бинарном формате h5.
 +
 +
С Данным файлом можно в последствие работать и делать карты интесивности поля, смотреть динамику в виде скомплилрованных в видео картинок (см. приложение)
 +
 +
В kazanqc.onlyoffice.eu в папке KQC-share/NanoCavity/Simulation/ вы сможете найти файлы кода с комментариями
 +
 +
NanoBeam-custom.py
 +
 +
3D-exp-structure.py
 +
 +
Файл NanoBeam-custom.py проводит моделирование резонатора и его следует запускать в многоядерном окружение.
 +
 +
Файл 3D-exp-structure.py визуализирует струтктуру и его можно запускать в одноядерном фактически, данный файл копирует предыдущей кроме последнего десятка строчек
 +
 +
Файл NanoBeam-custom.py есть булевы переменные no_holes и resonant_modes, первая отвечает за наличие структуры фотонного кристалла (False - есть кристалл, True - нет, что нужно для калибровки пропускания), вторая выбирает режим
 +
(True - оценка добротности, False - постройка спектра).

Latest revision as of 03:13, 19 June 2020

Meep is a free and open-source software package for electromagnetics simulation via the finite-difference time-domain (FDTD) method spanning a broad range of applications.

Meep Install

Результаты моделирования позволяют найти собственные моды системы их добротность и многое другое. Имеются скомпилированные сборки пакета для линукс и мак ос, чтобы пакет был агностичен по отношению к дистрибутиву линукса, используется контейнер и окружение conda. Для установки MEEP необходимо вначале установить conda, для этого выполнить следующие команды

$ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh $ bash miniconda.sh -b -p /home/user/dir $ export PATH=/home/user/dir/bin:$PATH

где /home/user/dir - желаемый путь установки. Желательно также добавить "export PATH=/home/user/dir/bin:$PATH" in ~/.bashrc too

Далее необходимо создать окружение для MEEP, чтобы изолировать его от других питоновских библиотек установленных в системе.

Команда для одноядерной системы (удобно прототипировать код и проверять его в IDE) : $conda create -n mp -c conda-forge pymeep

Для многоядерной (для фактического запуска симуляции): $ conda create -n pmp -c conda-forge pymeep=*=mpi_mpich_*conda

Для перехода в соответствующее окружение,что необходимо для запуска моделирования, используйте команду: $ conda activate pmp

На этом установка завершена.


Для запуска файла code.py на 4 ядрах с помощью MPI и выводом промежуточной информации в Nanobeam.out будучи в окружении pmp запустите: $ mpirun -np 4 python code.py > Nanobeam.out

Во время выполнения симуляции можно сохранять значения поля в рассматриваемом объеме в интересующий момент времени, данные файлы сохраняются в специальном бинарном формате h5.

С Данным файлом можно в последствие работать и делать карты интесивности поля, смотреть динамику в виде скомплилрованных в видео картинок (см. приложение)

В kazanqc.onlyoffice.eu в папке KQC-share/NanoCavity/Simulation/ вы сможете найти файлы кода с комментариями

NanoBeam-custom.py

3D-exp-structure.py

Файл NanoBeam-custom.py проводит моделирование резонатора и его следует запускать в многоядерном окружение.

Файл 3D-exp-structure.py визуализирует струтктуру и его можно запускать в одноядерном фактически, данный файл копирует предыдущей кроме последнего десятка строчек

Файл NanoBeam-custom.py есть булевы переменные no_holes и resonant_modes, первая отвечает за наличие структуры фотонного кристалла (False - есть кристалл, True - нет, что нужно для калибровки пропускания), вторая выбирает режим (True - оценка добротности, False - постройка спектра).