Skip to content
  • 最新
  • Categories
  • 东岳流体
  • 随机看[请狂点我]
Skins
  • 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

  • Default (No Skin)
  • No Skin
Collapse
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 以DTCHullWave算例为例 ,使用dynamicmeshDict计算船舶波浪增阻,这里参数的意义是我所标注的这个意思吗?

以DTCHullWave算例为例 ,使用dynamicmeshDict计算船舶波浪增阻,这里参数的意义是我所标注的这个意思吗?

Scheduled Pinned Locked Moved OpenFOAM
15 Posts 5 Posters 13.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Z Offline
    Z Offline
    zqliu012345
    wrote on last edited by 李东岳
    #1
    dynamicFvMesh   dynamicMotionSolverFvMesh;
    
    motionSolverLibs   ("librigidBodyMeshMotion.so");//求解所用的库
    
    motionSolver    rigidBodyMotion;
    
    report          on;//在终端输出相关信息
    
    solver
    {
        type Newmark;//求解器的显性或隐性,一阶或者二阶
    }
    
    accelerationRelaxation 0.4;//修正因子,openfoam百科上说一般取0.9-1
    
    bodies
    {
          hull
        {
            type            rigidBody;//定义hull的类型为刚体
            parent          root;//不知道什么意思
    
            centreOfMass    (0 0 0);//重心
            mass            412.73;//质量
            inertia         (40 0 0 921 0 921);//这个不知道是什么意思```
            transform       (1 0 0 0 1 0 0 0 1) (2.929541 0 0.2);//这个不知道是什么意思
            joint//这个子字典不知道什么意思  猜测是和下面的restraints有关,Pz对应下面的translaterDamper  即在垂向上不进行约束,并指定垂向运动的阻尼系数。Ry对应下面的totationDamper,即在绕y轴旋转上不进行约束,并指定旋转阻尼系数
            {
                type    composite;
                joints
                (
                    {
                        type Pz;
                    }
                    {
                        type Ry;
                    }
                );
            }
    
            patches         (hull);//钢体面名字
            innerDistance   0.3; //在0.3范围内的网格随刚体一起移动,在1以外的网格不发生变形,在0.3-1之间的网格发生变形
            outerDistance   1;
        }
    }
    
    restraints//这个不知道和constraints有什么区别
    {
        translationDamper
        {
            type linearDamper;//线性的 与位移成正比
            body hull;
            coeff 8596; //垂向阻尼系数
        }
    
        rotationDamper
        {
            type sphericalAngularDamper;  //与角速度成正比
            body hull;
            coeff 11586;//绕y轴旋转的阻尼系数。
        }
    }
    
    
    // ************************************************************************* //
    

    还有一个问题就是自己仿照DTCHullwave算例计算一艘kcs的船,算了0.76秒 paraview查看发现这个船一直下沉,纵倾的幅度很小很小,不仔细看都看不出来。请各位有经验的前辈给予一定的指导。

    Z 1 Reply Last reply
  • towerT Offline
    towerT Offline
    tower
    wrote on last edited by
    #2

    joint 部分 Pz的意思可以沿着z轴直线运动 Ry的意思是可以绕y轴旋转 inertia的话我的理解是转动惯量 不是零的值分别代表Ixx Iyy izz :mihu:

    Z 1 Reply Last reply
  • Z Offline
    Z Offline
    zqliu012345
    replied to tower on last edited by
    #3

    @tower 万分感谢,还有一个很奇怪的是,TChull的船纵向坐标是0——6m,但这里的centreofmass(应该是重心坐标吧)纵坐标确是0,请问这个是什么原因呢?

    1 Reply Last reply
  • 一 Offline
    一 Offline
    一朵苍凉
    wrote on last edited by
    #4

    个人理解:这里的centerofmass设置为(0 0 0 )应该是固船坐标系的意思,在势流理论里面,可以通过取固定在物体重心处的坐标系来将物体匀速运动的问题转化成固定流速物体的绕流问题,大大简化计算。所以如果船舶只有航速贸易放开自由度,取这个坐标系是可以将船舶匀速运动的问题转化成船舶绕流问题的,这样就可以把非定常问题简化成定常问题了。

    S 1 Reply Last reply
  • S Offline
    S Offline
    souliam
    replied to 一朵苍凉 on last edited by
    #5

    @一朵苍凉 不知道您能不能帮我看下我的算例,看看那儿可以优化以下?我的算例是重叠网格进行自由运动计算。运算几步以后就崩了,运动不对,但不知道那儿存在问题,可以的话,我上传详细的细节给您。1.png 2.png

    一 1 Reply Last reply
  • 一 Offline
    一 Offline
    一朵苍凉
    replied to souliam on last edited by
    #6

    @souliam
    运行很快崩溃的话,可能是存在非常致命的问题。首先确保网格是mesh ok的,然后确保物体的几何属性例如质量惯性矩这些都没问题,如果还是很快crash的话,可以适当增大pimple求解的外循环次数。

    S 2 Replies Last reply
  • S Offline
    S Offline
    souliam
    replied to 一朵苍凉 on last edited by
    #7

    @一朵苍凉 这个算例我在商软starccm+里面已经算过,目前在openfoamv2012进行同样的计算。网格仿造DTChull算例,利用snappyHexMesh生成,我的求解文件输出是这样的,运动输出的6Dof结果感觉比较大,所以我认为可能是我的dynamicsMeshdict文件可能有问题,但不知道那儿有问题,您方便的话,再帮我看以下,指点一二,感谢。
    Create time

    Create mesh for time = 0

    Selecting dynamicFvMesh dynamicOversetFvMesh
    Selecting motion solver: sixDoFRigidBodyMotion
    Applying solid body motion to entire mesh
    Selecting sixDoFSolver Newmark
    Translational constraint tensor (0 0 0 0 0 0 0 0 1)
    Rotational constraint tensor (1 0 0 0 1 0 0 0 1)

    PIMPLE: no residual control data found. Calculations will employ 2 corrector loops

    Using LTS
    Reading field p_rgh

    Reading field U

    Reading/calculating face flux field phi

    Creating cellMask field to block out hole cells

    Creating interpolatedCells field

    Reading transportProperties

    Selecting incompressible transport model Newtonian
    Selecting incompressible transport model Newtonian
    Selecting turbulence model type RAS
    Selecting RAS turbulence model kEpsilon
    RAS
    {
    RASModel kEpsilon;
    turbulence on;
    printCoeffs on;
    Cmu 0.09;
    C1 1.44;
    C2 1.92;
    C3 0;
    sigmak 1;
    sigmaEps 1.3;
    }

    Reading g

    Reading hRef
    Calculating field g.h

    No MRF models present

    No finite volume options present
    DICPCG: Solving for pcorr, Initial residual = 1, Final residual = 9.39433050916e-07, No Iterations 467
    Reading/calculating face velocity Uf

    Starting time loop

    Flow time scale min/max = 8.6866267787e-07, 0.0291922459613
    Smoothed flow time scale min/max = 8.6866267787e-07, 0.0291922459613
    Time = 0.001

    PIMPLE: iteration 1
    forces forces:
    rho: rho
    Not including porosity effects

    Restraint translationDamper: force (-0 -0 -0)
    Restraint rotationDamper: moment (-0 -0 -0)
    6-DoF rigid body motion
    Centre of rotation: (0 0 -0.461009082997)
    Centre of mass: (0 0 -0.461009082997)
    Orientation: (0.999999999122 -4.18404783667e-05 2.19816547713e-06 4.18405388615e-05 0.999999998746 -2.75277355352e-05 -2.19701370075e-06 2.75278274834e-05 0.999999999619)
    Linear velocity: (0 0 0.0218340063689)
    Angular velocity: (0.0550532334843 0.00439510067628 0.0836815815307)
    cellVolumeWeight : detected 2 mesh regions

    zone:0 nCells:1428000
    zone:1 nCells:1108410
    

    Marking patch-cells on zone 0
    Marking patch-cells on zone 1

    After patch analysis : nCells : 2536410
    other : 2371976
    patch : 141190
    overset: 23244

    Creating mesh-to-mesh addressing for region0 and region0 regions using cellVolumeWeight
    meshToMesh: Using AABBTree method
    Overlap volume: 2.68136988135
    cellVolumeWeight : detected 3 mesh regions after overset

    Front : fraction:1 size:23970
    Overset analysis : nCells : 2536410
    calculated : 2512836
    interpolated : 23432
    hole : 142

    Execution time for mesh.update() = 56.91 s
    smoothSolver: Solving for alpha.water, Initial residual = 1.32501360637e-07, Final residual = 5.40621940608e-09, No Iterations 1
    Phase-1 volume fraction = 0.80497110631 Min(alpha.water) = 0 Max(alpha.water) = 1.00094392533
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    Phase-1 volume fraction = 0.804971106201 Min(alpha.water) = -5.22912457509e-16 Max(alpha.water) = 1.00094392533
    smoothSolver: Solving for alpha.water, Initial residual = 1.32287726888e-07, Final residual = 5.33117835751e-09, No Iterations 1
    Phase-1 volume fraction = 0.80497110685 Min(alpha.water) = -3.28734455684e-21 Max(alpha.water) = 1.00148843719
    Applying the previous iteration compression flux
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    Phase-1 volume fraction = 0.804971106742 Min(alpha.water) = -3.32478347046e-14 Max(alpha.water) = 1.00148843719
    DILUPBiCGStab: Solving for p_rgh, Initial residual = 1, Final residual = 0.00904252579238, No Iterations 4
    time step continuity errors : sum local = 4.98432915358e-06, global = -4.35030739554e-09, cumulative = -4.35030739554e-09
    DILUPBiCGStab: Solving for p_rgh, Initial residual = 0.000104613428998, Final residual = 9.48129717208e-07, No Iterations 95
    time step continuity errors : sum local = 5.17819342099e-08, global = 9.75203425207e-09, cumulative = 5.40172685653e-09
    smoothSolver: Solving for epsilon, Initial residual = 0.00318321052028, Final residual = 5.00754349231e-05, No Iterations 2
    bounding epsilon, min: -0.00891808144257 max: 106.248958364 average: 1.03357845974
    smoothSolver: Solving for k, Initial residual = 0.999999999979, Final residual = 0.0989395295117, No Iterations 1
    PIMPLE: iteration 2
    smoothSolver: Solving for alpha.water, Initial residual = 1.5141031309e-05, Final residual = 5.25145730347e-09, No Iterations 2
    Phase-1 volume fraction = 0.804973015496 Min(alpha.water) = -7.90828268587e-26 Max(alpha.water) = 1.00074698501
    Applying the previous iteration compression flux
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    Phase-1 volume fraction = 0.804972981578 Min(alpha.water) = -0.000375075266952 Max(alpha.water) = 1.00074698501
    smoothSolver: Solving for alpha.water, Initial residual = 1.54146759159e-05, Final residual = 5.35120277128e-09, No Iterations 2
    Phase-1 volume fraction = 0.804974867545 Min(alpha.water) = -4.8534415386e-10 Max(alpha.water) = 1.0014871078
    Applying the previous iteration compression flux
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    MULES: Correcting alpha.water
    Phase-1 volume fraction = 0.80497478029 Min(alpha.water) = -0.000141219315799 Max(alpha.water) = 1.0014871078
    DILUPBiCGStab: Solving for p_rgh, Initial residual = 3.91238817862e-05, Final residual = 9.99981139229e-07, No Iterations 15
    time step continuity errors : sum local = 1.97312896592e-06, global = 8.73490744761e-07, cumulative = 8.78892471617e-07
    DILUPBiCGStab: Solving for p_rgh, Initial residual = 6.95825944208e-06, Final residual = 8.05766273076e-07, No Iterations 19
    time step continuity errors : sum local = 1.37353052288e-06, global = -1.53311028217e-07, cumulative = 7.25581443401e-07
    smoothSolver: Solving for epsilon, Initial residual = 0.0476145055724, Final residual = 0.00249278364183, No Iterations 6
    bounding epsilon, min: -1.06527371456 max: 3100.56090246 average: 2.84781772564
    smoothSolver: Solving for k, Initial residual = 0.79259262557, Final residual = 0.0311989522415, No Iterations 4
    ExecutionTime = 112.02 s ClockTime = 112 s

    Flow time scale min/max = 1.85015907037e-06, 1e+15
    Smoothed flow time scale min/max = 1.85015907037e-06, 0.0296574788498
    Time = 0.002

    PIMPLE: iteration 1
    forces forces:
    rho: rho
    Not including porosity effects

    Restraint translationDamper: force (-0 -0 -187.685118747)
    Restraint rotationDamper: moment (-637.846763149 -50.9216364354 -969.534803614)
    6-DoF rigid body motion
    Centre of rotation: (0 0 -0.459430003293)
    Centre of mass: (0 0 -0.459430003293)
    Orientation: (0.998240479028 -0.0584060732538 0.0102311601265 0.058508037056 0.998237177305 -0.00996731887657 -0.00963097244877 0.0105483862658 0.999897982755)
    Linear velocity: (0 0 3.13632540091)
    Angular velocity: (6.05745573944 18.6026037453 117.298982883)
    cellVolumeWeight : detected 2 mesh regions

    zone:0 nCells:1428000
    zone:1 nCells:1108410
    

    Marking patch-cells on zone 0
    Marking patch-cells on zone 1

    After patch analysis : nCells : 2536410
    other : 2371976
    patch : 141190
    overset: 23244

    Creating mesh-to-mesh addressing for region0 and region0 regions using cellVolumeWeight
    meshToMesh: Using AABBTree method
    Overlap volume: 2.67649933669
    cellVolumeWeight : detected 4 mesh regions after overset

    Front : fraction:1 size:24277
    Overset analysis : nCells : 2536410
    calculated : 2512742
    interpolated : 23425
    hole : 243

    Execution time for mesh.update() = 54.91 s
    [3] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
    [3] #1 Foam::sigFpe::sigHandler(int) at ??:?
    [3] #2 ? in /lib/x86_64-linux-gnu/libpthread.so.0
    [3] #3 Foam::symGaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> 一堆错误提示省略

    Primary job terminated normally, but 1 process returned
    a non-zero exit code. Per user-direction, the job has been aborted.


    mpirun noticed that process rank 3 with PID 0 on node dell-optiplex-7070 exited on signal 8 (Floating point exception).

    1 Reply Last reply
  • S Offline
    S Offline
    souliam
    replied to 一朵苍凉 on last edited by
    #8

    @一朵苍凉 dynamicMeshDict 这时我的6自由度文件

    一 1 Reply Last reply
  • 一 Offline
    一 Offline
    一朵苍凉
    replied to souliam on last edited by
    #9

    @souliam 看起来你释放了一个平动和三个转动,不确定你的惯性矩等几何参数设置是否正确。为什么浮体网格表面看起来那么稀?

    S 1 Reply Last reply
  • S Offline
    S Offline
    souliam
    replied to 一朵苍凉 on last edited by
    #10

    @一朵苍凉 惯性矩这个我再确认一下,谢谢!上图显示的不是浮体表面网格,是背景网格和重叠区域网格的叠加一起。 目前的centerofmass以及orientation,在我的理解中似乎是一样的物理意义,质心?

    一 1 Reply Last reply
  • 一 Offline
    一 Offline
    一朵苍凉
    replied to souliam on last edited by
    #11

    @souliam 这个centerofmass是质心,orientation应该是旋转中心吧,一般可以默认旋转中心在质心处(个人理解)。

    S 2 Replies Last reply
  • S Offline
    S Offline
    souliam
    replied to 一朵苍凉 on last edited by
    #12

    @一朵苍凉 好的,我认同你的解释,

    1 Reply Last reply
  • S Offline
    S Offline
    souliam
    replied to 一朵苍凉 on last edited by
    #13

    @一朵苍凉 非常谢谢你!

    1 Reply Last reply
  • Z Offline
    Z Offline
    zqliu012345
    replied to zqliu012345 on last edited by
    #14

    @zqliu012345
    在DTCHullMoveing的算例中使用的是运动求解器你是rigidBodyMotion求解器,对于这个求解器的参数而言
    其中是centreOfMass 这个参数表示的是重心在旋转重心的相对位置,而不是表面意思理解的中心的全局坐标,他要跟transform配合使用的一般transform的第一个括号表示坐标系不旋转(因为前面就是一个单位矩阵)后面括号的坐标是旋转中心,如下图所示(interFoam中的floatingObject算例)(0.5 .45 0.1)是这个附体的旋转中心,而他的重心的全局坐标不是上面的centreOfMass 是 这个变量表示重心和旋转重心在三个方向的距离,因为需要进行加减才能得到重心,这里他的重心(质心)就是(0.5+0,0.45+0, 0.1+0.25)即(0.5 0.45 0.35)
    2bbf380f-a342-4ca0-b948-f593dd49ad95-image.png

    对于把重心当做旋转中心的情况 centreOfMass 里面就是全都是0 transform第一个括号都不变,第二个括号里面是重心的全局坐标(DTCHull算例就是这种情况 因此 他的centreofMass是(0 0 0))

    1 Reply Last reply
  • S Offline
    S Offline
    Sichan
    wrote on last edited by
    #15

    您好,我想在您这个回答的基础上再问一个问题。由于在rigidBodyMotion求解器中,centraOfMass是相对于centraOfRotation,那么sixDoFRigidBodyMotion求解器中的momentOfInertia改成rigidBodyMotion求解器中的interia应该做何种变换呢?

    1 Reply Last reply

  • Login

  • Login or register to search.
  • First post
    Last post
0
  • 最新
  • Categories
  • 东岳流体
  • 随机看[请狂点我]