Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
大家知道这两种时间离散的区别吗?对于里面的fvmDdt格式,隐式格式我看差别就一句话:localEulerDdtScheme中这样定义rDeltaT:const scalarField& rDeltaT=localRDeltaT().internalField();而在Euler中这样定义rDeltaT: scalar rDeltaT=1.0/mesh().time().deltaTValue();请问有什么区别呢?求指教谢谢
@金石为开 因为localEuler是LTS局部时间步。其为一个场。所以有internalField。其他的时间步就是一个数值,例如scalar。
localEuler
internalField
scalar
@cfd-china 恩恩谢谢其实我看区别也在这里,localEuler每个网格的时间步是不一样的,尽管controlDict中给出了统一的时间步,具体算时候每个网格不一样,现在不明白的是哪里不一样?起始一样时间步,算的过程中每个网格的时间步是怎么调节的呢?我对细节不太明白,请指教谢谢
@金石为开
LTS在代码中已经解释的很充分了,比如随便找一个LTS的求解器,里面有如何计算时间步的代码。比如哪一段?
$$\delta t = \frac{\sum |\phi|}{2\mathrm{Co}_{\mathrm{max}}V\rho}$$
@cfd-china 我最近也要用LTS局部时间步求解器了,我想知道如果用LTS了,还用不用adjustablabletime这个自动调节步长这个功能了?我见过两种求解器,一种是LTS,一种是自动调节时间步来调节均一时间步。LTS里面还需要设置on adjustabletime吗?会不会仅仅LTS就可以了,谢谢~
不需要。调整时间步长是为了限制库朗数。LTS的库朗数漂浮不定。你用LTS算什么?
@金石为开 LTS是用来算 steady-state 问题的,不适合 unsteady 问题。
@cfd-china 我用的LTSinterFoam,老师我看LTS算法会提取pimple算法控制dict里面的maxCo与alphamaxCo,我的算例里面竟然maxCo值为10,alphamaxCo给的5,会不会太大了?因为我看算法代码里面默认值是0.9与0.2的,给那么大符合常理吗?会收敛吗
@金石为开 不会,LTS面库朗数有时还会上万。例如:maxCo=25000。:big_mouth:
@李东岳 老师的意思是不会收敛?maxco和alphamaxco给10和5符合常理吗?如果按照默认的0.9和0.2给呢?两个区别是什么,我认为是计算速度差别,这样理解对不?
@金石为开 印象中LTS求解器不需要maxco和alphamaxco。LTS是一种pesudo-steady state,不符合物理,纯CFD加速计算的技术。因此库朗数很大很正常。如果你给定的时间步是1,类似稳定的迭代步,maxco就没用了。
@李东岳 我看代码里面还要读取并且参与计算了,2.0.1版本LTS里面是0.9与0.2,3.0.0版本是10和5,不知道为什么,我还是多试试吧~
@金石为开 查证了一下,确实参与计算并读取了。
@cfd-china 恩是的,不明白我的pimple里面maxco与alphamaxco是10与5,不知道是不是影响计算准确性原因,我需要不断试试,按照您的理解呢?