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

A

AXY 0

@AXY 0
关于
帖子
33
主题
11
群组
0
粉丝
0
关注
0

帖子

最新

  • OF计算域中设置圆形相区域时出错
    A AXY 0

    @李东岳 再次感谢李老师回复,我后续按照您的指导试一下,另外再查阅一下其他资料学习学习


  • OF计算域中设置圆形相区域时出错
    A AXY 0

    @李东岳 李老师,顺便想请教一下,of里面允许不同的液相拥有不同的重力加速度g值么?我想设置整体液体场处于失重状态,而setfields确定的相区域拥有正常的g值。


  • OF计算域中设置圆形相区域时出错
    A AXY 0

    @李东岳 感谢李老师回复,这个问题已经解决,是场设置的问题。


  • OF计算域中设置圆形相区域时出错
    A AXY 0

    @李东岳 感谢东岳老师回复,这个问题解决了,把sourceInfo和大括号删掉就好了。现在setFields可以正常运行,不过程序运计算完成后有另一个问题就是结果中相区域无法显示。请问这是否是由于整体的计算域网格是矩形的,不能在网格上划出圆形区域,进而设置不同的相分数呢?
    可以正常运行:

    Create time
    
    Create mesh for time = 0
    
    Reading setFieldsDict
    
    Setting field default values
        Setting internal values of volScalarField alpha.water
    
    Setting field region values
        Adding cells with centre within cylinder, with p1 = (0.5 0.85 0), p2 = (0.5 0.85 0.1), radius = 0.15
        Setting internal values of volScalarField alpha.water
    
    End
    

    但是结果里显示不出设置的圆形相区域
    d2522547-e849-4466-b0ed-72aed25f9cbf-uTools_1655713375946.png


  • OF计算域中设置圆形相区域时出错
    A AXY 0

    想请教各位,我在OF自带的溃坝算例上进行了修改,试图将原来矩形相区域改为圆形,我使用了cylinderToCell给圆柱区域添加相分数,但是在setFields这一步出错,错误提示是说在cylinderToCell中没有找到定义的半径radius,可是我分明定义了半径大小。请各位指正问题,感谢。
    下面是错误提示:

    --> FOAM FATAL IO ERROR: (openfoam-2012)
    Entry 'radius' not found in dictionary "cylinderToCell"
    
    
    file: cylinderToCell at line 29 to 36.
    
        From bool Foam::dictionary::readCheck(const Foam::word&, T&, const Predicate&, Foam::keyType::option, bool) const [with T = double; Predicate = Foam::MinMax<double>]
        in file /home/pawan/OpenFOAM/OpenFOAM/OpenFOAM-v2012/src/OpenFOAM/lnInclude/dictionaryTemplates.C at line 372.
    
    FOAM exiting
    

    下面是我的setFieldsDict文件内容:

    defaultFieldValues
    (
        volScalarFieldValue alpha.water 0
    );
    
    regions
    (
        cylinderToCell
        {
            sourceInfo
    		{
    			p1 (0.5 0 0.85);
    			p2 (0.5 0.1 0.85);
    			radius 0.15;
    		}
            fieldValues
            (
                volScalarFieldValue alpha.water 1
            );
        }
    );
    

  • linearSpring能否传递力给予边界?
    A AXY 0

    @李东岳 感谢李老师回复。目前边界是静止的,弹簧一端连接静止边界,一端连接运动物块。从了解到的资料看,目前OF中的弹簧应该也只支持一端连接动物体,一端连接静物体。因为OF通过坐标确定连接点,我想知道如果连接点坐标在边界上,那么这个弹簧是否真的连在了边界上,能否和边界传递力?感觉也想不到什么能够验证的办法。


  • linearSpring能否传递力给予边界?
    A AXY 0

    新手求助各位老师,对于OF中sixDoFRigidBodyMotion库中的线性弹簧linearSpring约束,如果锚固点anchor坐标设置在边界上,在弹簧伸缩过程中能否传递力给予边界?


  • 流固耦合中线性弹簧局限性的问题
    A AXY 0

    求助各位,目前of的动网格技术可不可以实现下图功能:在计算域顶端和计算域内的物块之间连接弹簧,同时给整个计算域施加简谐运动?
    9dbaecc8-35ff-49cb-a874-3db65bdce331-1653113557(1).png
    目前学习of五个月有余,从我的了解来看,of自带动网格库中的弹簧只支持一端连接固定点,一端连接运动的物体。想问问大家有没有做过类似的东西,能提供些思路,不动底层代码能够解决这个问题,不胜感激。


  • 请教:paraview后处理时,可以间隔读取计算结果么
    A AXY 0

    求助各位。我的OF算例计算时间步和输出时间步设置的都比较小(0.002s),导致计算结果有4000个时程文件,请问导入paraview后处理的时候,可以间隔几个文件导入一个么,4000帧的话处理起来太费时费空间了。


  • OF后处理中forceCoeffs的几个概念求教
    A AXY 0

    想请教各位,我对OF后处理中力系数forceCoeffs中的几个概念不太能理解,想请教一下各位。

    forceCoeffs
    {
    	type        forceCoeffs;
    	libs 	    ( "libforces.so" );
    		
    	writeControl timeStep;
    	writeInterval 1;
    
    	patches     ( "floatingObject" );
    	rho         rhoInf;     
    	log         true;
    	rhoInf      1000;      
    		
    	liftDir     (0 0 1);	//升力方向
    	dragDir     (0 0 1);	//拖曳力方向
    		
    	CofR        (5 5 2);    //用于计算力矩的点
    	pitchAxis   (0 0 1);	//pitch方向,围绕转动的轴
    	magUInf     0; 		//无限远处来流处的速度
    	lRef        2;          //参考长度
    	Aref        8;          //参考面积
    }
    

    首先这里对liftDir升力和dragDir拖曳力的定义是怎样的 ?举个例子,如果模拟的是一个物体在水中匀速运动,升力可否理解为浮力?那这里的拖曳力又是指什么呢?
    还是这个例子,pitchAxis解释为围绕转动的轴,这又是指什么?另外如果在静水中运动,那magUInf可以设置为0吗?lRef和Aref是相对谁的参考呢,计算域吗?


  • 动网格库中如何增加使用运行时间runtime的功能
    A AXY 0

    @tens 感谢您的回复,我试着把这个头文件加入到.C文件中,但是对编译结果貌似并没有作用,报错是一样的。已经把我觉得可能能用到的头文件都放进去了:135:

    #include "mylinearSpring.H"
    #include "addToRunTimeSelectionTable.H"
    #include "sixDoFRigidBodyMotion.H"
    
    // Foam classes
    #include "OFstream.H"
    #include "IFstream.H"
    #include "Vector.H"
    // std classes
    #include <stdio.h>
    #include <fstream>
    #include <iostream>
    #include <string.h>
    #include <stdlib.h>
    
    #include "pointPatchFields.H"
    #include "addToRunTimeSelectionTable.H"
    #include "Time.H"
    #include "polyMesh.H"
    #include "fixedValuePointPatchField.H"
    
    #include "fvCFD.H"
    #include "fvMesh.H"
    #include "volFields.H"
    

  • 动网格库中如何增加使用运行时间runtime的功能
    A AXY 0

    @星星星星晴 首先很感谢你的回复,你提供的方法,在其他源库里也参考过类似的引用格式,但是上机编译会出现两个问题:

    ‘fvMesh’ was not declared in this scope
    
    error: ‘const class Foam::sixDoFRigidBodyMotionRestraints::mylinearSpring’ has no member named ‘owner’
      const fvMesh& mesh = this->owner().mesh();
    

    前者通过添加头文件“fvMesh.H”可以解决,但是后者仍没有思路。这个报错应该是在说这个库里没有叫owner的成员?我看其他库里有引用internalFields这个成员的,我不清楚我这个该如何判断引用哪个成员


  • 动网格库中如何增加使用运行时间runtime的功能
    A AXY 0

    求助各位,我想在sixDoFRigidBodyMotion库下的linearSpring子库中添加与运行时间runtime相关的功能,采用了多种方法如

    scalar TT = mesh.time();
    

    还有

    const Time& TT = mesh.time();
    

    或者

     scalar TT = runTime.value();
    

    但是编译时均会报同样一个错误:

    ‘runTime’或者‘mesh’ was not declared in this scope
    

    这个子库里原本没有与时间相关的东西,不知道是头文件的问题还是什么,也在网上找了蛮多相关的资料,但是帮助都不大,请各位大佬指点。


  • 在sixDoFRigidBodyMotion的restraint模块中改变linearSpring的锚点位置,编译出错
    A AXY 0

    求助各位老师,我试着在sixDoFRigidBodyMotion库中建立一个新的mylinearSpring文件夹(类似于原linearSpring),意图改动其中的锚点anchor的位置。先试着让它z坐标加1,在编译时出错,错误信息如下。

    sixDoFRigidBodyMotion/restraints/mylinearSpring/mylinearSpring.C:error: assignment of read-only location ‘((const Foam::sixDoFRigidBodyMotionRestraints::mylinearSpring*)this)->Foam::sixDoFRigidBodyMotionRestraints::mylinearSpring::anchor_.Foam::Vector<Cmpt>::z<double>()’
      anchor_.z()=anchor_.z()+1;
    

    提示在给只读位置幅值,是不是意味着在这里anchor是不能变动的量,那要怎样才能改动它呢?


  • 小白求助——floatingobject算例浮块突然失去浮体性质
    A AXY 0

    @bestucan 感谢您的回复,文件不能编译的问题我目前已经解决。新的库编译好后我试着用新定义的弹簧mylinearspring连接我案例的两个物体,跑了一下case发现结果不尽人意,可能这个弹簧只能像报告中那样用在两个都是被动运动的浮体上,我这里有个主动运动的,就用不了了。可能还要后续对库进行另外的改动,鉴于现在刚学openfoam不久,之前没学过c++,所以源文件还读不懂,要先去补补c++的东西。再次感谢您的帮助:xinxin:


  • 小白求助——floatingobject算例浮块突然失去浮体性质
    A AXY 0

    @李东岳 感谢老师回复,现在我解决了之前的问题,在进一步往下做。


  • 小白求助——floatingobject算例浮块突然失去浮体性质
    A AXY 0

    @bestucan 您好,现在我解决了之前的问题,两个物体可以保持自身的运动状态了。所以又想继续在两个物体之间添加一个弹簧,因为我现在还看不懂c++的代码,因此只能依照您给的双附体的那份资料依葫芦画瓢,在修改sixdofrigidbodymotion代码后进行编译,在编译过程中出现了点问题,但也没有报error,请您指点以下问题所在。
    6.0000.png QQ图片2.png


  • 小白求助——floatingobject算例浮块突然失去浮体性质
    A AXY 0

    @bestucan 感谢这位老师的帮助,今天有点小忙,先马一下您的资料:140:


  • 小白求助——floatingobject算例浮块突然失去浮体性质
    A AXY 0

    @李东岳 感谢李老师回复,我零文件下的pointdisplacement代码如下,水中物体的边界类型我一开始设置为calculated,就出现了上面的报错提示,报错后我设置为了固定数值fixedvalue,就可以运行了,但与此带来的就是水中物体失去浮体性质。

    dimensions      [0 1 0 0 0 0 0];
    
    internalField   uniform (0 0 0);
    
    boundaryField
    {    
    
        stationaryWalls
        {
            type            fixedValue;
            value           uniform (0 0 0);
        }
    
        atmosphere
        {
            type            fixedValue;
            value           uniform (0 0 0);
        }
    
        floatingObject
        {
            type         	calculated;   			
            value           uniform (0 0 0);
        }
      
    	Object
        {
            type            oscillatingDisplacement;
    		omega           6.28;
    		amplitude       (0 0 0.5);
    		value           uniform (0 0 0);
        }
    
    }
    

  • 小白求助——floatingobject算例浮块突然失去浮体性质
    A AXY 0

    @bestucan 不好意思,可能我的表述有所欠缺。我试着换一种问法,请问一个动网格文件dynamicMeshDict里可以计算计算域中两处网格的运动吗(我目前涉及到的只有计算域中一个东西运动)?就像上面贴出的代码,那是我的动网格文件里的,代码上面的部分是控制水中物体上浮,下面的是控制水面以上的物体运动。我分别运行是没有问题的,但是合起来就报错了,我怀疑是放到一起导致的。不知这次有没有将问题描述清楚,求解答,感谢老师。

  • 登录

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