问题标签 [meep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
281 浏览

c++ - 在 Visual C++ 2013 中编译 MIT MEEP

我知道这是可能的,因为我看过一些关于它的互联网文章,但没有一个具体概述这个过程。

我想将MIT MEEP编译为 Visual C++,以便在 .NET CLR 应用程序中使用 libmeep 库。提供的源代码包括 GNU 工具链的相关构建脚本,但鉴于我使用的是 Windows,这些脚本不可用。此外,它还需要一些依赖项,例如 blas、fftw 以及可选的 libctl 和 hdf5。

我在这个问题上不是很有经验。我将如何手动配置 Visual Studio 来构建?具体流程是什么?

0 投票
1 回答
676 浏览

c++ - 运行 meep c++​​ 基础知识

我正在尝试通过其 C++ lib 在 ubuntu 上运行MIT MEEP,但我一直没有成功。我已经正确安装了 meep 和 g++。我可以运行 Scheme ctrl 文件,但不能运行 c++ 库。

我正在尝试 MEEP c++ 教程中的简单代码。meep.hpp 位于我给出的位置。我是 C++ 新手。

谁能给我一个提示可能是什么问题?

这些是我得到的第一行错误:

这是我运行的代码:

0 投票
1 回答
1481 浏览

io - R5RS 方案输入输出:如何将文本写入/附加到输出文件?

在符合 R5RS 的 Scheme 版本中将文本输出到文件的简单方法是什么?我使用麻省理工学院的 MEEP(它使用 Scheme 编写脚本),我想将文本输出到文件。我在 Stackoverflow 上找到了以下其他答案:

文件 I/O 操作 - 方案

如何使用 Scheme 追加到文件

将字符串附加到 IronScheme 中的现有文本文件 [原文如此]

但是,它们并不是我想要的。

0 投票
0 回答
410 浏览

meep - 在 Cygwin 上安装并运行 Meep

我需要使用 Meep 进行我的一个模拟,并试图弄清楚如何去做。我在 Cygwin 平台上安装了 Meep,详见本网站:

http://nikodem.blogspot.com/2015/12/installing-meep-under-windows.html

安装后,我打开 cygwin bash shell 并输入meep,这给了我 Meep 提示:meep>

但是每当我尝试运行一些随安装提供并存储在的示例文件时C:\meep\meep-1.3\examples\,例如:

meep>弯通量.ctl

我犯了同样的错误 :

错误:未绑定变量:bend-flux.ctl
ABORT:(未绑定变量)

任何帮助弄清楚如何运行 .ctl 文件都会非常有帮助。

0 投票
1 回答
407 浏览

mit-scheme - MEEP:如何制作通量探测器阵列?

我一直在使用麻省理工学院的 MEEP 来模拟硅光子学中的太赫兹频率光传输。我需要在 MIT 的 MEEP 中制作一组通量检测器,这样我就不必编写许多(添加通量)代码块。

Scheme 的地图似乎是一个很好的解决方案,然而,尽管许多论坛中有很多人在寻找一种方法来做到这一点,但这种代码的实现在网上很少见。因此,我想分享一种方法。

MEEP wiki上的文档中,添加通量检测器的方式如下:

所以,如果我想要 20 个透射检测器和 20 个反射检测器,我将不得不通过硬编码来定义 40 个块……不好。

0 投票
2 回答
609 浏览

parallel-processing - 令人尴尬的并行执行,没有加速(MEEP,openMPI)

我一直在尝试利用并行化来更快地使用 MEEP 模拟软件运行一些模拟。默认情况下,该软件仅使用一个 CPU,并且 FDTD 仿真很容易通过并行化加速。最后我发现运行1核或4核没有区别,模拟时间是一样的。

然后我想我会改为在每个内核上运行单独的模拟以增加我的总模拟吞吐量(例如同时运行 4 个不同的模拟)。

令我惊讶的是,每当我开始一个新的模拟时,已经开始的模拟会变慢,即使它们在不同的内核上运行。例如,如果我只在 1 个内核上运行 1 个模拟,则 FDTD 模拟的每个时间步长大约需要 0.01 秒。如果我在另一个内核上启动另一个进程,每个模拟现在每个时间步花费 0.02 秒,依此类推,这意味着即使我在不​​同的内核上运行彼此无关的不同模拟,它们都会减慢速度,给我没有净增加速度。

我不一定要寻求帮助来解决这个问题,就像我正在寻求帮助理解它一样,因为它激发了我的好奇心。每个模拟实例需要的内存不到我总内存的 1%,所以这不是内存问题。我唯一能想到的是共享缓存的内核,或者内存带宽饱和,有没有办法检查是否是这种情况?

模拟相当简单,我运行的程序比这个更需要内存,并且并行化有很大的加速。

有什么提示可以帮助我理解这种现象吗?

0 投票
1 回答
213 浏览

c++ - 使用 g++ 为 meep 编译 c++ 代码

这是我第一次使用 Stackoverflow 提问。我一直在寻找在 ubuntu 中使用 g++ 编译 c++ 代码的解决方案,并找到了很多相关内容,但没有任何内容可以直接回答我的问题......我的目标是能够在 c++ 而不是方案中创建控制文件,但是当我在 ubuntu 终端中编译它找不到 meep.hpp 文件。到目前为止,我已经使用 apt-get 安装了 meep,并且相信我拥有所有必需的库......这里的任何方式都是我用作测试的代码,以及我尝试过的命令:

我使用的命令是:

或如其他线程所述:

如果有人能指出我正确的方向,我将不胜感激!我对linux还是很陌生

正如下面的评论中提到的,我最近安装了 libmeep-dev,现在得到以下内容

0 投票
1 回答
171 浏览

windows-7 - h5utils 未在 Cygwin、Win7 中编译

我一直在尝试按照教程在 Win7 上使用 Cygwin 安装 Meep 和 Python-Meep 。

我也看过另一个教程

这三者似乎相似,但差异很小。我不确定哪种方法最适合在 Windows 7 平台上安装 Meep。在学习第一个教程时,我没有克服第一个障碍。编译 h5utils 时,结果如下:

作者驳斥了本教程中 h5utils 的任何错误,称 MatLab 的处理能力更强。但是,似乎由于此失败未找到 h5topng 并且无法访问 MatLab,我的输出毫无用处。

当尝试从 Meep/examples 文件夹运行“ring.ctl”时,我还得到以下信息:

任何关于 Meep 可能发生的事情的想法都会非常有帮助。尝试让它在 Windows 和 Ubuntu 上正确安装已经有好几天了。

艾玛

0 投票
1 回答
752 浏览

python - 在 Python-Meep 中设置源以进行 FDTD 模拟

我正在尝试使用 Python-Meep 包进行一些 FDTD 模拟。首先,我想模拟一个平面波在“z”方向穿过真空。我在三维情况下正确设置源时遇到问题。在 2D 情况下,我可以将源设置为触及计算矩阵边界的线。在 3D 中,这似乎是不可能的。下面是简单的例子。

2D 情况:在 2D 情况下,源是从 (x,y)=(0 , .1e-6) 到 (x,y)=(15e-6 , .1e-6) 的一条线(从边界到边界) . 由于这一点,平面波不受干扰地传播到矩阵的另一端(反射的地方)。

3D 案例:源是从 (x,y,z)=(0 , 0 , .1e-6) 到 (x,y,z)=(15e-6 , 15e-6 , .1e-6) 的平面. 这应该从矩阵的边界到边界创建一个平面。但是,不知什么原因,源没有触及边界(有一个小的空白空间),无论我做什么,我都不能强迫它触摸它。结果,我无法创建沿“z”方向传播的平面波。到目前为止,我尝试过:(a)明确给出no_pml论点(b)给出pml(0)论点,(c)改变采样,(d)改变源的'z'位置。没有运气。我将不胜感激任何建议。

0 投票
1 回答
386 浏览

direction - 如何在 Meep 中设置源的传播方向?

我有一个很简单的问题:如何在 Meep 中设置连续源的方向?

更具体地说,例如,假设我想要一个连续源以 30 度角 (2D) 与布拉格光栅交互。我怎么做?