8
\ begingroup美元

关于代码:我有一个代码,模拟浓度从平流扩散反应PDE在二维空间(X,Y)随时间。该方法采用全隐式有限差分法,具有模拟渗透率空间变化介质和反应常数(通过谐波平均上卷)的能力。我已经能够测试同质媒体的代码,它工作得很好。它是以下方程的解:$$\begin{align} \frac{\partial C}{\partial t} + \nabla。\left(v C - D\nabla{C} \right)= \alpha C \end{align}$$

问题:该代码给出了具有均匀渗透性层的介质的现实解决方案,如下所示。然而,一旦介质开始变得更加异构,它就会开始抛出不切实际的结果(即负浓度和随着时间的大幅波动)。有人猜测为什么我得到了不现实的异质媒体的结果(与均匀分层媒体的值在相似的范围内)?

更新:我想我已经找到了得到负值和浓度剧烈波动的问题。我认为问题不在于数值模型,而在于物理值。尽管我已经获得了现实的参数值,但我得到了不现实的浓度,我必须进一步调整它们(降低对流速度)以获得现实的结果

\ endgroup美元
4
  • \ begingroup美元 可能与所使用的有限差分格式有关(向前,向后,差分)。也可能是因为没有使用加权值 \ endgroup美元
    - - - - - -shrey
    2015年11月22日5:31
  • \ begingroup美元 向前的时空差异。请问您指的是什么重量? \ endgroup美元
    - - - - - -user3153
    2015年11月22日6:32
  • \ begingroup美元 我不是专家,但我想知道这个问题是否在你的有限差分求解器中。在IIRC中,输运方程会受到大量数值色散的影响。如果使用更细的网格会发生什么? \ endgroup美元
    - - - - - -haresfur
    2015年11月22日21:57
  • \ begingroup美元 haresfur:我尝试过更细的网格,但也没有帮助,尽管它在某种程度上改变了结果,但即使有更细的网格,剧烈振荡的问题仍然存在。 \ endgroup美元
    - - - - - -user3153
    2015年11月22日22:04

1回答1

2
\ begingroup美元

目前还不清楚这里究竟模拟了什么,但在我看来,有两种方式可以使浓度“变为负值”。首先,浓度的变化率可能很大,在这种情况下,看看用更小的时间步长建模时会发生什么。或者,扩散项大大超过平流项,这在物理上是不可能的。然而,你正在建模一个大的(超过10倍的)各向异性,其中几乎所有的流都将在x,水平方向-这实际上几乎是一个一维问题。那么平流怎么会小于扩散呢?在恒定浓度源的情况下,比如含盐水体,负的结果是没有意义的,在这种情况下,计算已经不稳定了,可能是因为使用了太大的时间步长。在脉冲源的情况下,随着浓度峰值的通过(沿x方向),平流浓度上升和下降,使得横向(y轴)扩散先增大后减小,即浓度梯度改变方向,变为负值。

似乎这还不够难,在现实生活的应用中,“下沉”术语可能远远超过任何反向扩散效应。

\ endgroup美元
13
  • \ begingroup美元 Gordon:我已经实现了完全隐式的方案,其中结果的准确性独立于时间步长的影响。此外,即使扩散为零(在大多数情况下,与平流通量相比几乎可以忽略不计),我仍然有这个问题。 \ endgroup美元
    - - - - - -user3153
    2015年11月22日18:19
  • \ begingroup美元 那我也有点困惑了。你有源代码吗,或者这是一个现成的包? \ endgroup美元
    - - - - - -戈登斯坦格
    2015年11月22日19:24
  • \ begingroup美元 我自己写的……所以我有源代码,戈登 \ endgroup美元
    - - - - - -user3153
    2015年11月22日20:55
  • \ begingroup美元 用什么语言?我懂Fortran语言。C,我不能 \ endgroup美元
    - - - - - -戈登斯坦格
    2015年11月23日7:04
  • \ begingroup美元 在python中,Gordon \ endgroup美元
    - - - - - -user3153
    2015年11月23日13:12

你的答案

点击“张贴您的答案”,即表示您同意我们的服务条款隐私政策而且饼干的政策