首页/文章/ 详情

CFD-DEM方法在气泡下扫与冰区船方面应用介绍_哈工程

5月前浏览311

郭春雨 吴铁成 骆婉珍

指导教师:郭春雨 教授

哈尔滨工程大学船模水池实验室

2017.06.27

一  简介

二 STAR-CCM+中的DEM

三 气泡下扫问题

四  冰区船碎冰航道航行阻力

五  总结与展望

一、简介

1.船模水池实验室

  •  简介

哈尔滨工程大学船舶工程学院“船模水池实验室”主要研究重点集中于舰船推进与节能技术研究、舰船航行性能实验技术研究等方面。实验室具有国际先进的PIV水下测量系统等先进测量设备。近年来承担国家级项目多项,获得国家发明专利多项,学术论文多篇。

  •   研究方向与研究重点

                •   船舶快速性与优化

                •   船舶水动力节能装置

                •   吊舱推进器、喷水推进器、仿生推进器等特种推进器

                •   破冰船与冰区航行船舶

                •   气泡流对声呐干扰

                •   水下PIV精细流场测量


c75a5f71-907b-4539-aafe-05a59d90367a.png

二、 STAR-CCM+中的DEM

1. 问:为什么应用STAR-CCM+中的DEM ?

image.png

答:STAR-CCM+是目前第一个也是唯一一个CFD、 DEM以及CFD-DEM耦合在同一软件包下的商业软件 ,且具有适用于船舶行业的VOFwave、 DFBI、 OVERSET MESH 等模块。

2. STAR-CCM+DEM简介

DEM方法最早由Cundall 和 Strack [1] 创立 ,可以看作为包含密集粒子流的拉格朗日多项流的扩展。 用来模拟大量致密堆积的不同尺寸大小、不同形状的颗粒行为。

能精确和快速模拟大量固体颗粒的运动和接触

        •  颗粒可以是非球形的 ,具有很多不同的尺寸——平整冰, 浮冰,碎冰粒子, 沙石等

        •  能和周围流体做耦合

image.png

 复杂问题在一个单一的集成环境下处理

        •  第一个完整集成的CAE软件——DEM可以与多种模型相互耦合应用

        •  不是通过映射或软件-软件通讯

        •  无 需 多 个 软 件 工 具licenses授权


image.png

3. 典型的DEM粒子形式


image.png

  •  球形颗粒

                •  球形DEM颗粒承受的作用力跟Lagrangian颗粒相的一样 ,外加由于旋转产生的力和力矩——旋转升力;旋转阻力矩

                •  考虑颗粒的体积分数

  • 圆柱颗粒

                •  非球形基本粒子

                •  精准的表征圆柱体形状——具有众多接触情况;考虑边线接触;精准模拟颗粒面之间的相互滑移

                •  减少计算时间——免除应用复合粒子(复合圆柱粒子至少需要20个小球) ;相比符合粒子圆柱粒子边界接触更精准

   30eb6826-1bcc-4798-908b-d325da07bd8a.png
image.png

  • 粗颗粒粒子

                    •   DEM粒子包代表一定数量的等同的未求解颗粒

                    ——流体-颗粒相互作用( 曳力, 升力等) 在一个表征性的小尺寸进行求解 ,并施加到整个粒子包上;碰撞动力学是在粒子包尺度上进行计算。

  •  复合粒子

                •  任意形状:形状编辑器---自定义每个球的大小及位置;填充指定形状---基于给定的Part形状 ,软件

                自动填充

                ——DEM复合颗粒是由很多球形颗粒组合成的刚性颗粒 ,作为一个具有更复杂形状的单一粒子。

                ——升力、 曳力和自旋力作用在复合颗粒的质心 ,这些力的计算是基于该质心点的流场求解获得。

                ——每个复合颗粒有一个球形度属性相关的形状 ,用来计算颗粒的曳力;

                ——复合颗粒形状能基于CAD几何自动创建

   粒子团块

                •  任意形状:形状编辑器---自定义每个球的大小及位置;填充指定形状---基于给定的Part形状 ,软件自动填充

                ——粒子团块可变形的

                ——组成粒子团块的小球之间的力通过平行键模型( Parallel Bonds Model )引入 ,力和力矩基于相对位置计算

                ——粒子团块可能破碎   ,基于最大拉应力或剪切应力;累计破坏能通过Constant Rate Damage Model进行模拟

                ——对每一个球计算流体-颗粒作用力 ,流过粒子团块范围的流体对整个粒子团块的力的计算产生贡献

image.pngimage.png



三、气泡下扫问题

1. 问题的提出与研究意义

•  影响海洋科考船上声纳设备精确性的主要因素有:机械振动噪声、流体动力噪声、 附体气蚀、螺旋桨空泡噪声、气泡下扫。如果在船底装有声纳部位的下方存在气泡 ,声波可能会被强烈地破环(反射或吸收)。这种现象多年以来一直影响声学勘探的精确度 ,至今仍然是一个重要问题。

image.png

近海平面气泡层示意图(A:湍流区域;B:层流区域;C:气泡层)

2. 数值模拟方法

•  使用欧拉-拉格朗日耦合计算方法进行船舶自由度放开状态时微小气泡下行扫掠运动的数值计算;其中欧拉模型中应用DES来进行流场模拟 ,拉格朗日模型中应用DEM来模拟下行扫掠微气泡以及下行扫掠现象。 其中应用VOF方法对自由液面进行捕捉 ,重叠网格用来对模型的运动捕捉 ,DFBI用来建立运动模型。

•  计算模型为某科考母船光体与带有Gondola船体

image.pngimage.png

Gondola尾涡DES模拟


3. 气泡生成方式

•  使用欧拉法来模拟船舶航行时气泡下行扫掠这种气-液两相流现象 ,气泡随伴流一起运动时的水气交界面需要用8-16个网格来对一个 气泡进行捕捉。 但是船舶航行时产生的气泡数量较多且为毫米尺 度 ,模型的网格数会指数增长 ,进行数值模拟时的计算时间会大 大增加 ,计算效率大打折扣。

•  使用拉格朗日构架下的离散元法( DEM )将离散相的微小气泡定义为拉格朗日粒子 ,粒子为球形单元 ,单元的属性定义为空气的属性 ,这样可以简化运算的复杂程度 ,提高计算效率。

image.pngimage.png

4. 结果

  •  气泡深度对气泡下扫现象的影响

image.png

  •  裸船体与Gondola气泡下扫对比

image.png

a9f1dcd8-8686-4ddb-8712-4a224a11fc60.png

裸船体与Gondola气泡下扫对比

936ab477-4aa8-42c6-88d6-b8ae10c77deb.png

 裸船体与Gondola气泡下扫对比

a9ec4e45-6cdd-4ee5-99af-4ea5b08e7fd2.png


详细内容请见附件


免责声明:


本页面/内容部分素材来源于互联网公 开 信 息,旨在传递更多信息,不代表本平台立场。

版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。

本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。

附件

免费I5-CFD-DEM方法在气泡下扫与冰区船方面应用介绍_哈工程.pdf
Star-CCM+船舶
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-04-30
最近编辑:5月前
仿真支持爱好者
在仿真的路上越走越远
获赞 333粉丝 27文章 318课程 0
点赞
收藏
作者推荐

程序员专用 DSP 算法:数学原理与源码实现

程序员专用DSP算法:数学原理与源码实现((Dsp)AlgorithmsForProgrammers)摘要:《(Dsp)AlgorithmsForProgrammers》是一本面向程序员的DSP算法与数学原理实战手册,聚焦数字信号处理核心算法的数学原理与代码实现。全书系统讲解离散傅里叶变换、基2/基4/分裂基FFT、卷积、Z变换、哈特利变换、数论变换、沃尔什变换、哈尔变换等核心算法,给出递归与非递归实现、三角函数计算优化、内存访问改进及代码自动生成方法。同时涵盖位操作、排列、排序、组合算法、高精度运算等底层技术,提供可直接复用的伪代码与C++源码,兼顾理论推导与工程效率,适合DSP开发、算法实现与高性能计算参考。AlgorithmsforprogrammersideasandsourcecodeThisdocumentisworkinprogress:readthe”importantremarks”nearthebeginningJ¨orgArndtarndt@jjj.deThisdocument1wasLATEX’datSeptember26,2002Someimportantremarksaboutthisdocument.Thisdraftisintendedtoturnintoabookaboutselectedalgorithms.Theaudienceinmindarepro-grammerswhoareinterestedinthetreatedalgorithmsandactuallywanttohave/createworkingandreasonablyoptimizedcode.Theprintablefullversionwillalwaysstayonlineforfreedownload.ItisplannedtoalsomakepartsoftheTEXsources(plusthescriptsusedforautomation)available.RightnowafewfilesoftheTEXsourcesandallextractedpseudo-codesnippets1areonline.TheC++-sourcesareonlineaspartofFXTorhfloat(arithmeticalalgorithms).ThequalityandspeedofdevelopmentdoesdependonthefeedbackthatIreceivefromyou.Yourcriticismconcerninglanguage,style,correctness,omissions,technicalitiesandeventhegoalssethereisverywelcome.Thankstothose2whohelpedtoimprovethisdocumentsofar!Thanksalsotothepeoplewhosharetheirideas(orsourcecode)onthenet.Itrytogiveduereferencestooriginalsources/authorswhereverIcan.However,IaminnowayanexpertforhistoryofalgorithmsandIprettysurewillneverbeone.Soifyoufeelthatareferenceismissingsomewhere,letmeknow.Newchapters/sectionsappearassoonastheycontainanythinguseful,sometimesjustlistingsorremarksoutliningwhatistoappearthere.A”TBD:somethingtobedone”isaremindertomyselftofillinsomethingthatismissingorwouldbenicetohave.ThestylevariesfromchaptertochapterwhichIdonotconsiderbadperse:whilesometopics(e.g.FFTs)needaclearandexplicitintroductionothers(e.g.thebitwizardrychapter)seemtobebestpresentedbybasicallyshowingthecodewithjustafewcomments.Stillotherparts(e.g.sorting)arepresentedelsewhereextremelywellsoIwillintroducethebasicideasonlyveryshortlyandsupplysome(hopefully)usefulcode.Sprachewillpartlygoaway:using/includingtheactualcodefromFXTwillbebeneficialtoboththisdocumentandFXTitself.Thegoalistoautomaticallyincludethefunctionsreferenced.Clearly,thiswilldrasticallyreducethechanceoferrorsintheshowncode(andatthesametimedrasticallyreducetheworkloadforme).InitiallyIplannedtowriteaninterpreterforSprache,itjustneverhappened.AtthesametimeFXTwillbebetterdocumentedwhichitreallyneeds.AsaconsequenceSprachewillonlybeusedwhenthereisaclearadvantagetodoso,mainlywhenthecorrespondingC++doesnotappeartobeselfexplanatory.LargerpiecesofcodewillbepresentedinC++.AtinystarteraboutC++(somegoodreasonsinfavorofC++andsomeoftheverybasicsofclasses/overloading/templates)willbeincluded.Cprogrammersdonotneedtobeshockedbytheζ++’:onlyanratherminimalsetoftheC++featuresisused.Thetheorem-likeenvironmentforthecodesshallcompletelygoaway.Itleadstoduplicationofstate-ments,especiallywithnon-pseudocode(runningtext,descriptionintheenvironmentandcommentsatthebeginoftheactualcode).Enjoyreading!ListofimportantSymbols沦xrealpartofx$ximaginarypartofxx∗complexconjugateofxaasequence,e.g.{a0,a1,...,an−1},theindexalwaysstartswithzero.atransformed(e.g.Fouriertransformed)sequencememphasizethatthesequencestotheleftandrightarealloflengthm=F[a](=c)(discrete)Fouriertransform(FT)ofa,ck=Σx(n)0(1)axzxkwherez=e±2πi/nF−1[a]inverse(discrete)Fouriertransform(IFT)ofa,F−1[a]k=Σx(n)0(1)axz−xkSkaasequencecwithelementscx:=axe±k2πix/nH[a]discreteHartleytransform(HT)ofaasequencereversedaroundelementwithindexn/2aSthesymmetricpartofasequence:aS:=a+aaAtheantisymmetricpartofasequence:aA:=a−aZ[a]discretez-transform(ZT)ofaWv[a]discreteweightedtransformofa,weight(sequence)vW1[a]inversediscreteweightedtransformofa,weightva④bcyclic(orcircular)convolutionofsequenceawithsequenceba④acbacyclic(orlinear)convolutionofsequenceawithsequenceba④−bnegacyclic(orskewcircular)convolutionofsequenceawithsequenceba④{v}bweightedconvolutionofsequenceawithsequenceb,weightva④⊕bdyadicconvolutionofsequenceawithsequencebn\NndividesNn⊥mgcd(n,m)=1a(j%m)sequenceconsistingoftheelementsofawithindicesk:k≡jmodme.g.a(even),a(odd)a(0%2),a(1%2)a(j/m)sequenceconsistingoftheelementsofawithindicesk:j·n/m≤k<(j+1)·n/me.g.a(left),a(right)a(0/2),a(1/2)Chapter1TheFouriertransform1.1ThediscreteFouriertransformThediscreteFouriertransform(DFTorsimplyFT)ofacomplexsequenceaoflengthnisdefinedaszisann-throotofunity:zn=1.Backtransform(orinversediscreteFouriertransformIDFTorsimplyIFT)isthenToseethis,considerelementyoftheIFToftheFTofa:AsΣk(z①__y)k=nforx=yandzeroelse(becausezisann-throotofunity).ThereforethewholeexpressionisequaltowhereHerewewillcalltheFTwiththeplusintheexponenttheforwardtransform.Thechoiceisactuallyarbitrary1.CHAPTER1.THEFOURIERTRANSFORMThenormalizationfactorinfrontoftheFTsumsissometimesreplacedbyasingleinfrontoftheinverseFTsumwhichisoftenconvenientincomputation.Then,ofcourse,Parseval’sequationhastobemodifiedaccordingly.AstraightforwardimplementationofthediscreteFouriertransform,i.e.thecomputationofnsumseachoflengthnrequires~n2operations:[FXT:slowftinslow/slowft.cc]ismustbe+1(forwardtransform)or__1(backwardtransform),SinCos(x)returnsaComplex(cos(x),sin(x)).AfastFouriertransform(FFT)algorithmisanalgorithmthatimprovestheoperationcounttopropor-tionalnΣk__1),wheren=p1p2···pmisafactorizationofn.Incaseofapowern=pmthevaluecomputeston(p__1)logp(n).Inthespecialcasep=2evenn/2log2(n)(complex)multiplicationssuffice.ThereareseveraldifferentFFTalgorithmswithmanyvariants.1.2SymmetriesoftheFouriertransformAbitofnotationturnsouttobeuseful:Letabethesequencea(lengthn)reversedaroundelementwithindexn/2:LetaS,aAbethesymmetric,antisymmetricpartofthesequencea,respectively(Theelementswithindices0andn/2ofaAarezero).Nowleta∈R(meaningthateachelementofais∈R),thenTheFTofarealsymmetricsequenceisrealandsymmetricandtheFTofarealantisymmetricsequenceispurelyimaginaryandantisymmetric.TherebytheFTofageneralrealsequenceisthecomplexconjugateofitsreversed:Similarly,forapurelyimaginarysequenceb∈iR:TheFTofacomplexsymmetric/antisymmetricsequenceissymmetric/antisymmetric,respectively.1.3Radix2FFTalgorithms1.3.1AlittlebitofnotationAlwaysassumeaisalength-nsequence(napoweroftwo)inwhatfollows:Leta(even),a(odd)denotethe(length-n/2)subsequencesofthoseelementsofathathaveevenoroddindices,respectively.Leta(left)denotethesubsequenceofthoseelementsofathathaveindices0...n/2__1.Similarly,a(right)forindicesn/2n__1.LetSkadenotethesequencewithelementsaxe§k2πix/nwherenisthelengthofthesequenceaandthesignisthatofthetransform.ThesymbolSshallsuggestashiftoperator.InthenexttwosectionsonlyS1/2willappear.S0istheidentityoperator.1.3.2Decimationintime(DIT)FFTThefollowingobservationisthekeytothedecimationintime(DIT)FFT2algorithm:Forneventhek-thelementoftheFouriertransformiswherez=e§i2π/nandk∈{0,1,,n__1}.Thelastidentitytellsushowtocomputethek-thelementofthelength-nFouriertransformfromthelength-n/2Fouriertransformsoftheevenandoddindexedsubsequences.Toactuallyrewritethelength-nFTintermsoflength-n/2FTsonehastodistinguishthecases0≤k<n/2andn/2≤k<n,thereforewerewritek∈{0,1,2,...,n__1}ask=j+δwherej∈{0,1,...,n/2__1},δ∈{0,1}.Notingthatz2isjusttherootofunitythatappearsinalength-n/2FTonecanrewritethelasttwoequationsastheIdea1.1(FFTradix2DITstep)Radix2decimationintimestepfortheFFT:(Hereitissilentlyassumedthat’+’or’__’betweentwosequencesdenoteselementwiseadditionorsubtraction.)Thelength-ntransformhasbeenreplacedbytwotransformsoflengthn/2.Ifnisapowerof2thisschemecanbeappliedrecursivelyuntillength-onetransforms(identityoperation)arereached.Therebytheoperationcountisimprovedtoproportionaln·log2(n):Therearelog2(n)splittingsteps,theworkineachstepisproportionalton.Code1.1(recursiveradix2DITFFT)Pseudocodeforarecursiveprocedureofthe(radix2)DITFFTalgorithm,ismustbe+1(forwardtransform)or-1(backwardtransform):Thedatalengthnmustbeapowerof2.Theresultisinx[].Notethatnormalization(i.e.multiplicationofeachelementofx[]by1/√n)isnotincludedhere.[FXT:recursivedit2fftinslow/recfft2.cc]TheprocedureusesthesubroutineCode1.2(Fouriershift)Foreachelementinc[0..n-1]replacec[k]byc[k]timesev2πik/n.UsedwithU=§1/2fortheFouriertransform.TherecursiveFFT-procedureinvolvesnlog2(n)functioncalls,whichcanbeavoidedbyrewritingitinanon-recursiveway.Onecanevendoalloperationsinplace,notemporaryworkspaceisneededatall.Thepriceisthenecessityofanadditionaldatareordering:Theprocedurerevbin_permute(a[],n)rearrangesthearraya[]inawaythateachelementaxisswappedwitha˜x,where˜xisobtainedfromxbyreversingitsbinarydigits.Thisisdiscussedinsection8.1.Code1.3(radix2DITFFT,localized)Pseudocodeforanon-recursiveprocedureofthe(radix2)DITalgorithm,ismustbe-1or+1:[FXT:dit2-fft-localizedinfft/fftdit2.cc]Thisversionofanon-recursiveFFTprocedurealreadyavoidsthecallingoverheadanditworksinplace.Itworksasgiven,butisabitwasteful.The(expensive!)computatione:=exp(is*2*PI*I*j/m)isdonen/2·log2(n)times.Toreducethenumberoftrigonometriccomputations,onecansimplyswapthetwoinnerloops,leadingtothefirstζrealworld’FFTprocedurepresentedhere:Code1.4(radix2DITFFT)Pseudocodeforanon-recursiveprocedureofthe(radix2)DITalgo-rithm,ismustbe-1or+1:procedurefft_dit2(a[],ldn,is)//complexa[0..2**ldn-1]input,resultSwappingthetwoinnerloopsreducesthenumberoftrigonometric(exp())computationstonbutleadstoafeaturethatmanyFFTimplementationsshare:Memoryaccessishighlynonlocal.Foreachrecursionstage(valueofldm)thearrayistraversedmhtimeswithn/maccessesinstridesofmh.Asmhisapowerof2thiscan(oncomputersthatusememorycache)haveaverynegativeperformanceimpactforlargevaluesofn.OnacomputerwheretheCPUclock(366MHz,AMDK6/2)is5.5timesfasterthanthememoryclock(66MHz,EDO-RAM)IfoundthatindeedforsmallnthelocalizedFFTisslowerbyafactorofabout0.66,butforlargenthesameratioisinfavouroftheζnaive’procedure!Itisagoodideatoextracttheldm==1stageoftheoutermostloop,thisavoidscomplexmultiplicationswiththetrivialfactors1+0i:Replace更多内容见附件免责声明:本页面/内容部分素材来源于互联网公开信息,旨在传递更多信息,不代表本平台立场。版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险

有附件
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈