STAR-CCM+ 基础培训教程课件_第1页
STAR-CCM+ 基础培训教程课件_第2页
STAR-CCM+ 基础培训教程课件_第3页
STAR-CCM+ 基础培训教程课件_第4页
STAR-CCM+ 基础培训教程课件_第5页
已阅读5页,还剩125页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、STAR-CCM+ 基础培训教程(V 2.02.009),所属:CDAJ CHINA,1,学习交流PPT,目录,Chap.1: STAR-CCM+简介 Chap.2: STAR-CCM+网格功能 Chap.3: STAR-CCM+计算设定 Chap.4: STAR-CCM+后处理 Chap.5: STAR-CCM+的工具(tools) Chap.6: 一个简单的例子 Chap.7: 附录,2,学习交流PPT,Chap 1. STAR-CCM+简介,1.1 STAR-CCM+是什么? 1.2 STAR-CCM+ 求解问题的过程. 1.3 STAR-CCM+ 的工作界面. 1.4 现有的网格功能.

2、 1.5 现有的物理模型.,3,学习交流PPT,1.1 STAR-CCM+是什么?,STAR-CCM+由CD-adapco公司开发, 是“下一代的CFD解决方案” 强大的网格能力:从面网格(Surface wrapper)到体网格。 先进的物理模型: 包括层流,湍流,多相流,气穴,辐射,燃烧,边界层转戾,高马赫流,共轭热传导等等,以及新的热交换器和风扇模型。 多面体网格: 较少的内存和更快的求解速度。 强大的可视化:: 分析过程中的动态显示。 可信赖的结果: STAR-CCM+ solver的稳健性 网格兼容性: STAR-CD, ICEM, GridGen, Gambit 十亿以上的网格处理

3、能力: 诞生之初,STAR-CCM+就专门为处理大规模网格而设计。.,STAR-CCM+ makes the Tour de France less of a Drag,4,学习交流PPT,1.2 STAR-CCM+ 求解问题的过程,准备网格,选择物理模型,输入模型,设定边界条件,设定初始条件,运算,后处理,5,学习交流PPT,1.3 STAR-CCM+ 的工作界面,STAR-CCM+ 的工作界面(workspace)如下:,6,学习交流PPT,1.4 网格功能 (Version 2.02.009),和其他网格生成软件的协调性 可以输入来自以下网格: pro-STAR Gridgen Flue

4、nt Gambit STAR-CD ICEM 可以输出到pro-STAR进行后处理,面网格 面网格工具: Surface remesher Surface wrapper Hole filler Edge zipper 特征线提取和编辑工具,体网格 3种体网格模型: tetrahedral polyhedral trimmed 边界层网格模型: prism layer 精细网格调节: Volume sources 全局或局部参数设置,网格演化 Transform 缩放, 平移和旋转 对边界(boundaries)和区域(regions)的分裂和合并 创建,删除和融合交界面(interfaces

5、) 融合内部边界 将3维网格转化为2维,表面几何输入 可以导入的面网格或几何: .dbs - pro-STAR surface database mesh file .inp - pro-STAR cell/vertex shell input file .nas - NASTRAN shell file .pat - PATRAN shell file .stl - Stereolithography file,7,学习交流PPT,1.5 现有的物理模型 (Version 2.02.009),流动和能量 无粘,层流,湍流。 气体,液体,固体和多孔介质。 共轭传热 自由表面 (VOF) 空化(

6、cavitation) 辐射类型的热交换 FAN性能曲线修正的动量源项。,基本模型 空间 二维l 轴对称 三维 时间 稳态 显式非稳态 隐式非稳态 运动 运动参照系模型# 刚体运动模型,辐射 Surface-to-surface Discrete ordinate,湍流 Spallart-Allmaras K-Epsilon K-Omega 雷诺应力输运方程 壁面处理 (Low y+, High y+, All y+) 壁面距离 (Exact, Approximate) 边界层转戾(prescriptive boundary-layer transition),燃烧 Eddy Break Up

7、 (EBU) Presumed Probability Density Function (PPDF), adiabatic and non-adiabatic,8,学习交流PPT,Chap 2. STAR-CCM+ 网格功能,2.1 面网格 2.1.1 Surface Wrapper 2.1.2 Surface Remesher 2.1.3 特征线 2.1.4 修补工具(hole filler, edge zipper) 2.2 体网格 2.2.1 Polyhedral mesher 2.2.2 Tetrahedral mesher 2.2.3Trimmer 2.2.4 prsim laye

8、r mesher 2.3 模型的演化 2.4 界面的处理,9,学习交流PPT,2.1.1 surface wrapper,在导入的CAD数据质量较差时, 例如存在: 洞和缝隙; 错配的边; 多重边(multiple edges); 折叠尖角(sharp angle folds); 很差的三角形状 (如needles cells); 交叉(self intersection); 非流形拓扑结构(non-manifold topology) 时, surface wrapper可以用来提供一个封闭,流形,非交叉的表面。包括: 封闭洞(holes), 缝隙(gaps)和错配的面(mismatches

9、); 去掉双重面(double surfaces), 除去不需要的内部几何特征; 简化表面, 除去不必要的细节; 提供基于曲率(curvature), 临近率(proximity)以及对独立表面的细化,10,学习交流PPT,2.1.1.1 surface wrapper的属性选项,Surface wrapper的属性有3个选项: Do curvature refinement Do gap closure Do proximity refinement 缺省情况下, 只有Do curvature refinement打开,curvature refinement, gap closure, p

10、roximity refinement 在附录中有介绍,11,学习交流PPT,2.1.1.2 surface wrapper的全局(global)设定,使用surface wrapper时,有如下的全局控制参数: base size; gap closure size; surface curvature(#Pts/circle ); surface proximity (Search Floor, # Points in a gap); surface size; wrapper feature angle; and wrapper scale factor,解释,12,学习交流PPT,2.

11、1.1.3 surface wrapper区域(region)设定,在区域(region)这一级, 有三个选项来进一步控制包面效果,它们是: volume of interest specification; contact prevention; smallest wrapping volume 其中体积指定(volume of interest specification)有如下四个选项: external; largest internal; seed point; nth largest,Largest internal,external,Seed point,Nth largest,

12、解释,有关区域Region和边界(boundary)的概念见附录,13,学习交流PPT,2.1.1.4 surface wrapper边界(boundary)设定,在边界(boundary)这一级, 对每一个边界,有四个控制参数: custom gap closure size; custom surface curvature; custom surface proximity; custom surface size,解释,14,学习交流PPT,2.1.2 surface remesher,surface remesher用来对已有的表面进行再次三角化, 以便提高表面三角形质量, 为生成体

13、网格做准备. Remeshing的效果主要取决你设定的目标尺度, 同时可以提供基于表面曲率(curvature), 临近率(proximity)的细化. 在每个边界(boundary), 可以设定不同的目标尺度, 进行局部控制.也可以取消remesher, 以便保留原始网格.,15,学习交流PPT,2.1.2.1 surface remesher的属性选项,Surface remesher的属性有两个选项: Do curvature refinement Do proximity refinement 缺省情况下, 两个选项都打开,curvature refinement, proximity

14、 refinement 在附录中有介绍,16,学习交流PPT,2.1.2.2 surface remesher的全局(global)设定,使用surface remesher时,有如下的全局控制参数: base size; surface curvature(#Pts/circle ); surface growth rate; surface proximity(Search Floor, # Points in a gap); surface size,解释,17,学习交流PPT,2.1.2.3 surface remesher边界(boundary)设定,在区域(region)这一级,

15、remesher没有控制选项. 在边界(boundary)这一级, 有如下四个控制参数: custom surface curvature; custom surface proximity; custom surface size; customize surface remeshing,解释,18,学习交流PPT,2.1.3 特征线,为了抓住想要的几何特征, 得到高质量的网格(无论是面网格还是体网格), 有必要定义特征线. 所有定义为特征线的边(edge),将会在meshing过程中保留. 此外, 在进行表面修理时(例如补洞, 缝合边), 也需要事先定义特征线.,19,学习交流PPT,2.

16、1.3.1创建特征线,STAR-CCM+里, 可以创建下面五种特征线: sharp edges 创建基于锐边角度值(Sharp edge angle value)的特征线 (缺省值为31度); free edges 将所有的自由边定义为特征线; non-manifold edges 将所有的非流形边定义为特征线; patch perimeters 将patch的周围定义为特征线 boundary perimeters 将边界的周围定义为特征线,20,学习交流PPT,2.1.3.2 增加特征线,特征线可以按照如下方式手动添加,21,学习交流PPT,2.1.3.3 编辑特征线,可以对特征线进行编辑

17、(重新分组或删除),22,学习交流PPT,2.1.4. 面的修补,STAR-CCM+里可以利用特征线对表面进行修补. 补洞 (hole filler) 缝合边 (edge zipper),23,学习交流PPT,2.1.4.1补洞 (hole filler),24,学习交流PPT,2.1.4.2缝合边 (zipping edge),25,学习交流PPT,2.2 体网格,STAR-CCM+有三种体网格模型: tetrahedral mesher polyhedral mesher trimmer 对以上3种网格模型, 都可以同时使用prism layer mesher, 以便在近壁区域产生棱柱状边

18、界层网格. 使用volume source (包括长方体, 球体, 圆柱体, 圆锥体)可以对网格密度进行控制 当解析结果存在时, 生成新的网格后, 解析结果会自动映射到新的网格上.,26,学习交流PPT,2.2.1 polyhedral mesh,使用polyhedral mesher产生的网格如下:,27,学习交流PPT,2.2.2 tetrahedral mesh,使用tetrahedral mesher产生的网格如下:,28,学习交流PPT,2.2.3 Trimmed mesh,使用trimmer产生的网格如下:,29,学习交流PPT,2.2.4 prism layer mesh,边界层

19、网格有如下控制参量: 边界层层数; 边界层厚度; 边界层分布(三种方法任选其一): stretching factor near wall thickness thickness ratio,Stretching factor: 相邻两层厚度之比 Near wall thickness: 最靠近壁面那一层的厚度 Thickness ratio: 最外层和最内层厚度之比,30,学习交流PPT,2.3 模型的演化,2.3.1 三维网格转化二维网格 2.3.2 针对区域(region)的演化 2.3.2.1 区域的缩放 2.3.2.2 区域的平移 2.3.2.3 区域的旋转 2.3.2.4 区域的合

20、并 2.3.2.5 区域的分割 2.3.3 针对边界(boundary)的演化 2.3.3.1 边界的合并 2.3.3.2 边界的融合 2.3.3.3 边界的分割 2.3.3.4 边界的投影,31,学习交流PPT,2.3.1: 三维网格转化二维,导入三维网格后, 任何位于Z=0平面的边界(boundary)都可以被抽取出来, 然后作为二维网格来计算.,32,学习交流PPT,2.3.2.1 区域的缩放,33,学习交流PPT,2.3.2.2 区域的平移,34,学习交流PPT,2.3.2.3 区域的旋转,35,学习交流PPT,2.3.2.4 区域的合并,36,学习交流PPT,2.3.2.5 区域的分

21、割,通过连续性对区域进行分割,37,学习交流PPT,2.3.2.5 区域的分割(续):通过函数,可以通过用户场函数来对区域进行分割, 例如通过Tools Field functions new function, 建立名为User Field Function 1的用户函数: ($Centroid0 4) ? 0 : 1 然后通过该函数对图示区域进行分割.,38,学习交流PPT,2.3.3.1 边界的合并,39,学习交流PPT,2.3.3.2 边界的融合,40,学习交流PPT,2.3.3.3 边界的分割,有五种方法可以进行边界的分割: splitting non-contiguous boun

22、daries; splitting boundaries by angle; splitting by function; splitting by patches; splitting by feature curves,41,学习交流PPT,2.3.3.4 边界的投射,有时为了创建交界面或是抽取二维网格, 需要将一条起伏的边界投射到某一平面上, 这时可以使用边界的投射功能,42,学习交流PPT,2.4 界面(interface)的处理,界面(Interfaces)可以由现存的边界(boundary)创建: 由两条边界创建一个界面 将一条边界转化为界面 界面可以用来: 创建baffle或po

23、rous baffles; 创建周期性边界 将两块同一类型或不同类型的区域连接起来.,界面的类型见附录,43,学习交流PPT,2.4.1 由两条边界创建交界面,选择两条需要定义为界面的边界, 可以创建一个交界面. 然后在Interfaces节点上会出现一个新的界面名称.,在Interfaces下会出现一个新的节点.,44,学习交流PPT,2.4.2 将一条边界转化为交界面,将一条边界转化为交界面时: 这条边界(boundary)会自动生成一份拷贝; 一个in-place类型的交界面会自动创建,45,学习交流PPT,Chap.3 STAR-CCM+ 计算设定,3.1 物理模型 3.2 边界条件

24、3.3 初始条件 3.4 Solver参数 3.5 监控(monitor)设置 3.6 终止判据,46,学习交流PPT,3.1 物理模型,47,学习交流PPT,3.1 物理模型(续),48,学习交流PPT,3.2 边界条件,STAR-CCM+使用如下的边界条件: velocity inlet; symmetry plane; wall; stagnation inlet; pressure outlet; mass flow inlet; free-stream; and flow-split outlet.,选择类型,定义大小,49,学习交流PPT,3.3 初始条件,初始条件可以通过如下方法

25、设定: 使用定值; 使用场函数 使用列表数据. 此外,还可以对每个单独的区域设定进行定制。,注: 现在的版本不支持通过User Code 来定义初始条件,50,学习交流PPT,3.3.1 使用定值,通常情况下,大多数初始条件均直接输入定值。,51,学习交流PPT,3.3.2 使用自定义场函数,步骤: 定义场函数 选择该变量指定方式为FieldFunction 选中已定义的场函数,例如在VOF两相流计算中,指定空气的体积份数为: ($Position0 = -1) ? 1 : 0,52,学习交流PPT,3.3.3 通过列表数据指定,步骤: 读入列表数据 选择指定方式为Table(*) 选中已读入

26、的table数据,1,2,3,53,学习交流PPT,3.4 Solver 参数,在Solver节点,可以调整诸如松弛因子,Courant数之类的求解器参数,54,学习交流PPT,3.5 监控(monitor)设置,STAR-CCM+可以提供两种监控: 残差监控(residual monitors) 基于Report的监控(report-based monitors),55,学习交流PPT,3.5.1 残差监控,残差(residual)代表各守恒方程在控制单元的不满足程度。缺省情况下,在进行运算时残差监控(Monitors)和残差显示(plots)会自动创建。,56,学习交流PPT,3.5.2

27、基于报告(Report)的监控,基于Report的监控可以用来监视我们感兴趣的变量(例如压力系数)在迭代过程中的变化情况。 任何一个report都可以用来创建监控(Monitor), 同时基于report的监控(Monitor)可以用做计算的终止判据。,57,学习交流PPT,3.6. 终止判据,使用自动生成的终止判据 稳态 非稳态 使用基于监视(monitor)的终止判据 最大值 最小值 渐进值,58,学习交流PPT,3.6.1 使用自动生成的终止判据,稳态 Maximum Steps; Stop File: 非稳态 Maximum Inner Iterations; Maximum Phys

28、ical Time; Maximum Steps; and Stop File.,解释,59,学习交流PPT,3.6.2 基于监视值的终止判据,相对于设置迭代步数,更有意义的方法是设置基于监视值的终止条件,例如限定残差最小值,或是监控某个物理量(例如阻力系数和升力系数)是否达到稳定。 有3种限制方法: 最小值(minimum) 最大值(maximum) 渐进值(asymptotic limit),60,学习交流PPT,3.6.2.1 使用最大/最小值,缺省情况下,基于monitor的终止条件均采用最小值限制。 选择最大或最小值限制后,可在属性栏设置指定的数值。,61,学习交流PPT,3.6.2

29、.2 使用渐进值,使用渐进值限定(asymptotic limit)的方法可以让我们监视某个变量是否达到稳定. 如在给定区间(如10个迭代步数)的最大变化量(|Max-Min|)小于某个数值,则计算终止。,62,学习交流PPT,Chap.4 STAR-CCM+后处理,4.1 显示几何 4.2 显示标量 4.3 显示矢量 4.4 显示流线 4.5 显示x-y图,63,学习交流PPT,4.1 显示几何,操作: ScenesNew SceneGeometry 在属性栏可控制不同的显示模式, 如显示网格, 特征线, 轮廓线等,64,学习交流PPT,4.2 显示标量,操作: ScenesNew Scen

30、eScalar 在属性栏可控制标量的显示,65,学习交流PPT,4.3 显示矢量,操作: ScenesNew SceneVector 在属性栏可控制矢量的显示 缺省情况下显示的是速度场,但是其它矢量场也可以显示出来。,66,学习交流PPT,4.4 显示流线,显示流线的步骤: 创建一个新的Scene 创建一个新的derived part. (操作: Derived Parts New Streamline. ) 这样一个新的streamline节点会出现在该Scene下, 可以在属性栏控制显示效果. (lines, ribbons,tubes),1,2,3,67,学习交流PPT,4.5 显示X-

31、Y图,显示X-Y图的步骤: 右击Plots, 选择 NewPlotXYPlot. 选择数据所在的part(如某个截面) 选择X, Y轴的类型, 选择函数名称,2,1,3,68,学习交流PPT,Chap.5 STAR-CCM+其他工具(tools),5.1 注释 5.2 局部坐标系 5.3 场函数 5.4 table 5.5 用户子程序 5.6 Volume shapes,69,学习交流PPT,5.1 使用注释,注释是什么 注释就是用户想要增加在图形里面的文字或图片.,3D 图形,2D 图形,70,学习交流PPT,5.1.1 添加注释,添加注释的步骤: 右击 Annotations节点, 选择N

32、ew Simple Text 出现新的节点:user 1, 在属性栏进行定义. 将定义好的注释拖到scene图形中,1,2,3,71,学习交流PPT,5.2 局部坐标系,局部坐标系可以在全局坐标系的基础上定义. 可以是笛卡尔, 圆柱或球形坐标系. 局部坐标系经常用来定义边界条件和初始条件, 例如: 提供一个旋转进口的速度剖面. 提供一个旋转区域的速度,72,学习交流PPT,5.2.1 创建局部坐标系,在Tools节点, Coordinate Systems node New Cartesian Coordinate System. 在属性栏进行定义.,73,学习交流PPT,5.2.2 显示局部

33、坐标系,将创建好的局部坐标系节点”拖”到Scene图形窗口(见1)或是”拖”到该Scene节点(见2).,(1),(2),74,学习交流PPT,5.3 用户场函数,STAR-CCM+可以让用户定义自己的场函数, 可以是标量场或矢量场; 可以手动创建或是在已有场函数的基础上定义 定义用户场函数的语法采用C语言子集. 如果出现语法错误, 在输出窗口有相应提示.,例如: ($Position0 = -1) ? 1 : 0 ($Time = 0.01) ? 1000 : 300+70000*$Time,75,学习交流PPT,5.3.1 定义场函数,在Tools节点, 选择Field Functions

34、 New Function. 在属性栏对函数进行具体定义,对函数进行定义,76,学习交流PPT,5.3.2 引用已有函数,$Temperature,$Velocity,$Position0,$Velocity0,定义用户场函数时经常要引用已有的函数,77,学习交流PPT,5.3.3 user function示例,体积份数初始分布: ($Position0 = -1) ? 1 : 0 边界上的温度随时间的变化(0.1秒之前从300K线性上升到1000K: ($Time = 0.01) ? 1000 : 300+70000*$Time 采用X, Y, Z的形式定义一个管道的初始速度场, 以X=4

35、为分界面, 在大直径截面上的速度为10, 在小直径截面上速度为2: ($Centroid0 4) ? 2 : 10, 0, 0,78,学习交流PPT,5.4 Table,STAR-CCM+里的Table意指包含多个变量的表状数据 我们可以: 读入table数据, 例如来定义边界条件和初始条件 从流场中抽取table数据. 例如可以用来作为其他模拟时的边界条件或初始条件. STAR-CCM+可以抽取2种基本类型: xyz internal tables radial internal tables. STAR-CCM+可以读入3种基本表格类型: .tab, .csv, .xy,Pressure

36、X Y Z -4.575748e+000 -8.418948e-003 2.498270e-002 2.594989e-004 7.556490e-001 -1.588532e-002 2.644022e-002 8.548013e-003 ,Type: xyz DataSets: X Y U SaNut X: -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 Y: 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 U: 0.04 0.123 0.209 0.291 0.359 0.409 0.445 0.471 0.491 0.509 0

37、.523 SaNut: 1.14e-053.51e-056.078e-058.84e-050.000120.000150.000190.000220.000260.000300.00035,.tab,.csv,-4.035 0.8604 -3.386 0.8584 -2.487 0.84544 -2.017 0.81856 -1.695 0.78999 -0.937 0.67503 -0.761 0.64874 -0.455 0.5848 -0.288 0.56893 -0.11 0.56395,.xy,79,学习交流PPT,5.4.1 读入table,右击Table节点, 选择 New Fi

38、le.,80,学习交流PPT,5.4.2 创建table,步骤: 创建一个新的空table (XYZ或 R Internal ) 指定数据所在的part. 指定抽取的变量. 抽取数据. 这样, 新的table数据创建出来. 可以用于当前模拟或是输出到外部文件,1,21,4,3,81,学习交流PPT,5.5 用户子程序(user code),User code 可以让用户自己定制函数, 函数可以用C, C+ 或Fortran写成. User code采用用户库(user library)的形式出现. 每个用户库包含一个(或多个)用户函数(user function)和一个注册函数(library

39、 registration function). 一旦用户库(user library)被导入, 其定义的用户函数会出现在合适的下拉菜单(drop-down lists)中, 以备使用. User code 一般用来指定边界(boundary)或区域(region)上的值的分布. 例如初始条件, 边界条件, 源项. 用来定义标量场或矢量场的User code, 其功能和 Field Function差不多. 但是相比Field Function, User code显得更加强大, 可以实现更复杂的功能.,Loading a New User Library,82,学习交流PPT,5.5.1 创

40、建用户子程序的步骤,用户函数的书写必须遵守C模版(C template)或Fortran模版(Fortran template)的规范. 每个定义的用户函数都要加至注册函数中(library registration function), 以实现注册. 编译用户函数和注册函数, 可以得到最终所需的用户库(user library).,83,学习交流PPT,5.5.2 用户函数模版,C模版 #include Real.h void name(result, int size, args .); Fortran模版 subroutine name(result, size, args .) use

41、 StarRealMod integer, intent(in) : size,84,学习交流PPT,5.5.3 用户函数示例(C),以下用户函数设定边界上的温度梯度为零. #include Real.h /* Set boundary temperature equal to cell temperature */ void zeroGradT(Real *result, int size, int (*fc)2, Real *T) int i; /* Loop through all entities applying T_boundary = T_cell * * fci0 is the

42、 cell next to i */ for (i = 0; i != size; +i) resulti = Tfci0; ,85,学习交流PPT,5.5.3 用户函数示例(Fortran),以下用户函数设定边界上的温度梯度为零. C Set boundary temperature equal to cell temperature subroutine zeroGradT(result,size,fc,T) use StarRealMod implicit none integer, intent(in) : size real(StarReal), intent(out) : result(size) integer, intent(in) : fc(2,*) real(StarReal), intent(in) : T(*) integer i C Loop through all entities applying T_boundary = T_cell C fc(1,i) is the cell next to i do i = 1,size result(i) = T(fc(1,i) end do return end,86,学习交流PPT,5.5.4 注册函数(Library registration functions),每个用户库必须包含一个注册函数: uc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论