Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

李

李炳锐

@李炳锐
关于
帖子
7
主题
3
群组
0
粉丝
0
关注
0

帖子

最新

  • 请教一个&运算符的问题,&运算符对矩阵/单位的运算是什么呢?
    李 李炳锐

    @李东岳 确实没看,主要在网上搜来着🤦‍,感谢老师!我现在研究一下!


  • 请教一个&运算符的问题,&运算符对矩阵/单位的运算是什么呢?
    李 李炳锐

    在of10可压缩VOF求解器中,T方程有这样一部分表达式:

    - ( U() & (fvModels.source(rho, U)&U)() ) *
    

    下面说的不一定正确,但是目前有两个问题,
    1.试了一下,好像U()是一个dimensionedField ,fvModels.source(rho, U)是一个fvMatrix,fvModels.source(rho, U)&U则变成了GeometricField。 其中这两个&符号是什么意思呢?怎么用数学表达式表述这项呢?
    2.fvModels.source(rho, U)的单位就应该是kg m s [1 -2 -2],在做了上述运算后单位变成了[1 -1 -3],也就是多一个速度的单位,这个速度的单位是哪个&运算符带来的呢?为什么不是[1 0 -4]呢?
    感谢各位老师同学!!!!


  • denseParticleFoam中动量源项的求解
    李 李炳锐

    @李东岳 太好了!学习中!:142: :142: :142: :ok3:


  • denseParticleFoam中动量源项的求解
    李 李炳锐

    @李东岳 期待!谢谢老师


  • denseParticleFoam中动量源项的求解
    李 李炳锐

    @李东岳 感谢李老师回复,我才注意到老师已经写过这个求解器的算法分析了。
    但是我还是不太清楚operator.SU(U)调用的是什么函数,如果按我的理解,它调用的是这个,因为parcelCloud继承自ParcelCloudBase:

    class ParcelCloudBase
    :
        public Cloud<ParticleType>,
        virtual public parcelCloudBase
    {
    public:
    tmp<fvVectorMatrix> SU(const volVectorField& U) const
                    {
                        return tmp<fvVectorMatrix>
                        (
                            new fvVectorMatrix(U, dimMass*dimAcceleration)
                        );
                    }
    }
    
    

    但是我看李老师写的文章,似乎实际用的是这个

    code_texttemplate<class CloudType>
    inline Foam::tmp<Foam::fvVectorMatrix>
    Foam::MomentumCloud<CloudType>::SU(const volVectorField& U) const
    {
        if (debug)
        {
            Info<< "UTrans min/max = " << min(UTrans()).value() << ", "
                << max(UTrans()).value() << nl
                << "UCoeff min/max = " << min(UCoeff()).value() << ", "
                << max(UCoeff()).value() << endl;
        }
    
        if (solution_.coupled())
        {
            if (solution_.semiImplicit("U"))
            {
                const volScalarField::Internal
                    Vdt(this->mesh().V()*this->db().time().deltaT());
    
                return UTrans()/Vdt - fvm::Sp(UCoeff()/Vdt, U) + UCoeff()/Vdt*U;
            }
            else
            {
                tmp<fvVectorMatrix> tfvm(new fvVectorMatrix(U, dimForce));
                fvVectorMatrix& fvm = tfvm.ref();
    
                fvm.source() = -UTrans()/(this->db().time().deltaT());
    
                return tfvm;
            }
        }
    
        return tmp<fvVectorMatrix>(new fvVectorMatrix(U, dimForce));
    }
    

    我有点搞不清,想再请教一下李老师


  • denseParticleFoam中动量源项的求解
    李 李炳锐

    各位老师、大佬,最近在看denseParticleFoam求解器,不太清楚动量方程中的源项矩阵cloudSU具体是怎么求出来的,我目前找到这里,求大家指点一下我:
    :135:

    求解器中,在createFields文件中,创建了一个parcelCloudList类:

    parcelCloudList clouds(rhoc, Uc, muc, g);
    

    随后在计算过程中创建了这个源项的矩阵cloudSU? 应该是通过计算出来的源项场 clouds.SU(Uc) 构造的 ?如下:

    fvVectorMatrix cloudSU(clouds.SU(Uc));
    

    parcelCloudList类中的 SU 函数如下:

    Foam::tmp<Foam::fvVectorMatrix> Foam::parcelCloudList::SU
    (  
    const volVectorField& U 
    ) const
    {
        tmp<fvVectorMatrix> tSU(new fvVectorMatrix(U, dimMass*dimAcceleration));**
      forAll(*this, i)
        {
            tSU.ref() += operator[](i).SU(U);
        }
        return tSU;
    }
    

    这里想问一下:我理解成,parcelCloudList类继承自PtrList<parcelCloud>类,operator返回了PtrList<parcelCloud>类中指向的第i个parcelCloud类成员的指针,是这个意思吗?也就是说这里的tSU.ref()遍历了PtrList中的所有粒子团的指针然后把每一个粒子团所属类的parcelCloud.SU函数的返回值相加了得到了一个源项的场,可以这么理解吗?

    parcelCloud类的SU函数

     tmp<fvVectorMatrix> SU(const volVectorField& U) const
    {
         return tmp<fvVectorMatrix>
         (
              new fvVectorMatrix(U, dimMass*dimAcceleration)
          );
    }
    

    但是在这里,parcelCloud中的SU函数又是怎么返回一个动量源项的值的呢?new这里实在是看不懂什么意思了!!!包括我看设置文件中,还可以选用WenYu曳力模型等,现在搞不清楚求解器在哪读取了这些相关设置,又是如何计算的。

    求来大佬/老师帮忙看看吧!!!


  • Fluent UDF 如何调用元胞的静温
    李 李炳锐

    想要使材料的导热系数与比热容随温度变化,fluent内导入的相关的UDF如下。

    #include "udf.h"
    DEFINE_PROPERTY(cell_heatconductivity,cell,thread)
    {
    	real heatconductivity;
    	real te = C_T(cell,thread);
    	heatconductivity = 1.7  + (te-300)/25; 
    	return heatconductivity;
    }
    DEFINE_SPECIFIC_HEAT(my_user_cp, T, Tref, h, yi)
    {
    
    	real cp = 2000 + T ;
    	return cp;
    }
    

    然后发现,udf里面的te与T指的是总温而不是实际温度。也就是说运算中,比热容与导热系数是随着总温变化的。
    云图如下:4.png 3.png 2.png 1.png
    我改怎么做才能让比热容与导热系数在计算中是随着实际温度变化 的呢?
    初学Fluent,找了一段时间也没找到解决办法,麻烦前辈们帮我看一眼!

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]