问题标签 [freefem++]

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 投票
1 回答
2271 浏览

math - 将 FreeFEM++ 数据绘制到 GNUPLOT

我正在尝试使用 gnuplot 绘制通过 FreeFEM++ 获得的数据。

在 FreeFEM 中,我使用以下代码保存了数据:

}

第一行数据的示例是:

出于某种我不知道的原因,每个“包”中有一个重复两次的数据点。但这就是他们在 FreeFem 手册中告诉您这样做的方式。显然 GNUPLOT 出于某种原因需要“数据包”之间的空格。

我正在尝试使用 gnuplot 脚本绘制数据:

它的情节很好,但我认为 pm3d 没有做任何事情。我认为 pm3d 会在图的底部包含热强度的彩色图案。此外,我找不到用纯色填充图中线条之间的间隙的方法。

输出样本

谢谢你。

0 投票
2 回答
1872 浏览

numerical-methods - Freefem++: Solving poisson equation with numerical function

I am using Freefem++ to solve the poisson equation

Grad^2 u(x,y,z) = -f(x,y,z)

It works well when I have an analytical expression for f, but now I have an f numerically defined (i.e. a set of data defined on a mesh) and I am wondering if I can still use Freefem++.

I.e. typical code (for a 2D problem in this case), looks like the following

I am wondering if I can define f numerically, rather than analytically.

0 投票
1 回答
1169 浏览

mesh - FreeFem++ 中的自适应网格

我正在尝试通过在某些时间步调整我的初始网格来改进我的 FreeFem++ 代码,但 FreeFem++ 出现了以下错误消息:

在网格确实适应之后。在计算新网格中的解决方案时似乎出现了问题,但在其他情况下我没有遇到这个问题。这就是我在 FreeFem++ 中调整网格并更新变量的方式:

但现在我对如何在收到警告消息后继续操作感到困惑。

有谁知道如何解决这个问题?任何建议将不胜感激。

谢谢!

0 投票
2 回答
794 浏览

pde - Freefem Fisher 方程

我是 Freefem++ 的新手,我要解决的问题是 Fisher 方程:

我试图以弱形式重新表述问题,但是 Freefem 显示公式错误:

你能告诉我我做错了什么吗?最后条款有问题。

0 投票
2 回答
1168 浏览

python - 从 python2.7 调用一个用 freefem++ 软件编写的函数

我用 python 编写了一个代码,我有一个函数(f,用 Freefem++ 编写),输入来自 python 中的代码。问题是我不知道如何在我的 python 代码中调用用 freefem++ 编写的函数。

此代码在 python 中,函数“f”假定在 Freefem++ 中。

先感谢您。

0 投票
1 回答
308 浏览

freefem++ - FreeFem++:边界条件下的切线轨迹?

我想在 FreeFem++ 中使用 Nédélec 的元素来求解 3D 中的麦克斯韦方程。我的问题是我找不到写边界条件 E × N = F 的方法。我测试了:

on(0, Ehy * N.z - Ehz * N.y = Fx, Ehz * N.x - Ehx * N.z = Fy, Ehx * N.y - Ehy * N.x = Fz)

但是会显示一个错误,它唯一说的是“token =”之前有一个错误。如果我将边界条件更改为随机条件,on(0, Ehx = Fx, Ehy = Fy, Ehz = Fz)它不会引发任何错误,所以我认为问题来自条件中的算术运算。

任何想法?

0 投票
0 回答
227 浏览

math - 域分解 3d 电磁 FreeFem++

我正在解决电磁耦合问题:

“卷曲 u + u = OmegaC 中的卷曲 J

uxn = Gamma 上的 grad psi xn

欧米茄 I 中的拉普拉斯 psi = 0

grad psi \cdot n = u \cdot n 关于 Gamma

psi = 0 on \partial Omega"

其中 Omega 是 OmegaI 和 OmegaC 的不相交并集, OmegaC 的边界是 Gamma, OmegaI 的边界是 Gamma 和 \partial Omega 的不相交并集。

我想使用域分解来解决这个问题(我正在关注 Alonso,Valli 的第 120 页“麦克斯韦方程的涡流近似”)。首先,我注意到 Gamma 上的第二个界面方程可以重写为 Gamma 上的 grad psi\cdot n = div_tau ((J-curl u) xn) 其中 div_tau 是切向散度,并且我使用了恒等式: curl u \cdot n = div_tau(uxn)。

迭代方案变为:给定一个向量场 lambda,首先求解

欧米茄 I 中的拉普拉斯 psi = 0

Gamma 上的 grad psi \cdot n =div_tau(lambda xn)

psi = 0 on \partial Omega

即,使用按部分集成和 FreeFem++ 语法:

然后,

curl curl u + u = OmegaC中的curl J

uxn = Gamma 上的 grad psi xn

即:

(其中 [gx,gy,gz] 是 [Jx,Jy,Jz] 的卷曲)

最后,我们需要更新向量场 lambda: [lambdax,lambday,lambdaz]=(1-theta)*[lambdax,lambday,lambdaz]+theta*([Jx,Jy,Jz]-Curl(HCx,HCy,HCz))

解决方案不会随着迭代而改变。我想问题在于 lambda 的更新。

你有什么主意吗?

0 投票
1 回答
79 浏览

c - 如何在 FreeFem++ 中将像 1.56783 这样的浮点数转换为 1.567

我想在 FreeFem++ 中将数字 1.56783 保存为 1.567,谢谢。

0 投票
0 回答
218 浏览

c++ - FreeFem ++ 中的外部库

我们谈论的是 FreeFem++(基于 C++)。我需要计算矩阵的特征值和特征向量(存储在二维数组中),它是从内部微积分创建的,而不是从双线性形式创建的。然后我会使用一个外部函数(然后是外部库),它可以计算特征值向量和包含特征向量作为列的矩阵。在 FreeFem 文档中,有一些示例涉及我没有找到这部分的技术支持。

0 投票
0 回答
50 浏览

freefem++ - 如何在 FreeFem++ 中直接更改我的 FE 空间的边界值?

我最近正在处理 FreeFEM++ 的 FSI 问题。

我的模型是一个二维流体模型加上一个一维弹性模型,我似乎可以很好地单独处理这两个部分。

然后当我决定将它们耦合在一起时遇到了一个问题:我已经读取了我的 2d FE 空间边界部分的值,并且我已经用我的 1d 模型更新了它们,但是我不知道如何修改 2d FE 空间直接地。

或者我在哪里可以找到关于某些特定 FE 空间结构的介绍?

任何建议将不胜感激。

谢谢!