我想模拟具有高斯白噪声场的耦合偏微分方程,但找不到任何示例或文档来说明应该如何进行。特别是,我对具有噪声的类Cahn Hilliard系统感兴趣:
d/dt(phi(=div(grad(psi((+div(噪声(
psi=f(φ(+div(梯度(φ((
有没有办法在Fipy中实现这一点?
您可以将GaussianNoiseVariable
作为源添加到公式中。
对于非守恒场,你可以做,例如
noise = fp.GaussianNoiseVariable(mesh=..., mean=..., variance=...)
:
:
eq = fp.TransientTerm(...) == fp.DiffusionTerm(...) + ... + noise
for step in steps:
noise.scramble()
:
:
eq.solve(...)
对于守恒场,您可以使用:
eq = fp.TransientTerm(...) == fp.DiffusionTerm(...) + ... + noise.faceGrad.divergence