@Linzd 多孔介质区域在toposet的时候本身只是选中了cell集合,只有在壁面上才能通过原始代码计算法向力和切向力。

LiuJiaming
帖子
-
计算作用于cellZone上的压力和剪切力 -
关于wave2foam造波问题@chenboyao 嗯嗯 只算平台的话,我看到也有人只用laminar的,因为反正用湍流也算不准。但是考虑上边的气动荷载,最终计算还是要加上湍流。
-
关于wave2foam造波问题@chenboyao 请问,这种全尺寸的浮式结构物如果考虑湍流模型的话,边界层不满足y+对计算结果的影响大不大?
-
两相流自由液面处速度场异常各位老师好,
最近在使用K-omega SST湍流模型处理两相流的时候发现自由液面处的速度异常,但是不影响波面,如图所示。请问,这种情况是什么引起的,会影响计算结果吗?要如何解决?
万分感谢!
-
关于wave2foam造波问题会的,图2波面那个位置没有被加密,如果离散格式偏激进的话液面速度场还会发散,不过波浪都过了平台。ps你的变形网格方法是自己开发的吗?我记得原版只能通过欧氏距离确定变形区域。
-
如何使用moveDynamicMesh初始化变形网格@chenboyao 可否贴一个案例片段学习一下?
-
如何使用moveDynamicMesh初始化变形网格各位老师,大家好:
我想请教一个问题。近期,我在模拟海洋结构物的自由衰减运动。阅读文献的时候发现这位作者通过
moveDynamicMesh
工具对网格变形进行初始化求解(见下图)。据我的理解是将网格节点变形的情况赋给初始时刻,随着时间步的推进,物体逐渐向平衡位置靠拢,网格也逐渐趋于正交规则分布。
可是,我在查阅了一些教程帖子也没有搞懂具体该怎么实现这一功能,所以请教一下各位老师!
ps 我用的是OF2012的六自由度运动求解模块
文献DOI:10.1016/j.oceaneng.2022.112206
-
如何根据stl模型定义cellZone?@李东岳 在 如何根据stl模型定义cellZone? 中说:
你需要看cellZone,不是看stl。paraFoam可以打开cellZone
老师,之前尝试过了,在一个snappyhexmeshdict中好像没有办法同时生成壁面边界模型和cellzone(即A.stl生成壁面模型,B.stl为cellzone区域),这个我在polymesh文件夹中检查了cellzone文件,的确为空。不过,后续我通过两次运行snappyhexmesh解决了,第一次只配置壁面边界模型,第二次只生成cellzone。
-
如何根据stl模型定义cellZone?各位老师好,
我想通过
.stl
模型划定cellZone
,toposetdict
代码如下:actions ( { name net1Set; type cellSet; action new; /* source surfaceToCell;*/ source insidePoints; sourceInfo { /* file "constant/triSurface/Net1_heave.stl";*/ /* nearDistance 1e-6;*/ /* curvature 0;*/ /* outsidePoints ((-100 0 0)); // STL 外部参考点*/ /* includeCut true;*/ /* includeInside true;*/ /* includeOutside false;*/ points((0 15 0)); } } { name net1Zone; type cellZoneSet; action new; source setToCellZone; sourceInfo { set net1Set; } }
在
paraFoam
中预览的.stl
模型只有表面网格,其内部是空的。希望各位老师能够给出改正意见~
感谢! -
OpenFOAM v2012 waves2foam 造波问题@bike-北辰 在 OpenFOAM v2012 waves2foam 造波问题 中说:
@liujm 您好,waves2foam 的版本应该是2148,编译前手动下载了OceanWave3D-Fortran90,然后修改了一下./Allwmake文件,具体可以参考(https://blog.csdn.net/Killig_1/article/details/135386466) ,然后正常编译即可。
嗯嗯,以前编译成功过,可是最近重新编译报错严重,确实主要问题出现在OceanWave3D-Fortran90这里,需要注释掉make中git clone和检查更新部分,感谢~
-
OpenFOAM v2012 waves2foam 造波问题bike老师 是否方便提供一下与of2012搭配的waves2foam的安装包下载链接和编译脚本呢
-
自由来流下的网框表面流速异常十分感谢老师的指点!
我检查了所有异常算例,发现问题的确都与0文件中的初始设置有关。
-
在这个算例里,命令
subsetMesh -overwrite frameCellSet -patch frame
会将frameCellSet
网格区域与frame
链接,但是由于没有显式划分frame
,因此,subsetMesh
会默认生成一个empty
类型的边界。 -
六楼的分析存在大问题,没有参考的必要了。
再次感谢两位老师的指点
~
-
-
自由来流下的网框表面流速异常有了一些眉目,排除了网格密度不够的因素,确定与网格加密方式有关。
图1是以前的网格加密方式,这样会导致网框附近速度异常;改为图2的加密方式,便会达到预期,即网框附近速度也约为预设速度。
而图2只是在图1的基础上,将z方向所有的加密网格都延伸至计算域边界,只要有一级网格不触及边界(如图3的加密方式),都会计算异常。
目前,还不清楚具体原因。 在这里记录一下,希望看到的大佬能够帮忙解答~
图1-1 来流方向视图
图1-2 侧视图
图2-1 来流方向视图
图2-2 侧视图
图3 来流方向视图
-
自由来流下的网框表面流速异常@李东岳 静态网格也是有这个问题的。按理说不应该啊...我再跑跑其他类似的原生算例
p:
#include "../varsSettings" //Include global variables dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type zeroGradient; } outlet { type fixedValue; value $internalField; } frontAndBack { type empty;//zeroGradient; } topAndBottom { type zeroGradient; } frame { type zeroGradient;//fixedFluxPressure; } }
U:
#include "../varsSettings" //Include global variables dimensions [0 1 -1 0 0 0 0]; internalField uniform $flowVelocity; boundaryField { inlet { type fixedValue; value $internalField; } outlet { type inletOutlet; inletValue uniform (0 0 0); value $internalField; } frontAndBack { type empty;//slip; //value uniform (0 0 0); } topAndBottom { type slip; value uniform (0 0 0); } frame { type noSlip;//movingWallVelocity; //value uniform (0 0 0); } }
算例文件 OpenfOAM2012 网格数4w
functionalTest_NoPZRefine2_2D_staticMesh.zip -
免费帮助debug算例为了简化算例,我把网格三维转化为二维,简化了结构形式,以便排错。
【算例云图】
【简化版算例下载】
functionalTest_NoPZRefine2_2D.zip
生成网格createMesh,
跑算例runCaseOnly,
全流程runCase感谢~
-
自由来流下的网框表面流速异常@李东岳 是的老师,这里我为了排错,先把动网格用constraints六自由度都固定住。
以下附图:
-
自由来流下的网框表面流速异常各位老师好,
【问题描述】
本人在使用pimpleFoam模拟固定式网框在自由来流(u=0.5m/s)中的响应。整个流场的计算结果符合预期,可是网框表面处的流速竟然高达1e2量级,明显与现实不符,结果云图如下:(侧视图)
【分析】
网框截面原本比本帖中展示的要更小,起初正方形边长仅分布四个网格,为了排除网格数量对结果的影响,特意扩大了截面,增加边长网格数量。但是现在依然存在这个问题。【初始条件设置】
以下摘抄0文件夹设置:
p:/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2012 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "../varsSettings" //Include global variables dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type zeroGradient; } outlet { type fixedValue; value $internalField; } frontAndBack { type zeroGradient; } topAndBottom { type zeroGradient; } frame { type fixedFluxPressure; } } // ************************************************************************* //
U:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2012 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "../varsSettings" //Include global variables dimensions [0 1 -1 0 0 0 0]; internalField uniform $flowVelocity; boundaryField { inlet { type fixedValue; value $internalField; } outlet { type inletOutlet; inletValue uniform (0 0 0); value $internalField; } frontAndBack { type slip; value uniform (0 0 0); } topAndBottom { type slip; value uniform (0 0 0); } frame { /* type noSlip; */ type movingWallVelocity; value uniform (0 0 0); } } // ************************************************************************* //
pointDisplacement:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class pointVectorField; object pointDisplacement; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 0 0 0 0 0]; internalField uniform (0 0 0); boundaryField { inlet { type fixedValue; value uniform (0 0 0); } outlet { type fixedValue; value uniform (0 0 0); } frontAndBack { type fixedValue; value uniform (0 0 0); } topAndBottom { type fixedValue; value uniform (0 0 0); } frame { type calculated; value uniform (0 0 0); } } // ************************************************************************* //
【算例设置】
functionalTest_NoPZRefine1.zip
生成网格createMesh,
跑算例runCaseOnly,
全流程runCase希望各位老师能给出建议~@李东岳
-
openFoam动网格求助,displacementLaplacian适用性问题! -
openFoam动网格求助,displacementLaplacian适用性问题!@Joker
您好,请问您使用的OF是什么版本呢?我在用displacementLaplacian后,使用moveDynamicMesh预览网格运动的时候,系统报错,似乎没有displacementLaplacian这个求解器。请问是我的字典设置有误吗?Create time Create mesh for time = 0 Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: displacementLaplacian --> FOAM FATAL IO ERROR: (openfoam-2012) Unknown solver type displacementLaplacian Valid solver types : 7(coded displacementInterpolation displacementLayeredMotion multiSolidBodyMotionSolver sixDoFRigidBodyMotion solidBody velocityDisplacement) file: /OpenFOAM-v2012/myProject/tutorials/floatingPorousPimpleFoam/Condition1_Uin=1.2/constant/dynamicMeshDict at line 18 to 26. From static Foam::autoPtr<Foam::motionSolver> Foam::motionSolver::New(const Foam::polyMesh&, const Foam::IOdictionary&) in file motionSolvers/motionSolver/motionSolver.C at line 137. FOAM exiting
-
mesh_.C()[celli]编译报错@coolhhh 厉害,测试代码copy了。不过,这里直接操作就又可以了