Documentation 6b54b78464
Loading...
Searching...
No Matches
CFlowOutput.hpp
Go to the documentation of this file.
1/*!
2 * \file CFlowOutput.hpp
3 * \brief Headers of the flow output.
4 * \author F. Palacios, T. Economon, M. Colonno
5 * \version 8.5.0 "Harrier"
6 *
7 * SU2 Project Website: https://su2code.github.io
8 *
9 * The SU2 Project is maintained by the SU2 Foundation
10 * (http://su2foundation.org)
11 *
12 * Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)
13 *
14 * SU2 is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU Lesser General Public
16 * License as published by the Free Software Foundation; either
17 * version 2.1 of the License, or (at your option) any later version.
18 *
19 * SU2 is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 * Lesser General Public License for more details.
23 *
24 * You should have received a copy of the GNU Lesser General Public
25 * License along with SU2. If not, see <http://www.gnu.org/licenses/>.
26 */
27
28#pragma once
29
30#include "CFVMOutput.hpp"
31#include "../variables/CVariable.hpp"
32
33/*--- Forward declare to avoid including here. ---*/
34template <class>
36
37class CFlowOutput : public CFVMOutput{
38protected:
39 unsigned long lastInnerIter;
40
41 /*!
42 * \brief Constructor of the class
43 * \param[in] config - Definition of the particular problem.
44 */
45 CFlowOutput(const CConfig *config, unsigned short nDim, bool femOutput);
46
47 /*!
48 * \brief Add turboperformance outputs as history field
49 * \param[in] nZone - Number of zones in problem
50 */
51 void AddTurboOutput(unsigned short nZone);
52
53 /*!
54 * \brief Set the values of the volume output fields for a surface point.
55 * \param[in] config - Definition of the particular problem.
56 * \param[in] geometry - Geometrical definition of the problem.
57 * \param[in] solver - The container holding all solution data.
58 * \param[in] iPoint - Index of the point.
59 * \param[in] iMarker - Index of the surface marker.
60 * \param[in] iVertex - Index of the vertex on the marker.
61 */
62 void LoadSurfaceData(CConfig *config, CGeometry *geometry, CSolver **solver,
63 unsigned long iPoint, unsigned short iMarker, unsigned long iVertex) override;
64
65 /*!
66 * \brief Add flow surface output fields
67 * \param[in] config - Definition of the particular problem.
68 */
69 void AddAnalyzeSurfaceOutput(const CConfig *config);
70
71 /*!
72 * \brief Set flow surface output field values
73 * \param[in] solver - The container holding all solution data.
74 * \param[in] geometry - Geometrical definition of the problem.
75 * \param[in,out] config - Definition of the particular problem.
76 * \param[in] output - Boolean indicating whether information should be written to screen
77 */
78 void SetAnalyzeSurface(const CSolver* const* solver, const CGeometry *geometry, CConfig *config, bool output);
79
80 /*!
81 * \brief Compute and Set flow species variance output field values
82 * \param[in] solver - The container holding all solution data.
83 * \param[in] geometry - Geometrical definition of the problem.
84 * \param[in,out] config - Definition of the particular problem.
85 * \param[in] Surface_Species_Total - Avg mass fraction of each species on all Marker_Analyze
86 * \param[in] Surface_MassFlow_Abs_Total - Massflow on all Marker_Analyze
87 * \param[in] Surface_Area_Total - Area of all Marker_Analyze
88 */
89 void SetAnalyzeSurfaceSpeciesVariance(const CSolver* const*solver, const CGeometry *geometry, CConfig *config,
90 const su2activematrix& Surface_Species_Total,
91 const vector<su2double>& Surface_MassFlow_Abs_Total,
92 const vector<su2double>& Surface_Area_Total);
93
94 /*!
95 * \brief Add scalar (turbulence/species) history fields for the Residual RMS (FVMComp, FVMInc, FVMNEMO).
96 */
98
99 /*!
100 * \brief Add scalar (turbulence/species) history fields for the max Residual (FVMComp, FVMInc, FVMNEMO).
101 */
103
104 /*!
105 * \brief Add scalar (turbulence/species) history fields for the BGS Residual (FVMComp, FVMInc, FVMNEMO).
106 */
108
109 /*!
110 * \brief Add scalar (turbulence/species) history fields for the linear solver (FVMComp, FVMInc, FVMNEMO).
111 */
113
114 /*!
115 * \brief Set all scalar (turbulence/species) history field values.
116 */
117 void LoadHistoryDataScalar(const CConfig* config, const CSolver* const* solver);
118
119 /*!
120 * \brief Recompute history output field values that can be used as objective functions in the (multiphysics) discrete adjoint solver.
121 * \param[in] config - Definition of the particular problem.
122 * \param[in] geometry - Geometrical definition of the problem.
123 * \param[in] solver - The container holding all solution data.
124 */
125 void LoadCustomAndComboObjectiveFunctions(CConfig *config, CGeometry *geometry, CSolver **solver) override;
126
127 /*!
128 * \brief Add scalar (turbulence/species) volume solution fields for a point (FVMComp, FVMInc, FVMNEMO).
129 * \note The order of fields in restart files is fixed. Therefore the split-up.
130 * \param[in] config - Definition of the particular problem.
131 */
133
134 /*!
135 * \brief Add scalar (turbulence/species) volume solution fields for a point (FVMComp, FVMInc, FVMNEMO).
136 * \note The order of fields in restart files is fixed. Therefore the split-up.
137 * \param[in] config - Definition of the particular problem.
138 */
140
141 /*!
142 * \brief Add scalar (turbulence/species) volume primitive fields for a point (FVMComp, FVMInc, FVMNEMO).
143 * \param[in] config - Definition of the particular problem.
144 */
146
147 /*!
148 * \brief Add scalar (turbulence/species) volume limiter fields for a point (FVMComp, FVMInc, FVMNEMO).
149 * \param[in] config - Definition of the particular problem.
150 */
152
153 /*!
154 * \brief Add flamelet volume source term fields for a point (FVMComp, FVMInc, FVMNEMO).
155 * \param[in] config - Definition of the particular problem.
156 */
157 void SetVolumeOutputFieldsScalarSource(const CConfig* config);
158
159 /*!
160 * \brief Add flamelet volume lookup value fields for a point (FVMComp, FVMInc, FVMNEMO).
161 * \param[in] config - Definition of the particular problem.
162 */
163 void SetVolumeOutputFieldsScalarLookup(const CConfig* config);
164
165 /*!
166 * \brief Add miscellaneous scalar volume fields for a point (FVMComp, FVMInc, FVMNEMO).
167 * \param[in] config - Definition of the particular problem.
168 */
169 void SetVolumeOutputFieldsScalarMisc(const CConfig* config);
170
171 /*!
172 * \brief Set all scalar (turbulence/species) volume field values for a point.
173 * \param[in] config - Definition of the particular problem.
174 * \param[in] solver - The container holding all solution data.
175 * \param[in] geometry - Geometrical definition of the problem.
176 * \param[in] iPoint - Index of the point.
177 */
178 void LoadVolumeDataScalar(const CConfig* config, const CSolver* const* solver, const CGeometry* geometry,
179 const unsigned long iPoint);
180
181 /*!
182 * \brief Add aerodynamic coefficients as output fields
183 * \param[in] config - Definition of the particular problem.
184 */
185 void AddAerodynamicCoefficients(const CConfig* config);
186
187 /*!
188 * \brief Set the value of the aerodynamic coefficients
189 * \param[in] config - Definition of the particular problem.
190 * \param[in] flow_solver - The container holding all solution data.
191 */
192 void SetAerodynamicCoefficients(const CConfig* config, const CSolver* flow_solver);
193
194 /*!
195 * \brief Add heat flux coefficients as output fields
196 * \param[in] config - Definition of the particular problem.
197 */
198 void AddHeatCoefficients(const CConfig* config);
199
200 /*!
201 * \brief Set the value of the heat flux coefficients
202 * \param[in] config - Definition of the particular problem.
203 * \param[in] flow_solver - The container holding all solution data.
204 */
205 void SetHeatCoefficients(const CConfig* config, const CSolver* flow_solver);
206
207 /*!
208 * \brief Add rotating frame coefficients as output fields.
209 */
211
212 /*!
213 * \brief Set the value of the rotating frame coefficients (CT, CQ and CMerit).
214 * \param[in] flow_solver - The container holding all solution data.
215 */
216 void SetRotatingFrameCoefficients(const CSolver* flow_solver);
217
218 /*!
219 * \brief Add CP inverse design output as history fields
220 */
222
223 /*!
224 * \brief Set CP inverse design output field values (and also into the solver).
225 * \param[in,out] solver - The container holding all solution data.
226 * \param[in] geometry - Geometrical definition of the problem.
227 * \param[in] config - Definition of the particular problem.
228 */
229 void SetCpInverseDesign(CSolver *solver, const CGeometry *geometry, const CConfig *config);
230
231 /*!
232 * \brief Add nearfield inverse design output as history fields
233 */
235
236 /*!
237 * \brief Set nearfield inverse design output field values (and also into the solver).
238 * \param[in,out] solver - The container holding all solution data.
239 * \param[in] geometry - Geometrical definition of the problem.
240 * \param[in] config - Definition of the particular problem.
241 */
242 void SetNearfieldInverseDesign(CSolver *solver, const CGeometry *geometry, const CConfig *config);
243
244 /*!
245 * \brief Compute the custom outputs.
246 * \param[in] solver - The container holding all solution data.
247 * \param[in] geometry - Geometrical definition of the problem.
248 * \param[in] config - Definition of the particular problem.
249 */
250 void SetCustomOutputs(const CSolver* const* solver, const CGeometry *geometry, const CConfig *config);
251
252 /*!
253 * \brief Helper for custom outputs, converts variable names to indices and pointers which are then used
254 * to evaluate the custom expressions.
255 */
257 CustomOutput& output) const;
258
259 /*!
260 * \brief Compute value of the Q criteration for vortex idenfitication
261 * \param[in] VelocityGradient - Velocity gradients
262 * \return Value of the Q criteration at the node
263 */
264 template<class T>
265 su2double GetQCriterion(const T& VelocityGradient) const {
266
267 /*--- Make a 3D copy of the gradient so we do not have worry about nDim ---*/
268
269 su2double Grad_Vel[3][3] = {{0.0}};
270
271 for (unsigned short iDim = 0; iDim < nDim; iDim++)
272 for (unsigned short jDim = 0 ; jDim < nDim; jDim++)
273 Grad_Vel[iDim][jDim] = VelocityGradient[iDim][jDim];
274
275 /*--- Q Criterion Eq 1.2 of HALLER, G. (2005). An objective definition of a vortex.
276 Journal of Fluid Mechanics, 525, 1-26. doi:10.1017/S0022112004002526 ---*/
277
278 /*--- Components of the strain rate tensor (symmetric) ---*/
279 su2double s11 = Grad_Vel[0][0];
280 su2double s12 = 0.5 * (Grad_Vel[0][1] + Grad_Vel[1][0]);
281 su2double s13 = 0.5 * (Grad_Vel[0][2] + Grad_Vel[2][0]);
282 su2double s22 = Grad_Vel[1][1];
283 su2double s23 = 0.5 * (Grad_Vel[1][2] + Grad_Vel[2][1]);
284 su2double s33 = Grad_Vel[2][2];
285
286 /*--- Components of the spin tensor (skew-symmetric) ---*/
287 su2double omega12 = 0.5 * (Grad_Vel[0][1] - Grad_Vel[1][0]);
288 su2double omega13 = 0.5 * (Grad_Vel[0][2] - Grad_Vel[2][0]);
289 su2double omega23 = 0.5 * (Grad_Vel[1][2] - Grad_Vel[2][1]);
290
291 /*--- Q = ||Omega|| - ||Strain|| ---*/
292 su2double Q = 2*(pow(omega12,2) + pow(omega13,2) + pow(omega23,2)) -
293 (pow(s11,2) + pow(s22,2) + pow(s33,2) + 2*(pow(s12,2) + pow(s13,2) + pow(s23,2)));
294
295 return Q;
296 }
297
298 /*!
299 * \brief Returns the axisymmetric factor for a point on a marker.
300 */
301 template <class GeoNodes>
302 inline su2double GetAxiFactor(bool axisymmetric, const GeoNodes& nodes, unsigned long iPoint,
303 unsigned short iMarker) {
304 if (!axisymmetric) return 1.0;
305
306 if (nodes.GetCoord(iPoint, 1) > EPS) return 2 * PI_NUMBER * nodes.GetCoord(iPoint, 1);
307
308 for (const auto jPoint : nodes.GetPoints(iPoint)) {
309 if (nodes.GetVertex(jPoint, iMarker) >= 0) {
310 /*--- Not multiplied by two since we need to half the y coordinate. ---*/
311 return PI_NUMBER * nodes.GetCoord(jPoint, 1);
312 }
313 }
314 return 0.0;
315 }
316
317 /*!
318 * \brief Write information to meta data file
319 * \param[in] config - Definition of the particular problem per zone.
320 */
321 void WriteMetaData(const CConfig *config);
322
323 /*!
324 * \brief Write any additional files defined for the current solver.
325 * \param[in] config - Definition of the particular problem per zone.
326 * \param[in] geometry - Geometrical definition of the problem.
327 * \param[in] solver_container - The container holding all solution data.
328 */
329 void WriteAdditionalFiles(CConfig *config, CGeometry *geometry, CSolver **solver_container) override;
330
331 /*!
332 * \brief Determines if the the volume output should be written.
333 * \param[in] config - Definition of the particular problem.
334 * \param[in] Iter - Current iteration index.
335 * \param[in] force_writing - boolean that forces writing of volume output
336 * \param[in] iFile - index to the file that we need to consider for volume output
337 */
338 bool WriteVolumeOutput(CConfig *config, unsigned long Iter, bool force_writing, unsigned short iFile) override;
339 /*!
340 * \brief Write the forces breakdown file
341 * \param[in] config - Definition of the particular problem per zone.
342 * \param[in] flow_solver - The container holding all solution data.
343 */
344 void WriteForcesBreakdown(const CConfig *config, const CSolver *flow_solver) const;
345
346 /*!
347 * \brief Set the time averaged output fields.
348 * \param[in] config - Definition of the particular problem per zone.
349 */
350 void SetTimeAveragedFields(const CConfig *config);
351
352 /*!
353 * \brief Load the time averaged output fields.
354 * \param iPoint
355 * \param node_flow
356 * \param node_turb
357 * \param config - Definition of the particular problem per zone.
358 */
359 void LoadTimeAveragedData(unsigned long iPoint, const CVariable *node_flow, const CVariable *node_turb, const CConfig *config);
360
361 /*!
362 * \brief Write additional output for fixed CL mode.
363 * \param[in] config - Definition of the particular problem per zone.
364 */
365 void SetFixedCLScreenOutput(const CConfig *config);
366
367 /*!
368 * \brief Compute the ratio of the stochastic energy backscatter to the turbulent energy dissipation.
369 * \param iPoint - Index of the point.
370 * \param config - Definition of the particular problem.
371 * \param node_flow - Flow solver solution.
372 * \param node_turb - Turbulence-model solver solution.
373 * \return Stochastic energy backscatter ratio.
374 */
375 inline su2double GetEnergyBackscatterRatio(unsigned long iPoint, const CConfig *config, const CVariable *node_flow, const CVariable *node_turb) {
376 const su2double rho = node_flow->GetDensity(iPoint);
377 const su2double nu_t = node_flow->GetEddyViscosity(iPoint) / rho;
378 const su2double DES_lengthscale = max(node_flow->GetDES_LengthScale(iPoint), 1e-10);
379 const su2double lesSensor = node_flow->GetLES_Mode(iPoint);
380 const su2double mag = config->GetSBSParam().SBS_Cmag;
381 const su2double threshold = config->GetSBSParam().stochFdThreshold;
382 su2double strainMag = node_flow->GetStrainMag(iPoint);
383 su2double tke_estim = 0.0;
384 if (lesSensor > threshold) tke_estim = pow(nu_t/DES_lengthscale, 2);
385 const su2double csi_x = node_turb->GetSolution(iPoint, 1);
386 const su2double csi_y = node_turb->GetSolution(iPoint, 2);
387 const su2double csi_z = node_turb->GetSolution(iPoint, 3);
388 const su2double R_xy = - mag * tke_estim * csi_z;
389 const su2double R_xz = + mag * tke_estim * csi_y;
390 const su2double R_yz = - mag * tke_estim * csi_x;
391 const su2double energy_res_to_mod = nu_t * strainMag * strainMag;
392 const auto vorticity = node_flow->GetVorticity(iPoint);
393 const su2double energy_backscatter = R_xy*vorticity[2] - R_xz*vorticity[1] + R_yz*vorticity[0];
394 const su2double energy_backscatter_ratio = energy_backscatter / (energy_res_to_mod + 1e-10);
395 return energy_backscatter_ratio;
396 }
397};
Headers of the Finite Volume Method output.
A templated matrix/vector-like object.
Definition C2DContainer.hpp:374
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
const CStochBackScatParam & GetSBSParam(void) const
Get the Stochastic BackScatter (SBS) model parameters.
Definition CConfig.hpp:9766
Definition CFVMOutput.hpp:32
Definition CFlowOutput.hpp:37
void AddHistoryOutputFields_ScalarRMS_RES(const CConfig *config)
Add scalar (turbulence/species) history fields for the Residual RMS (FVMComp, FVMInc,...
Definition CFlowOutput.cpp:1027
void AddHeatCoefficients(const CConfig *config)
Add heat flux coefficients as output fields.
Definition CFlowOutput.cpp:1923
su2double GetEnergyBackscatterRatio(unsigned long iPoint, const CConfig *config, const CVariable *node_flow, const CVariable *node_turb)
Compute the ratio of the stochastic energy backscatter to the turbulent energy dissipation.
Definition CFlowOutput.hpp:375
void SetTimeAveragedFields(const CConfig *config)
Set the time averaged output fields.
Definition CFlowOutput.cpp:4117
bool WriteVolumeOutput(CConfig *config, unsigned long Iter, bool force_writing, unsigned short iFile) override
Determines if the the volume output should be written.
Definition CFlowOutput.cpp:4086
void SetNearfieldInverseDesign(CSolver *solver, const CGeometry *geometry, const CConfig *config)
Set nearfield inverse design output field values (and also into the solver).
Definition CFlowOutput.cpp:2074
void AddHistoryOutputFieldsScalarLinsol(const CConfig *config)
Add scalar (turbulence/species) history fields for the linear solver (FVMComp, FVMInc,...
Definition CFlowOutput.cpp:1222
void WriteMetaData(const CConfig *config)
Write information to meta data file.
Definition CFlowOutput.cpp:2532
void AddHistoryOutputFields_ScalarBGS_RES(const CConfig *config)
Add scalar (turbulence/species) history fields for the BGS Residual (FVMComp, FVMInc,...
Definition CFlowOutput.cpp:1158
void SetCustomOutputs(const CSolver *const *solver, const CGeometry *geometry, const CConfig *config)
Compute the custom outputs.
Definition CFlowOutput.cpp:817
void SetRotatingFrameCoefficients(const CSolver *flow_solver)
Set the value of the rotating frame coefficients (CT, CQ and CMerit).
Definition CFlowOutput.cpp:1969
void AddCpInverseDesignOutput()
Add CP inverse design output as history fields.
Definition CFlowOutput.cpp:1976
void SetVolumeOutputFieldsScalarMisc(const CConfig *config)
Add miscellaneous scalar volume fields for a point (FVMComp, FVMInc, FVMNEMO).
Definition CFlowOutput.cpp:1597
void AddHistoryOutputFields_ScalarMAX_RES(const CConfig *config)
Add scalar (turbulence/species) history fields for the max Residual (FVMComp, FVMInc,...
Definition CFlowOutput.cpp:1092
void SetAnalyzeSurfaceSpeciesVariance(const CSolver *const *solver, const CGeometry *geometry, CConfig *config, const su2activematrix &Surface_Species_Total, const vector< su2double > &Surface_MassFlow_Abs_Total, const vector< su2double > &Surface_Area_Total)
Compute and Set flow species variance output field values.
Definition CFlowOutput.cpp:636
void SetFixedCLScreenOutput(const CConfig *config)
Write additional output for fixed CL mode.
Definition CFlowOutput.cpp:4245
void SetVolumeOutputFieldsScalarLimiter(const CConfig *config)
Add scalar (turbulence/species) volume limiter fields for a point (FVMComp, FVMInc,...
Definition CFlowOutput.cpp:1475
void SetVolumeOutputFieldsScalarSolution(const CConfig *config)
Add scalar (turbulence/species) volume solution fields for a point (FVMComp, FVMInc,...
Definition CFlowOutput.cpp:1356
void AddAnalyzeSurfaceOutput(const CConfig *config)
Add flow surface output fields.
Definition CFlowOutput.cpp:50
void AddNearfieldInverseDesignOutput()
Add nearfield inverse design output as history fields.
Definition CFlowOutput.cpp:2069
void SetVolumeOutputFieldsScalarResidual(const CConfig *config)
Add scalar (turbulence/species) volume solution fields for a point (FVMComp, FVMInc,...
Definition CFlowOutput.cpp:1417
su2double GetQCriterion(const T &VelocityGradient) const
Compute value of the Q criteration for vortex idenfitication.
Definition CFlowOutput.hpp:265
void SetAerodynamicCoefficients(const CConfig *config, const CSolver *flow_solver)
Set the value of the aerodynamic coefficients.
Definition CFlowOutput.cpp:1880
unsigned long lastInnerIter
Definition CFlowOutput.hpp:39
void LoadHistoryDataScalar(const CConfig *config, const CSolver *const *solver)
Set all scalar (turbulence/species) history field values.
Definition CFlowOutput.cpp:1249
void WriteAdditionalFiles(CConfig *config, CGeometry *geometry, CSolver **solver_container) override
Write any additional files defined for the current solver.
Definition CFlowOutput.cpp:2519
void AddTurboOutput(unsigned short nZone)
Add turboperformance outputs as history field.
Definition CFlowOutput.cpp:4285
void SetVolumeOutputFieldsScalarSource(const CConfig *config)
Add flamelet volume source term fields for a point (FVMComp, FVMInc, FVMNEMO).
Definition CFlowOutput.cpp:1551
void SetVolumeOutputFieldsScalarPrimitive(const CConfig *config)
Add scalar (turbulence/species) volume primitive fields for a point (FVMComp, FVMInc,...
Definition CFlowOutput.cpp:1521
void LoadSurfaceData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint, unsigned short iMarker, unsigned long iVertex) override
Set the values of the volume output fields for a surface point.
Definition CFlowOutput.cpp:1795
void LoadCustomAndComboObjectiveFunctions(CConfig *config, CGeometry *geometry, CSolver **solver) override
Recompute history output field values that can be used as objective functions in the (multiphysics) d...
Definition CFlowOutput.cpp:1413
void LoadTimeAveragedData(unsigned long iPoint, const CVariable *node_flow, const CVariable *node_turb, const CConfig *config)
Load the time averaged output fields.
Definition CFlowOutput.cpp:4165
void SetAnalyzeSurface(const CSolver *const *solver, const CGeometry *geometry, CConfig *config, bool output)
Set flow surface output field values.
Definition CFlowOutput.cpp:137
void LoadVolumeDataScalar(const CConfig *config, const CSolver *const *solver, const CGeometry *geometry, const unsigned long iPoint)
Set all scalar (turbulence/species) volume field values for a point.
Definition CFlowOutput.cpp:1638
su2double GetAxiFactor(bool axisymmetric, const GeoNodes &nodes, unsigned long iPoint, unsigned short iMarker)
Returns the axisymmetric factor for a point on a marker.
Definition CFlowOutput.hpp:302
void SetCpInverseDesign(CSolver *solver, const CGeometry *geometry, const CConfig *config)
Set CP inverse design output field values (and also into the solver).
Definition CFlowOutput.cpp:1981
void ConvertVariableSymbolsToIndices(const CPrimitiveIndices< unsigned long > &idx, bool allowSkip, CustomOutput &output) const
Helper for custom outputs, converts variable names to indices and pointers which are then used to eva...
Definition CFlowOutput.cpp:750
void SetVolumeOutputFieldsScalarLookup(const CConfig *config)
Add flamelet volume lookup value fields for a point (FVMComp, FVMInc, FVMNEMO).
Definition CFlowOutput.cpp:1584
void SetHeatCoefficients(const CConfig *config, const CSolver *flow_solver)
Set the value of the heat flux coefficients.
Definition CFlowOutput.cpp:1945
void AddRotatingFrameCoefficients()
Add rotating frame coefficients as output fields.
Definition CFlowOutput.cpp:1958
void AddAerodynamicCoefficients(const CConfig *config)
Add aerodynamic coefficients as output fields.
Definition CFlowOutput.cpp:1817
void WriteForcesBreakdown(const CConfig *config, const CSolver *flow_solver) const
Write the forces breakdown file.
Definition CFlowOutput.cpp:2580
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
const unsigned short nDim
Physical Dimension.
Definition COutput.hpp:78
const bool femOutput
Boolean to store whether we should use the FEM routines.
Definition COutput.hpp:82
Definition CSolver.hpp:71
Main class for defining the variables.
Definition CVariable.hpp:50
virtual su2double GetDES_LengthScale(unsigned long iPoint) const
A virtual member.
Definition CVariable.hpp:394
virtual su2double GetLES_Mode(unsigned long iPoint) const
A virtual member.
Definition CVariable.hpp:406
su2double GetSolution(unsigned long iPoint, unsigned long iVar) const
Get the solution.
Definition CVariable.hpp:248
virtual su2double * GetVorticity(unsigned long iPoint)
A virtual member.
Definition CVariable.hpp:1215
virtual su2double GetDensity(unsigned long iPoint) const
A virtual member.
Definition CVariable.hpp:1009
virtual su2double GetStrainMag(unsigned long iPoint) const
A virtual member.
Definition CVariable.hpp:1223
virtual su2double GetEddyViscosity(unsigned long iPoint) const
A virtual member.
Definition CVariable.hpp:1058
passivedouble su2double
Definition code_config.hpp:181
FORCEINLINE ARRAY_T pow(const ARRAY_T &a, const ARRAY_T &b)
Definition special_vectorization.hpp:179
constexpr passivedouble PI_NUMBER
Pi number (not using M_PI to avoid Windows issues).
Definition option_structure.hpp:108
constexpr passivedouble EPS
Error scale.
Definition option_structure.hpp:100
Struct to hold a parsed custom output function.
Definition COutput.hpp:201
Abstract wrapper for the CIndices classes of CEulerVariable, CIncEulerVariable, etc....
Definition CPrimitiveIndices.hpp:45