首页/文章/ 详情

SU2 流体力学计算程序代码参考说明文档

1月前浏览130

SU2 流体力学计算程序代码参考说明文档(SU2 v3.2.2 code reference manual)

摘要:

本文为斯坦福大学 SU2 v3.2.2 版本代码参考手册,基于 Doxygen 工具自动生成,完整梳理该开源非结构 CFD 程序代码架构。文档以目录索引形式呈现全套模块、类、文件说明,涵盖对流 / 黏性源项离散、势流、欧拉、NS、湍流等多套控制方程求解模块,收录正 / 伴随流求解器、变量类、梯度计算、网格自适应、预处理等数百核心 C++ 类,详细标注构造函数、成员函数与成员变量,包含边界条件、并行通信、网格运动、几何处理、FFD 变形、线性求解等底层接口说明,清晰展示 SU2 模块化类层次与数值算法实现逻辑,为代码二次开发、数值算法修改及气动伴随优化提供完整底层参考依据。

Stanford University Unstructured (SU2)  Version 3.2.2 (2014)

Generated by Doxygen 1.7.6.1

Wed Oct 15 2014 17:40:24

Chapter 6   Module Documentation

6.1    Discretization of the convective terms.

A group of classes that define the numerical methods for discretizing the convective terms of a Partial Differential Equation. There are methods for solving the direct, adjoint, and linearized systems of equations.

Classes

•  class CUpwCUSP_Flow

Class for centered scheme - CUSP.

•  class CUpwRoe_Flow

Class for solving an approximate Riemann solver of Roe for the flow equations.

•  class CUpwGeneralRoe_Flow

Class for solving an approximate Riemann solver of Roe for the flow equations for a general fluid model.

•  class CUpwMSW_Flow

Class for solving a flux-vector splitting method by Steger & Warming, modified version.

•  class CUpwTurkel_Flow

Class for solving an approximate Riemann solver of Roe with  Turkel Preconditioning for the flow equations.

•  class CUpwArtComp_Flow

Class for solving an approximate Riemann solver of Roe for the incompressible flow equations.

•  class CUpwArtComp_FreeSurf_Flow

Class for solving an approximate Riemann solver of Roe for the incompressible flow equations.

•  class CUpwRoe_AdjFlow

Class for solving an approximate Riemann solver of Roe for the adjoint flow equations.

•  class CUpwRoeArtComp_AdjFlow

Class for solving an approximate Riemann solver of Roe for the adjoint flow equations.

•  class CUpwAUSM_Flow

Class for solving an approximate Riemann AUSM.

•  class CUpwHLLC_Flow

Class for solving an approximate Riemann AUSM.

•  class CUpwLin_TransLM

Class for performing a linear upwind solver for the Spalart-Allmaras turbulence model equations with transition.

•  class CUpwLin_LevelSet

Class for performing a linear upwind solver for the Level Set equations.

•  class CUpwLin_AdjLevelSet

Class for performing a linear upwind solver for the adjoint Level Set equations.

•  class CUpwLin_AdjTurb

Class for performing a linear upwind solver for the adjoint turbulence equations.

•  class CUpwSca_TurbSA

Class for doing a scalar upwind solver for the Spalar-Allmaral turbulence model equa- tions.

•  class CUpwSca_TurbML

Class for doing a scalar upwind solver for the Spalar-Allmaral turbulence model equa- tions.

•  class CUpwSca_TurbSST

Class for doing a scalar upwindsolver for the Menter SST turbulence model equations.

•  class CUpwSca_TransLM

Class for doing a scalar upwindsolver for the Spalart-Allmaras turbulence model equa- tions with transition.

•  class CUpwSca_AdjTurb

Class for doing a scalar upwind solver for the adjoint turbulence equations.

•  class CCentJST_Flow

Class for centered shceme - JST.

•  class CCentJSTArtComp_Flow

Class for centered scheme - JST (artificial compressibility).

•  class CCentJST_AdjFlow

Class for and adjoint centered scheme - JST.

•  class CCentJSTArtComp_AdjFlow

Class for and adjoint centered scheme - JST.

•  class CCentJST_LinFlow

Class for linearized centered scheme - JST.

•  class CCentLax_Flow

Class for computing the Lax-Friedrich centered scheme.

•  class CCentLaxArtComp_Flow

Class for computing the Lax-Friedrich centered scheme (artificial compressibility).

•  class CCentLax_AdjFlow

Class for computing the Lax-Friedrich adjoint centered scheme.

•  class CCentLaxArtComp_AdjFlow

Class for computing the Lax-Friedrich adjoint centered scheme.

•  class CCentLax_LinFlow

Class for computing the Lax-Friedrich linearized centered scheme.

•  class CConvectiveTemplate

Class for setting up new method for spatial discretization of convective terms in flow Equations.

•  class CUpwRoe_TNE2

Class for evaluating the Riemann problem using Roe’s scheme for a two-temperature model.

•  class CUpwMSW_TNE2

Class for solving a flux-vector splitting method by Steger & Warming, modified version.

•  class CUpwAUSM_TNE2

Class for solving an approximate Riemann AUSM.

•  class CCentLax_TNE2

Class for computing the Lax-Friedrich centered scheme.

•  class CUpwRoe_AdjTNE2

Class for solving an approximate Riemann solver of Roe for the adjoint flow equations.

•  class CUpwSW_AdjTNE2

Class for solving an approximate Riemann solver of Roe for the adjoint flow equations.

•  class CCentJST_AdjTNE2

Class for an adjoint centered scheme - JST.

•  class CCentLax_AdjTNE2

Class for computing the Lax-Friedrich adjoint centered scheme.


6.1.1   Detailed Description

A group of classes that define the numerical methods for discretizing the convective terms of a Partial Differential Equation. There are methods for solving the direct, adjoint, and linearized systems of equations.

6.2    Discretization of the viscous terms.


A group of classes that define the numerical methods for discretizing the viscous terms of a Partial Differential Equation.  There are methods for solving the direct, adjoint, and linearized systems of equations.


Classes

•  class CAvgGrad_Flow

Class for computing viscous term using the average of gradients.

•  class CAvgGradArtComp_Flow

Class for computing viscous term using an average of gradients.

•  class CAvgGrad_TurbML

Class  for  computing the viscous  term  using the average  of gradients  (Spalart-Allmaras  - Turbulence model).

•  class CAvgGrad_TurbML

Class  for  computing  viscous  term  using  average  of gradients  (Spalart-Allmaras  - Turbulence model).

•  class CAvgGrad_TransLM

Class  for  computing  viscous terms using the average  of gradients  (Spalart-Allmaras  - Turbulence model).

•  class CAvgGrad_AdjFlow

Class for computing the adjoint viscous terms.

•  class CAvgGradArtComp_AdjFlow

Class for computing the adjoint viscous terms.

•  class CAvgGradCorrected_Flow

Class for computing viscous terms using the average of gradients with a correction.

•  class CAvgGradCorrectedArtComp_Flow

Class for computing the viscous term using an average of gradients with correction (artificial compressibility).

•  class CAvgGradCorrected_TurbSA

Class for computing the viscous term using the average of gradients with correction (Spalart-Allmaras turbulence model).

•  class CAvgGradCorrected_TurbML

Class for computing viscous terms using the average of gradients with correction (Spalart-Allmaras turbulence model).

•  class CAvgGradCorrected_TransLM

Class for computing viscous terms using the average of gradients with correction (Spalart-Allmaras turbulence model).

•  class CAvgGrad_TurbSST

Class for computing the viscous term using the average of the gradient with correction (Menter SST turbulence model).

•  class CAvgGradCorrected_TurbSST

Class for computing the viscous term using the average of the gradient with a correction (Menter SST turbulence model).

•  class CAvgGradCorrected_AdjFlow

Class for computing the adjoint viscous terms, including correction.

•  class CAvgGradCorrectedArtComp_AdjFlow

Class for computing the adjoint viscous terms, including correction.

•  class CAvgGradCorrected_AdjTurb

Class for adjoint turbulent using the average of gradients with a correction.

•  class CAvgGrad_AdjTurb

Class for adjoint turbulent using the average of gradients with a correction.

•  class CGalerkin_Flow

Class for computing the stiffness matrix of the Galerkin method.

•  class CGalerkin_FEA

Class for computing the stiffness matrix of the Galerkin method.

•  class CViscous_Template

Class for computing viscous terms using the average of gradients.

•  class CAvgGrad_AdjTNE2

Class for computing the adjoint viscous terms.


6.2.1   Detailed Description

A group of classes that define the numerical methods for discretizing the viscous terms of a Partial Differential Equation.  There are methods for solving the direct, adjoint, and linearized systems of equations.

6.3   Discretization of the source terms.

A group of classes that define the numerical methods for discretizing the source terms of a Partial Differential Equation.  There are methods for solving the direct, adjoint, and linearized systems of equations.

Classes

•  class CSourceNothing

Dummy class.

•  class CSourcePieceWise_TurbSA

Class for integrating the source terms of the Spalart-Allmaras turbulence model equation.

•  class CSourcePieceWise_TurbML

Class for integrating the source terms of the Spalart-Allmaras turbulence model equation.

•  class CSourcePieceWise_TurbSST

Class for integrating the source terms of the Menter SST turbulence model equations.

•  class CSourcePieceWise_FreeSurface

Class for the source term integration of the gravity force.

•  class CSourceGravity

Class for the source term integration of the gravity force.

•  class CSourceViscous_AdjFlow

Class for source term integration in the adjoint problem.

•  class CSourcePieceWise_AdjTurb

Class for source term integration of the adjoint turbulent equation.

•  class CSourcePieceWise_AdjElec

Class for source term integration of the adjoint Poisson potential equation.

•  class CSourcePieceWise_LevelSet

Class for source term integration of the adjoint level set equation.

•  class CSourcePieceWise_AdjLevelSet

Class for source term integration of the adjoint level set equation.

•  class CSourcePieceWise_LinElec

Class for source term integration of the linearized Poisson potential equation.

•  class CSourceConservative_AdjFlow

Class for source term integration in the adjoint problem using a conservative scheme.

•  class CSourceConservative_AdjTurb

Class  for source  term integration in an adjoint turbulent problem  using a conservative scheme.

•  class CSourceRotatingFrame_Flow

Class for a rotating frame source term.

•  class CSourceRotatingFrame_AdjFlow

Source term class for rotating frame adjoint.

•  class CSourceAxisymmetric_Flow

Class for source term for solving axisymmetric problems.

•  class CSourceAxisymmetric_AdjFlow

Class for source term for solving axisymmetric problems.

•  class CSourceWindGust

Class for a source term due to a wind gust.

•  class CSource_Template

Dummy class.

•  class CSource_TNE2

Class for two-temperature model source terms.

•  class CSource_AdjTNE2

Class for adjoint two-temperature model source terms.


6.3.1   Detailed Description

A group of classes that define the numerical methods for discretizing the source terms of a Partial Differential Equation.  There are methods for solving the direct, adjoint, and linearized systems of equations.


6.4    Solving the potential flow equation.

Group   of   classes  which   define  the   system   of   Potential  flow   equation formulations: direct, adjoint, and linearized.

Classes

•  class CPotentialVariable

Main class for defining the variables of the potential solver.

•  class CWaveVariable

Main class for defining the variables of the wave equation solver.

•  class CHeatVariable

Main class for defining the variables of the Heat equation solver.

•  class CAdjPotentialVariable

Main class for defining the variables of the FEA equation solver.

•  class CAdjPotentialVariable

Main class for defining the variables of the adjoint potential solver.

•  class CLinPotentialVariable

Main class for defining the variables of the linearized potential equation.

•  class CTemplateVariable

Main class for defining the variables of the potential solver.

6.4.1   Detailed Description

Group   of   classes  which   define  the   system   of   Potential  flow   equation formulations: direct, adjoint, and linearized.


6.5    Solving the Euler’s equations.

Group  of classes that define the  system  of  Euler  equations  in three formulations: direct, adjoint, and linearized.

Classes

•  class CEulerSolver

Main class for defining the Euler’s flow solver.

•  class CAdjEulerSolver

Main class for defining the Euler’s adjoint flow solver.

•  class CLinEulerSolver

Main class for defining the linearized Euler solver.

•  class CTNE2EulerSolver

Main class for defining the TNE2 Euler’s flow solver.

•  class CEulerVariable

Main class for defining the variables of the Euler solver.

•  class CAdjEulerVariable

Main class for defining the variables of the adjoint Euler solver.

•  class CLinEulerVariable

Main class for defining the variables of the linearized Euler’s equations.

•  class CTNE2EulerVariable

Main class for defining the variables of the TNE2 Euler’s solver.

•  class CAdjTNE2EulerVariable

Main class for defining the variables of the adjoint Euler solver.

6.5.1   Detailed Description

Group  of classes that define the  system  of  Euler  equations  in three formulations: direct, adjoint, and linearized.

6.6    Solving the Navier-Stokes equations.

Group  of  classes that define the  system  of   Navier-Stokes   equations  in  three formulations: direct, adjoint, and linearized.

Classes

•  class CNSSolver

Main class for defining the Navier-Stokes flow solver.

•  class CAdjNSSolver

Main class for defining the Navier-Stokes’ adjoint flow solver.

•  class CTNE2NSSolver

Main class for defining the TNE2 Navier-Stokes flow solver.

•  class CNSVariable

Main class for defining the variables of the Navier-Stokes solver.

•  class CAdjNSVariable

Main class for defining the variables of the adjoint Navier-Stokes solver.

•  class CLinNSVariable

Main class for defining the variables of the linearized Navier-Stokes equations.

•  class CTNE2NSVariable

Main class for defining the variables of the TNE2 Navier-Stokes solver.

6.6.1   Detailed Description

A group of  classes that define the  system  of   Navier-Stokes   equations  in  three formulations: direct, adjoint, and linearized.

6.7    Solving the turbulence models.

A group of classes that define the turbulence model in three formulations:  direct, adjoint, and linearized.

Classes

•  class CTurbSolver

Main class for defining the turbulence model solver.

•  class CTurbSASolver

Main class for defining the turbulence model solver.

•  class CTurbMLSolver

Main class for defining the turbulence model solver.

•  class CTransLMSolver

Main class for defining the turbulence model solver.

•  class CTurbSSTSolver

Main class for defining the turbulence model solver.

•  class CAdjTurbSolver

Main class for defining the adjoint turbulence model solver.

•  class CTurbVariable

Main class for defining the variables of the turbulence model.

•  class CTurbSAVariable

Main class for defining the variables of the turbulence model.

•  class CTurbMLVariable

Main class for defining the variables of the turbulence model.

•  class CTransLMVariable

Main class for defining the variables of the turbulence model.

•  class CTurbSSTVariable

Main class for defining the variables of the turbulence model.

•  class CAdjTurbVariable

Main class for defining the variables of the adjoint turbulence model.

6.7.1   Detailed Description

A group of classes that define the turbulence model in three formulations:  direct, adjoint, and linearized.


原资料见附件


免责声明:

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

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

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

附件

免费Q8-SU2 流体力学计算程序代码参考说明文档(SU2 v3.2.2 code reference manual).pdf
Fluent
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-07-03
最近编辑:1月前
仿真支持爱好者
在仿真的路上越走越远
获赞 333粉丝 22文章 318课程 0
点赞
收藏
作者推荐

基于DEFORM-3D的离合块冷挤压工艺优化【文献】

孙健,张水忠(上海工程技术大学材料工程学院,上海201620)摘要:对离合块零件进行了工艺分析,提出了两种不同的方案,通过建立有限元模型,并借助DEFORM-3D对该零件两方案进行了数值模拟,把模拟得到的应力、应变、速度、载荷等数据与实际冷挤压生产工艺相结合,通过多次计算机模拟确定了:方案一不合理,并分析了导致模具损坏的原因;方案二的结果较优,与实际挤压情况相符合,最终挤压出符合图纸要求的合格产品。关鲤词:离合块;工艺分析;数值模拟;冷挤压DOI:10.3969/j.issn.1000-3940.2009.05.004中图分类号:TG376.3;TP391.9文献标识码:A文章编号:1000~3940(2009)05-0012-04ProcessoptimizationofclutchblockcoldextrusionbasedonDEFORM-3DSUNJian,ZHANGShui-zhong(CollegeofMaterialsEngineering,ShanghaiUniversityofEngineeringScience♦Shanghai201620,China)Abstract:TheprocessanalysisandoptimizationfortheclutchblockweredescribedThefiniteelementmodelwascrea¬tedbasedontwodifferentschemes,andnumericalsimulationwasproposedusingsoftwarepackageofDEFORM-3D.Thestress,strain,velocitydistribution,loadandotherdatawerecomparedwiththeactualcoldextrusionprocess.Fi¬nally.theschemeonewasirrationalityandthereasonaboutthediefailurewasanalyzed,andtheresultoftheschemetwowasbetterthantheschemeone.Thesimulationresultwasincorporatedintotheactualproductionprocessandtheproductsweregotwhichmetthedraftrequirements.Keywords:clutchblock;processanalysis$numericalsimulation;coldextrusion运用数值模拟技术来进行冷挤压工艺优化是一种常用的研究方法。本文研究的产品是电动扳手上一个关键零件,由于在工作时受较大的冲击载荷,其强度、韧性、表面硬度及耐疲劳性能要求较高,因此零件材料选用15CrM。合金渗碳钢,通过表面渗碳淬火及低温回火,用于制造在常温工作条件下芯部韧性较高而表面有足够硬度的各种重要零件e。图1为离合块冷挤压尺寸图,图2为离合块零件挤压件的3/4实体造型图。零件形状复杂,其中间为一异形通孔,孔壁有两个对称的"人"字形凹槽,上端为两个台阶,台阶底平面靠近异形通孔附近还有局部的小凸起平台,下端为一圈较深的环形槽。从零件形状上分析,采用传统的机械加工方法既费工又费料,况且有些部位又很难成形,满足不了零件形状尺寸的要求。冷挤压工艺是一种先进的金属材料成形工艺,不但具有生产效率高、材料利用率高、成形零件尺形时,金属流动剧烈,芯棒受拉应力过大而受损,同时异形孔的尺寸精度不易保证,因此先反挤一半以上环形槽和正挤异形孔预成形,预成形凹模芯棒上端为圆柱,直径为中14mm,底端为6mm球冠,半径取R9mm;步骤三,反挤环形槽并成形异形孔;步骤四,精整成形,主要是确保细节部位的形状和尺寸精度。分析两种方案可知,方案一首先在第1道正挤台阶时的断面收缩率较大,在第2道复合挤压成形异形孔和环形槽工序上金属流动剧烈,容易造成零件缺陷和影响模具寿命;方案二相对设置较为合理,不仅减小了断面收缩率,而且使零件在变形过程中金属流动较平稳且成形结果好。3零件数值模拟3.1模拟参数设置采用DEFORMZ-3D模拟上述方案,基本参数设置如下。工件材料选择DIN-16CrMo44(l.7337),相当于国标GB-15CrMo,类型为Plastic,导入尺寸根据方案一、二来确定;模具材料选择JIS硬度取60HRC,类型为Elastic.压力机速度为3mm,s每步增量为0.3mm。成形摩擦类型选择剪切,值设置为0.12,传热系数设置为5,环境温度为28模具磨损模型选择Ar-chard:"参数a=l,6=1,c=2,i=2X10so总模拟步骤:方案一为126步,每2步保存数据;方案二为145步,每2步保存数据。其它参数采用DEFORM-3D内部默认,本文取两方案的模拟结果与实际生产作比较。3.2模拟结果与分析对于数值模拟结果主要研究应力、应变场。应力场分析主要计算工步变形力和力能消耗,并以此作为选用挤压设备,设计模具结构和校核模具强度的依据。应变场分析可了解应变分布的不均匀状态,为设计坏料和模具型腔,控制应力集中,避免变形过程出现破裂、折叠和充不满型腔等现象提供依据。与温度场分析联合使用,可分析产品成形后晶粒度和硬度的变化的。通过DEFORM-3D的多次数值模拟并选择最优结果可以看出,方案一在第2道工序成形时,在复合挤压时异形孔处出现应力过大且产生拉应力。模拟第126步程序停止.查看此步模具应力情况,可知其最大应力达742MPa,造成模具芯棒受到过大的轴向拉应力而对芯棒造成危险,此时的应变也较大为13.5,且局部凸模磨损量最大值达到0.0172mm.温度场结果显示,在环形槽与“人"字形凹槽薄壁处出现局部温度过高的情况。实际生产表明,此时应力的确过大造成芯棒断裂,如图3所示。分析可知,轴向拉应力的产生原因是由于正挤件时,挤压件外表和中心因受摩擦力影响不一样,金属流动速度大小也不一样,因此产生了此附加轴向拉应力⑺"应力应变情况如图4和图5所示.方案二设计了更为合理的工序,数值模拟结果显示其应力应变均匀,局部凸模磨损量最大值才0.00112mm,没有方案•所示的局部应力应变过高的情况,应变值均在5.26以下,在设计模具时把芯棒的斜度取为4°,第3步的台阶的凹模加大0.1mm,台阶面设计RO.5mm的倒圆角,顺利解决上述问题,模拟结果如图6和图7所示。4结论(1)冷挤压工艺的制订过程中,离合块一类复杂形状零件的挤压工序的确定是非常关键的,不但影响模具的使用寿命,同时也决定了是否能挤出合格的产品。(2)数值模拟结果表明,金属成形过程中不能出现局部较大的应力、应变集中的情况,否则会导致工件在挤压过程中产生损坏或破裂,并且在模拟过程中应注重分析缺陷产生的机理,这对于指导实际生产大有裨益。(3)金属成形有限元软件DEFORM-3D对于设计金属成形工艺的制订具有很好的参考价值。尤其是较复杂形状的零件,若充分利用软件的数值模拟功能并与实际经验相结合,可以缩短新产品的开发周期,降低试模成本,具有较大的经济效益。原资料见附件免责声明:本页面/内容部分素材来源于互联网公开信息,旨在传递更多信息,不代表本平台立场。版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。

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