Documentation 6b54b78464
Loading...
Searching...
No Matches
COutput Class Reference

Class for writing the convergence history and to write solution data to file. More...

#include <COutput.hpp>

Inheritance diagram for COutput:
[legend]

Classes

struct  CustomHistoryOutput
 Struct to hold a parsed user-defined expression. More...
 
struct  CustomOutput
 Struct to hold a parsed custom output function. More...
 
struct  HistoryOutputField
 Structure to store information for a history output field. More...
 
struct  VolumeOutputField
 Structure to store information for a volume output field. More...
 

Public Member Functions

 COutput (const CConfig *config, unsigned short nDim, bool femOutput)
 Constructor of the class.
 
void PreprocessVolumeOutput (CConfig *config)
 Preprocess the volume output by setting the requested volume output fields.
 
void LoadData (CGeometry *geometry, CConfig *config, CSolver **solver_container)
 Load the data from the solvers into the data sorters and sort it for the linear partitioning.
 
void PreprocessHistoryOutput (CConfig *config, bool wrt=true)
 Preprocess the history output by setting the history fields and opening the history file.
 
void PreprocessMultizoneHistoryOutput (COutput **output, CConfig **config, CConfig *driver_config, bool wrt=true)
 Preprocess the history output by setting the history fields and opening the history file.
 
void SetHistoryOutput (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter)
 Collects history data from the solvers, monitors the convergence and writes to screen and history file.
 
void SetHistoryOutput (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 Collects history data from the solvers and monitors the convergence. Does not write to screen or file.
 
void SetHistoryOutput (CGeometry ****geometry, CSolver *****solver_container, CConfig **config, std::shared_ptr< CTurbomachineryStagePerformance > TurboStagePerf, su2vector< std::shared_ptr< CTurboOutput > > TurboBladePerfs, unsigned short val_iZone, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter, unsigned short val_iInst)
 Collects history data from the solvers, monitors the convergence and writes to screen and history file.
 
void SetMultizoneHistoryOutput (COutput **output, CConfig **config, CConfig *driver_config, unsigned long TimeIter, unsigned long OuterIter)
 
void SetObjectiveFunctionValues (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 Evaluates objective functions in the (multiphysics) discrete adjoint solver.
 
void SetVolumeFilename (string filename)
 Sets the volume output filename.
 
void SetSurfaceFilename (string filename)
 Sets the surface output filename.
 
string GetVolumeFilename ()
 Returns the current volume filename.
 
string GetSurfaceFilename ()
 Returns the current surface filename.
 
void SetRestartFilename (string filename)
 Sets the restart filename.
 
string GetRestartFilename ()
 Returns the current restart filename.
 
void SetIteration (unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter)
 Set the current iteration indices.
 
su2double GetHistoryFieldValue (const string &name) const
 Get the value of particular history output field.
 
void ResetConvergenceMonitoring (unsigned long Iteration)
 Discard the convergence history and count it from the given iteration instead.
 
vector< pair< string, passivedouble > > GetResidualConvFields () const
 Names and values of the fields convergence is monitored on that are residuals.
 
su2double GetHistoryFieldValuePerSurface (const string &name, unsigned short iMarker) const
 Get the value of particular surface history output field.
 
vector< HistoryOutputField > GetHistoryGroup (string groupname)
 Get a vector with all output fields in a particular group.
 
const vector< string > & GetHistoryOutputList () const
 Get the list of all output fields.
 
const vector< string > & GetHistoryOutputPerSurfaceList () const
 Get the list of all per-surface fields.
 
const map< string, HistoryOutputField > & GetHistoryFields () const
 Get the map containing all output fields.
 
const map< string, vector< HistoryOutputField > > & GetHistoryPerSurfaceFields () const
 Get the map containing all output per-surface fields.
 
bool ConvergenceMonitoring (CConfig *config, unsigned long Iteration)
 Monitor the convergence of an output field.
 
void PrintConvergenceSummary ()
 Print a summary of the convergence to screen.
 
bool GetConvergence () const
 Get convergence of the problem.
 
bool GetConvergenceInterrupted () const
 Get whether the exit was forced by an interrupt signal (e.g. SIGTERM) instead of the convergence criteria.
 
void SetConvergence (const bool conv)
 Set the value of the convergence flag.
 
bool MonitorTimeConvergence (CConfig *config, unsigned long Iteration)
 Monitor the time convergence of the specified windowed-time-averaged ouput.
 
void PrintHistoryFields () const
 Print a list of all history output fields to screen.
 
void PrintVolumeFields ()
 Print a list of all volume output fields to screen.
 
bool SetResultFiles (CGeometry *geometry, CConfig *config, CSolver **solver_container, unsigned long iter, bool force_writing=false)
 Loop through all requested output files and write the volume output data.
 
bool GetCauchyCorrectedTimeConvergence (const CConfig *config)
 Get convergence time convergence of the specified windowed-time-averaged ouput of the problem. Delays solver stop, if Cauchy time convergence criterion is fullfilled, but 2nd order time marching is active, to ensure that enough restart files are written.
 
void WriteToFile (CConfig *config, CGeometry *geometry, OUTPUT_TYPE format, string fileName="")
 Allocates the appropriate file writer based on the chosen format and writes sorted data to file.
 
virtual ~COutput (void)
 Destructor of the class.
 

Protected Types

enum class  ScreenOutputFormat { INTEGER , FIXED , SCIENTIFIC , PERCENT }
 : Flag for delaying stop at max_time with 2nd order time stepping. More...
 
enum class  HistoryFieldType {
  RESIDUAL , AUTO_RESIDUAL , COEFFICIENT , AUTO_COEFFICIENT ,
  DEFAULT
}
 Enum to identify the screen/history field type. More...
 
enum class  OperationType {
  MACRO , FUNCTION , AREA_AVG , AREA_INT ,
  MASSFLOW_AVG , MASSFLOW_INT , PROBE
}
 Type of operation for custom outputs. More...
 

Protected Member Functions

void SetHistoryFileHeader (const CConfig *config)
 Set the history file header.
 
void SetHistoryFileOutput (const CConfig *config)
 Write the history file output.
 
void SetScreenHeader (const CConfig *config)
 Write the screen header.
 
void SetScreenOutput (const CConfig *config)
 Write the screen output.
 
void AddHistoryOutput (string name, string field_name, ScreenOutputFormat format, string groupname, string description, HistoryFieldType field_type=HistoryFieldType::DEFAULT)
 Add a new field to the history output.
 
void SetHistoryOutputValue (string name, su2double value)
 Set the value of a history output field.
 
void AddHistoryOutputPerSurface (string name, string field_name, ScreenOutputFormat format, string groupname, const vector< string > &marker_names, HistoryFieldType field_type=HistoryFieldType::DEFAULT)
 Add a new field per surface marker to the history output.
 
void SetHistoryOutputPerSurfaceValue (string name, su2double value, unsigned short iMarker)
 Set the value of a history output field for a specific surface marker.
 
const su2double * GetPtrToHistoryOutput (const string &name) const
 Returns a pointer to the value of an history output.
 
void SetupCustomHistoryOutput (const string &expression, CustomHistoryOutput &output) const
 Setup a custom history output object for a given expression.
 
void AddVolumeOutput (const string &name, const string &field_name, const string &group_name, const string &description)
 Add a new field to the volume output.
 
su2double GetVolumeOutputValue (const string &name, unsigned long iPoint)
 Set the value of a volume output field.
 
void SetVolumeOutputValue (const string &name, unsigned long iPoint, su2double value)
 Set the value of a volume output field.
 
void SetAvgVolumeOutputValue (const string &name, unsigned long iPoint, su2double value)
 Set the value of a volume output field.
 
void CheckHistoryOutput (unsigned short nZone)
 CheckHistoryOutput.
 
void CheckFullMG_Startup (const CConfig *config) const
 Check that the Full-MG startup has a criterion left to promote the active level on.
 
void PrepareHistoryFile (CConfig *config)
 Open the history file and write the header.
 
void LoadDataIntoSorter (CConfig *config, CGeometry *geometry, CSolver **solver)
 Load up the values of the requested volume fields into ::Local_Data array.
 
void PostprocessHistoryData (CConfig *config)
 Postprocess_HistoryData.
 
void PostprocessHistoryFields (CConfig *config)
 Postprocess_HistoryFields.
 
bool PrintOutput (unsigned long iIter, unsigned long iFreq)
 Check whether we should print output.
 
void OutputScreenAndHistory (CConfig *config)
 Write screen and history output.
 
void SetCommonHistoryFields ()
 Set the history fields common for all solvers.
 
void RequestCommonHistory (bool dynamic)
 Request the history fields common for all solvers.
 
void SetCustomOutputs (const CConfig *config)
 Parses user-defined outputs.
 
void ComputeSimpleCustomOutputs (const CConfig *config)
 Evaluates function-type custom outputs. Derived classes can use this to compute simple expressions of other outputs if they do not implement surface averages. This should be called just before evaluating the custom objective function.
 
void LoadCommonHistoryData (const CConfig *config)
 Load values of the history fields common for all solvers.
 
void AllocateDataSorters (CConfig *config, CGeometry *geometry)
 Allocates the data sorters if necessary.
 
void SetCustomAndComboObjectives (int idxSol, const CConfig *config, CSolver **solver)
 Computes the custom and combo objectives.
 
virtual bool WriteHistoryFileOutput (const CConfig *config)
 Determines if the history file output.
 
virtual bool WriteScreenHeader (const CConfig *config)
 Determines if the screen header should be written.
 
virtual bool WriteScreenOutput (const CConfig *config)
 Determines if the screen header should be written.
 
virtual bool WriteVolumeOutput (CConfig *config, unsigned long Iter, bool force_writing, unsigned short iFile)
 Determines if the the volume output should be written.
 
virtual void LoadVolumeData (CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint)
 Set the values of the volume output fields for a point.
 
virtual void LoadVolumeDataFEM (CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iElem, unsigned long index, unsigned short dof)
 Set the values of the volume output fields for a point.
 
virtual bool SetInitResiduals (const CConfig *config)
 Check whether the base values for relative residuals should be initialized.
 
virtual void LoadSurfaceData (CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint, unsigned short iMarker, unsigned long iVertex)
 Set the values of the volume output fields for a surface point.
 
virtual void SetVolumeOutputFields (CConfig *config)
 Set the available volume output fields.
 
virtual void LoadHistoryData (CConfig *config, CGeometry *geometry, CSolver **solver)
 Load the history output field values.
 
virtual void LoadCustomAndComboObjectiveFunctions (CConfig *config, CGeometry *geometry, CSolver **solver)
 Recompute history output field values that can be used as objective functions in the (multiphysics) discrete adjoint solver.
 
virtual void LoadMultizoneHistoryData (const COutput *const *output, const CConfig *const *config)
 Load the multizone history output field values.
 
virtual void SetTurboPerformance_Output (su2vector< std::shared_ptr< CTurboOutput > > TurboBladePerfs, CConfig *config, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter)
 Sets the turboperformance screen output.
 
virtual void SetTurboMultiZonePerformance_Output (std::shared_ptr< CTurbomachineryStagePerformance > TurboStagePerf, su2vector< std::shared_ptr< CTurboOutput > > TurboPerf, CConfig *config)
 Sets the multizone turboperformacne screen output.
 
virtual void LoadTurboHistoryData (std::shared_ptr< CTurbomachineryStagePerformance > TurboStagePerf, su2vector< std::shared_ptr< CTurboOutput > > TurboPerf, CConfig *config)
 Loads the turboperformacne history data.
 
virtual void WriteTurboSpanwisePerformance (su2vector< std::shared_ptr< CTurboOutput > > TurboBladePerfs, CGeometry *geometry, CConfig **config, unsigned short val_iZone)
 Write the kinematic and thermodynamic variables at each spanwise division.
 
virtual void SetHistoryOutputFields (CConfig *config)
 Set the available history output fields.
 
virtual void SetMultizoneHistoryOutputFields (const COutput *const *output, const CConfig *const *config)
 Set the available multizone history output fields.
 
virtual void WriteAdditionalFiles (CConfig *config, CGeometry *geometry, CSolver **solver_container)
 Write any additional files defined for the current solver.
 
virtual void SetAdditionalScreenOutput (const CConfig *config)
 Write any additional output defined for the current solver.
 

Protected Attributes

const int rank
 MPI Rank.
 
const int size
 MPI Size.
 
const unsigned short nDim
 Physical Dimension.
 
const bool multiZone
 Boolean to store whether we are running a multizone problem.
 
const bool gridMovement
 Boolean to store whether we have grid movement enabled.
 
const bool femOutput
 Boolean to store whether we should use the FEM routines.
 
const bool si_units
 
const bool us_units
 
const unsigned short fieldWidth = 12
 Width of each column for the screen output (hardcoded for now)
 
string historySep
 Character which separates values in the history file.
 
bool noWriting
 Boolean indicating whether a screen/history output should be written.
 
unsigned long curTimeIter
 Current value of the time iteration index.
 
unsigned long curAbsTimeIter
 Current value of the time iteration index.
 
unsigned long curOuterIter
 Current value of the outer iteration index.
 
unsigned long curInnerIter
 Current value of the inner iteration index.
 
su2double PrevStopTime
 Previous stop time for iteration timing.
 
string historyFilename
 The history filename.
 
ofstream histFile
 Output file stream for the history.
 
bool cauchyTimeConverged
 
bool maxTimeDelayActive
 : Flag indicating that solver is already converged. Needed for writing restart files.
 
std::map< string, HistoryOutputField > historyOutput_Map
 Associative map to access data stored in the history output fields by a string identifier.
 
std::vector< string > historyOutput_List
 Vector that contains the keys of the historyOutput_Map in the order of their insertion.
 
std::map< string, vector< HistoryOutputField > > historyOutputPerSurface_Map
 Associative map to access data stored in the history per surface output fields by a string identifier.
 
std::vector< string > historyOutputPerSurface_List
 Vector that contains the keys of the historyOutputPerSurface_Map in the order of their insertion.
 
std::vector< string > requestedHistoryFields
 Requested history field names in the config file.
 
unsigned short nRequestedHistoryFields
 Number of requested history field names in the config file.
 
std::vector< string > requestedScreenFields
 Requested screen field names in the config file.
 
unsigned short nRequestedScreenFields
 Number of requested screen field names in the config file.
 
std::vector< const su2double * > requestedHistoryFieldCache
 Caches to avoid hashing the output maps to retrieve field values.
 
std::vector< const HistoryOutputField * > requestedScreenFieldCache
 
PrintingToolbox::CTablePrinter * convergenceTable
 Convergence output table structure.
 
PrintingToolbox::CTablePrinter * multiZoneHeaderTable
 Multizone header output structure.
 
PrintingToolbox::CTablePrinter * historyFileTable
 Table structure for writing to history file.
 
PrintingToolbox::CTablePrinter * fileWritingTable
 File writing header.
 
std::string multiZoneHeaderString
 Multizone header string.
 
bool headerNeeded
 Boolean that stores whether a screen header is needed.
 
map< string, CWindowedAverage > windowedTimeAverages
 Structure to store the value of the running averages.
 
std::map< string, su2double > initialResiduals
 Structure to store the value initial residuals for relative residual computation.
 
CustomHistoryOutput customObjFunc
 User-defined expression for a custom objective.
 
std::vector< CustomOutput > customOutputs
 User-defined outputs.
 
CParallelDataSorter * volumeDataSorter
 Volume data sorter.
 
CParallelDataSorter * volumeDataSorterCompact
 Volume data sorter for compact files.
 
CParallelDataSorter * surfaceDataSorter
 Surface data sorter.
 
vector< string > volumeFieldNames
 Vector containing the volume field names.
 
vector< string > requiredVolumeFieldNames
 Vector containing the minimum required volume field names.
 
string volumeFilename
 Volume output filename.
 
string surfaceFilename
 Surface output filename.
 
string restartFilename
 Restart output filename.
 
std::map< string, VolumeOutputField > volumeOutput_Map
 Associative map to access data stored in the volume output fields by a string identifier.
 
std::vector< string > volumeOutput_List
 Vector that contains the keys of the volumeOutput_Map in the order of their insertion.
 
bool buildFieldIndexCache
 Whether the field index caches should be build.
 
std::vector< short > fieldIndexCache
 Vectors to cache the positions of the fields in the data array.
 
std::vector< short > fieldIndexCacheCompact
 
unsigned short cachePosition
 Current value of the cache indices.
 
std::vector< short > fieldGetIndexCache
 Vector to cache the positions of the field in the data array.
 
unsigned short curGetFieldIndex
 Current value of the cache index.
 
std::vector< string > requestedVolumeFields
 Requested volume field names in the config file.
 
unsigned short nRequestedVolumeFields
 Number of requested volume field names in the config file.
 
const std::vector< string > restartVolumeFields = {"COORDINATES", "SOLUTION", "SENSITIVITY", "GRID_VELOCITY"}
 Minimum required volume fields for restart file.
 
su2double cauchyValue
 Summed value of the convergence indicator.
 
su2double cauchyFunc
 Current value of the convergence indicator at one iteration.
 
unsigned short Cauchy_Counter
 Number of elements of the Cauchy serial.
 
vector< vector< su2double > > cauchySerie
 Complete Cauchy serial.
 
unsigned long nCauchy_Elems
 Total number of cauchy elems to monitor.
 
su2double cauchyEps
 Defines the threshold when to stop the solver.
 
su2double minLogResidual
 Minimum value of the residual to reach.
 
vector< su2double > oldFunc
 Old value of the coefficient.
 
vector< su2double > newFunc
 Current value of the coefficient.
 
bool convergence
 To indicate if the solver has converged or not.
 
bool convergenceInterrupted
 To indicate that the exit was forced by an interrupt signal instead of the convergence criteria.
 
su2double initResidual
 Initial value of the residual to evaluate the convergence level.
 
vector< string > convFields
 Name of the field to be monitored for convergence.
 
unsigned long convergenceStartIter = 0
 Iteration the convergence history is counted from.
 
su2double rhoResNew
 
su2double rhoResOld
 
vector< string > wndConvFields
 Name of the field to be monitored for convergence.
 
vector< vector< su2double > > WndCauchy_Serie
 Complete Cauchy serial.
 
unsigned long nWndCauchy_Elems
 Total number of cauchy elems to monitor.
 
su2double wndCauchyEps
 Defines the threshold when to stop the solver.
 
vector< su2double > WndOld_Func
 Old value of the objective function (the function which is monitored).
 
vector< su2double > WndNew_Func
 Current value of the objective function (the function which is monitored).
 
su2double WndCauchy_Func
 Current value of the convergence indicator at one iteration.
 
su2double WndCauchy_Value
 Summed value of the convergence indicator.
 
bool TimeConvergence
 To indicate, if the windowed time average of the time loop has converged.
 

Friends

class CHeatOutput
 
class CAdjHeatOutput
 

Detailed Description

Class for writing the convergence history and to write solution data to file.

Author
T.Albring

Member Enumeration Documentation

◆ HistoryFieldType

enum class COutput::HistoryFieldType
strongprotected

Enum to identify the screen/history field type.

Enumerator
RESIDUAL 

A user-defined residual field type.

AUTO_RESIDUAL 

An automatically generated residual field type.

COEFFICIENT 

User defined coefficient field type

AUTO_COEFFICIENT 

Automatically generated coefficient field type

DEFAULT 

Default field type.

◆ OperationType

enum class COutput::OperationType
strongprotected

Type of operation for custom outputs.

Enumerator
MACRO 
FUNCTION 
AREA_AVG 
AREA_INT 
MASSFLOW_AVG 
MASSFLOW_INT 
PROBE 

◆ ScreenOutputFormat

enum class COutput::ScreenOutputFormat
strongprotected

: Flag for delaying stop at max_time with 2nd order time stepping.

Enum to identify the screen output format.

Enumerator
INTEGER 

Integer format. Example: 34.

FIXED 

Format with fixed precision for floating point values. Example: 344.54

SCIENTIFIC 

Scientific format for floating point values. Example: 3.4454E02.

PERCENT 

Format with fixed precision for floating point values with a % signs. Example: 99.52%.

Constructor & Destructor Documentation

◆ COutput()

COutput::COutput ( const CConfig *  config,
unsigned short  nDim,
bool  femOutput 
)

Constructor of the class.

◆ ~COutput()

COutput::~COutput ( void  )
virtual

Destructor of the class.

Member Function Documentation

◆ AddHistoryOutput()

void COutput::AddHistoryOutput ( string  name,
string  field_name,
ScreenOutputFormat  format,
string  groupname,
string  description,
HistoryFieldType  field_type = HistoryFieldType::DEFAULT 
)
inlineprotected

Add a new field to the history output.

Parameters
[in]name- Name for referencing it (in the config file and in the code).
[in]field_name- Header that is printed on screen and in the history file.
[in]format- The screen printing format (ScreenOutputFormat).
[in]groupname- The name of the group this field belongs to.
[in]description- A description of the field.
[in]field_type- The type of the field (HistoryFieldType).

◆ AddHistoryOutputPerSurface()

void COutput::AddHistoryOutputPerSurface ( string  name,
string  field_name,
ScreenOutputFormat  format,
string  groupname,
const vector< string > &  marker_names,
HistoryFieldType  field_type = HistoryFieldType::DEFAULT 
)
inlineprotected

Add a new field per surface marker to the history output.

Parameters
[in]name- Name for referencing it (in the config file and in the code).
[in]field_name- Header that is printed on screen and in the history file.
[in]format- The screen printing format (ScreenOutputFormat).
[in]groupname- The name of the group this field belongs to.
[in]marker_names- A list of markers. For every marker in this list a new field is created with "field_name + _marker_names[i]".
[in]field_type- The type of the field (HistoryFieldType).

◆ AddVolumeOutput()

void COutput::AddVolumeOutput ( const string &  name,
const string &  field_name,
const string &  group_name,
const string &  description 
)
inlineprotected

Add a new field to the volume output.

Parameters
[in]name- Name for referencing it (in the config file and in the code).
[in]field_name- Header that is printed in the output files.
[in]groupname- The name of the group this field belongs to.
[in]description- Description of the volume field.

◆ AllocateDataSorters()

void COutput::AllocateDataSorters ( CConfig *  config,
CGeometry *  geometry 
)
protected

Allocates the data sorters if necessary.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.

◆ CheckFullMG_Startup()

void COutput::CheckFullMG_Startup ( const CConfig *  config) const
protected

Check that the Full-MG startup has a criterion left to promote the active level on.

Parameters
[in]config- Definition of the particular problem.

◆ CheckHistoryOutput()

void COutput::CheckHistoryOutput ( unsigned short  nZone)
protected

CheckHistoryOutput.

◆ ComputeSimpleCustomOutputs()

void COutput::ComputeSimpleCustomOutputs ( const CConfig *  config)
protected

Evaluates function-type custom outputs. Derived classes can use this to compute simple expressions of other outputs if they do not implement surface averages. This should be called just before evaluating the custom objective function.

◆ ConvergenceMonitoring()

bool COutput::ConvergenceMonitoring ( CConfig *  config,
unsigned long  Iteration 
)

Monitor the convergence of an output field.

Parameters
[in]config- Definition of the particular problem.
[in]Iteration- Index of the current iteration.
Returns
Boolean indicating whether the problem is converged.

◆ GetCauchyCorrectedTimeConvergence()

bool COutput::GetCauchyCorrectedTimeConvergence ( const CConfig *  config)

Get convergence time convergence of the specified windowed-time-averaged ouput of the problem. Delays solver stop, if Cauchy time convergence criterion is fullfilled, but 2nd order time marching is active, to ensure that enough restart files are written.

Parameters
[in]config- Definition of the particular problem.
Returns
<TRUE> if Solver has converged and has run another iteration.

◆ GetConvergence()

bool COutput::GetConvergence ( ) const
inline

Get convergence of the problem.

Returns
Boolean indicating whether the problem is converged.

◆ GetConvergenceInterrupted()

bool COutput::GetConvergenceInterrupted ( ) const
inline

Get whether the exit was forced by an interrupt signal (e.g. SIGTERM) instead of the convergence criteria.

Returns
Boolean indicating whether an interrupt signal forced the exit.

◆ GetHistoryFields()

const map< string, HistoryOutputField > & COutput::GetHistoryFields ( ) const
inline

Get the map containing all output fields.

Returns
Map containing all output fields

◆ GetHistoryFieldValue()

su2double COutput::GetHistoryFieldValue ( const string &  name) const
inline

Get the value of particular history output field.

Parameters
[in]field- Name of the field
Returns
Value of the field

◆ GetHistoryFieldValuePerSurface()

su2double COutput::GetHistoryFieldValuePerSurface ( const string &  name,
unsigned short  iMarker 
) const
inline

Get the value of particular surface history output field.

Parameters
[in]field- Name of the field
[in]iMarker- Index of the surface marker
Returns
Value of the field

◆ GetHistoryGroup()

vector< HistoryOutputField > COutput::GetHistoryGroup ( string  groupname)
inline

Get a vector with all output fields in a particular group.

Parameters
groupname- Name of the history group
Returns
Vector containing all output fields of a group

◆ GetHistoryOutputList()

const vector< string > & COutput::GetHistoryOutputList ( ) const
inline

Get the list of all output fields.

Returns
Vector container all output fields

◆ GetHistoryOutputPerSurfaceList()

const vector< string > & COutput::GetHistoryOutputPerSurfaceList ( ) const
inline

Get the list of all per-surface fields.

Returns
Vector container all output per-surface fields

◆ GetHistoryPerSurfaceFields()

const map< string, vector< HistoryOutputField > > & COutput::GetHistoryPerSurfaceFields ( ) const
inline

Get the map containing all output per-surface fields.

Returns
Map containing all output per-surface fields

◆ GetPtrToHistoryOutput()

const su2double * COutput::GetPtrToHistoryOutput ( const string &  name) const
inlineprotected

Returns a pointer to the value of an history output.

Note
For per-surface outputs the marker index is specified as "name[index]".

◆ GetResidualConvFields()

vector< pair< string, passivedouble > > COutput::GetResidualConvFields ( ) const
inline

Names and values of the fields convergence is monitored on that are residuals.

Returns
Name and current value of every monitored residual field, in CONV_FIELD order.

◆ GetRestartFilename()

string COutput::GetRestartFilename ( )
inline

Returns the current restart filename.

Returns
- The current restart filename

◆ GetSurfaceFilename()

string COutput::GetSurfaceFilename ( )
inline

Returns the current surface filename.

Returns
- The current surface filename

◆ GetVolumeFilename()

string COutput::GetVolumeFilename ( )
inline

Returns the current volume filename.

Returns
- The current volume filename

◆ GetVolumeOutputValue()

su2double COutput::GetVolumeOutputValue ( const string &  name,
unsigned long  iPoint 
)
protected

Set the value of a volume output field.

Parameters
[in]name- Name of the field.
[in]iPoint- The point location in the field.

◆ LoadCommonHistoryData()

void COutput::LoadCommonHistoryData ( const CConfig *  config)
protected

Load values of the history fields common for all solvers.

Parameters
[in]config- Definition of the particular problem.

◆ LoadCustomAndComboObjectiveFunctions()

virtual void COutput::LoadCustomAndComboObjectiveFunctions ( CConfig *  config,
CGeometry *  geometry,
CSolver **  solver 
)
inlineprotectedvirtual

Recompute history output field values that can be used as objective functions in the (multiphysics) discrete adjoint solver.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]solver- The container holding all solution data.

Reimplemented in CFlowOutput.

◆ LoadData()

void COutput::LoadData ( CGeometry *  geometry,
CConfig *  config,
CSolver **  solver_container 
)

Load the data from the solvers into the data sorters and sort it for the linear partitioning.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]solver_container- The container holding all solution data.

◆ LoadDataIntoSorter()

void COutput::LoadDataIntoSorter ( CConfig *  config,
CGeometry *  geometry,
CSolver **  solver 
)
protected

Load up the values of the requested volume fields into ::Local_Data array.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]solver_container- The container holding all solution data.

◆ LoadHistoryData()

virtual void COutput::LoadHistoryData ( CConfig *  config,
CGeometry *  geometry,
CSolver **  solver 
)
inlineprotectedvirtual

Load the history output field values.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]solver- The container holding all solution data.

Reimplemented in CAdjElasticityOutput, CAdjFlowCompOutput, CAdjFlowIncOutput, CAdjHeatOutput, CElasticityOutput, CFlowCompFEMOutput, CFlowCompOutput, CFlowIncOutput, CHeatOutput, and CNEMOCompOutput.

◆ LoadMultizoneHistoryData()

virtual void COutput::LoadMultizoneHistoryData ( const COutput *const *  output,
const CConfig *const *  config 
)
inlineprotectedvirtual

Load the multizone history output field values.

Parameters
[in]output- Container holding the output instances per zone.
[in]config- Definition of the particular problem.

Reimplemented in CMultizoneOutput.

◆ LoadSurfaceData()

virtual void COutput::LoadSurfaceData ( CConfig *  config,
CGeometry *  geometry,
CSolver **  solver,
unsigned long  iPoint,
unsigned short  iMarker,
unsigned long  iVertex 
)
inlineprotectedvirtual

Set the values of the volume output fields for a surface point.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]solver- The container holding all solution data.
[in]iPoint- Index of the point.
[in]iMarker- Index of the surface marker.
[in]iVertex- Index of the vertex on the marker.

Reimplemented in CAdjFlowCompOutput, CAdjFlowIncOutput, CAdjHeatOutput, CElasticityOutput, CFlowOutput, and CHeatOutput.

◆ LoadTurboHistoryData()

virtual void COutput::LoadTurboHistoryData ( std::shared_ptr< CTurbomachineryStagePerformance >  TurboStagePerf,
su2vector< std::shared_ptr< CTurboOutput > >  TurboPerf,
CConfig *  config 
)
inlineprotectedvirtual

Loads the turboperformacne history data.

Parameters
[in]TurboStagePerf- Stage turboperformance class
[in]TurboPerf- Turboperformance class
[in]config- Definition of the particular problem

Reimplemented in CFlowCompOutput.

◆ LoadVolumeData()

virtual void COutput::LoadVolumeData ( CConfig *  config,
CGeometry *  geometry,
CSolver **  solver,
unsigned long  iPoint 
)
inlineprotectedvirtual

Set the values of the volume output fields for a point.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]solver- The container holding all solution data.
[in]iPoint- Index of the point.

Reimplemented in CAdjElasticityOutput, CAdjFlowCompOutput, CAdjFlowIncOutput, CAdjHeatOutput, CBaselineOutput, CElasticityOutput, CFlowCompOutput, CFlowIncOutput, CHeatOutput, CMeshOutput, and CNEMOCompOutput.

◆ LoadVolumeDataFEM()

virtual void COutput::LoadVolumeDataFEM ( CConfig *  config,
CGeometry *  geometry,
CSolver **  solver,
unsigned long  iElem,
unsigned long  index,
unsigned short  dof 
)
inlineprotectedvirtual

Set the values of the volume output fields for a point.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]solver- The container holding all solution data.
[in]iElem- Index of the element.
[in]index- Index of the value.
[in]dof- Index of the local degree of freedom.

Reimplemented in CFlowCompFEMOutput.

◆ MonitorTimeConvergence()

bool COutput::MonitorTimeConvergence ( CConfig *  config,
unsigned long  Iteration 
)

Monitor the time convergence of the specified windowed-time-averaged ouput.

Parameters
[in]config- Definition of the particular problem.
[in]Iteration- Index of the current iteration.
Returns
Boolean indicating whether the problem is converged.

◆ OutputScreenAndHistory()

void COutput::OutputScreenAndHistory ( CConfig *  config)
protected

Write screen and history output.

Parameters
[in]config- Definition of the particular problem.

◆ PostprocessHistoryData()

void COutput::PostprocessHistoryData ( CConfig *  config)
protected

Postprocess_HistoryData.

Parameters
[in]config- Definition of the particular problem.

◆ PostprocessHistoryFields()

void COutput::PostprocessHistoryFields ( CConfig *  config)
protected

Postprocess_HistoryFields.

Parameters
[in]config- Definition of the particular problem.

◆ PrepareHistoryFile()

void COutput::PrepareHistoryFile ( CConfig *  config)
protected

Open the history file and write the header.

Parameters
[in]config- Definition of the particular problem.

◆ PreprocessHistoryOutput()

void COutput::PreprocessHistoryOutput ( CConfig *  config,
bool  wrt = true 
)

Preprocess the history output by setting the history fields and opening the history file.

Parameters
[in]config- Definition of the particular problem.
[in]wrt- If <TRUE> prepares history file for writing.

◆ PreprocessMultizoneHistoryOutput()

void COutput::PreprocessMultizoneHistoryOutput ( COutput **  output,
CConfig **  config,
CConfig *  driver_config,
bool  wrt = true 
)

Preprocess the history output by setting the history fields and opening the history file.

Parameters
[in]output- Container holding the output instances per zone.
[in]config- Definition of the particular problem per zone.
[in]driver_config- Base definition of the particular problem.
[in]wrt- If <TRUE> prepares history file for writing.

◆ PreprocessVolumeOutput()

void COutput::PreprocessVolumeOutput ( CConfig *  config)

Preprocess the volume output by setting the requested volume output fields.

Parameters
[in]config- Definition of the particular problem.

◆ PrintConvergenceSummary()

void COutput::PrintConvergenceSummary ( )

Print a summary of the convergence to screen.

◆ PrintHistoryFields()

void COutput::PrintHistoryFields ( ) const

Print a list of all history output fields to screen.

◆ PrintOutput()

bool COutput::PrintOutput ( unsigned long  iIter,
unsigned long  iFreq 
)
inlineprotected

Check whether we should print output.

Parameters
[in]iIter- Current iteration.
[in]iFreq- Frequency of output printing.

◆ PrintVolumeFields()

void COutput::PrintVolumeFields ( )

Print a list of all volume output fields to screen.

◆ RequestCommonHistory()

void COutput::RequestCommonHistory ( bool  dynamic)
protected

Request the history fields common for all solvers.

◆ ResetConvergenceMonitoring()

void COutput::ResetConvergenceMonitoring ( unsigned long  Iteration)
inline

Discard the convergence history and count it from the given iteration instead.

Parameters
[in]Iteration- Iteration the history restarts from.

◆ SetAdditionalScreenOutput()

virtual void COutput::SetAdditionalScreenOutput ( const CConfig *  config)
inlineprotectedvirtual

Write any additional output defined for the current solver.

Parameters
[in]config- Definition of the particular problem per zone.

Reimplemented in CFlowCompOutput, and CNEMOCompOutput.

◆ SetAvgVolumeOutputValue()

void COutput::SetAvgVolumeOutputValue ( const string &  name,
unsigned long  iPoint,
su2double  value 
)
protected

Set the value of a volume output field.

Parameters
[in]name- Name of the field.
[in]iPoint- The point location in the field.
[in]value- The new value of this field.

◆ SetCommonHistoryFields()

void COutput::SetCommonHistoryFields ( )
protected

Set the history fields common for all solvers.

BEGIN_GROUP: ITERATION, DESCRIPTION: Iteration identifier. DESCRIPTION: The time iteration index.

DESCRIPTION: The outer iteration index.

DESCRIPTION: The inner iteration index.

END_GROUP

BEGIN_GROUP: TIME_DOMAIN, DESCRIPTION: Time integration information Description: The current time

Description: The current time step

BEGIN_GROUP: WALL_TIME, DESCRIPTION: Wall-clock timing information. DESCRIPTION: The current iteration wall-clock time.

DESCRIPTION: Currently used wall-clock time.

END_GROUP

◆ SetConvergence()

void COutput::SetConvergence ( const bool  conv)
inline

Set the value of the convergence flag.

Parameters
[in]conv- New value of the convergence flag.

◆ SetCustomAndComboObjectives()

void COutput::SetCustomAndComboObjectives ( int  idxSol,
const CConfig *  config,
CSolver **  solver 
)
protected

Computes the custom and combo objectives.

Note
To be called after all other history outputs are set.
Parameters
[in]idxSol- Index of the main solver.
[in]config- Definition of the particular problem.
[in]solver- The container holding all solution data.

◆ SetCustomOutputs()

void COutput::SetCustomOutputs ( const CConfig *  config)
protected

Parses user-defined outputs.

◆ SetHistoryFileHeader()

void COutput::SetHistoryFileHeader ( const CConfig *  config)
protected

Set the history file header.

Parameters
[in]config- Definition of the particular problem.

◆ SetHistoryFileOutput()

void COutput::SetHistoryFileOutput ( const CConfig *  config)
protected

Write the history file output.

Parameters
[in]config- Definition of the particular problem.

◆ SetHistoryOutput() [1/3]

void COutput::SetHistoryOutput ( CGeometry ****  geometry,
CSolver *****  solver_container,
CConfig **  config,
std::shared_ptr< CTurbomachineryStagePerformance >  TurboStagePerf,
su2vector< std::shared_ptr< CTurboOutput > >  TurboBladePerfs,
unsigned short  val_iZone,
unsigned long  TimeIter,
unsigned long  OuterIter,
unsigned long  InnerIter,
unsigned short  val_iInst 
)

Collects history data from the solvers, monitors the convergence and writes to screen and history file.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]TimeIter- Value of the time iteration index
[in]OuterIter- Value of outer iteration index
[in]InnerIter- Value of the inner iteration index
[in]val_iInst- Index of the instance layer

◆ SetHistoryOutput() [2/3]

void COutput::SetHistoryOutput ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config 
)

Collects history data from the solvers and monitors the convergence. Does not write to screen or file.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.

◆ SetHistoryOutput() [3/3]

void COutput::SetHistoryOutput ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
unsigned long  TimeIter,
unsigned long  OuterIter,
unsigned long  InnerIter 
)

Collects history data from the solvers, monitors the convergence and writes to screen and history file.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]TimeIter- Value of the time iteration index
[in]OuterIter- Value of outer iteration index
[in]InnerIter- Value of the inner iteration index

◆ SetHistoryOutputFields()

virtual void COutput::SetHistoryOutputFields ( CConfig *  config)
inlineprotectedvirtual

Set the available history output fields.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CAdjElasticityOutput, CAdjFlowCompOutput, CAdjFlowIncOutput, CAdjHeatOutput, CElasticityOutput, CFlowCompFEMOutput, CFlowCompOutput, CFlowIncOutput, CHeatOutput, and CNEMOCompOutput.

◆ SetHistoryOutputPerSurfaceValue()

void COutput::SetHistoryOutputPerSurfaceValue ( string  name,
su2double  value,
unsigned short  iMarker 
)
inlineprotected

Set the value of a history output field for a specific surface marker.

Parameters
[in]name- Name of the field.
[in]value- The new value of this field.
[in]iMarker- The index of the marker.

◆ SetHistoryOutputValue()

void COutput::SetHistoryOutputValue ( string  name,
su2double  value 
)
inlineprotected

Set the value of a history output field.

Parameters
[in]name- Name of the field.
[in]value- The new value of this field.

◆ SetInitResiduals()

virtual bool COutput::SetInitResiduals ( const CConfig *  config)
inlineprotectedvirtual

Check whether the base values for relative residuals should be initialized.

Parameters
[in]config- Definition of the particular problem.
Returns
<TRUE> if the residuals should be initialized.

Reimplemented in CAdjFlowCompOutput, CAdjFlowIncOutput, CElasticityOutput, CFlowCompFEMOutput, CFlowCompOutput, CFlowIncOutput, and CNEMOCompOutput.

◆ SetIteration()

void COutput::SetIteration ( unsigned long  TimeIter,
unsigned long  OuterIter,
unsigned long  InnerIter 
)
inline

Set the current iteration indices.

Parameters
[in]TimeIter- Timer iteration index
[in]OuterIter- Outer iteration index
[in]InnerIter- Inner iteration index

◆ SetMultizoneHistoryOutput()

void COutput::SetMultizoneHistoryOutput ( COutput **  output,
CConfig **  config,
CConfig *  driver_config,
unsigned long  TimeIter,
unsigned long  OuterIter 
)

Collects history data from the individual output per zone, monitors the convergence and writes to screen and history file.

Parameters
[in]output- Container holding the output instances per zone.
[in]config- Definition of the particular problem per zone.
[in]driver_config- Base definition of the particular problem.
[in]TimeIter- Value of the time iteration index
[in]OuterIter- Value of outer iteration index

◆ SetMultizoneHistoryOutputFields()

virtual void COutput::SetMultizoneHistoryOutputFields ( const COutput *const *  output,
const CConfig *const *  config 
)
inlineprotectedvirtual

Set the available multizone history output fields.

Parameters
[in]output- Container holding the output instances per zone.

Reimplemented in CMultizoneOutput.

◆ SetObjectiveFunctionValues()

void COutput::SetObjectiveFunctionValues ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config 
)

Evaluates objective functions in the (multiphysics) discrete adjoint solver.

Note
Uses the same subroutines for objective function evaluation as SetHistoryOutput, but omits unnecessary evaluations (e.g. residuals, convergence data) to avoid AD complications.
Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.

◆ SetRestartFilename()

void COutput::SetRestartFilename ( string  filename)
inline

Sets the restart filename.

Parameters
[in]filename- the new filename

◆ SetResultFiles()

bool COutput::SetResultFiles ( CGeometry *  geometry,
CConfig *  config,
CSolver **  solver_container,
unsigned long  iter,
bool  force_writing = false 
)

Loop through all requested output files and write the volume output data.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]solver_container- Container vector with all the solutions.
[in]iter- The current time, outer or inner iteration index.
[in]force_writing- If <TRUE>, writing of output files is forced without checking the output frequency.
Returns
<TRUE> if output files have been written to disk.

◆ SetScreenHeader()

void COutput::SetScreenHeader ( const CConfig *  config)
protected

Write the screen header.

Parameters
[in]config- Definition of the particular problem.

◆ SetScreenOutput()

void COutput::SetScreenOutput ( const CConfig *  config)
protected

Write the screen output.

Parameters
[in]config- Definition of the particular problem.

◆ SetSurfaceFilename()

void COutput::SetSurfaceFilename ( string  filename)
inline

Sets the surface output filename.

Parameters
[in]filename- the new filename

◆ SetTurboMultiZonePerformance_Output()

virtual void COutput::SetTurboMultiZonePerformance_Output ( std::shared_ptr< CTurbomachineryStagePerformance >  TurboStagePerf,
su2vector< std::shared_ptr< CTurboOutput > >  TurboPerf,
CConfig *  config 
)
inlineprotectedvirtual

Sets the multizone turboperformacne screen output.

Parameters
[in]TurboStagePerf- Stage turboperformance class
[in]TurboPerf- Turboperformance class
[in]config- Definition of the particular problem

Reimplemented in CFlowCompOutput.

◆ SetTurboPerformance_Output()

virtual void COutput::SetTurboPerformance_Output ( su2vector< std::shared_ptr< CTurboOutput > >  TurboBladePerfs,
CConfig *  config,
unsigned long  TimeIter,
unsigned long  OuterIter,
unsigned long  InnerIter 
)
inlineprotectedvirtual

Sets the turboperformance screen output.

Parameters
[in]TurboPerf- Turboperformance class
[in]config- Definition of the particular problem
[in]TimeIter- Index of the current time-step
[in]OuterIter- Index of current outer iteration
[in]InnerIter- Index of current inner iteration

Reimplemented in CFlowCompOutput.

◆ SetupCustomHistoryOutput()

void COutput::SetupCustomHistoryOutput ( const string &  expression,
CustomHistoryOutput &  output 
) const
protected

Setup a custom history output object for a given expression.

Parameters
[in]expression- Some user-defined math with the history field names as variables.
[out]output- Custom output ready to evaluate.

◆ SetVolumeFilename()

void COutput::SetVolumeFilename ( string  filename)
inline

Sets the volume output filename.

Parameters
[in]filename- the new filename

◆ SetVolumeOutputFields()

virtual void COutput::SetVolumeOutputFields ( CConfig *  config)
inlineprotectedvirtual

Set the available volume output fields.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CAdjElasticityOutput, CAdjFlowCompOutput, CAdjFlowIncOutput, CAdjHeatOutput, CBaselineOutput, CElasticityOutput, CFlowCompFEMOutput, CFlowCompOutput, CFlowIncOutput, CHeatOutput, CMeshOutput, and CNEMOCompOutput.

◆ SetVolumeOutputValue()

void COutput::SetVolumeOutputValue ( const string &  name,
unsigned long  iPoint,
su2double  value 
)
protected

Set the value of a volume output field.

Parameters
[in]name- Name of the field.
[in]iPoint- The point location in the field.
[in]value- The new value of this field.

◆ WriteAdditionalFiles()

virtual void COutput::WriteAdditionalFiles ( CConfig *  config,
CGeometry *  geometry,
CSolver **  solver_container 
)
inlineprotectedvirtual

Write any additional files defined for the current solver.

Parameters
[in]config- Definition of the particular problem per zone.
[in]geometry- Geometrical definition of the problem.
[in]solver_container- The container holding all solution data.

Reimplemented in CFlowOutput.

◆ WriteHistoryFileOutput()

bool COutput::WriteHistoryFileOutput ( const CConfig *  config)
protectedvirtual

Determines if the history file output.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CFlowCompOutput, CMultizoneOutput, and CNEMOCompOutput.

◆ WriteScreenHeader()

bool COutput::WriteScreenHeader ( const CConfig *  config)
protectedvirtual

Determines if the screen header should be written.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CMultizoneOutput.

◆ WriteScreenOutput()

bool COutput::WriteScreenOutput ( const CConfig *  config)
protectedvirtual

Determines if the screen header should be written.

Parameters
[in]config- Definition of the particular problem.

Reimplemented in CMultizoneOutput.

◆ WriteToFile()

void COutput::WriteToFile ( CConfig *  config,
CGeometry *  geometry,
OUTPUT_TYPE  format,
string  fileName = "" 
)

Allocates the appropriate file writer based on the chosen format and writes sorted data to file.

Parameters
[in]config- Definition of the particular problem.
[in]geometry- Geometrical definition of the problem.
[in]format- The output format.
[in]fileName- The file name. If empty, the filenames are automatically determined.

◆ WriteTurboSpanwisePerformance()

virtual void COutput::WriteTurboSpanwisePerformance ( su2vector< std::shared_ptr< CTurboOutput > >  TurboBladePerfs,
CGeometry *  geometry,
CConfig **  config,
unsigned short  val_iZone 
)
inlineprotectedvirtual

Write the kinematic and thermodynamic variables at each spanwise division.

Parameters
[in]solver- The container hold all solution data
[in]geometry- Geometrical definiton of the problem
[in]config- Descripiton of the particular problem
[in]val_iZone- Idientifier of current zone

Reimplemented in CFlowCompOutput.

◆ WriteVolumeOutput()

bool COutput::WriteVolumeOutput ( CConfig *  config,
unsigned long  Iter,
bool  force_writing,
unsigned short  iFile 
)
protectedvirtual

Determines if the the volume output should be written.

Parameters
[in]config- Definition of the particular problem.
[in]Iter- Current iteration index.
[in]force_writing- boolean that forces writing of volume output
[in]iFile- index to the file that we need to consider for volume output

Reimplemented in CFlowOutput.

Friends And Related Symbol Documentation

◆ CAdjHeatOutput

friend class CAdjHeatOutput
friend

◆ CHeatOutput

friend class CHeatOutput
friend

Member Data Documentation

◆ buildFieldIndexCache

bool COutput::buildFieldIndexCache
protected

Whether the field index caches should be build.

◆ cachePosition

unsigned short COutput::cachePosition
protected

Current value of the cache indices.

◆ Cauchy_Counter

unsigned short COutput::Cauchy_Counter
protected

Number of elements of the Cauchy serial.

◆ cauchyEps

su2double COutput::cauchyEps
protected

Defines the threshold when to stop the solver.

◆ cauchyFunc

su2double COutput::cauchyFunc
protected

Current value of the convergence indicator at one iteration.

◆ cauchySerie

vector<vector<su2double> > COutput::cauchySerie
protected

Complete Cauchy serial.

◆ cauchyTimeConverged

bool COutput::cauchyTimeConverged
protected

◆ cauchyValue

su2double COutput::cauchyValue
protected

Summed value of the convergence indicator.

◆ convergence

bool COutput::convergence
protected

To indicate if the solver has converged or not.

◆ convergenceInterrupted

bool COutput::convergenceInterrupted
protected

To indicate that the exit was forced by an interrupt signal instead of the convergence criteria.

◆ convergenceStartIter

unsigned long COutput::convergenceStartIter = 0
protected

Iteration the convergence history is counted from.

◆ convergenceTable

PrintingToolbox::CTablePrinter* COutput::convergenceTable
protected

Convergence output table structure.

◆ convFields

vector<string> COutput::convFields
protected

Name of the field to be monitored for convergence.

◆ curAbsTimeIter

unsigned long COutput::curAbsTimeIter
protected

Current value of the time iteration index.

◆ curGetFieldIndex

unsigned short COutput::curGetFieldIndex
protected

Current value of the cache index.

◆ curInnerIter

unsigned long COutput::curInnerIter
protected

Current value of the inner iteration index.

◆ curOuterIter

unsigned long COutput::curOuterIter
protected

Current value of the outer iteration index.

◆ curTimeIter

unsigned long COutput::curTimeIter
protected

Current value of the time iteration index.

◆ customObjFunc

CustomHistoryOutput COutput::customObjFunc
protected

User-defined expression for a custom objective.

◆ customOutputs

std::vector<CustomOutput> COutput::customOutputs
protected

User-defined outputs.

◆ femOutput

const bool COutput::femOutput
protected

Boolean to store whether we should use the FEM routines.

◆ fieldGetIndexCache

std::vector<short> COutput::fieldGetIndexCache
protected

Vector to cache the positions of the field in the data array.

◆ fieldIndexCache

std::vector<short> COutput::fieldIndexCache
protected

Vectors to cache the positions of the fields in the data array.

◆ fieldIndexCacheCompact

std::vector<short> COutput::fieldIndexCacheCompact
protected

◆ fieldWidth

const unsigned short COutput::fieldWidth = 12
protected

Width of each column for the screen output (hardcoded for now)

◆ fileWritingTable

PrintingToolbox::CTablePrinter* COutput::fileWritingTable
protected

File writing header.

◆ gridMovement

const bool COutput::gridMovement
protected

Boolean to store whether we have grid movement enabled.

◆ headerNeeded

bool COutput::headerNeeded
protected

Boolean that stores whether a screen header is needed.

◆ histFile

ofstream COutput::histFile
protected

Output file stream for the history.

◆ historyFilename

string COutput::historyFilename
protected

The history filename.

◆ historyFileTable

PrintingToolbox::CTablePrinter* COutput::historyFileTable
protected

Table structure for writing to history file.

◆ historyOutput_List

std::vector<string> COutput::historyOutput_List
protected

Vector that contains the keys of the historyOutput_Map in the order of their insertion.

◆ historyOutput_Map

std::map<string, HistoryOutputField > COutput::historyOutput_Map
protected

Associative map to access data stored in the history output fields by a string identifier.

◆ historyOutputPerSurface_List

std::vector<string> COutput::historyOutputPerSurface_List
protected

Vector that contains the keys of the historyOutputPerSurface_Map in the order of their insertion.

◆ historyOutputPerSurface_Map

std::map<string, vector<HistoryOutputField> > COutput::historyOutputPerSurface_Map
protected

Associative map to access data stored in the history per surface output fields by a string identifier.

◆ historySep

string COutput::historySep
protected

Character which separates values in the history file.

◆ initialResiduals

std::map<string, su2double> COutput::initialResiduals
protected

Structure to store the value initial residuals for relative residual computation.

◆ initResidual

su2double COutput::initResidual
protected

Initial value of the residual to evaluate the convergence level.

◆ maxTimeDelayActive

bool COutput::maxTimeDelayActive
protected

: Flag indicating that solver is already converged. Needed for writing restart files.

◆ minLogResidual

su2double COutput::minLogResidual
protected

Minimum value of the residual to reach.

◆ multiZone

const bool COutput::multiZone
protected

Boolean to store whether we are running a multizone problem.

◆ multiZoneHeaderString

std::string COutput::multiZoneHeaderString
protected

Multizone header string.

◆ multiZoneHeaderTable

PrintingToolbox::CTablePrinter* COutput::multiZoneHeaderTable
protected

Multizone header output structure.

◆ nCauchy_Elems

unsigned long COutput::nCauchy_Elems
protected

Total number of cauchy elems to monitor.

◆ nDim

const unsigned short COutput::nDim
protected

Physical Dimension.

◆ newFunc

vector<su2double> COutput::newFunc
protected

Current value of the coefficient.

◆ noWriting

bool COutput::noWriting
protected

Boolean indicating whether a screen/history output should be written.

◆ nRequestedHistoryFields

unsigned short COutput::nRequestedHistoryFields
protected

Number of requested history field names in the config file.

◆ nRequestedScreenFields

unsigned short COutput::nRequestedScreenFields
protected

Number of requested screen field names in the config file.

◆ nRequestedVolumeFields

unsigned short COutput::nRequestedVolumeFields
protected

Number of requested volume field names in the config file.

◆ nWndCauchy_Elems

unsigned long COutput::nWndCauchy_Elems
protected

Total number of cauchy elems to monitor.

◆ oldFunc

vector<su2double> COutput::oldFunc
protected

Old value of the coefficient.

◆ PrevStopTime

su2double COutput::PrevStopTime
protected

Previous stop time for iteration timing.

◆ rank

const int COutput::rank
protected

MPI Rank.

◆ requestedHistoryFieldCache

std::vector<const su2double*> COutput::requestedHistoryFieldCache
protected

Caches to avoid hashing the output maps to retrieve field values.

◆ requestedHistoryFields

std::vector<string> COutput::requestedHistoryFields
protected

Requested history field names in the config file.

◆ requestedScreenFieldCache

std::vector<const HistoryOutputField*> COutput::requestedScreenFieldCache
protected

◆ requestedScreenFields

std::vector<string> COutput::requestedScreenFields
protected

Requested screen field names in the config file.

◆ requestedVolumeFields

std::vector<string> COutput::requestedVolumeFields
protected

Requested volume field names in the config file.

◆ requiredVolumeFieldNames

vector<string> COutput::requiredVolumeFieldNames
protected

Vector containing the minimum required volume field names.

◆ restartFilename

string COutput::restartFilename
protected

Restart output filename.

◆ restartVolumeFields

const std::vector<string> COutput::restartVolumeFields = {"COORDINATES", "SOLUTION", "SENSITIVITY", "GRID_VELOCITY"}
protected

Minimum required volume fields for restart file.

◆ rhoResNew

su2double COutput::rhoResNew
protected

New value of the residual for adaptive CFL routine.

◆ rhoResOld

su2double COutput::rhoResOld
protected

Old value of the residual for adaptive CFL routine.

◆ si_units

const bool COutput::si_units
protected

◆ size

const int COutput::size
protected

MPI Size.

◆ surfaceDataSorter

CParallelDataSorter* COutput::surfaceDataSorter
protected

Surface data sorter.

◆ surfaceFilename

string COutput::surfaceFilename
protected

Surface output filename.

◆ TimeConvergence

bool COutput::TimeConvergence
protected

To indicate, if the windowed time average of the time loop has converged.

◆ us_units

const bool COutput::us_units
protected

◆ volumeDataSorter

CParallelDataSorter* COutput::volumeDataSorter
protected

Volume data sorter.

◆ volumeDataSorterCompact

CParallelDataSorter* COutput::volumeDataSorterCompact
protected

Volume data sorter for compact files.

◆ volumeFieldNames

vector<string> COutput::volumeFieldNames
protected

Vector containing the volume field names.

◆ volumeFilename

string COutput::volumeFilename
protected

Volume output filename.

◆ volumeOutput_List

std::vector<string> COutput::volumeOutput_List
protected

Vector that contains the keys of the volumeOutput_Map in the order of their insertion.

◆ volumeOutput_Map

std::map<string, VolumeOutputField > COutput::volumeOutput_Map
protected

Associative map to access data stored in the volume output fields by a string identifier.

◆ windowedTimeAverages

map<string, CWindowedAverage> COutput::windowedTimeAverages
protected

Structure to store the value of the running averages.

◆ WndCauchy_Func

su2double COutput::WndCauchy_Func
protected

Current value of the convergence indicator at one iteration.

◆ WndCauchy_Serie

vector<vector<su2double> > COutput::WndCauchy_Serie
protected

Complete Cauchy serial.

◆ WndCauchy_Value

su2double COutput::WndCauchy_Value
protected

Summed value of the convergence indicator.

◆ wndCauchyEps

su2double COutput::wndCauchyEps
protected

Defines the threshold when to stop the solver.

◆ wndConvFields

vector<string> COutput::wndConvFields
protected

Name of the field to be monitored for convergence.

◆ WndNew_Func

vector<su2double> COutput::WndNew_Func
protected

Current value of the objective function (the function which is monitored).

◆ WndOld_Func

vector<su2double> COutput::WndOld_Func
protected

Old value of the objective function (the function which is monitored).


The documentation for this class was generated from the following files: