Рубрика «guile»

Если вы не слышали о call/cc, то вам определённо стоит познакомиться с этим мощным инструментом! Поговорим о продолжении (call/cc), простой, но трудно понимаемой конструкции, обладающей огромной силой в правильных руках. Реализуем с их помощью механизм yield/next/for… in, аналогичный таковому в Python. Обернём внутренности с помощью макроса — ещё одного интересного механизма Scheme.

Статья ориентирована на начинающих программистов. Лисперы вряд ли почерпнут что-то новое, но я буду благодарен за найденные ошибки.

image

Читать полностью »

MPB (MIT Photonic Bands) — бесплатная программа с открытым исходным кодом, которая была изначально разработана для расчёта дисперсионных диаграмм фотонных кристаллов.

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

Обе программы были разработаны в Массачусетском технологическом институте (MIT) и обе постоянно получают новые возможности. MPB была написана Стивеном Джонсоном (англ. Steven G. Johnson) во время его аспирантской работы. MEEP была написана чуть позже с участием Стивена.

Обе программы рассчитывают распределения электрических и магнитных компонентов электромагнитного поля, используя комбинацию численных и аналитических методов решения системы уравнений Максвелла (в одно-, дву- или трёхмерных структурах), но каждая из них делает это по-своему. Если MPB рассчитана на применение в отношении периодических и квазипериодических структур и вычисления частот стоячих волн (мод) в этих структурах, то MEEP разработана для моделирования распространения электромагнитных волн через те же фотонные кристаллы, диэлектрические зеркала, по волноводам и внутри резонаторов. Она позволяет рассчитывать те же дисперсионные диаграммы фотонных кристаллов, частоты стоячих волн как в фотонных кристаллах, так и непериодических структурах, спектры пропускания и отражения различных структур, потери на сгибах волноводов и многое другое. Для этого MEEP использует целый арсенал различных источников излучения, граничных условий и поглотителей излучения (PML).

Последние версии MPB и MEEP могут взаимодействовать друг с другом. Например, возможно написать программу для MEEP, которая запросит у MPB расчёт компонентов поля для основной моды волновода, а потом будет использовать эти компоненты для возбуждения этой моды в оптическом волноводном волокне. В результате можно будет промоделировать распространения основной моды по волноводу и отобразить результат расчётов в сторонних программах. Пример показан ниже, где виден результат расчёта компонентов волны, которая покидает оптическое волокно. Для отображения этого результата использовалась бесплатная программа Paraview.
Установка MPB и MEEP на CentOS 7 - 1
Мне в работе приходится пользоваться этими программами, устанавливать и помогать в установке другим людям. В списках рассылки этих программ временами проскакивают вопросы об установке этих программ от русскоязычных пользователей. С удивлением для себя я не нашёл инструкций по установке в русскоязычной части Интернета и решил опубликовать их тут.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js