Difference between revisions of "Meep"
(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 - постройка спектра).