PaddlePaddle / PaddleScience

PaddleScience is SDK and library for developing AI-driven scientific computing applications based on PaddlePaddle.
http://paddlescience-docs.rtfd.io/
Apache License 2.0
267 stars 153 forks source link

关于定常问题初始流场设置 #621

Closed gerjf22 closed 11 months ago

gerjf22 commented 11 months ago

请提出你的问题 Please ask your question

    你好,当我想对一个定常问题设置初始流场时该怎样做呢?比如说:求解定常的柱内的R-B对流,初始流场温度设置不同,最后得到的流场不同(upflow和downflow)。
    API文档中的初始约束InitialConstraint作用的geom是时空混合的TimeXGeometry,当求解定常问题时可以用这个来作初始约束吗?如果可以,timedomain又该如何设置呢?
    又或者说,PINN无法求解这类定常有初始约束的问题?很抱歉提了这么多问题,我是PINN的初学者,希望能得到回复。
jkrescue commented 11 months ago
  1. 如果是定常的流场问题,geom可以定义你需要的计算域,这个直接用ppsci.geometry.xxx就行,比如你是2D的矩形,直接用ppsci.geometry.Rectangle来定义即可,不需要管time;
  2. 此外,定常问题一般是给定边界条件即可,通常不需要初始值,直接给与时间无关的边界,可以用geometry加上criterion(具体可参考LDC/Steady的case。你这里说的初始温度不同,我能理解成随着对流形成,实际最初的温度场就破坏了? 那本质上应该不是定常问题吧😂,所以如果是非定常,那么这个就是初始值,可以通过导入data对应的值,与PINN网络在相对0时刻的输出形成loss项,这个可参考Cylinder2D/unsteady的case。 不知道我是否理解你的问题。
gerjf22 commented 11 months ago
  1. 如果是定常的流场问题,geom可以定义你需要的计算域,这个直接用ppsci.geometry.xxx就行,比如你是2D的矩形,直接用ppsci.geometry.Rectangle来定义即可,不需要管time;
  2. 此外,定常问题一般是给定边界条件即可,通常不需要初始值,直接给与时间无关的边界,可以用geometry加上criterion(具体可参考LDC/Steady的case。你这里说的初始温度不同,我能理解成随着对流形成,实际最初的温度场就破坏了? 那本质上应该不是定常问题吧😂,所以如果是非定常,那么这个就是初始值,可以通过导入data对应的值,与PINN网络在相对0时刻的输出形成loss项,这个可参考Cylinder2D/unsteady的case。 不知道我是否理解你的问题。

好的,非常感谢你的回复!是我对定常和非定常的理解存在一些问题。