|
3 | 3 | * \brief All the information about the definition of the physical problem. |
4 | 4 | * The subroutines and functions are in the <i>config_structure.cpp</i> file. |
5 | 5 | * \author F. Palacios, T. Economon, B. Tracey |
6 | | - * \version 4.1.3 "Cardinal" |
| 6 | + * \version 4.2.0 "Cardinal" |
7 | 7 | * |
8 | 8 | * SU2 Lead Developers: Dr. Francisco Palacios ([email protected]). |
9 | 9 | * Dr. Thomas D. Economon ([email protected]). |
@@ -55,7 +55,7 @@ using namespace std; |
55 | 55 | * \brief Main class for defining the problem; basically this class reads the configuration file, and |
56 | 56 | * stores all the information. |
57 | 57 | * \author F. Palacios |
58 | | - * \version 4.1.3 "Cardinal" |
| 58 | + * \version 4.2.0 "Cardinal" |
59 | 59 | */ |
60 | 60 |
|
61 | 61 | class CConfig { |
@@ -228,7 +228,7 @@ class CConfig { |
228 | 228 | su2double *NRBC_Var1, *NRBC_Var2; /*!< \brief Specified values for NRBC boundary. */ |
229 | 229 | su2double **NRBC_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for NRBC boundaries. */ |
230 | 230 | su2double *Inlet_Ptotal; /*!< \brief Specified total pressures for inlet boundaries. */ |
231 | | - su2double **Inlet_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for inlet boundaries. */ |
| 231 | + su2double **Inlet_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for inlet boundaries. */ |
232 | 232 | su2double *Inlet_Temperature; /*!< \brief Specified temperatures for a supersonic inlet boundaries. */ |
233 | 233 | su2double *Inlet_Pressure; /*!< \brief Specified static pressures for supersonic inlet boundaries. */ |
234 | 234 | su2double **Inlet_Velocity; /*!< \brief Specified flow velocity vectors for supersonic inlet boundaries. */ |
@@ -281,6 +281,7 @@ class CConfig { |
281 | 281 | unsigned long Dyn_nIntIter; /*!< \brief Number of internal iterations (Newton-Raphson Method for nonlinear structural analysis). */ |
282 | 282 | long Unst_RestartIter; /*!< \brief Iteration number to restart an unsteady simulation (Dual time Method). */ |
283 | 283 | long Unst_AdjointIter; /*!< \brief Iteration number to begin the reverse time integration in the direct solver for the unsteady adjoint. */ |
| 284 | + long Iter_Avg_Objective; /*!< \brief Iteration the number of time steps to be averaged, counting from the back */ |
284 | 285 | long Dyn_RestartIter; /*!< \brief Iteration number to restart a dynamic structural analysis. */ |
285 | 286 | unsigned short nRKStep; /*!< \brief Number of steps of the explicit Runge-Kutta method. */ |
286 | 287 | su2double *RK_Alpha_Step; /*!< \brief Runge-Kutta beta coefficients. */ |
@@ -418,6 +419,7 @@ class CConfig { |
418 | 419 | unsigned short Deform_Stiffness_Type; /*!< \brief Type of element stiffness imposed for FEA mesh deformation. */ |
419 | 420 | bool Deform_Output; /*!< \brief Print the residuals during mesh deformation to the console. */ |
420 | 421 | su2double Deform_Tol_Factor; /*!< Factor to multiply smallest volume for deform tolerance (0.001 default) */ |
| 422 | + su2double Deform_Coeff; /*!< Deform coeffienct */ |
421 | 423 | unsigned short Deform_Linear_Solver; /*!< Numerical method to deform the grid */ |
422 | 424 | unsigned short FFD_Continuity; /*!< Surface continuity at the intersection with the FFD */ |
423 | 425 | su2double Deform_ElasticityMod, Deform_PoissonRatio; /*!< young's modulus and poisson ratio for volume deformation stiffness model */ |
@@ -529,7 +531,9 @@ class CConfig { |
529 | 531 | ObjFunc_Value_FileName, /*!< \brief Objective function. */ |
530 | 532 | SurfFlowCoeff_FileName, /*!< \brief Output file with the flow variables on the surface. */ |
531 | 533 | SurfAdjCoeff_FileName, /*!< \brief Output file with the adjoint variables on the surface. */ |
532 | | - New_SU2_FileName; /*!< \brief Output SU2 mesh file converted from CGNS format. */ |
| 534 | + New_SU2_FileName, /*!< \brief Output SU2 mesh file converted from CGNS format. */ |
| 535 | + SurfSens_FileName, /*!< \brief Output file for the sensitivity on the surface (discrete adjoint). */ |
| 536 | + VolSens_FileName; /*!< \brief Output file for the sensitivity in the volume (discrete adjoint). */ |
533 | 537 | bool Low_MemoryOutput, /*!< \brief Write a volume solution file */ |
534 | 538 | Wrt_Vol_Sol, /*!< \brief Write a volume solution file */ |
535 | 539 | Wrt_Srf_Sol, /*!< \brief Write a surface solution file */ |
@@ -701,6 +705,8 @@ class CConfig { |
701 | 705 | su2double Static_Time; /*!< \brief Time while the structure is not loaded in FSI applications. */ |
702 | 706 | unsigned short Pred_Order; /*!< \brief Order of the predictor for FSI applications. */ |
703 | 707 | unsigned short Kind_Interpolation; /*!\brief type of interpolation to use for FSI applications. */ |
| 708 | + bool Prestretch; /*!< Read a reference geometry for optimization purposes. */ |
| 709 | + string Prestretch_FEMFileName; /*!< \brief File name for reference geometry. */ |
704 | 710 | unsigned long Nonphys_Points, /*!< \brief Current number of non-physical points in the solution. */ |
705 | 711 | Nonphys_Reconstr; /*!< \brief Current number of non-physical reconstructions for 2nd-order upwinding. */ |
706 | 712 | bool ParMETIS; /*!< \brief Boolean for activating ParMETIS mode (while testing). */ |
@@ -1570,6 +1576,19 @@ class CConfig { |
1570 | 1576 | */ |
1571 | 1577 | unsigned short GetElas2D_Formulation(void); |
1572 | 1578 |
|
| 1579 | + /*! |
| 1580 | + * \brief Decide whether it's necessary to read a reference geometry. |
| 1581 | + * \return <code>TRUE</code> if it's necessary to read a reference geometry, <code>FALSE</code> otherwise. |
| 1582 | + */ |
| 1583 | + |
| 1584 | + bool GetPrestretch(void); |
| 1585 | + |
| 1586 | + /*! |
| 1587 | + * \brief Get the name of the file with the reference geometry of the structural problem. |
| 1588 | + * \return Name of the file with the reference geometry of the structural problem. |
| 1589 | + */ |
| 1590 | + string GetPrestretch_FEMFileName(void); |
| 1591 | + |
1573 | 1592 | /*! |
1574 | 1593 | * \brief Get the Poisson's ratio. |
1575 | 1594 | * \return Value of the Poisson's ratio. |
@@ -2177,7 +2196,13 @@ class CConfig { |
2177 | 2196 | long GetUnst_AdjointIter(void); |
2178 | 2197 |
|
2179 | 2198 | /*! |
2180 | | - * \brief Get the restart iteration number for dynamic structural simulations. |
| 2199 | + * \brief Number of iterations to average (reverse time integration). |
| 2200 | + * \return Starting direct iteration number for the unsteady adjoint. |
| 2201 | + */ |
| 2202 | + unsigned long GetIter_Avg_Objective(void); |
| 2203 | + |
| 2204 | + /*! |
| 2205 | + * \brief Get the restart iteration number for dynamic structural simulations. |
2181 | 2206 | * \return Restart iteration number for dynamic structural simulations. |
2182 | 2207 | */ |
2183 | 2208 | long GetDyn_RestartIter(void); |
@@ -2389,7 +2414,7 @@ class CConfig { |
2389 | 2414 | */ |
2390 | 2415 | string GetMarker_EngineExhaust(unsigned short val_marker); |
2391 | 2416 |
|
2392 | | - /*! |
| 2417 | + /*! |
2393 | 2418 | * \brief Get the name of the surface defined in the geometry file. |
2394 | 2419 | * \param[in] val_marker - Value of the marker in which we are interested. |
2395 | 2420 | * \return Name that is in the geometry file for the surface that |
@@ -2904,6 +2929,12 @@ class CConfig { |
2904 | 2929 | * \return Factor to multiply smallest volume for deform tolerance. |
2905 | 2930 | */ |
2906 | 2931 | su2double GetDeform_Tol_Factor(void); |
| 2932 | + |
| 2933 | + /*! |
| 2934 | + * \brief Get factor to multiply smallest volume for deform tolerance. |
| 2935 | + * \return Factor to multiply smallest volume for deform tolerance. |
| 2936 | + */ |
| 2937 | + su2double GetDeform_Coeff(void); |
2907 | 2938 |
|
2908 | 2939 | /*! |
2909 | 2940 | * \brief Get Young's modulus for deformation (constant stiffness deformation) |
@@ -3904,6 +3935,18 @@ class CConfig { |
3904 | 3935 | */ |
3905 | 3936 | string GetSurfAdjCoeff_FileName(void); |
3906 | 3937 |
|
| 3938 | + /*! |
| 3939 | + * \brief Get the name of the file with the surface sensitivity (discrete adjoint). |
| 3940 | + * \return Name of the file with the surface sensitivity (discrete adjoint). |
| 3941 | + */ |
| 3942 | + string GetSurfSens_FileName(void); |
| 3943 | + |
| 3944 | + /*! |
| 3945 | + * \brief Get the name of the file with the volume sensitivity (discrete adjoint). |
| 3946 | + * \return Name of the file with the volume sensitivity (discrete adjoint). |
| 3947 | + */ |
| 3948 | + string GetVolSens_FileName(void); |
| 3949 | + |
3907 | 3950 | /*! |
3908 | 3951 | * \brief Augment the input filename with the iteration number for an unsteady file. |
3909 | 3952 | * \param[in] val_filename - String value of the base filename. |
|
0 commit comments