速度出口边界条件有问题,改成防止回流的边界条件就可以。
一朵苍凉
帖子
-
-
参照一篇论文在做圆柱入水问题,该论文是基于star CCM+计算了均匀风和流速下,圆柱垂直入水问题。想学着使用OpenFOAM复现一下。
网格是基于snappyHexMesh和blockMesh生成的,几何比较简单,网格如下图所示。使用KOmegaSST湍流模型进行计算,近壁面处理使用全壁面函数。发现CN的时间离散格式不支持MULES方法的SubCycles,所以将时间离散格式又改成了Euler,对流项的离散格式除了湍流相关物理量使用upwind格式,其余都使用二阶格式。扩散项使用中心差分格式,oversetInterpolation使用inverseDistance。fvSchemes和fvSolution的设置贴于下方。现在的问题是静水计算没有问题。之前做的其他使用overInterDyMFoam和波浪入射条件的也都没啥问题。因为均匀来流的问题和DTCHull计算船舶阻力的问题很相似,所以边界条件是参照DTCHull算例进行设置的,按照我的理解应该是没有问题的。但是加上来流之后计算就几乎是一提交就崩溃退出。麻烦各位前辈帮忙分析一下原因和解决方法。防沉,手动艾特一下大佬~ @队长别开枪 , @wwzhao
网格布置
初边值条件FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object alpha; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { #includeEtc "caseDicts/setConstraintTypes"//为基类型提供自动的边界条件,oversetPatch和sides inlet { type fixedValue; //提供一个固定值约束 value $internalField; } outlet { type variableHeightFlowRate;//提供基于局部流动条件的相分数条件,其中值被限制在用户定义的下限和上限之间。 lowerBound 0; upperBound 1; value $internalField; } stationaryWalls { type zeroGradient; //从边界面内部场向边界面应用零梯度边界条件 } atmosphere { type inletOutlet;//提供一般流出条件,在有回流的情况下具有指定的流入量 inletValue uniform 0; value uniform 0; } floatingObject { type zeroGradient; //从边界面内部场向边界面应用零梯度边界条件 } } FoamFile { version 2.0; format ascii; class volScalarField; object p_rgh; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -2 0 0 0 0]; internalField uniform 0; boundaryField { #includeEtc "caseDicts/setConstraintTypes"//为oversetPatch和sides指定默认基类型,这里是oversetPatch和sides inlet { type fixedFluxPressure; value $internalField; } outlet { type zeroGradient; } stationaryWalls { type fixedFluxPressure; value $internalField; } atmosphere { type totalPressure; p0 uniform 0; U U; phi phi; rho rho; psi none; gamma 1; value uniform 0; } floatingObject { type fixedFluxPressure; value $internalField; } } FoamFile { version 2.0; format ascii; class pointVectorField; object pointDisplacement; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 0 0 0 0 0]; internalField uniform (0 0 0); boundaryField { #includeEtc "caseDicts/setConstraintTypes"//为基类型提供默认边界条件,oversetPatch和sides inlet { type fixedValue; value uniform (0 0 0); } outlet { type fixedValue; value uniform (0 0 0); } stationaryWalls { type fixedValue; value uniform (0 0 0); } atmosphere { type fixedValue; value uniform (0 0 0); } floatingObject { type calculated; value uniform (0 0 0); } oversetPatch { patchType overset; type zeroGradient; } sides { patchType overset; type zeroGradient; } } FoamFile { version 2.0; format ascii; class volVectorField; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Umean 1.525; mUmean -1.525; dimensions [0 1 -1 0 0 0 0]; internalField uniform ($mUmean 0 0); boundaryField { #includeEtc "caseDicts/setConstraintTypes"//为基类型提供自动的边界条件,主要指oversetPatch和sides inlet { type fixedValue; value $internalField; } outlet { type outletPhaseMeanVelocity; alpha alpha.water; Umean $Umean; value $internalField; } stationaryWalls { type fixedValue; value uniform (0 0 0); } atmosphere { type pressureInletOutletVelocity; tangentialVelocity $internalField; value uniform (0 0 0); } floatingObject { type movingWallVelocity; value uniform (0 0 0); } } FoamFile { version 2.0; format ascii; class volScalarField; object zoneID; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { #includeEtc "caseDicts/setConstraintTypes"//为基类型提供自动的边界条件 inlet { type zeroGradient; } outlet { type zeroGradient; } stationaryWalls { type zeroGradient; } atmosphere { type zeroGradient; } floatingObject { type zeroGradient; } }
运动属性定义
FoamFile { version 2.0; format ascii; class dictionary; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // motionSolverLibs (sixDoFRigidBodyMotion); dynamicFvMesh dynamicOversetFvMesh; solver sixDoFRigidBodyMotion; solver { type Newmark; } sixDoFRigidBodyMotionCoeffs { patches (floatingObject); innerDistance 100.0; outerDistance 101.0; centreOfMass (0 0 0.1); velocity (0 0 -6.1);//下落速度 // Density of the solid rhoSolid 898.38; D 0.05; L 0.2; // Cuboid mass mass 0.3528; // 关于质心的物体转动惯量 momentOfInertia (0.00123 0.00123 1.1025e-4); rhoInf 1; report on; accelerationRelaxation 0.5; accelerationDamping 1.0; solver { type Newmark; } constraints { } restraints { } }
离散格式和求解设置
FoamFile { version 2.0; format ascii; class dictionary; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { //default CrankNicolson 0.5; default Euler; } gradSchemes { //default cellLimited Gauss linear 1; default cellLimited Gauss linear 0.5; grad(U) cellLimited Gauss linear 1; //grad(k) cellLimited Gauss linear 1; //grad(omega) cellLimited Gauss linear 1; grad(yPsi) cellLimited Gauss linear 1.0; } divSchemes { default none; div(rhoPhi,U) Gauss linearUpwind grad(U); div(U) Gauss linear; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss linear; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; //div(phi,k) Gauss linearUpwind default; //div(phi,omega) Gauss linearUpwind default; div(phi,k) Gauss upwind; div(phi,omega) Gauss upwind; } laplacianSchemes { default Gauss linear limited 0.5; } interpolationSchemes { default linear; } snGradSchemes { default limited 0.5; } oversetInterpolation { //method cellVolumeWeight;//一阶精度 method inverseDistance;//二阶精度 } /* oversetInterpolationRequired { //omega; //k; //nut; } */ oversetInterpolationSuppressed { grad(p_rgh); surfaceIntegrate(phiHbyA); } fluxRequired { default no; p_rgh; pcorr; alpha.water; } wallDist//湍流近壁面距离计算 { //method meshWave; method Poisson; } FoamFile { version 2.0; format ascii; class dictionary; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { "cellDisplacement.*" { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0; maxIter 100; } "alpha.water.*" { nAlphaCorr 3; nAlphaSubCycles 2; cAlpha 1; icAlpha 0; MULESCorr yes; nLimiterIter 5; alphaApplyPrevCorr no; solver smoothSolver; smoother symGaussSeidel; tolerance 1e-8; relTol 0; } "pcorr.*" { solver PCG; preconditioner DIC; tolerance 1e-9; relTol 0; } p_rgh { solver PBiCGStab; preconditioner DILU; tolerance 1e-9; relTol 0.01;//松迭代 } p_rghFinal//使用PISO和PIMPLE的时候需要定义最后一个压力修正步 { $p_rgh; relTol 0; } yPsi { solver PBiCGStab; preconditioner DILU; tolerance 1e-6; relTol 0.0; } "(U|k|omega|epsilon).*" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-08; relTol 0; } } PIMPLE { momentumPredictor yes; nOuterCorrectors 5; nCorrectors 2; nNonOrthogonalCorrectors 1; ddtCorr yes; correctPhi no; checkMeshCourantNo yes; //D no moveMeshOuterCorrectors no; turbOnFinalIterOnly no; oversetAdjustPhi no; } relaxationFactors { fields { } equations { ".*" 1; } } cache {}
-
@队长别开枪 您好,我在OF8中编译了ccm26ToFoam,想模拟波物相互作用,转化后的网格checkMesh也是ok的,转化之后的网格我放到OF v1912里面进行计算的(还没编译ccmToFoam),但是相同的设置用OpenFOAM自带的sHM划分的网格可以计算,ccm26ToFoam转化的网格却在0.02s就突然发散了。想问一下有什么解决办法吗?
-
不好意思,我来歪个楼
老师好,
我的问题不是双浮体,是一个浮体上的两个部分,如下图所示,因为想关注月池部分的受力,所以在划分边界面的时候,将船体边界面划分为hull和moonpool两个部分,方便在functionObject中分别监测这两个边界面的受力。但是问题来了,由于释放了两个自由度,现在不知道该怎么定义这本属于一个浮体上的两个边界面的运动属性了。想请问一下这种情况可以定义吗,还是干脆固定自由度得了....... -
@souliam 这个centerofmass是质心,orientation应该是旋转中心吧,一般可以默认旋转中心在质心处(个人理解)。
-
@souliam 看起来你释放了一个平动和三个转动,不确定你的惯性矩等几何参数设置是否正确。为什么浮体网格表面看起来那么稀?
-
@souliam
运行很快崩溃的话,可能是存在非常致命的问题。首先确保网格是mesh ok的,然后确保物体的几何属性例如质量惯性矩这些都没问题,如果还是很快crash的话,可以适当增大pimple求解的外循环次数。 -
@cresendo 嗯呐,回头试试,你把湍流粘度比调大之后,nut的边界条件就可以不使用粗糙度边界条件了吧?我现在觉得DTCHull的nut边界条件使用粗糙度边界条件可能是为了在一定程度上修正粘性阻力被低估的问题......
-
@李东岳 谢谢前辈回复,star ccm+为了程序的鲁棒性,很多参数都有默认设置,所以没有保证完全一致,但是基本上差不多。
-
@一朵苍凉 根据论文查阅发现interFoam确实有低估粘性阻力的趋势
-
自问自答一波,nut的hull壁面条件对摩擦阻力影响很大。看试验的船模情况,需要进行调试。
-
大家好,
我最近在做船舶静水阻力计算,结合试验值进行验证,但是在网格收敛性分析这里就已经卡了两周了。与同学使用star ccm+模拟得到的阻力成分进行了对比,发现压阻力的计算精度还可以,但是摩擦阻力被严重低估。
我使用的版本是OpenFOAM-v1912,网格是自带的blockMesh使用refineMesh多次加密,之后使用snappyHexMesh生成的,使用了snappyHexMesh的边界层生成工具,虽然该工具一直被诟病,经过多次调试,得到了覆盖率超过90%的边界层网格,第一层边界层网格的高度为1.3mm。使用了k-omega SST模型,近壁面处理使用了壁面函数,因此保证了船体壁面大部分满足30<y+<300。
但是由于摩擦阻力的严重低估,导致计算结果和试验值存在10%以上的误差。 熟悉DTCHull算例的朋友知道,nut的船体壁面条件使用的是nutRoughWallFunction,但是我认为船模是光滑的,因此将其改成了nutkWallFunction,这可能是摩擦阻力被低估的一个原因。除此之外,fvScheme和fvSolution以及其他物理量的边界条件基本未作修改。对于湍流变量的初始值,采用cfd-online网站上的turbulence工具进行了估计。
各位前辈有没有什么建议?已经不知道要怎么调了 ,cfd-online上面说有些版本的代码由于壁面切应力的算法问题会导致摩擦阻力低估的问题?有没有人遇到过类似问题?-
图1是网格加密情况;
-
图2是粗网格和实验值对比,差异在10%以上,加密网格之后差异反而更大,因为加密网格后曲线的平衡位置稍稍上移。
-
OpenFOAM粗网格的摩擦阻力分量和star CCM+模拟的摩擦阻力分量对比。
提前谢谢。
-
-
@一朵苍凉
自问自答,先用contour设置alpha.water=0.5的自由面,然后使用calculator选择coord Z定义为surface elevation,接着使用surface elevation的值生成一系列contour,即可得到自由面等高线图。 -
@gemini 谢谢回复,我想知道paraview是否可以得到这样的图,主要是那些等高线不知道如何设置显示。
-
请教大家:
如何得到下图类似的自由面等高线云图呢?应该使用哪个滤镜吗?请有经验的前辈给点建议。
-
@gemini 谢谢回复,但是本例中的波浪是线性规则波,应该不存在波的叠加,浮体在简谐波作用下会产生相应的简谐运动,例如规则波的波面方程为eta=Acos(kx-wt),那么浮体在波浪中产生的运动可能是y=Bcos(kx-wt+phi),这里的相位差应该指的就是这个phi,我不明白比较phi有什么意义?
还有您提到的L1是月池的长度,谢谢 -
各位大佬前辈好,
想问一下有没有做波浪和浮体运动的前辈,一般情况下再进行波浪监测的时候,phase shift也就是相位偏移这个量有什么具体的物理含义呢?
下图是浮体的月池内一处监测得到的无量纲波高响应幅值(RAO),以及相位偏移,我不太理解相位偏移这个物理量有何现实含义,监测这个有啥用以及在CFD中怎么进行监测呢?
谢谢看到此贴并不吝赐教。
-
@oitocfd 谢谢各位前辈,按照前辈的提示,我首先将颜色条选为blue2cyan,然后使用Contour作用于alpha.water,值设置为0.5,可以得到想要的效果。
-
请教paraview中的两相流问题中,将空气设置为不可见,水相设置为蓝色,应该怎么操作呢?
如下面的动画效果所示
谢谢~ -
@李东岳 谢谢前辈,已成功设置。
-
请教一下paraview的问题~
关于paraview中的速度矢量滤镜(glyph),如何设置矢量按其值大小显示呢?
如图所示,该剖面的速度矢量若按其大小显示应该是一个抛物面的形状,现在是均匀显示的,想请问一下如何设置才能使得矢量按值的大小显示呢?
谢谢。 -
@李东岳 谢谢东岳老师。一个朋友给的建议,先生成开尔文波区的几何stl,用sHM对该区域进行体加密~
-
各位前辈好:
sHM自动网格划分相对软件画网格确实方便一些,但是好tricky啊,有没有前辈有sHM加密如图区域网格的经验?图1是star ccm+得到的网格,图2是Jasak的论文里面得到的网格,使用的是navalFoam求解器,有前辈用过吗?
-
@李东岳明白啦,谢谢东岳老师。
-
大家好,关于网格划分有点疑问,就是对于像船舶绕流这样的两相流问题而言,水线附近垂向网格尺寸需要保持不变吗?如果垂向网格尺寸在浮体周围很密,远方流域很稀的话,是造成算例崩掉的原因吗?
官方给出的DTC算例垂向网格是始终一致的,想问一下如果尺寸过渡太剧烈,是造成算例崩溃的主要原因吗? -
@cresendo :emmm你邮箱是不是隐藏了,我没看见诶
-
@cresendo 太感谢了,这个问题困扰我好久了,你也是做海洋结构物吗,感觉咱们方向很像,能不能加个微信想向你请教请教
-
@blookcfd 谢谢回复,续算就是在原来计算的时间步上,重新decompose然后将controlDict调成latestTime进行的。
-
@cresendo 对,我用了这个工具,不是说可以使矩阵更加对角占优以提高求解效率嘛
-
@cresendo 您好,还是之前paraview显示的场出现马赛克状显示混乱的问题,但是完全不影响对受力的求解,您觉得会不会是symmetryPlane的问题?
-
在设置探针的时候,有个fixedLocation的条目可以设置为false,这样的话对于动网格探针应该是会随着网格拓扑更新移动的。
-
@joann 我之前遇到过相分数场不对导致受力振荡然后发散的情况,静水阻力一般甲板不会上浪吧,你还可以检查一下其他边界条件是不是有问题。
-
@joann
嗯,然后计算几秒后也可以再查看一下。 -
@joann
初始相分数场有没有检查一下,我之前也有遇到过这种问题,相分数场设置正确就正常了。 -
@cresendo 谢谢提醒,我就是做了一点点修改,有的时候会产生挺大的问题
-
FYI:
速度场设置出了问题,现已解决。 -
各位前辈好:
我最近在做船舶阻力的模拟,先是使用静网格模拟,得到了还算满意的结果,接着把静网格改成动网格,一开始看结果感觉还算靠谱。如图所示是释放升沉和纵倾两个自由度的船舶阻力模拟的曲线图。
然而由于昨天服务器突然断电,我想从保存的时间步继续运算的时候,才发现一开始设置好的相分数场,在计算了一段时间之后变得非常奇怪,已经不符合物理实际。如下图是一开始设置的相分数场和计算到30s的相分数场的图片。 。断电后在latestTime时间步上继续计算的算例也是算发散了。但是如果重头开始计算是可以计算的。
我的blockMeshDict字典如下:/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v1912 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // scale 1; xL -17.2; //x负向距离 xR 12.9; //x正向距离 yL -8.6; //y负向距离 yR 0; //y正向距离 zB -4.5; //z1 zM1B -0.8;//z2 zM2B -0.05; //z3 zM2T 0.05; //z4 zM1T 0.8;//z5 zT 2.5; // xMesh 26; //x方向网格数目 yMesh 8; //y方向网格数目 z1Mesh 34; //z1方向网格数目 z2Mesh 34; //z2方向网格数目 z3Mesh 10; //z3方向网格数目 z4Mesh 34;//z4方向网格数目 z5Mesh 15;//z5方向网格数目 vertices ( ($xL $yL $zB)//0 ($xR $yL $zB)//1 ($xR $yR $zB)//2 ($xL $yR $zB)//3 ($xL $yL $zM1B)//4 ($xR $yL $zM1B)//5 ($xR $yR $zM1B)//6 ($xL $yR $zM1B)//7 ($xL $yL $zM2B)//8 ($xR $yL $zM2B)//9 ($xR $yR $zM2B)//10 ($xL $yR $zM2B)//11 ($xL $yL $zM2T)//12 ($xR $yL $zM2T)//13 ($xR $yR $zM2T)//14 ($xL $yR $zM2T)//15 ($xL $yL $zM1T)//16 ($xR $yL $zM1T)//17 ($xR $yR $zM1T)//18 ($xL $yR $zM1T)//19 ($xL $yL $zT)//20 ($xR $yL $zT)//21 ($xR $yR $zT)//22 ($xL $yR $zT)//23 ); blocks ( hex (0 1 2 3 4 5 6 7) ($xMesh $yMesh $z1Mesh) simpleGrading (1 1 0.125) hex (4 5 6 7 8 9 10 11) ($xMesh $yMesh $z2Mesh) simpleGrading (1 1 1) hex (8 9 10 11 12 13 14 15) ($xMesh $yMesh $z3Mesh) simpleGrading (1 1 1) hex (12 13 14 15 16 17 18 19) ($xMesh $yMesh $z4Mesh) simpleGrading (1 1 1) hex (16 17 18 19 20 21 22 23) ($xMesh $yMesh $z5Mesh) simpleGrading (1 1 8) ); edges ( ); boundary ( atmosphere { type patch; faces ( (20 21 22 23) ); } outlet { type patch; faces ( (0 4 7 3) (4 8 11 7) (8 12 15 11) (12 16 19 15) (16 20 23 19) ); } inlet { type patch; faces ( (1 5 6 2) (5 9 10 6) (9 13 14 10) (13 17 18 14) (17 21 22 18) ); } bottom { type symmetry; faces ( (0 3 2 1) ); } side { type symmetry; faces ( (0 1 5 4) (4 5 9 8) (8 9 13 12) (12 13 17 16) (16 17 21 20) (2 3 7 6) (6 7 11 10) (10 11 15 14) (14 15 19 18) (18 19 23 22) ); } ); mergePatchPairs ( );
将前后两个边界面都划分到side这一个boundary里面,不知道是不是导致问题的原因。
setFields字典如下:(水线位置在z=0处)/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v1912 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // defaultFieldValues ( volScalarFieldValue alpha.water 0 ); regions ( // Set cell values // (does zerogradient on boundaries) boxToCell { box (-999 -999 -999) (999 999 0); fieldValues ( volScalarFieldValue alpha.water 1 ); } // Set patch values (using ==) boxToFace { box (-999 -999 -999) (999 999 0); fieldValues ( volScalarFieldValue alpha.water 1 ); } ); // ************************************************************************* //
alpha.water的边界条件如下所示:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v1912 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object alpha; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { #includeEtc "caseDicts/setConstraintTypes" inlet { type fixedValue; value $internalField; } outlet { type variableHeightFlowRate; lowerBound 0; upperBound 1; value $internalField; } atmosphere { type inletOutlet; inletValue $internalField; value $internalField; } hull { type zeroGradient; } } // ************************************************************************* //
请有经验的前辈给点建议,谢谢。
-
最后一张图是X方向的受力,也就是船的阻力。
谢谢回复 ,如您所言,setFields确实有问题,我设置的值正好等于流体域边界值,当时没有检查其实边界处的相分数没有完全赋值。将setFields中的box范围改成稍大于流体域就可以正常求解了。我本来还以为是数值振荡这么严重呢,都想离散格式精度调低看看了。现在看来,还是物理模型导致的振荡才更严重。 -
各位前辈好,
本人最近在学习使用OpenFOAM进行船舶阻力模拟,参照的是DTCHull算例的设置,对网格进行了重新划分,湍流变量的初始值进行了重新计算。参照的是https://scholar.google.com/scholar?q=Uncertainty+analysis+in+ship+resistance+prediction+using+OpenFOAM&hl=zh-CN&as_sdt=0&as_vis=1&oi=scholart
该论文中提供的公式,对KOmegaSST模型的k、omega和nut值进行了重新计算。船的航速为1.057m/s,计算得到k的初始值为0.00067,omega的初始值为59.07,nut的初始值为0.00002。DTCHull这个算例在限制船舶所有自由度的情况下,差不多求解50步就基本收敛了,而且几乎没有振荡。而我的算例阻力振荡非常严重,求解到20000步的时候已经振荡到无界然后发散了。而且浮力有越来越小的趋势。 目前没有对矩阵求解和方程离散格式做任何改动,不太明白如此振荡的原因在哪里?请有经验的前辈指点一二,感激不尽。 -
个人理解:这里的centerofmass设置为(0 0 0 )应该是固船坐标系的意思,在势流理论里面,可以通过取固定在物体重心处的坐标系来将物体匀速运动的问题转化成固定流速物体的绕流问题,大大简化计算。所以如果船舶只有航速贸易放开自由度,取这个坐标系是可以将船舶匀速运动的问题转化成船舶绕流问题的,这样就可以把非定常问题简化成定常问题了。
使用overInterDyMFoam计算均匀来流的圆柱入水问题
使用overInterDyMFoam计算均匀来流的圆柱入水问题
讨论下与openfoam匹配的画网格软件
OpenFOAM动网格疑问,求助:想求解两个浮体的六自由度运动
以DTCHullWave算例为例 ,使用dynamicmeshDict计算船舶波浪增阻,这里参数的意义是我所标注的这个意思吗?
以DTCHullWave算例为例 ,使用dynamicmeshDict计算船舶波浪增阻,这里参数的意义是我所标注的这个意思吗?
以DTCHullWave算例为例 ,使用dynamicmeshDict计算船舶波浪增阻,这里参数的意义是我所标注的这个意思吗?
interFoam求解器计算出的摩擦阻力被低估
interFoam求解器计算出的摩擦阻力被低估
interFoam求解器计算出的摩擦阻力被低估
interFoam求解器计算出的摩擦阻力被低估
interFoam求解器计算出的摩擦阻力被低估
如何得到自由面等高线云图?
如何得到自由面等高线云图?
如何得到自由面等高线云图?
论文小白有关phase shift的疑问
论文小白有关phase shift的疑问
paraview中将空气设置为不可见,水相设置为蓝色?
paraview中将空气设置为不可见,水相设置为蓝色?
paraview中的glyph滤镜设置问题
paraview中的glyph滤镜设置问题
有前辈用过sHM进行开尔文波区加密吗?
有前辈用过sHM进行开尔文波区加密吗?
两相流计算时水线附近垂向网格尺寸需要保持不变吗?
两相流计算时水线附近垂向网格尺寸需要保持不变吗?
关于setFields工具设置的一些疑问
关于setFields工具设置的一些疑问
关于setFields工具设置的一些疑问
关于setFields工具设置的一些疑问
关于setFields工具设置的一些疑问
请教后处理中,关于探针的使用方法
网格变细后液面不正常
网格变细后液面不正常
网格变细后液面不正常
关于setFields工具设置的一些疑问
关于setFields工具设置的一些疑问
关于setFields工具设置的一些疑问
船舶阻力求解发散求助(静网格)
船舶阻力求解发散求助(静网格)
以DTCHullWave算例为例 ,使用dynamicmeshDict计算船舶波浪增阻,这里参数的意义是我所标注的这个意思吗?