Skip to content
  • [meshing]网格求助

    Meshy
    2
    0 赞同
    2 帖子
    11k 浏览
    L

    @ljpgbl
    这个是全貌
    0_1539505430619_Clip_20181014_162251.png

  • 关于边界层棱柱网格的疑问

    Meshy
    6
    0 赞同
    6 帖子
    10k 浏览
    西湖冷月西

    近壁面网格长宽比本来就很大,如果用RANS计算,有的模型对近壁面y+要求很小,比如SST k-omega要求y+≈1,但是对x+或者z+基本没有明确的限制,为了减少网格数量,一般流向和展向的网格无量纲参数可以在百千量级,这样的话近壁面网格长宽比就会很大,也是可以正常计算的。

  • 0 赞同
    5 帖子
    7k 浏览

    @zhangxc0223
    Hi
    因为并没有做deterministic的模拟,所以code也基本没看过。。
    stochastic collision 在计算collision probablity的时候是有限制的,具体你可以看一下O‘roucke的论文。具体是怎么定义的,怎么得到一个non-dimensional collision probablity的,还有如何决定这两个parcel发生了碰撞。

    虽然碰撞在这个instantaneously 随机的,但是在统计学上,比如你有1M次碰撞的话,总的碰撞的结果就是相似的。
    这也就是为什么stochastic碰撞会比deterministic相对来说’便宜'的原因,通过统计学的方法达到相似的碰撞结果,但是不需要追踪所有的parcel。

    lagnrangian maxCo 存在的意义,个人认为,在一定程度上可以理解为再一次离散了每个euler time step,所以maxCo一定程度上决定了每个lagrangian time step的大小,和Euler 的Co 定义是相似的。

    碰撞是不会被错过的,因为deterministic理论上来说是追踪所有的parcel,所以下一步这个parcel会在哪,走的路径应该也是计算的,所以不会存在错过的,stochastic collision 会计算两个parcel的碰撞概率,当概率很高的时候,也是不会错过的,而且就算是这次错过了,在茫茫parcel海中,总会碰到的。。统计学上是不会错过的

    以上仅为个人理解

  • 同心圆柱体wedge的使用

    OpenFOAM
    4
    0 赞同
    4 帖子
    3k 浏览
    K

    @Kong action用的是delete也不行,或者🧵new建立一个obstacal然后再invert也没有成功删除

  • 一维Sod激波管问题

    Algorithm
    5
    0 赞同
    5 帖子
    8k 浏览
    李东岳

    其实一楼这个问题我还是有点没想明白。就是一个x方向的一维算例,出现了y方向的速度,应该如何理解..

  • GPU VS CPU

    Algorithm
    7
    0 赞同
    7 帖子
    15k 浏览
    MicroM

    @程迪 在 GPU VS CPU 中说:

    隐式的得回头修改这个自由度那个自由度

    你好,请问您所说的自由度是什么意思,能够稍微解释一二,不胜感激,谢谢!

  • 管道内的圆柱绕流

    Algorithm
    4
    0 赞同
    4 帖子
    6k 浏览
    李东岳

    @zhaodl 这个目前我尚不清楚

  • Centroid怎么翻译成中文

    Algorithm
    10
    0 赞同
    10 帖子
    13k 浏览
    李东岳

    https://www.wikiwand.com/en/Centroid

    While in geometry the word barycenter is a synonym for centroid, in astrophysics and astronomy, the barycenter is the center of mass of two or more bodies that orbit each other. In physics, the center of mass is the arithmetic mean of all points weighted by the local density or specific weight. If a physical object has uniform density, its center of mass is the same as the centroid of its shape.

  • 0 赞同
    3 帖子
    5k 浏览
    B

    尖的地方可以试试将多余的节点进行合并成一个节点映射到尖尖的点上,然后对锥块做一个Y剖,但是这样的话在尖尖位置的网格要么太密要么质量差

  • OpenFOAM 粗糙度

    OpenFOAM
    13
    0 赞同
    13 帖子
    19k 浏览

    @Regina roughnessHeight是粗糙度高度,不同的材料有着不同的参数,roughnessConstant是粗糙度常数的意思,fluent默认0.5;其他的就不清楚了,抱歉

  • Pointwise画网格遇到了奇怪问题

    Meshy
    2
    0 赞同
    2 帖子
    5k 浏览
    H

    有没有试过改project type?

    我只做过把domain投影到database上面,在这个选项里面可以修改投影方式(版本:Pointwise V18.2 R1)

    project.png

  • 0 赞同
    2 帖子
    2k 浏览
    S

    各位大佬好,目前我在用OpenFOAM做多浮体在波浪作用下的数值模拟。有些问题想要请教:
    1、在constant文件夹中有dynamicMeshDict文件,在之前的学习过程中我主要接触到的是sixDoFRigidBodyMotion和rigidBodyMotion这两类求解器。据我目前了解,前者只可以用来模拟单物体,后者可以模拟多物体。不知我理解的是否正确?
    2、在学习过程中,我对一些算例进行sixDoFRigidBodyMotion和rigidBodyMotion这两类求解器的计算结果比较,目前是找到了两个算例,分别是OpenFOAM中tutorials/multiphase/interFoam/RAS/floatingObject以及foamMooring中关于overset的算例,连接如下:https://gitlab.com/hfchen20/foamMooring/-/tree/master/tutorial/rgb_overset?ref_type=heads
    我对这两个算例都分别使用采用sixDoFRigidBodyMotion和rigidBodyMotion的dynamicMeshDict进行了试算比较。然后发现计算得到的结果,如物体的位移、旋转的角度时程曲线基本一致。但是当我在此基础上新设算例,就是在dynamicMeshDict中加入一个linearAxialAngularSpring后,再计算出来的结果就会出现较大不同,这可能是哪些原因导致的呢?
    以下是我整理后画出来的时程图:

    floatingObject算例
    微信图片_20240829202727.png 微信图片_20240829202740.png 微信图片_20240829202756.png 微信图片_20240829202807.png 微信图片_20240829202816.png
    上面是没有加linearAxialAngularSpring,下面是加了之后的:
    微信图片_20240829203048.png 微信图片_20240829203056.png 微信图片_20240829203102.png 微信图片_20240829203109.png 微信图片_20240829203117.png

    这是dynamicMeshDict代码对比:

    /*--------------------------------*- 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 dictionary; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dynamicFvMesh dynamicMotionSolverFvMesh; motionSolverLibs (rigidBodyMeshMotion); motionSolver rigidBodyMotion; rigidBodyMotionCoeffs { report on; solver { type Newmark; } accelerationRelaxation 0.7; bodies { floatingObject { type cuboid; parent root; // Cuboid dimensions Lx 0.3; Ly 0.2; Lz 0.5; // Density of the cuboid rho 500; // Cuboid mass mass #eval{ $rho*$Lx*$Ly*$Lz }; L ($Lx $Ly $Lz); centreOfMass (0 0 0.25); transform (1 0 0 0 1 0 0 0 1) (0.5 0.45 0.1); joint { type composite; joints ( { type Py; } { type Ry; } ); } patches (floatingObject); innerDistance 0.05; outerDistance 0.35; } } restraints { /*axialSpring { type linearAxialAngularSpring; body floatingObject; axis (0 1 0); stiffness 10; damping 0; referenceOrientation (1 0 0 0 1 0 0 0 1); }*/ } } // ************************************************************************* // /*--------------------------------*- 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 dictionary; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dynamicFvMesh dynamicMotionSolverFvMesh; motionSolverLibs (sixDoFRigidBodyMotion); motionSolver sixDoFRigidBodyMotion; sixDoFRigidBodyMotionCoeffs { patches (floatingObject); innerDistance 0.05; outerDistance 0.35; centreOfMass (0.5 0.45 0.35); // Cuboid dimensions Lx 0.3; Ly 0.2; Lz 0.5; // Density of the solid rhoSolid 500; // Cuboid mass mass #eval{ $rhoSolid*$Lx*$Ly*$Lz }; // Cuboid moment of inertia about the centre of mass momentOfInertia #codeStream { codeInclude #{ #include "diagTensor.H" #}; code #{ scalar sqrLx = sqr($Lx); scalar sqrLy = sqr($Ly); scalar sqrLz = sqr($Lz); os << $mass *diagTensor(sqrLy + sqrLz, sqrLx + sqrLz, sqrLx + sqrLy)/12.0; #}; }; report on; accelerationRelaxation 0.7; //accelerationDamping 0; solver { type Newmark; } constraints { // fixedPoint // { // sixDoFRigidBodyMotionConstraint point; // centreOfRotation (0.5 0.45 0.1); // } fixedLine { sixDoFRigidBodyMotionConstraint line; centreOfRotation (0.5 0.45 0.1); direction (0 1 0); } fixedAxis { sixDoFRigidBodyMotionConstraint axis; axis (0 1 0); } } /*restraints { axialSpring { sixDoFRigidBodyMotionRestraint linearAxialAngularSpring; axis (0 1 0); stiffness 10; damping 0; referenceOrientation (1 0 0 0 1 0 0 0 1); } }*/ } // ************************************************************************* //

    3.为了搞清楚linearAxialAngularSpring,我还试着对tutorials/incompressible/pimpleFoam/RAS/wingMotion进行改写。因为这个算例中的dynamicMeshDict文件里使用了linearAxialAngularSpring。但是在原版的算例中,其使用的是sixDoFRigidBodyMotion,我想要将他改成rigidBodyMotion,但是我改后的算例只能算0.20s左右就会发散。在此我想请教一下有没有人做过类似的工作,能不能请教一下经验。
    下面是我改的dynamicMeshDict文件:

    /*--------------------------------*- 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 dictionary; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dynamicFvMesh dynamicMotionSolverFvMesh; motionSolverLibs ("librigidBodyMeshMotion.so"); motionSolver rigidBodyMotion; //accelerationRelaxation 0.4; updateControl timeStep; updateInterval 1; rho rhoInf; rhoInf 1; rigidBodyMotionCoeffs { report on; solver { type symplectic; } rho rhoInf; rhoInf 1; bodies { wing { type rigidBody; parent root; mass 22.9; centreOfMass (0.2474612746 -0.02371895744 0); inertia (1.958864357 0 0 3.920839234 0 2.057121362); // Transformation tensor and centre of rotation transform (0.9953705935 0.09611129781 0 -0.09611129781 0.9953705935 0 0 0 1) (0.25 0.007 0.125); angularMomentum (0 0 -2); joint { type composite; joints ( { type Py; } { type Rz; } ); } patches (wing); innerDistance 0.3; outerDistance 1; } } restraints { verticalSpring { type linearSpring; body wing; anchor (0.25 0.007 0.125); refAttachmentPt (0 0 0); stiffness 4000; damping 2; restLength 0; } axialSpring { type linearAxialAngularSpring; body wing; axis (0 0 1); stiffness 700; damping 0.5; referenceOrientation (0.9953705935 0.09611129781 0 -0.09611129781 0.9953705935 0 0 0 1); } } } // ************************************************************************* //
  • 0 赞同
    1 帖子
    2k 浏览

    半新手,看其他论坛上可以实现这样的操作,即把一个复杂的几何体分成多部分分别划分网格之后再进行拟合,但是我自己试了下建块merge后导入到fluent中出错,请问该如何操作呢?不胜感激

  • 边界层网格加密如何实现的呢?

    Meshy
    5
    0 赞同
    5 帖子
    9k 浏览
    L

    adept

  • 0 赞同
    1 帖子
    3k 浏览

    2422ba2b-f9b8-402e-936e-8075325aae10-image.png 例如我生成一个part名字叫多“cavity1”,但是导入到fluent里面会多出“cavity1:007,cavity1:008,cavity1:008shadow,”这几个边界fb6ad2d6-0c7d-4266-a7b4-fa752482f0a6-image.png 。相应的网格也被分裂出好多细块。微信图片_20190126110946.jpg 微信图片_20190126110950.jpg

  • 《无痛苦N-S方程笔记》小错误

    Algorithm
    1
    0 赞同
    1 帖子
    2k 浏览

    今天空闲时间又看了一遍笔记发现有些笔误:
    P9-第三章第一节第二段第五行“将手竖直的防止在水中” 应为“将手竖直的放置在水中”

  • 0 赞同
    5 帖子
    4k 浏览
    S

    @chenboyao 在 寻求帮忙看看采用重叠网格对平台做自由衰减后自由衰减曲线不符合衰减曲线的原因 中说:

    我采用重叠网格对浮式平台做自由衰减,结果自由衰减的数据曲线到最后不符合自由衰减的趋势,而是还向下偏移了,不知道是什么情况造成的,希望有人帮我看看一下,为什么会出现这种情况。
    Screenshot from 2024-06-17 09-20-41.png

    您好,请问您的自由衰减实验做成功了嘛?我现在也在做浮式平台的自由衰减实验,也遇到过类似的问题,想很您交流一下:chouchou:

  • 0 赞同
    2 帖子
    1k 浏览
    V

    这个是当我把水的物性从常数改为多项式后遇到的问题
    Courant Number mean: 0.134868655 max: 0.237479859
    deltaT = 3.4820232e-06
    Time = 0.00378807

    PIMPLE: iteration 1
    MULES: Solving for alpha.gas
    MULES: Solving for alpha.liquid
    gas fraction, min, max = 0.00155200072 1e-15 0.0672465558
    liquid fraction, min, max = 0.998447999 0.932753444 1
    Phase-sum volume fraction, min, max = 1 0.999994574 1.00026614
    MULES: Solving for alpha.gas
    MULES: Solving for alpha.liquid
    gas fraction, min, max = 0.00155951826 1e-15 0.0674835707
    liquid fraction, min, max = 0.998440482 0.932516429 1
    Phase-sum volume fraction, min, max = 1 0.999994794 1.00025528
    MULES: Solving for alpha.gas
    MULES: Solving for alpha.liquid
    gas fraction, min, max = 0.00156703579 1e-15 0.0677203557
    liquid fraction, min, max = 0.998432964 0.932279644 1
    Phase-sum volume fraction, min, max = 1 0.999995014 1.00025493
    Constructing momentum equations
    Tf.gasAndLiquid: min = 350.131001, mean = 456.035361, max = 549.778465
    iDmdt.gasAndLiquid: min = -0.959612341, mean = 11.8287784, max = 447.419943, integral = 0.000182163188
    wDmdt.gasAndLiquid: min = 0, mean = 138.094307, max = 5727.35791, integral = 0.00212665234
    smoothSolver: Solving for e.gas, Initial residual = 0.104953394, Final residual = 1.40390231e-09, No Iterations 2
    smoothSolver: Solving for e.liquid, Initial residual = 0.282448508, Final residual = 6.30884149e-18, No Iterations 2
    [stack trace]

    #1 Foam::sigFpe::sigHandler(int) in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
    #2 ? in /lib/x86_64-linux-gnu/libpthread.so.0
    #3 Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&) in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
    #4 void Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so
    #5 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so
    #6 Foam::heatTransferModels::RanzMarshall::K(double) const in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so
    #7 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::BlendedInterfacialModelFoam::heatTransferModel::evaluate<double, Foam::fvPatchField, Foam::volMesh, double>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > (Foam::heatTransferModel::*)(double) const, Foam::word const&, Foam::dimensionSet const&, bool, double) const in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so
    #8 Foam::BlendedInterfacialModelFoam::heatTransferModel::K(double) const in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so
    #9 Foam::ThermalPhaseChangePhaseSystem<Foam::PhaseTransferPhaseSystem<Foam::TwoResistanceHeatTransferPhaseSystem<Foam::MomentumTransferPhaseSystemFoam::multiphaseSystem > > >::correctInterfaceThermo() in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib/libreactingMultiphaseSystem.so
    #10 ? in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/bin/reactingMultiphaseEulerFoam
    #11 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
    #12 ? in /usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/bin/reactingMultiphaseEulerFoam

  • fluent meshing.怎样找到意外出现的baffles

    Meshy
    2
    0 赞同
    2 帖子
    4k 浏览
    taiwangwsgT

    可以在join/intersect里面查找一下看看。

  • 每次打开虚拟机,都很震撼

    CFD彩虹条
    6
    0 赞同
    6 帖子
    8k 浏览
    bestucanB

    @东岳 是的,还在朋友圈看见老师说以后邀请您来杭州:chouchou: