CN111563321B - 基于pcisph由物理驱动的织物水含量仿真可视化方法 - Google Patents
基于pcisph由物理驱动的织物水含量仿真可视化方法 Download PDFInfo
- Publication number
- CN111563321B CN111563321B CN202010325050.2A CN202010325050A CN111563321B CN 111563321 B CN111563321 B CN 111563321B CN 202010325050 A CN202010325050 A CN 202010325050A CN 111563321 B CN111563321 B CN 111563321B
- Authority
- CN
- China
- Prior art keywords
- liquid
- fabric
- particles
- fiber
- capillary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000004744 fabric Substances 0.000 title claims abstract description 270
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 142
- 238000004088 simulation Methods 0.000 title claims abstract description 38
- 238000007794 visualization technique Methods 0.000 title claims abstract description 7
- 239000007788 liquid Substances 0.000 claims abstract description 445
- 239000002245 particle Substances 0.000 claims abstract description 331
- 238000000034 method Methods 0.000 claims abstract description 145
- 230000008569 process Effects 0.000 claims abstract description 80
- 238000004364 calculation method Methods 0.000 claims abstract description 40
- 230000003993 interaction Effects 0.000 claims abstract description 37
- 238000009736 wetting Methods 0.000 claims abstract description 12
- 230000000704 physical effect Effects 0.000 claims abstract description 11
- 239000000835 fiber Substances 0.000 claims description 170
- 238000009792 diffusion process Methods 0.000 claims description 132
- 238000010521 absorption reaction Methods 0.000 claims description 42
- 230000005484 gravity Effects 0.000 claims description 30
- 230000033001 locomotion Effects 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000005452 bending Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 18
- 238000001556 precipitation Methods 0.000 claims description 17
- 241000208199 Buxus sempervirens Species 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 13
- 230000001133 acceleration Effects 0.000 claims description 12
- 230000008020 evaporation Effects 0.000 claims description 12
- 238000001704 evaporation Methods 0.000 claims description 12
- 239000007787 solid Substances 0.000 claims description 12
- 239000011148 porous material Substances 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000009833 condensation Methods 0.000 claims description 9
- 230000005494 condensation Effects 0.000 claims description 9
- 230000003746 surface roughness Effects 0.000 claims description 9
- 238000012800 visualization Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 7
- 239000003086 colorant Substances 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000004040 coloring Methods 0.000 claims description 3
- 230000004907 flux Effects 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 238000002156 mixing Methods 0.000 claims description 3
- 229920006395 saturated elastomer Polymers 0.000 description 10
- 229920000742 Cotton Polymers 0.000 description 8
- 239000007789 gas Substances 0.000 description 8
- 239000000463 material Substances 0.000 description 7
- 230000035515 penetration Effects 0.000 description 6
- 239000002689 soil Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 239000004753 textile Substances 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000011343 solid material Substances 0.000 description 1
- 238000001179 sorption measurement Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/12—Cloth
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Treatment Of Fiber Materials (AREA)
Abstract
本发明公开了基于PCISPH由物理驱动的织物水含量仿真可视化方法,该方法包括如下步骤:设置织物结构参数;根据织物结构参数进行织物建模;求解液体粒子动力学方程;仿真计算液体在织物表面的交互过程;根据交互过程计算液体粒子受力情况;根据仿真计算进行结果可视化。本发明从微观液体出发,主要针对液体与不同物理结构和不同物理性质的织物发生接触时的湿润、芯吸、扩散和传输过程,通过仿真计算,可视化微观液体在织物上的扩散过程。
Description
技术领域
本发明涉及微观液体与不同物理结构的织物湿润和吸收的仿真计算和织物水含量可视化领域,具体涉及基于PCISPH(Predictive-Corrective Incompressible SmoothedParticle Hydrodynamics Method,预测矫正光滑粒子液体动力学)由物理驱动的织物水含量仿真可视化方法。
背景技术
目前液体-织物交互的仿真方法主要包括基于粒子-网格交互的方法、基于全粒子的方法和基于表面渲染的方法。
基于粒子-网格交互的方法使用光滑粒子液体动力学方法对液体进行模拟,并将织物构建为三维立体模型,而粒子与织物的交互是基于织物纤维的三角网格。在液体的构建过程中,该方法考虑表面张力和接触角等因素对于液体运动的影响,同时使用动态空间网格的方法来加快SPH粒子寻找邻居粒子的速度,提高计算效率。对于织物模型的构建,该方法设置了物理参数描述织物的纤维半径、孔隙率和材质等,来精确描述织物的物理结构。在液体-织物交互上,该方法以菲克第二定律为基础,将纤维与液体的吸收和析出过程视为一个动态平衡的过程,并且着重考虑毛细管对于液体渗透扩散的影响。该方法的创新之处在于考虑了织物表面属性对于液体吸收过程的影响,通过将接触角和织物含水量对于自身液体吸收速率的影响考虑到扩散过程中,更加真实的模拟了液体在织物的扩散过程。该方法的局限性在于对于织物物理性质参数的设计较少,仅能改变织物的材料、吸收速率和孔隙率,并不能作为一种通用方法。同时,该方法中液体与织物的交互是基于纱线上的三角网格,每次模拟计算都会耗费大量的计算资源。该方法虽然使用的是非线性的扩散模型,但没有考虑到温度和重力对于扩散的影响,因此扩散效果仿真的准确性略有不足。
基于全粒子的方法对于液体和织物的模拟都以粒子为基础,液体与织物的交互过程可以被简化为粒子与粒子间的交互过程,因此该方法对于大尺度的液体与织物的交互有着较好的模拟效果。在液体的仿真上,该方法选择使用仿射质点网格法来进行液体模拟。在织物的模拟上,该方法选用了基于粒子的质点网格法来进行织物的模拟,并设置了如纤维半径、织物密度、孔隙半径和孔隙率等会影响扩散的物理参数。在液体与织物的交互上,由于该方法的织物模型和液体模型均是基于粒子的,因此该方法使用混合物理论来描述织物和液体的交互过程,而织物与液体的水分交换则是基于交互网格实现的,液体粒子将水含量扩散到网格面上,而织物粒子从网格面上吸收水分。
基于全粒子的方法基于网格计算液体与织物的交互过程,使得整个过程的计算效率很高。同时基于粒子的模拟方法,使得液体与织物交互过程中的形变可以被很好的模拟出来。通过对于织物模型设置物理参数和对毛细管力的考虑,也使扩散结果较为精确。因此该方法对于大尺度的液体与织物交互的模拟有着较好的模拟效果,基本可以满足视觉感官上的追求,但是该方法的计算精度较为有限,模拟出的扩散结果与真实的扩散结果有较大的差距。同时,虽然该方法对织物设计了物理参数,但织物并没有真实的三维结构,因此织物物理属性对于扩散的影响并不能很好的表现出来。
基于表面渲染的方法着重实现的是液体在织物表面的扩散过程,而忽略液体与织物交互中的其他过程。在织物的模拟上,该方法提出了包括过渡层、吸附层和传输层在内的三层织物模型。而液体与织物的交互过程,以污渍扩散的模拟为例,基于表面渲染的方法将污渍扩散分为纯液体扩散和污渍颗粒扩散,根据织物的物理性质和孔隙率,未饱和的纱线将对液体进行吸附。同根纱线上的扩散遵守泊肃叶定律,而纱线间的纯液体过程则与纱线自身的扩散能力和纱线间的连接程度有关。污渍颗粒的扩散分为液体驱动扩散和污渍浓度驱动扩散。在液体驱动污渍扩散中,污渍颗粒的扩散与纯液体扩散的量成正比,在污渍浓度驱动的扩散中,该方法采用了菲克第二定律进行计算。当纯液体扩散和污渍扩散的仿真计算结束后,通过将两个结果进行渲染叠加,即可得到最终的扩散结果。
该方法的创新之处在于提出了一种全新的三层织物模型,简化了织物的几何结构,加快了计算的速度。同时对于污渍的扩散,该方法提出将污渍中的纯液体和污渍颗粒分别考虑,取得了较为真实的模拟结果。但在实际情况下,液体与织物的接触过程是不能被忽视的,液体的动量和黏力都将对扩散结果产生巨大的影响。
发明内容
本发明的目的在于克服现有方法存在的通用性不强、不符合客观物理规律、计算效率低等不足之处,针对微观尺度液体与不同结构和物理性质的三维织物的湿润、芯吸、扩散和传输过程进行仿真计算,并将织物水含量结果可视化显示。
本发明的目的可以通过采取如下技术方案达到:
一种基于PCISPH由物理驱动的织物水含量仿真可视化方法,包括以下步骤:
S1、设置纱线结构参数、飞线结构参数、织物整体参数和织物结构参数;
S2、根据纱线结构参数和飞线结构参数构造纤维单元,并根据织物密度排列纤维单元组成初步织物模型,根据织物厚度调整初步模型得到最终织物模型,根据最终织物模型进行包围盒构造;
S3、求解液体粒子动力学方程,通过计算液体粒子区域密度、黏力、压力、表面张力和重力,进行液体粒子运动状态的更新;
S4、仿真计算液体与织物的交互过程,通过碰撞检测判定液体是否应该被吸收,仿真计算液体的芯吸过程、扩散过程和传输过程;
S5、根据交互过程计算液体粒子受到的毛细管压力和扩散驱动力;
S6、根据仿真计算进行结果可视化,对液体进行表面重建和纤维分段着色。
进一步地,所述的步骤S1过程如下:
S11、设置纱线结构参数:纱线为构成织物模型的主结构,由多个纤维分段组成。纤维分段为组成纱线的基本单元,包括向上弯曲和向下弯曲两种形式。纱线结构参数由纱线直径、纱线接触面积和纱线弯曲程度三个参数构成。
纱线直径的大小即为纤维分段的结构大小,它将影响织物厚度的大小。纱线弯曲程度为纤维分段向上弯曲或向下弯曲的角度,纱线弯曲程度的大小会影响纱线接触面积,纱线接触面积的大小往往是被近似成一个圆形进行计算,它的半径可以这样计算:
其中rcircle为接触面积半径,dyarn表示纱线半径,θtwist为纱线弯曲角度,那么纱线的接触面积可以用下面的公式进行计算:
其中Across为纱线接触面积,rcircle为接触面积半径。
S12、设置飞线结构参数:飞线表示不完全包含在纱线中的线头,又可以分为环形飞线和茸毛飞线,环形飞线为两端在纱线内,中间部分在纱线外的飞线,茸毛飞线为一端在纱线内,一端在纱线外的飞线。飞线结构参数由飞线直径、飞线长度和飞线密度三个参数构成。飞线密度表示在一个纤维分段上飞线的数目,飞线密度的大小会影响织物表面粗糙度;
S13、设置织物整体参数:织物整体参数由织物厚度和织物表面粗糙度两个参数构成,织物厚度可以用下面公式进行计算:
Htextile=2dyarn+Hloop
其中Htextile为织物厚度,dyarn为纱线直径,Hloop是环形纱线在纤维分段上表面和下表面的高度和,通过下面的公式计算环形纱线在纤维分段上的高度:
Hloop=Rkloop+dloop
其中Hloop为环形纱线的高度,Rkloop为环形纱线的弯曲半径,可以通过 Rkloop=1/kloop计算,其中kloop为环形纱线的曲率,dloop为环形纱线的半径。
织物表面粗糙度与织物飞线的总体积和飞线密度有关,飞线总体积越大,织物表面粗糙度越大。织物表面粗糙度具体计算方法如下:
其中Mfabric为织物表面粗糙度,表示织物表面环形飞线的体积和,/>表示织物表面茸毛飞线的体积和,Vfabric表示织物的体积大小;
S14、设置织物结构参数:织物结构参数由织物孔隙率和织物密度两个参数构成,织物孔隙率是指是织物孔隙体积与织物体积在自然状态下的百分比,织物密度包括经向密度和纬向密度,经向密度是指经向1cm内排列的纱线根数,纬向密度是指纬向1cm内排列的纱线根数。
进一步地,所述的步骤S2过程如下:
S21、根据纱线结构参数和飞线结构参数构造纤维单元:设置纱线模型的直径,飞线的直径和长度,根据飞线密度计算纱线模型上飞线的数量,根据纱线接触面积和纱线弯曲程度进行纤维分段的弯曲。
S22、根据织物密度计算织物模型所需纱线数量,织物密度包括经向密度和纬向密度,经向密度是指经向1cm内排列的纱线根数,纬向密度是指纬向1cm内排列的纱线根数。根据计算得到的纱线数量,按照经纬方向将纱线进行连接和排列,组成初步织物模型;
S23、根据织物厚度计算织物模型的织物上下层之间的接触情况:对初步织物模型进行调整,得到最终织物模型;
S24、对织物模型进行包围盒构造:包围盒是一种求解离散点集最优包围空间的算法,对织物模型的包围盒构造共分为四层,分别为整个织物的包围盒,纤维单元的包围盒、纤维分段的包围盒和纤维分段的包围盒树。所谓纤维分段即为组成纱线的基本单元,包括向上弯曲和向下弯曲两种形式,纤维单元由互相接触的上下两层共8个的纤维分段所组成。通过统计织物内所有纤维分段三角面片的x,y,z轴上的最大值和最小值,得到织物整体包围盒。通过同样的方法可以得到纤维单元的包围盒和纤维分段的包围盒。对纤维分段的使用包围盒树更新算法进行细分,可以得到纤维分段的包围盒树。
进一步地,所述的步骤S3过程如下:
S31、通过累计计算粒子作用域内的粒子数目得到液体粒子区域密度:给定粒子作用域的半径记为h,即光滑核半径,通过对三维空间中给定粒子作用域内其余液体粒子质量和体积进行计算,确定液体粒子作用域的总质量和总体积,从而计算出以给定液体粒子为中心的液体平均密度,作为给定粒子的区域密度。液体粒子的区域密度可以通过下面的公式进行计算:
其中ρx表示粒子的区域密度,J表示液体粒子光滑核半径内邻居粒子的数目,j表示液体粒子光滑核半径内第j个邻居粒子,m为液体粒子重量, x表示的是液体粒子的位置,xj表示液体粒子邻居粒子的位置,h表示光滑核半径。
S32、通过液体区域密度计算液体粒子黏力:通过区域密度可以计算给定粒子作用域内粒子数目,给定粒子所受到的黏力是作用域内所有粒子对其黏力之和。通过动力学方程计算给定粒子与单个粒子间的黏力,将作用域内所有粒子对给定粒子所产生黏力相加,作为给定粒子所受到的黏力:
其中为黏力,μ是与液体粘稠度有关的黏度系数,J表示液体粒子光滑核半径内邻居粒子的数目,j表示液体粒子光滑核半径内第j个邻居粒子,u表示液体粒子的速度,uj表示液体粒子周围第j个邻居粒子的速度,ρ表示液体粒子的区域密度,ρj表示液体粒子周围第j个邻居粒子的区域密度,m为液体粒子重量,x表示的是液体粒子的位置,xj表示液体粒子邻居粒子的位置,h表示光滑核半径。
S33、通过预测给定粒子的区域密度,得到给定粒子预测密度增量。预测的密度增量可以用下面的公式进行计算:
ρerror=ρ*-ρ0
其中ρerror为预测密度,ρ*表示当前密度,ρ0表示目标密度。通过计算作用域内的预测密度属性累计影响,则可以得到液体粒子所受到的压力:
p(t)+=δρerror
其中p(t)表示预测的压力,t表示时间,δ为压力预测参数,ρerror为预测密度。液体内部的压力总是由密度大的地方指向密度小的地方,因此使用预测密度的方法计算区域压力,可以提高计算效率。
S34、根据织物性质设置接触角,通过接触角计算液体所受到的表面张力:在液体与固体接触后,气、液、固三相交点处所作的气-液界面的切线与固-液交界面液体一方的夹角,称为接触角,其常被作为湿润程度的量度。在润湿的过程中,界面张力会起到重要的作用。当液体落在水平放置的固体介质上达到平衡时,形成的接触角可以使用杨氏公式来进行计算:
γsv=γsl+γlv cos θ
其中γsv表示的是固-气界面自由能,γsl表示的是固-液界面自由能,γlv表示的是气液界面自由能,也就是表面张力,θ为接触角的大小,接触角的大小常常可以用来描述固体材料的亲水性和疏水性。
表面张力产生的原因是在液体与其他介质的交界面,由于液体的分子稀疏度与其他介质的分子稀疏度不同,使得分子间的吸引力不同,因此产生了极为微小的拉力,这个拉力就是表面张力。当液体仅与气体介质接触时,此时仅存在气-液交界面,而气-液交界面在液体一侧的分子会受到较多的气体压力,因此液体会自发的进行收缩以达到平衡这部分压力的目的,因此此时的液体就更像一个球体。当液体与固体接触的时候,此时就存在气-液交界面、固-液交界面和气-固交界面三个交界面,而这三个交界面都会产生界面张力,从而影响液体的形状以及液体的扩散过程。表面张力可以通过下面的公式进行计算:
其中为表面张力,ksurface表示能量系数,J表示液体粒子光滑核半径内邻居粒子的数目,j表示液体粒子光滑核半径内第j个邻居粒子, V表示液体粒子的体积,Vj表示液体粒子周围第j个邻居粒子的体积,/>表示液体粒子的能量梯度,/>示液体粒子周围第j个邻居粒子的能量梯度, W(x-xj,h)表示光滑核函数,x表示的是液体粒子的位置,xj示液体粒子邻居粒子的位置,h表示光滑核半径。
S35、根据每一个液体粒子的质量,计算每一个液体粒子受到的重力,具体可以通过下面的公式计算:
其中表示液体粒子受到的重力,m表示液体粒子的质量,g表示重力加速度,这里取值为9.780m/s2。
S36、液体粒子的合力计算和运动状态更新:通过计算液体粒子所受到的压力、黏力、重力和表面张力,作为液体粒子运动的合力:
其中为液体粒子所受到的合力,/>为重力,/>为表面张力/>为分子间的压力,/>为分子间的黏力。通过牛顿第二定律,可以计算得到液体粒子的合力加速度:
其中a为液体粒子加速度,为液体粒子所受到的合力,m为液体粒子的质量。通过合力加速度,可以更新液体粒子的速度和运动方向,从而更新下一帧粒子的位置和运动速度,液体粒子根据新位置作用域内的其他粒子物理属性,计算其受到的新密度、黏力和压力。
进一步地,所述的步骤S4过程如下:
S41、通过碰撞检测计算液体与织物的接触过程:碰撞检测是检测液体粒子是否与织物发生碰撞的算法,在仿真计算中,液体粒子首先与整个织物的包围盒进行碰撞检测,检测通过后,则与纤维单元的包围盒进行碰撞检测。当液体粒子进入到纤维单元的包围盒后,若粒子与纤维分段的包围盒树发生碰撞,则需要根据纤维分段的饱和程度判断粒子是否会被吸收。若粒子没有与纤维分段的包围盒树发生碰撞,则会受到表面张力的影响,进入到毛细管中;
在碰撞检测的过程中,由于液体粒子与织物碰撞和挤压的过程中,使边界粒子的区域密度增加,从而使粒子受到过大的压力,而出现穿透包围盒的现象。因此对于每一个可能发生穿透现象的粒子,都施加一个与其运动方向相反的斥力模型,可以用下面的公式进行计算:
Is=-kcollidemdbboxΔt
其中Is为斥力,负号表示与液体粒子的运动方向相反,m为液体粒子质量,kcollide为与织物材料有关的常数,dbbox为液体粒子穿透包围盒的深度,t 表示时间。当液体粒子发生穿透现象时,斥力模型会对液体粒子施加与运动方向相反的力,从而使得液体粒子的运动轨迹发生改变,避免穿透现象的发生。
当纤维分段的含水量达到饱和含水量时,粒子不被吸收,碰撞后将被弹射或沿织物表面进行运动。未被吸收的粒子与纤维分段的碰撞过程需要符合动量守恒定律。针对微观液体,本发明的算法近似认为织物模型是静止的,因此对于液体粒子的碰撞过程,设置了一个动量损失参数,来计算未被吸收的液体粒子碰撞后产生的动量变化:
m v1=kvm v0
其中m为液体粒子的质量,kv为动量损失参数,v1为发生碰撞后液体粒子的速度,v0为发生碰撞前液体粒子的速度。
S42、根据碰撞检测过程进行液体粒子吸收判定:碰撞检测过程中,若液体粒子与纤维分段的包围盒树发生碰撞,则进行吸收判定。若纤维分段的含水量没有达到上限,则液体粒子将被吸收,若纤维分段的含水量达到上限,则液体粒子不能被吸收。通过下面的公式可以计算液体粒子被吸收的情况:
mabsorbed=kal(ysaturated-ycurrent)
其中mabsorbed表示液体粒子应被吸收的质量,kal为纤维分段的吸收系数, ysaturated表示纤维分段的饱和含水量,ycurrent表示纤维分段当前的含水量。而对于液体粒子来说,它可能被吸收的质量通过下面的公式来进行计算:
mresident=m-mabsorbed
其中m为液体粒子的质量,mresident为液体粒子被吸收后剩余的质量, mabsorbed表示液体粒子应被吸收的质量。若mresident∈(0,m],说明液体粒子部分被吸收,那么mresident将作为液体粒子的剩余质量。若mresident∈(-∞,0],则说明液体粒子完全被吸收进织物中,参与扩散到的计算中。
S43、仿真计算织物的芯吸过程:织物芯吸指织物表面液体在织物孔隙的毛细压力下吸收进入织物内部的过程,在织物表面润湿后,由于气-液交界面上存在的毛细管压力差,液滴会被吸附进毛细管的内部。而在毛细管内部,液滴会被毛细管压力沿着毛细管内壁拖拽,最终在毛细管内部形成弧形液面。毛细管压力可以使用下面的拉普拉斯公式进行计算:
其中P为毛细管压力,Rc为毛细管的半径,γLV为气-液交界面上的表面张力,θ为接触角的大小;
液体粒子的芯吸速率主要与纱线间的孔隙,即毛细管的半径大小和液体的粘稠度,即表面张力的大小,两个因素有关。对于整个液体来说,其在纤维织物的芯吸速率则主要与毛细管压力梯度有关。由于重力因素的存在,当毛细管压力与毛细管内液体所受到的重力的大小相同,此时毛细管内液体的高度将会保持不变,可以用下面的公式进行计算:
其中Heq为平衡时的芯吸高度,γLV为气-液交界面上的表面张力,θ为接触角的大小,ρLiquid为液体密度,Rc为毛细管的半径,g为重力加速度,这里取值为9.780m/s2。
S44、仿真计算液体扩散:液体扩散的仿真计算以菲克定律为基础,菲克定律是指在不依靠宏观的混合作用发生的传质现象时,描述分子扩散过程中传质通量与浓度梯度之间关系的定律。在三维空间中,菲克定律的计算公式如下:
其中D为扩散系数,C为织物含水量,xp为液体粒子x轴坐标,yp为液体粒子y轴坐标,zp为液体粒子z轴坐标,t表示时间。
液体在织物内部分扩散方式被分为同纤维扩散、相邻纤维扩散和高浓度差水分析出扩散。同纤维扩散是指同一纱线中不同纤维分段间的水分扩散过程,该方式的扩散速度为三种方式中最快的。相邻纤维扩散是指相互接触的上下两层不同纤维分段间的水分交换,由于纤维分段的接触面积有限,因此该方式的扩散速率比铜纤维扩散的扩散速率慢。高浓度差水分析出扩散是指含水量较高的纤维分段析出水分进入毛细管中,含水量较低的纤维分段也会从毛细管中吸收水分,这种非接触式的水分传递过程,依赖毛细管对于水分的传递,因此速度最慢。
扩散过程中,重力会使得纤维中的水分倾向于沿着重力方向进行扩散,该过程可以使用下面的公式进行描述:
Diffg=kg cos θhlWh
其中Diffg为重力影响的液体扩散量,kg为重力扩散参数,θhl为纤维分段间的夹角,Wh为较高纤维分段的含水量。
S45、仿真计算液体传输过程:液体传输过程的计算以上一步中的液体扩散过程为基础,通过计算水蒸气在纱线中的传输过程和气液传输中的能量变化来模拟液体传输过程。在液体与织物接触湿润的过程中,由于温度原因,部分液体蒸发为水蒸气,并以气体形式进入到纱线中进行扩散。液体传输过程包括液态水传输过程,水蒸气传输过程,能量传输过程。其中液态水传输过程的计算方法如下:
其中ρl为液体密度,εl是织物中液态水的体积占比,t表示时间,τl代表的是液态水的扩散系数,xdiff表示扩散距离,Dl表示的是液态水的扩散系数,ωl是液态水在纤维表面的吸收比例,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,Γlg表示水汽蒸发和冷凝的速率。
水蒸气传输过程的计算方法如下:
其中εa是织物中水蒸气的体积占比,Ca是纱线间孔隙的空气中水蒸气的浓度参数,t表示时间,Da水蒸气在多孔织物中的扩散参数,τa代表的是水蒸气的扩散系数,xdiff表示扩散距离,ωa水蒸气在纤维表面的吸收比例,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,Γlg表示水汽蒸发和冷凝的速率。
能量传输过程的计算方法如下:
其中cv表示纤维含水量体积,T为织物所处环境的温度,t表示时间, xdiff表示扩散距离,K(xdiff,t)表示扩散距离为多孔织物的传热系数,该系数与扩散距离xdiff和扩散时间t有关,ωa水蒸气在纤维表面的吸收比例,λv纤维对液态水的吸收或析出释放的热量,ωl是液态水在纤维表面的吸收比例,λl为纤维对水蒸气的吸收或析出释放的热量,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,λlg为水的蒸发潜热,Γlg表示水汽蒸发和冷凝的速率。
进一步地,所述的步骤S5过程如下:
S51、根据交互过程计算液体粒子受到的毛细管压力:毛细管压力是毛细管对周围的液体粒子所产生的压力,使得液体粒子向毛细管内流动,它的大小会随着毛细管中液体的饱和程度的增大而减小,可以通过下面的公式来进行描述:
Pcur=Pmax(1-S)α
其中Pcur为毛细管当前压力,Pmax为毛细管最大压力,S为毛细管的饱和程度,α为毛细管力的计算参数,大小在0到1间。根据交互过程,可以通过下面的公式计算液体粒子受到的毛细管总压力:
其中Pcapillary为液体粒子受到的毛细管总压力,ic表示液体粒子光滑核半径内第ic个毛细管,icsum表示光滑核半径内毛细管的数量,Pic表示液体粒子光滑核半径内第ic个毛细管对于液体粒子的压力,W(x-xcapillary,h)为光滑核函数,x表示液体粒子的位置,xcapillary表示毛细管的位置,h表示光滑核半径;
S52、根据交互过程计算液体粒子受到的扩散驱动力:扩散驱动力为织物水含量差产生的液体粒子运动的驱动力,可以根据织物水含量对距离求导所得:
其中Fdiffusion为扩散驱动力,Cyarn为纤维分段的含水量,xdiff为扩散距离,负号表示液体粒子的运动方向是由高浓度处向低浓度处扩散。
进一步地,所述的步骤S6过程如下:
S61、基于水平集和隐式积分的方法,通过最小化水平集表面能量的消耗,使用每一帧液体粒子的速度和位置信息,对液体进行表面重建,得到连续的液体;
S62、仿真计算可以得到每一个纤维分段的含水量,本发明根据纤维分段含水量与饱和含水量的比值,根据织物本身的颜色,用11种深度不同的颜色来表示纤维分段含水量的不同。当纤维分段含水量为0时,纤维分段的颜色就是其本身的颜色,纤维分段的含水量越高,颜色越深。
本发明相对于现有技术具有如下的优点及效果:
1.本发明提出了一种于物理结构的织物几何建模方法,并设计了多组物理参数来描述织物的物理结构,如密度、厚度和孔隙率等。通过该方法能使用户灵活的根据需求进行织物的几何建模,并将织物模型应用到算法的计算中。
2.本方法通过考虑温度、液体表面张力和毛细管等因素在交互过程中的影响,能够精确和快速的模拟液体和织物的交互过程,实现液体与织物间的双向耦合。
3.本发明可以直观的观测到微观液体在织物上的扩散过程,并且显示扩散过程中每个纤维分段含水量的具体数值和趋势变化。因此通过使用我们的方法,可以根据辅助进行产品设计、织物研发和衣物保养等工作,节省了人力、物力和财力。
附图说明
图1是基于PCISPH由物理驱动的织物水含量仿真可视化方法流程图;
图2是织物模型构造流程示意图;
图3是实施例中的液体粒子的运动情况示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例提供一种基于PCISPH由物理驱动的织物水含量仿真可视化方法,构造了棉布织物模型,并仿真模拟了微观液体在棉布织物模型上的扩散过程。所进行的织物水含量仿真可视化流程图如图1所示。根据棉布的物理性质设置纱线结构参数、飞线结构参数、织物整体参数和织物结构参数;接下来,根据所设置的织物结构参数进行织物建模,得到棉布织物模型;然后,根据水的质量、密度等物理性质,求解液体粒子动力学方程;再根据水的下落高度、温度等因素,仿真计算液体与织物的交互过程;根据交互过程计算液体粒子的受力情况;最后,根据仿真计算进行扩散结果可视化。本实施例的仿真计算部分是在VisualStudio2015上完成,模拟结果的可视化部分是在渲染软件Cinema 4D上完成的。具体地:
S1、根据棉布的物理性质设置纱线结构参数、飞线结构参数、织物整体参数和织物结构参数:通过查找纺织业的相关文献,根据文献中的参数进行织物结构参数设置。本实施例中织物结构的各种参数设置如下表所示所示。其中,为了能够更加精确的表示织物密度,本实施例中使用经向密度和纬向密度来表示织物密度,经向密度是指经向1cm内排列的纱线根数,纬向密度是指纬向1cm内排列的纱线根数。
表1实施例中织物参数
材料 | 棉布 |
纤维直径(mm) | 0.2 |
纱线接触面积(mm2) | 1.05 |
弯曲程度(°) | 60 |
飞线直径(mm) | 0.05 |
飞线长度(mm) | 0.05 |
飞线密度 | 0.37 |
织物厚度(mm) | 0.635 |
表面粗糙度 | 0.77 |
织物孔隙率 | 0.184 |
经向密度(根/cm) | 35 |
纬向密度(根/cm) | 35 |
S2、根据纱线结构参数和飞线结构参数构造纤维单元,并根据织物密度排列纤维单元组成初步织物模型,根据织物厚度调整初步模型得到最终织物模型,根据最终织物模型进行包围盒构造:织物建模的流程图如图2 所示。本实施例中,步骤S2过程如下:
S21、根据纱线结构参数和飞线结构参数构造纤维单元:设置纱线模型的直径,飞线的直径和长度,根据飞线密度计算纱线模型上飞线的数量,根据纱线接触面积和纱线弯曲程度进行纱线模型的弯曲。
S22、根据织物密度计算织物模型所需纱线数量,经向密度是指经向 1cm内排列的纱线根数,纬向密度是指纬向1cm内排列的纱线根数。根据计算得到的纱线数量,按照经纬方向将纱线进行连接和排列,组成初步织物模型;
S23、根据织物厚度计算织物模型的织物上下层之间的接触情况:对初步织物模型进行调整,得到最终织物模型;
S24、对织物模型进行包围盒构造:包围盒是一种求解离散点集最优包围空间的算法,对织物模型的包围盒构造共分为四层,分别为整个织物的包围盒,纤维单元的包围盒、纤维分段的包围盒和纤维分段的包围盒树。所谓纤维分段即为组成纱线的基本单元,包括向上弯曲和向下弯曲两种形式,纤维单元由互相接触的上下两层共8个的纤维分段所组成。通过统计织物内所有纤维分段三角面片的x,y,z轴上的最大值和最小值,得到织物整体包围盒。通过同样的方法可以得到纤维单元的包围盒和纤维分段的包围盒。对纤维分段的使用包围盒树更新算法进行细分,可以得到纤维分段的包围盒树。
S3、求解液体粒子动力学方程,通过计算液体粒子区域密度、黏力、压力、表面张力和重力,进行液体粒子运动状态的更新:本实施例中,将水的密度设置为1.0g/cm3,每一个液体粒子的质量设置为0.000205克,所使用的液体粒子总数目为8000。本实施例中,步骤S3过程如下
S31、通过累计计算粒子作用域内的粒子数目得到液体粒子区域密度:通过下面的公式进行计算液体粒子的区域密度:
其中ρx表示粒子的区域密度,J表示液体粒子光滑核半径内邻居粒子的数目,j表示液体粒子光滑核半径内第j个邻居粒子,m为液体粒子重量, x表示的是液体粒子的位置,xj表示液体粒子邻居粒子的位置,h表示光滑核半径。
S32、通过液体区域密度计算液体粒子黏力:通过下面的公式进行计算液体粒子的黏力:
其中为黏力,μ是与液体粘稠度有关的黏度系数,J表示液体粒子光滑核半径内邻居粒子的数目,j表示液体粒子光滑核半径内第j个邻居粒子,u表示液体粒子的速度,uj表示液体粒子周围第j个邻居粒子的速度,ρ表示液体粒子的区域密度,ρj表示液体粒子周围第j个邻居粒子的区域密度,m为液体粒子重量,x表示的是液体粒子的位置,xj表示液体粒子邻居粒子的位置,h表示光滑核半径。
S33、通过预测给定粒子的区域密度,得到给定粒子预测密度增量。预测的密度增量可以用下面的公式进行计算:
ρerror=ρ*-ρ0
其中ρerror为预测密度,ρ*表示当前密度,ρ0表示目标密度。通过计算作用域内的预测密度属性累计影响,则可以得到液体粒子所受到的压力:
p(t)+=δρerror
其中p(t)表示预测的压力,t表示时间,δ为压力预测参数,ρerror为预测密度。液体内部的压力总是由密度大的地方指向密度小的地方,因此使用预测密度的方法计算区域压力,可以提高计算效率。
S34、根据织物性质设置接触角,通过接触角计算液体所受到的表面张力:在液体与固体接触后,气、液、固三相交点处所作的气-液界面的切线与固-液交界面液体一方的夹角,称为接触角,其常被作为湿润程度的量度。在润湿的过程中,界面张力会起到重要的作用。当液体落在水平放置的固体介质上达到平衡时,形成的接触角可以使用杨氏公式来进行计算:
γsv=γsl+γlv cos θ
其中γsv表示的是固-气界面自由能,γsl表示的是固-液界面自由能,γlv表示的是气液界面自由能,也就是表面张力,θ为接触角的大小,在棉布织物模型上,接触角被设置为1度。
表面张力产生的原因是在液体与其他介质的交界面,由于液体的分子稀疏度与其他介质的分子稀疏度不同,使得分子间的吸引力不同,因此产生了极为微小的拉力,表面张力可以通过下面的公式进行计算:
其中为表面张力,ksurface表示能量系数,J表示液体粒子光滑核半径内邻居粒子的数目,j表示液体粒子光滑核半径内第j个邻居粒子, V表示液体粒子的体积,Vj表示液体粒子周围第j个邻居粒子的体积,/>表示液体粒子的能量梯度,/>示液体粒子周围第j个邻居粒子的能量梯度, W(x-xj,h)表示光滑核函数,x表示的是液体粒子的位置,xj示液体粒子邻居粒子的位置,h表示光滑核半径。
S35、根据每一个液体粒子的质量,计算每一个液体粒子受到的重力,具体可以通过下面的公式计算:
其中表示液体粒子受到的重力,m表示液体粒子的质量,g表示重力加速度,这里取值为9.780m/s2。
S36、液体粒子的合力计算和运动状态更新:通过计算液体粒子所受到的压力、黏力、重力和表面张力,作为液体粒子运动的合力:
其中为液体粒子所受到的合力,/>为重力,/>为表面张力/>为分子间的压力,/>为分子间的黏力。通过牛顿第二定律,可以计算得到液体粒子的合力加速度:
其中a为液体粒子加速度,为液体粒子所受到的合力,m为液体粒子的质量。通过合力加速度,可以更新液体粒子的速度和运动方向,从而更新下一帧粒子的位置和运动速度,液体粒子根据新位置作用域内的其他粒子物理属性,计算其受到的新密度、黏力和压力。
S4、仿真计算液体与织物的交互过程,通过碰撞检测判定液体是否应 该被吸收,仿真计算液体的芯吸过程、扩散过程和传输过程:本实施例中, 将水的下落高度设置为10cm,温度设置为25摄氏度,每一个纤维分段的 饱和含水量被设置为8.5克。
本实施例中,步骤S4过程如下:
S41、通过碰撞检测计算液体与织物的接触过程:液体粒子首先与整个织物的包围盒进行碰撞检测,检测通过后,则与纤维单元的包围盒进行碰撞检测。当液体粒子进入到纤维单元的包围盒后,若粒子与纤维分段的包围盒树发生碰撞,则需要根据纤维分段的饱和程度判断粒子是否会被吸收。若粒子没有与纤维分段的包围盒树发生碰撞,则会受到表面张力的影响,进入到毛细管中。
对于每一个可能发生穿透现象的粒子,都施加一个与其运动方向相反的斥力模型,可以用下面的公式进行计算:
Is=-kcollidemdbboxΔt
其中Is为斥力,负号表示与液体粒子的运动方向相反,m为液体粒子质量,kcollide为与织物材料有关的常数,dbbox为液体粒子穿透包围盒的深度,t 表示时间。当液体粒子发生穿透现象时,斥力模型会对液体粒子施加与运动方向相反的力,从而使得液体粒子的运动轨迹发生改变,避免穿透现象的发生。针对微观液体,本实施例近似认为织物模型是静止的,因此对于液体粒子的碰撞过程,设置了一个动量损失参数,来计算未被吸收的液体粒子碰撞后产生的动量变化:
mv1=kmv0
其中m为液体粒子的质量,kv为动量损失参数,本实施例中设置为0.1, v1为发生碰撞后液体粒子的速度,v0为发生碰撞前液体粒子的速度。
S42、根据碰撞检测过程进行液体粒子吸收判定:碰撞检测过程中,若液体粒子与纤维分段的包围盒树发生碰撞,则进行吸收判定。若纤维分段的含水量没有达到上限,则液体粒子将被吸收,若纤维分段的含水量达到上限,则液体粒子不能被吸收。通过下面的公式可以计算液体粒子被吸收的情况:
mabsorbed=kal(ysaturated-ycurrent)
其中mabsorbed表示液体粒子应被吸收的质量,kal为纤维分段的吸收系数, ysaturated表示纤维分段的饱和含水量,ycurrent表示纤维分段当前的含水量。而对于液体粒子来说,它可能被吸收的质量通过下面的公式来进行计算:
mresident=m-mabsorbed
其中m为液体粒子的质量,mresident为液体粒子被吸收后剩余的质量, mabsorbed表示液体粒子应被吸收的质量。若mresident∈(0,m],说明液体粒子部分被吸收,那么mresident将作为液体粒子的剩余质量。若mresident∈(-∞,0],则说明液体粒子完全被吸收进织物中,参与扩散到的计算中。
S43、仿真计算织物的芯吸过程:织物芯吸指织物表面液体在织物孔隙的毛细压力下吸收进入织物内部的过程,在织物表面润湿后,由于气-液交界面上存在的毛细管压力差,水滴会被吸附进毛细管的内部。而在毛细管内部,水滴会被毛细管内部压力沿着毛细管内壁拖拽,最终在毛细管内部形成弧形液面。毛细管压力可以使用下面的拉普拉斯公式进行计算:
其中P为毛细管压力,Rc为毛细管的半径,γLV为气-液交界面上的表面张力,θ为接触角的大小;
液体粒子的芯吸速率主要与纱线间的孔隙,即毛细管的半径大小和液体的粘稠度,即表面张力的大小,两个因素有关。对于整个液体来说,其在纤维织物的芯吸速率则主要与毛细管压力梯度有关。由于重力因素的存在,当毛细管压力与毛细管内液体所受到的重力的大小相同,此时毛细管内液体的高度将会保持不变,可以用下面的公式进行计算:
其中Heq为平衡时的芯吸高度,γLV为气-液交界面上的表面张力,θ为接触角的大小,ρLiquid为液体密度,Rc为毛细管的半径,g为重力加速度,这里取值为9.780m/s2。
S44、仿真计算液体扩散:液体扩散的仿真计算以菲克定律为基础,菲克定律是指在不依靠宏观的混合作用发生的传质现象时,描述分子扩散过程中传质通量与浓度梯度之间关系的定律。在三维空间中,菲克定律的计算公式如下:
其中D为扩散系数,本实施例中设置为3.8,C为织物含水量,xp为液体粒子x轴坐标,yp为液体粒子y轴坐标,zp为液体粒子z轴坐标,t表示时间。
液体在织物内部分扩散方式被分为同纤维扩散、相邻纤维扩散和高浓度差水分析出扩散。同纤维扩散是指同一纱线中不同纤维分段间的水分扩散过程,该方式的扩散速度为三种方式中最快的。相邻纤维扩散是指相互接触的上下两层不同纤维分段间的水分交换,由于纤维分段的接触面积有限,因此该方式的扩散速率比铜纤维扩散的扩散速率慢。高浓度差水分析出扩散是指含水量较高的纤维分段析出水分进入毛细管中,含水量较低的纤维分段也会从毛细管中吸收水分,这种非接触式的水分传递过程,依赖毛细管对于水分的传递,因此速度最慢。
扩散过程中,重力会使得纤维中的水分倾向于沿着重力方向进行扩散,该过程可以使用下面的公式进行描述:
Diffg=kg cos θhlWh
其中Diffg为重力影响的液体扩散量,kg为重力扩散参数,在本实施例中被设置为0.2,θhl为纤维分段间的夹角,Wh为较高纤维分段的含水量,本实施例中通过分别计算纤维分段的质心,通过质心连线计算纤维分段间的夹角。
S45、仿真计算液体传输过程:液体传输过程的计算以上一步中的液体扩散过程为基础,通过计算水蒸气在纱线中的传输过程和气液传输中的能量变化来模拟液体传输过程。在液体与织物接触湿润的过程中,由于温度原因,部分液体蒸发为水蒸气,并以气体形式进入到纱线中进行扩散。液体传输过程包括液态水传输过程,水蒸气传输过程,能量传输过程。其中液态水传输过程的计算方法如下:
其中ρl为液体密度,εl是织物中液态水的体积占比,t表示时间,τl代表的是液态水的扩散系数,xdiff表示扩散距离,Dl表示的是液态水的扩散系数,在本实施例中被设置为3.8,ωl是液态水在纤维表面的吸收比例,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,Γlg表示水汽蒸发和冷凝的速率。
水蒸气传输过程的计算方法如下:
其中εa是织物中水蒸气的体积占比,Ca是纱线间孔隙的空气中水蒸气的浓度参数,t表示时间,Da水蒸气在多孔织物中的扩散参数,在本实施例中被设置为2.9,τa代表的是水蒸气的扩散系数,xdiff表示扩散距离,ωa水蒸气在纤维表面的吸收比例,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,Γlg表示水汽蒸发和冷凝的速率。
能量传输过程的计算方法如下:
其中cv表示纤维含水量体积,T为织物所处环境的温度,t表示时间, xdiff表示扩散距离,K(xdiff,t)表示扩散距离为多孔织物的传热系数,该系数与扩散距离xdiff和扩散时间t有关,ωa水蒸气在纤维表面的吸收比例,λv纤维对液态水的吸收或析出释放的热量,ωl是液态水在纤维表面的吸收比例,λl为纤维对水蒸气的吸收或析出释放的热量,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,λlg为水的蒸发潜热,Γlg表示水汽蒸发和冷凝的速率。
S5、根据交互过程计算液体粒子受到的毛细管压力和扩散驱动力。
本实施例中,步骤S5过程如下:
S51、根据交互过程计算液体粒子受到的毛细管压力:毛细管压力是毛细管对周围的液体粒子所产生的压力,使得液体粒子向毛细管内流动,它的大小会随着毛细管中水的饱和程度的增大而减小,可以通过下面的公式来进行描述:
Pcur=Pmax(1-S)α
其中Pcur为毛细管当前压力,Pmax为毛细管最大压力,S为毛细管的饱和程度,α为毛细管力的计算参数,大小在0到1间。根据交互过程,可以通过下面的公式计算液体粒子受到的毛细管总压力:
其中Pcapillary为液体粒子受到的毛细管总压力,ic表示液体粒子光滑核半径内第ic个毛细管,icsum表示光滑核半径内毛细管的数量,Pic表示液体粒子光滑核半径内第ic个毛细管对于液体粒子的压力,W(x-xcapillary,h)为光滑核函数,x表示液体粒子的位置,xcapillary表示毛细管的位置,h表示光滑核半径;
S52、根据交互过程计算液体粒子受到的扩散驱动力:扩散驱动力为织物水含量差产生的液体粒子运动的驱动力,可以根据织物水含量对距离求导所得:
其中Fdiffusion为扩散驱动力,Cyarn为纤维分段的含水量,xdiff为扩散距离,负号表示液体粒子的运动方向是由高浓度处向低浓度处扩散。
S6、根据仿真计算进行结果可视化,对液体进行表面重建和纤维分段着色。
本实施例中,步骤S6过程如下:
S61、基于水平集和隐式积分的方法,通过最小化水平集表面能量的消耗,使用每一帧液体粒子的速度和位置信息,对液体进行表面重建,得到连续的液体;
S62、将棉布布料模型和表面重建后的液体导入渲染软件Cinema 4D 中。通过仿真计算可以得到每一个纤维分段的含水量,本发明根据纤维分段含水量与饱和含水量的比值,根据织物本身的颜色,用11种深度不同的颜色来表示纤维分段含水量的不同。当纤维分段含水量为0时,纤维分段的颜色就是其本身的颜色,纤维分段的含水量越高,颜色越深。在对于每个纤维分段都进行材质的赋予后,在Cinema 4D中进行渲染可以得到最终的扩散结果。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种基于PCISPH由物理驱动的织物水含量仿真可视化方法,其特征在于,所述的可视化方法包括以下步骤:
S1、设置纱线结构参数、飞线结构参数、织物整体参数和织物结构参数,过程如下:
S11、设置纱线结构参数,该纱线结构参数由纱线直径、纱线接触面积和纱线弯曲程度三个参数构成,其中,纱线为构成织物模型的主结构,由多个纤维分段组成,纤维分段为组成纱线的基本单元,包括向上弯曲和向下弯曲两种形式;
S12、设置飞线结构参数,该飞线结构参数由飞线直径、飞线长度和飞线密度三个参数构成,其中,飞线密度表示在一个纤维分段上飞线的数目,飞线密度的大小影响织物表面粗糙度,飞线表示不完全包含在纱线中的线头,又可以分为环形飞线和茸毛飞线,环形飞线为两端在纱线内,中间部分在纱线外的飞线,茸毛飞线为一端在纱线内,一端在纱线外的飞线;
S13、设置织物整体参数,该织物整体参数由织物厚度和织物表面粗糙度两个参数构成;
S14、设置织物结构参数,该织物结构参数由织物孔隙率和织物密度两个参数构成,其中,织物孔隙率是指是织物孔隙体积与织物体积在自然状态下的百分比,织物密度包括经向密度和纬向密度,经向密度是指经向1cm内排列的纱线根数,纬向密度是指纬向1cm内排列的纱线根数;
S2、根据纱线结构参数和飞线结构参数构造纤维单元,并根据织物密度排列纤维单元组成初步织物模型,根据织物厚度调整初步织物模型得到最终织物模型,根据最终织物模型进行包围盒构造;
S3、求解液体粒子动力学方程,通过计算液体粒子区域密度、黏力、压力、表面张力和重力,进行液体粒子运动状态的更新;
S4、仿真计算液体与织物的交互过程,通过碰撞检测判定液体是否应该被吸收,仿真计算液体的芯吸过程、扩散过程和传输过程,过程如下:
S41、通过碰撞检测计算液体与织物的接触过程:在仿真计算中,液体粒子首先与整个织物的包围盒进行碰撞检测,其中,碰撞检测是检测液体粒子是否与织物发生碰撞的算法,检测通过后,则与纤维单元的包围盒进行碰撞检测,当液体粒子进入到纤维单元的包围盒后,若粒子与纤维分段的包围盒树发生碰撞,则根据纤维分段的饱和程度判断粒子是否会被吸收,若粒子没有与纤维分段的包围盒树发生碰撞,则会受到表面张力的影响,进入到毛细管中;
S42、根据碰撞检测过程进行液体粒子吸收判定:碰撞检测过程中,若液体粒子与纤维分段的包围盒树发生碰撞,则进行吸收判定,若纤维分段的含水量没有达到上限,则液体粒子将被吸收,若纤维分段的含水量达到上限,则液体粒子不能被吸收;
S43、仿真计算织物的芯吸过程:织物芯吸指织物表面液体在织物孔隙的毛细压力下吸收进入织物内部的过程,在织物表面润湿后,由于气-液交界面上存在的毛细管压力差,液滴会被吸附进毛细管的内部,而在毛细管内部,液滴会被毛细管内部压力沿着毛细管内壁拖拽,最终在毛细管内部形成弧形液面,毛细管内部压力使用下面的拉普拉斯公式进行计算:
其中P为毛细管压力,Rc为毛细管的半径,γLV为气-液交界面上的表面张力,θ为接触角的大小;
S44、仿真计算液体扩散:液体扩散的仿真计算以菲克定律为基础,菲克定律是指在不依靠宏观的混合作用发生的传质现象时,描述分子扩散过程中传质通量与浓度梯度之间关系的定律;
S45、仿真计算液体传输过程:液体传输过程的计算以上一步中的液体扩散过程为基础,通过计算水蒸气在纱线中的传输过程和气液传输中的能量变化来模拟液体传输过程,在液体与织物接触湿润的过程中,由于温度原因,部分液体蒸发为水蒸气,并以气体形式进入到纱线中进行扩散,液体传输过程包括液态水传输过程、水蒸气传输过程、能量传输过程,其中,液态水传输过程的计算方法如下:
其中ρl为液体密度,εl是织物中液态水的体积占比,t表示时间,τl代表的是液态水的扩散系数,xdiff表示扩散距离,Dl表示的是液态水的扩散系数,ωl是液态水在纤维表面的吸收比例,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,Γlg表示水汽蒸发和冷凝的速率;
水蒸气传输过程的计算方法如下:
其中εa是织物中水蒸气的体积占比,Ca是纱线间孔隙的空气中水蒸气的浓度参数,t表示时间,Da水蒸气在多孔织物中的扩散参数,τa代表的是水蒸气的扩散系数,xdiff表示扩散距离,ωa水蒸气在纤维表面的吸收比例,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,Γlg表示水汽蒸发和冷凝的速率;
能量传输过程的计算方法如下:
其中cv表示纤维含水量体积,T为织物所处环境的温度,t表示时间,xdiff表示扩散距离,K(xdiff,t)表示扩散距离为多孔织物的传热系数,该系数与扩散距离xdiff和扩散时间t有关,ωa水蒸气在纤维表面的吸收比例,λv纤维对液态水的吸收或析出释放的热量,ωl是液态水在纤维表面的吸收比例,λl为纤维对水蒸气的吸收或析出释放的热量,εf是织物中纤维的体积占比,Γf是水汽吸收和析出的速率,λlg为水的蒸发潜热,Γlg表示水汽蒸发和冷凝的速率;
S5、根据交互过程计算液体粒子受到的毛细管压力和扩散驱动力,过程如下:
S51、根据交互过程计算液体粒子受到的毛细管压力:毛细管压力是毛细管对周围的液体粒子所产生的压力,使得液体粒子向毛细管内流动,它的大小会随着毛细管中液体的饱和程度的增大而减小,根据交互过程,通过下面的公式计算液体粒子受到的毛细管总压力:
其中Pcapillary为液体粒子受到的毛细管总压力,i表示液体粒子光滑核半径内第i个毛细管,j表示光滑核半径内毛细管的数量,Pi表示液体粒子光滑核半径内第i个毛细管对于液体粒子的压力,W(x-xcapillary,h)为光滑核函数,x表示液体粒子的位置,xcapillary表示毛细管的位置,h表示光滑核半径;
S52、根据交互过程计算液体粒子受到的扩散驱动力:扩散驱动力为织物水含量差产生的液体粒子运动的驱动力,用下面的公式进行计算:
其中Fdiffusion为扩散驱动力,Cyarn为纤维分段的含水量,xdiff为扩散距离,负号表示液体粒子的运动方向是由高浓度处向低浓度处扩散;
S6、根据仿真计算进行结果可视化,对液体进行表面重建和纤维分段着色。
2.根据权利要求1所述的基于PCISPH由物理驱动的织物水含量仿真可视化方法,其特征在于,所述的步骤S2过程如下:
S21、根据纱线结构参数和飞线结构参数构造纤维单元:设置纱线模型的直径,飞线的直径和长度,根据飞线密度计算纱线模型上飞线的数量,根据纱线接触面积和纱线弯曲程度对纤维分段进行的向上或向下的弯曲;
S22、根据织物密度计算织物模型所需纤维数量:通过计算得到的纤维分段数量,按照经纬方向将纱线进行连接和排列,组成初步织物模型;
S23、根据织物厚度计算织物模型的织物上下层之间的接触情况,对初步织物模型进行调整,得到最终织物模型;
S24、根据最终织物模型进行包围盒构造,包围盒是一种求解离散点集最优包围空间的算法,最终织物模型的包围盒构造共分为四层,分别为整个织物的包围盒、纤维单元的包围盒、纤维分段的包围盒和纤维分段的包围盒树,其中,纤维单元由互相接触的上下两层共8个的纤维分段所组成。
3.根据权利要求1所述的基于PCISPH由物理驱动的织物水含量仿真可视化方法,其特征在于,所述的步骤S3过程如下:
S31、通过累计计算粒子作用域内的粒子数目得到液体粒子区域密度:给定粒子作用域的半径记为h,即光滑核半径,通过对三维空间中给定粒子作用域内其余液体粒子质量和体积进行计算,确定液体粒子作用域的总质量和总体积,从而计算出以给定液体粒子为中心的液体平均密度,作为给定粒子的区域密度;
S32、通过液体区域密度计算液体粒子黏力:通过区域密度计算给定粒子作用域内粒子数目,给定粒子所受到的黏力是作用域内所有粒子对其黏力之和,通过动力学方程计算给定粒子与单个粒子间的黏力,将作用域内所有粒子对给定粒子所产生黏力相加,作为给定粒子所受到的黏力;
S33、通过预测给定粒子的区域密度,得到给定粒子预测密度增量,通过预测密度增量的累积影响,预测给定粒子所受到的压力;
S34、根据织物性质设置接触角,计算液体所受到的表面张力:在液体与固体接触后,气、液、固三相交点处所作的气-液界面的切线与固-液交界面液体一方的夹角,称为接触角,表面张力是指液体与气体之间的界面张力,在液体没有与固体接触前,表面张力会使得液体表面出现压缩现象,使得液体更像一个球体,当液体与固体接触后,通过接触角计算液体表面张力的变化;
S35、根据每一个液体粒子的质量,计算每一个液体粒子受到的重力;
S36、液体粒子的合力计算和运动状态更新:通过计算液体粒子所受到的压力、黏力、重力和表面张力,由牛顿第二定律计算出液体粒子所受到的合力加速度,通过合力加速度,更新液体粒子的速度和运动方向,从而更新下一帧粒子的位置和运动速度,液体粒子根据新位置作用域内的其他粒子物理属性,计算其受到的新密度、黏力和压力。
4.根据权利要求1所述的基于PCISPH由物理驱动的织物水含量仿真可视化方法,其特征在于,所述的步骤S6过程如下:
S61、基于水平集和隐式积分的方法,通过最小化水平集表面能量的消耗,使用每一帧液体粒子的速度和位置信息,对液体进行表面重建,得到连续的液体;
S62、根据纤维分段的含水量,为纤维分段赋予不同的颜色,纤维分段的含水量越高,其所呈现出的颜色越深。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010325050.2A CN111563321B (zh) | 2020-04-23 | 2020-04-23 | 基于pcisph由物理驱动的织物水含量仿真可视化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010325050.2A CN111563321B (zh) | 2020-04-23 | 2020-04-23 | 基于pcisph由物理驱动的织物水含量仿真可视化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111563321A CN111563321A (zh) | 2020-08-21 |
CN111563321B true CN111563321B (zh) | 2024-03-29 |
Family
ID=72071777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010325050.2A Active CN111563321B (zh) | 2020-04-23 | 2020-04-23 | 基于pcisph由物理驱动的织物水含量仿真可视化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111563321B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330812B (zh) * | 2020-11-05 | 2023-01-10 | 桂林理工大学 | 一种气体扩散可视化方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015045540A (ja) * | 2013-08-27 | 2015-03-12 | 旭化成せんい株式会社 | 水蒸気の可視化方法 |
CN107025332A (zh) * | 2017-03-07 | 2017-08-08 | 华南理工大学 | 一种基于sph的织物表面微观水扩散过程可视化方法 |
CN107109731A (zh) * | 2014-12-28 | 2017-08-29 | 金.帕奇特 | 夹带粒子的透气结构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140092102A1 (en) * | 2012-09-28 | 2014-04-03 | Nvidia Corporation | Circuit and method for dynamic cloth simulation and graphics processing unit employing the same |
-
2020
- 2020-04-23 CN CN202010325050.2A patent/CN111563321B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015045540A (ja) * | 2013-08-27 | 2015-03-12 | 旭化成せんい株式会社 | 水蒸気の可視化方法 |
CN107109731A (zh) * | 2014-12-28 | 2017-08-29 | 金.帕奇特 | 夹带粒子的透气结构 |
CN107025332A (zh) * | 2017-03-07 | 2017-08-08 | 华南理工大学 | 一种基于sph的织物表面微观水扩散过程可视化方法 |
Non-Patent Citations (3)
Title |
---|
Particle-based simulation of the interaction between fluid and knitwear;Uğur Güdükbay et al;Signal, Image and Video Processing;20120419;第8卷;415-422 * |
实时的流体布料碰撞检测方法;臧惠;刘箴;柴艳杰;刘婷婷;周昆;;计算机辅助设计与图形学学报;20180415;30(04);602-610 * |
水下柔性织物充气过程建模与仿真;张绳;刘雄;韩宗真;余莉;张亚雄;;舰船科学技术;20110815;33(08);49-52 * |
Also Published As
Publication number | Publication date |
---|---|
CN111563321A (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shen et al. | Hydrodynamic interaction of a self-propelling particle with a wall: Comparison between an active Janus particle and a squirmer model | |
CN106021828B (zh) | 一种基于格子‑玻尔兹曼模型的油层流体模拟方法 | |
Jing et al. | Excitation mechanism of rain–wind induced cable vibration in a wind tunnel | |
CN107025332B (zh) | 一种基于sph的织物表面微观水扩散过程可视化方法 | |
CN111563321B (zh) | 基于pcisph由物理驱动的织物水含量仿真可视化方法 | |
Chung et al. | On the mechanism of air pollutant removal in two-dimensional idealized street canyons: a large-eddy simulation approach | |
CN107941544B (zh) | 一种模拟地下水封油库储油原理的试验装置及方法 | |
De Rivas et al. | Dense spray evaporation as a mixing process | |
Feng et al. | Contact angle variation on single floating spheres and its impact on the stability analysis of floating particles | |
CN113221215A (zh) | 基于bim模型的土石坝渗流动态可视化监控分析方法 | |
Faflak et al. | Experimental study of how far blood spatter stains on fabrics can be found from the blood source, and relevance to crime scene reconstruction | |
Wang | The influence of thermally-induced mesoscale circulations on turbulence statistics over an idealized urban area under a zero background wind | |
Marmur | Penetration and displacement in capillary systems | |
Rafi et al. | Two-dimensional analogies to the deformation characteristics of a falling droplet and its collision | |
Humami et al. | Experimental study on the characteristics of flow pattern transitions of air-water two-phase flow in a horizontal pipe | |
Okafor et al. | Analysis of wind effect on High-rise Building for different terrain category | |
Tamate et al. | Simulation of precipitation on centrifuge models of slopes | |
Li et al. | Identifying shelter locations and building air intake risk from release of particulate matter in a three-dimensional street canyon via wind tunnel and CFD simulation | |
CN103900523B (zh) | 液罐吊装变形测量方法 | |
Chauhan et al. | Study of variation in wind loads on rectangular cross-section tall building due to change in location of interfering buildings | |
CN103778289B (zh) | 一种风速流线可视化的建筑设计方法 | |
CN110276169A (zh) | 面向绿色施工的虚拟焊接烟尘仿真方法 | |
CN111709141A (zh) | 一种基于Fluent的城市水体蒸发模拟方法 | |
Serizawa et al. | Experiment and numerical simulation of bubbly two-phase flow across horizontal and inclined rod bundles | |
Lipsa et al. | FoamVis: Visualization of 2D foam simulation data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |