Роль eqn3 в Fipy examples.cahnHilliard.mesh2DCoupled - PullRequest
0 голосов
/ 08 января 2020

В настоящее время я работаю с примерами в документации fipy и пытаюсь адаптировать examples.cahnHilliard.mesh2DCoupled для выполнения некоторых симуляций. Ссылка: https://www.ctcms.nist.gov/fipy/examples/cahnHilliard/generated/examples.cahnHilliard.mesh2DCoupled.html

Кажется, что пример кода объявляет eq3 и dfdphi_ и не использует эти уравнения где-либо еще, даже в решении.

Из документации:

>>> D = a = epsilon = 1.
>>> dfdphi = a**2 * phi * (1 - phi) * (1 - 2 * phi)
>>> dfdphi_ = a**2 * (1 - phi) * (1 - 2 * phi)
>>> d2fdphi2 = a**2 * (1 - 6 * phi * (1 - phi))
>>> eq1 = (TransientTerm(var=phi) == DiffusionTerm(coeff=D, var=psi))
>>> eq2 = (ImplicitSourceTerm(coeff=1., var=psi)
...        == ImplicitSourceTerm(coeff=d2fdphi2, var=phi) - d2fdphi2 * phi + dfdphi
...        - DiffusionTerm(coeff=epsilon**2, var=phi))
>>> eq3 = (ImplicitSourceTerm(coeff=1., var=psi)
...        == ImplicitSourceTerm(coeff=dfdphi_, var=phi)
...        - DiffusionTerm(coeff=epsilon**2, var=phi))
>>> eq = eq1 & eq2

и в блоке решения:

>>> while elapsed < duration:
...     dt = min(100, numerix.exp(dexp))
...     elapsed += dt
...     dexp += 0.01
...     eq.solve(dt=dt)
...     if __name__ == "__main__":
...         viewer.plot()

Буду признателен за любую информацию относительно условий eq3 и dfdphi_ делать. И как дополнение к этому, как решатель знает, как использовать старые значения $ \ phi $ для оценки линеаризованной формы после выражения Тейлора, поскольку блок решателя, кажется, не объясняет это.

1 Ответ

1 голос
/ 08 января 2020

eqn2 и eqn3 кодируют в пределе бесконечно малых временных и пространственных шагов одно и то же уравнение. Однако в своей дискретизации они выделяют разные термины для более активной роли в построении пропагатора временного шага.

В краткосрочной перспективе это должно привести только к незначительным различиям в результате, в долгосрочной перспективе могут быть более выраженные различия в стабильности и точности.

Что «более естественное» уравнение eq3 присутствует вообще, кажется косвенным приглашением экспериментировать с ним и, возможно, исследовать, является ли преобразование в eq2 с его возможными преимуществами совпадением или результатом какой-то более глубоко обоснованной идеи.

...