1064 год
- 1 year ago
- 0
- 0
Meep — свободный пакет программного обеспечения с открытым исходным кодом, предназначенный для симуляции электромагнитных явлений методом конечных разностей во временной области (FDTD) . Meep имеет широкий функционал, позволяющий учитывать все особенности электромагнитных явлений и симулируемой среды данных явлений, а также оптимизировать симуляцию этих явлений.
Проект распространяется по лицензии GNU GPL и поддерживает работу с языками программирования C++ , Python и Scheme . Исходный код пакета размещён в репозитории GitHub . Также имеются официальный скомпилированный пакет ( ), распространяемый в репозиториях системы Ubuntu и многих других дистрибутивов на основе ядра GNU/Linux .
Meep создаёт симуляцию электромагнитных явлений во времени на основе уравнений Максвелла с граничными условиями, применяя метод FDTD. Такая симуляция позволяет отслеживать развитие системы во времени и экспериментально исследовать электромагнитные характеристики различных материалов. Симуляция может осуществляться в одномерном, двухмерном или трёхмерном пространстве, а также в пространстве цилиндрических координат . Для уменьшения требуемой вычислительной мощности, виртуальное пространство можно сделать симметричным по одной или нескольким осям координат. Все измерения приводятся в безразмерных величинах при условно принятой скорости света , что позволяет абстрагироваться от физических постоянных и абсолютных масштабов симулируемой системы (включая временные масштабы).
Пространство симуляции Meep, в силу применяемого метода моделирования, является
дискретным
, однако благодаря концепции всеобъемлющей интерполяции и субпискельному сглаживанию система создаёт иллюзию непрерывного пространства и расчётов. Свойства симулируемого пространства задаются материалами (
англ.
Material или Medium), которые в свою очередь задаются с помощью функций (констант)
и
магнитной проницаемости
и
восприимчивости
от точки пространства. В свойствах материалов возможно задать в том числе частотные зависимости и нелинейные свойства системы, что улучшает точность проводимой симуляции явлений. Материалы можно также объединять либо с помощью переходов (
англ.
Transitions), либо с помощью так называемой «материальной сетки» (
англ.
Material Grid), которая позволяет смешивать свойства двух материалов в разных пропорциях в разных точках пространства. Области покрытия маериалов могут задавать различными геометрическими фигурами, определяемыми
программным классом
GeometricObject
. Границы пространства симуляции можно задать с помощью
, которые поглощают или отражают проникающее в них излучение, тем самым ограничивая область его распространения.
Помимо возможности задать собственные материалы среды, Meep обладает также небольшой библиотекой заранее определённых материалов , состоящей в основном из базовых материалов ( воздух , вакуум , идеальные материалы с бесконечной проницаемостью и т.д.), 12 элементарных металлов ( серебро , золото , медь , алюминий , германий и т.д.), некоторых солей алюминия, галлия и кремния , оксидов бария и кальция , промышленных полимеров и других материалов, распространённых в электромагнитных исследованиях. Используемые сведения о материалах взяты из различных научных публикаций в области оптики с учётом применяемых в программе размерностей.