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中文网

  1. CFD中文网
  2. OpenFOAM
  3. 动网格中定义随时间和位置变化的速度入口

动网格中定义随时间和位置变化的速度入口

已定时 已固定 已锁定 已移动 OpenFOAM
1 帖子 1 发布者 1.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • E 离线
    E 离线
    Ethang
    写于 最后由 编辑
    #1

    大家好,遇到一个动网格入口速度边界的问题,希望大家帮帮忙。

    简述: 在一个做六自由度运动的网格的一个边界上定义随时间及高度变化的速度入口。

    平台:OpenFOAM 2.4.0, interDyMFoam

    物理背景: 做俯仰运动的明渠中的流动,在左边界施加随深度变化的平行于底床的入流速度,考虑到明渠本身也在做俯仰运动,所以入口边界的绝对速度还应该加上俯仰运动所产生的速度。所以就是一个随时间及高度变化的速度。

    描述:网格的运动通过solidBodyMotionFvMesh 实现,然后通过6DOF的utility来指定运动方式。对于时变或随位置变化的入口边界条件,在论坛里面找到了一些帖子,然后用的codedFixedValue来实现这个,但是在实现的时候遇到错误,自己编程不是很熟悉,想请大家帮忙看看代码的编写上的问题。同时对于在动网格中的入口速度边界的指定,不知道我目前采用的这种方法是否合理?是否还有其他更好的方法?谢谢大家。

        inlet
        {
            type            codedFixedValue;
    	value		$internalField;
    	redirectType	abcde;
    	code
            #{
    
    	const fvPatch& boundaryPatch = this->patch();
    	vectorField v= boundaryPatch.Cf();
    	
    	scalar ymin=min(this->patch().Cf().component(1));
    	Info<<"ymin="<<ymin<<nl;
    
    	scalar thetaamp=0.056119;
    	scalar omegaa=1.4564;
    	scalar pitchphase=2.0125828;
    
    	scalar tt = this->db().time().value();
    
    	scalar udeck=-thetaamp*omegaa*50*cos(omegaa*tt+pitchphase);
    	scalar uslope=0.09769*sin(1.488*tt-2.748)-0.00532;
    	scalar ucut=0.2045*sin(1.692*tt-3.203)-0.0601;
    	scalar theta=thetaamp*sin(omegaa*tt+pitchphase);
    
    	forAll(boundaryPatch,faceI)
    	{
    	scalar y = this->patch().Cf().component(1); 
    	scalar ux=-udeck*sin(theta)+(uslope*(y-ymin)+ucut)*cos(theta);
    	scalar uy=udeck*cos(theta)+(uslope*(y-ymin)+ucut)*sin(theta);
    	v[faceI] = vector(ux,uy,0);
    
    	operator==(v);
    	}
    
            #}
    
        }
    
    

    错误信息如下:

    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    Create time
    
    Create mesh for time = 0
    
    Selecting dynamicFvMesh solidBodyMotionFvMesh
    Selecting solid-body motion function tabulated6DoFMotion
    Applying solid body motion to entire mesh
    
    PIMPLE: Operating solver in PISO mode
    
    Reading field p_rgh
    
    Reading field U
    
    Using dynamicCode for patch inlet on field U at line 26 in "/home/min/OpenFOAM/min-2.4.0/run/pitchDamBreak/pitchCases/pitch14-8update3-mapped/0/U.boundaryField.inlet"
    Creating new library in "dynamicCode/pitchdam/platforms/linuxGccDPOpt/lib/libpitchdam_89672c10695eb4de1d809896f609f8e1131d9634.so"
    Invoking "wmake -s libso /home/min/OpenFOAM/min-2.4.0/run/pitchDamBreak/pitchCases/pitch14-8update3-mapped/dynamicCode/pitchdam"
    wmakeLnInclude: linking include files to ./lnInclude
    Making dependency list for source file fixedValueFvPatchFieldTemplate.C
    /home/min/OpenFOAM/min-2.4.0/run/pitchDamBreak/pitchCases/pitch14-8update3-mapped/0/U.boundaryField.inlet: In member function ‘virtual void Foam::pitchdamFixedValueFvPatchVectorField::updateCoeffs()’:
    /home/min/OpenFOAM/min-2.4.0/run/pitchDamBreak/pitchCases/pitch14-8update3-mapped/0/U.boundaryField.inlet:53:43: error: cannot convert ‘Foam::tmp<Foam::Field<double> >’ to ‘Foam::scalar {aka double}’ in initialization
    make: *** [Make/linuxGccDPOpt/fixedValueFvPatchFieldTemplate.o] Error 1
    
    
    --> FOAM FATAL IO ERROR: 
    Failed wmake "dynamicCode/pitchdam/platforms/linuxGccDPOpt/lib/libpitchdam_89672c10695eb4de1d809896f609f8e1131d9634.so"
    
    
    file: /home/min/OpenFOAM/min-2.4.0/run/pitchDamBreak/pitchCases/pitch14-8update3-mapped/0/U.boundaryField.inlet from line 26 to line 68.
    
        From function codedBase::createLibrary(..)
        in file db/dynamicLibrary/codedBase/codedBase.C at line 213.
    
    FOAM exiting
    
    

    谢谢了。

    1 条回复 最后回复

  • 登录

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