☆─────────────────────────────────────☆
yihongyuan (怡红之主) 于 (Mon Dec 21 19:38:38 2015) 提到:
关于非线性扩散方程的数值求解
dC/dt = D(C,x) d^2C/dx^2
目前只考虑一维的情况
D是扩散系数,是C和x的函数
有什么算法可以求解吗?
解的存在唯一性有人证明过吗?
推荐本书也行
这个东西在多孔介质力学有出现过,这方面有推荐文献吗?
☆─────────────────────────────────────☆
sleeping (美女总归是会有的) 于 (Mon Dec 21 19:55:45 2015) 提到:
用高斯方法把二次编程一次的微分然后有限元解
☆─────────────────────────────────────☆
yihongyuan (怡红之主) 于 (Mon Dec 21 21:50:57 2015) 提到:
什么高斯方法,说详细点吧
半无穷一维
如果只用差分呢?
【 在 sleeping (美女总归是会有的) 的大作中提到: 】
: 用高斯方法把二次编程一次的微分然后有限元解
☆─────────────────────────────────────☆
easior (lars) 于 (Mon Dec 21 22:37:00 2015) 提到:
计算格式我很有兴趣了解一下,
至于定性理论,应该已经相对完整了,
我就有一本定性理论的书。
【 在 yihongyuan 的大作中提到: 】
: 关于非线性扩散方程的数值求解
: dC/dt = D(C,x) d^2C/dx^2
: 目前只考虑一维的情况
: ...................
☆─────────────────────────────────────☆
yihongyuan (怡红之主) 于 (Tue Dec 22 01:21:28 2015) 提到:
【 在 easior (lars) 的大作中提到: 】
: 计算格式我很有兴趣了解一下,
: 至于定性理论,应该已经相对完整了,
: 我就有一本定性理论的书。
什么书啊?
: ...................
☆─────────────────────────────────────☆
easior (lars) 于 (Tue Dec 22 08:35:52 2015) 提到:
一本从纯粹数学方面入手讨论多孔介质方程的书,
你应该不会有兴趣。
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 什么书啊?
☆─────────────────────────────────────☆
laser2000 (掌上智能版都是大厦挂) 于 (Tue Dec 22 09:26:45 2015) 提到:
隐式差分离散+牛顿迭代
或者
显式差分离散+RK
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 关于非线性扩散方程的数值求解
: dC/dt = D(C,x) d^2C/dx^2
: 目前只考虑一维的情况
: ...................
☆─────────────────────────────────────☆
perturb (这个id不好?) 于 (Wed Dec 23 08:32:10 2015) 提到:
除非有证据表明D(C,x)显式处理会带来稳定性或者精度问题
D(C,x)可以采用显式离散
这个方程数值上处理与线性扩散方程无异
其实考虑黏性的温度依赖性的动量方程也是这种形式
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 关于非线性扩散方程的数值求解
: dC/dt = D(C,x) d^2C/dx^2
: 目前只考虑一维的情况
: ...................
☆─────────────────────────────────────☆
yihongyuan (怡红之主) 于 (Wed Dec 23 19:47:55 2015) 提到:
如果采用隐式格式呢?
特别是D(C,x)关于C的函数关系特别复杂,来源于实验
如何求解?
【 在 perturb (这个id不好?) 的大作中提到: 】
: 除非有证据表明D(C,x)显式处理会带来稳定性或者精度问题
: D(C,x)可以采用显式离散
: 这个方程数值上处理与线性扩散方程无异
: ...................
☆─────────────────────────────────────☆
yihongyuan (怡红之主) 于 (Wed Dec 23 19:55:15 2015) 提到:
【 在 laser2000 (掌上智能版都是大厦挂) 的大作中提到: 】
: 隐式差分离散+牛顿迭代
只能算 deltaC吧?
然后迭代到的结果是fixed point 不一定是稳定的解吧?
: 或者
: 显式差分离散+RK
显式查分格式的稳定性问题如何解决呢?
D(C,x)是一个非常非常复杂的关系式
: ...................
☆─────────────────────────────────────☆
shookware (@viocy) 于 (Thu Dec 24 10:10:30 2015) 提到:
非线性方程的稳定性问题这个不大好解决吧
我能想到的最简单的办法就是直接粗暴的上人工黏性
先以能算为准……
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 只能算 deltaC吧?
: 然后迭代到的结果是fixed point 不一定是稳定的解吧?
: 显式查分格式的稳定性问题如何解决呢?
: ...................
☆─────────────────────────────────────☆
laser2000 (掌上智能版都是大厦挂) 于 (Thu Dec 24 12:19:26 2015) 提到:
如果担心显式稳定性问题,那就隐式嘛
每步只能算 deltaC,所以
C_{n+1}=C_{n}+deltaC_{n}啊
将扩散通量 D(C[i+1/2][n]) * (C[i+1][n+1]-C[i][n+1])/dx 做线性化
D(C[i+1/2][n+1]) * (C[i+1][n+1]-C[i][n+1])/dx
= D(C[i+1/2][n]) * (C[i+1][n]-C[i][n])/dx
+A[i+1/2][n] deltaC[i][n] +B[i+1/2][n] deltaC[i+1][n]
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 只能算 deltaC吧?
: 然后迭代到的结果是fixed point 不一定是稳定的解吧?
: 显式查分格式的稳定性问题如何解决呢?
: ...................
☆─────────────────────────────────────☆
Hahns () 于 (Mon Dec 28 00:25:07 2015) 提到:
人工粘性不是为了解决这个问题吧。
【 在 shookware 的大作中提到: 】
: 非线性方程的稳定性问题这个不大好解决吧
: 我能想到的最简单的办法就是直接粗暴的上人工黏性
: 先以能算为准……
: ...................
☆─────────────────────────────────────☆
shookware (@viocy) 于 (Mon Dec 28 11:09:02 2015) 提到:
所以是 先能算为准……
一般有粘性项的话 对流项的求解其实要比完全木有粘性项要好点
除非有的时候 实际上是粘性项的耗散不够。。 这个时候多半是要补点粘性项的 否则木
有办法收敛吧……
【 在 Hahns () 的大作中提到: 】
: 人工粘性不是为了解决这个问题吧。
☆─────────────────────────────────────☆
yihongyuan (怡红之主) 于 (Tue Dec 29 00:43:06 2015) 提到:
方程写错了
应该是
dC/dt = d/dx (D(C,x)dC/dx)
这里的D(C,x) 不能移到d/dx前面
怎么求解呢?
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 关于非线性扩散方程的数值求解
: dC/dt = D(C,x) d^2C/dx^2
: 目前只考虑一维的情况
: ...................
☆─────────────────────────────────────☆
perturb (这个id不好?) 于 (Thu Dec 31 16:31:51 2015) 提到:
dC/dt=d/dx( D(Cn,x) dC/dx)
Cn表示上一步的C
实际可以用RANS方程的涡粘系数类比
涡粘系数是求解流场的一个复杂函数
隐式求解时涡粘系数是显式处理的(上一步的流场来计算得到的涡粘系数直接用)
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 方程写错了
: 应该是
: dC/dt = d/dx (D(C,x)dC/dx)
: ...................
☆─────────────────────────────────────☆
yihongyuan (怡红之主) 于 (Sat Jan 9 18:20:11 2016) 提到:
感觉没这么简单吧,特别是方程稍微展开一下,就很复杂了。
看图片
这个方程做差分,格式都不好弄啊
【 在 perturb 的大作中提到: 】
: dC/dt=d/dx( D(Cn,x) dC/dx)
: Cn表示上一步的C
: 实际可以用RANS方程的涡粘系数类比
: ...................
[upload=1][/upload]
☆─────────────────────────────────────☆
perturb (这个id不好?) 于 (Sat Jan 9 20:59:30 2016) 提到:
不要展开,用守恒形式做
所做的一个近似就是 D(C,...) ≈ D(C_known, ...),这个近似误差是个Δt相关的
你可以做一下误差分析但是更方便的作法是先实现一个版本跑一个结果出来
要是结果不符合预期再分析近似的误差并相应调整
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 感觉没这么简单吧,特别是方程稍微展开一下,就很复杂了。
: 看图片
: 这个方程做差分,格式都不好弄啊
: ...................
☆─────────────────────────────────────☆
yihongyuan (怡红之主) 于 (Sat Jan 9 21:17:13 2016) 提到:
那差分格式如何弄呢?
把D当作常数,从微分号里移出来?
【 在 perturb (这个id不好?) 的大作中提到: 】
: 不要展开,用守恒形式做
: 所做的一个近似就是 D(C,...) ≈ D(C_known, ...),这个近似误差是个Δt相关的
: 你可以做一下误差分析但是更方便的作法是先实现一个版本跑一个结果出来
: ...................
☆─────────────────────────────────────☆
perturb (这个id不好?) 于 (Sat Jan 9 21:29:03 2016) 提到:
直接考虑d/dx的离散就可以了
保留守恒型的形式
不用考虑d^2/dx^2整体作为一个算子的离散
Laplacian算子高维整体离散可以有一些更紧凑的形式但是这里不用计较这个
我想直接用二阶中心差分做就够了
这就是个简单的扩散方程的形式
虽然扩散系数形式复杂一些
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 那差分格式如何弄呢?
: 把D当作常数,从微分号里移出来?
☆─────────────────────────────────────☆
crab2003 (好) 于 (Sat Jan 9 21:36:38 2016) 提到:
可以按有限容积法,先对x积分,D取界面值,再线性插值。
【 在 yihongyuan (怡红之主) 的大作中提到: 】
: 那差分格式如何弄呢?
: 把D当作常数,从微分号里移出来?