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
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.
原资料见附件
免责声明:
本页面/内容部分素材来源于互联网公 开 信 息,旨在传递更多信息,不代表本平台立场。
版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。
本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。