![]() |
Documentation 6b54b78464
|
Class for writing the convergence history and to write solution data to file. More...
#include <COutput.hpp>
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 |
Class for writing the convergence history and to write solution data to file.
|
strongprotected |
Enum to identify the screen/history field type.
|
strongprotected |
|
strongprotected |
: Flag for delaying stop at max_time with 2nd order time stepping.
Enum to identify the screen output format.
| COutput::COutput | ( | const CConfig * | config, |
| unsigned short | nDim, | ||
| bool | femOutput | ||
| ) |
Constructor of the class.
|
virtual |
Destructor of the class.
|
inlineprotected |
Add a new field to the history output.
| [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). |
|
inlineprotected |
Add a new field per surface marker to the history output.
| [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). |
|
inlineprotected |
Add a new field to the volume output.
| [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. |
Allocates the data sorters if necessary.
| [in] | config | - Definition of the particular problem. |
| [in] | geometry | - Geometrical definition of the problem. |
|
protected |
Check that the Full-MG startup has a criterion left to promote the active level on.
| [in] | config | - Definition of the particular problem. |
|
protected |
CheckHistoryOutput.
|
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.
| bool COutput::ConvergenceMonitoring | ( | CConfig * | config, |
| unsigned long | Iteration | ||
| ) |
Monitor the convergence of an output field.
| [in] | config | - Definition of the particular problem. |
| [in] | Iteration | - Index of the current iteration. |
| 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.
| [in] | config | - Definition of the particular problem. |
|
inline |
Get convergence of the problem.
|
inline |
Get whether the exit was forced by an interrupt signal (e.g. SIGTERM) instead of the convergence criteria.
|
inline |
Get the map containing all output fields.
|
inline |
Get the value of particular history output field.
| [in] | field | - Name of the field |
|
inline |
Get the value of particular surface history output field.
| [in] | field | - Name of the field |
| [in] | iMarker | - Index of the surface marker |
|
inline |
Get a vector with all output fields in a particular group.
| groupname | - Name of the history group |
|
inline |
Get the list of all output fields.
|
inline |
Get the list of all per-surface fields.
|
inline |
Get the map containing all output per-surface fields.
|
inlineprotected |
Returns a pointer to the value of an history output.
|
inline |
Names and values of the fields convergence is monitored on that are residuals.
|
inline |
Returns the current restart filename.
|
inline |
Returns the current surface filename.
|
inline |
Returns the current volume filename.
|
protected |
Set the value of a volume output field.
| [in] | name | - Name of the field. |
| [in] | iPoint | - The point location in the field. |
|
protected |
Load values of the history fields common for all solvers.
| [in] | config | - Definition of the particular problem. |
|
inlineprotectedvirtual |
Recompute history output field values that can be used as objective functions in the (multiphysics) discrete adjoint solver.
| [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.
Load the data from the solvers into the data sorters and sort it for the linear partitioning.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | config | - Definition of the particular problem. |
| [in] | solver_container | - The container holding all solution data. |
|
protected |
Load up the values of the requested volume fields into ::Local_Data array.
| [in] | config | - Definition of the particular problem. |
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - The container holding all solution data. |
|
inlineprotectedvirtual |
Load the history output field values.
| [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.
|
inlineprotectedvirtual |
Load the multizone history output field values.
| [in] | output | - Container holding the output instances per zone. |
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultizoneOutput.
|
inlineprotectedvirtual |
Set the values of the volume output fields for a surface point.
| [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.
|
inlineprotectedvirtual |
Loads the turboperformacne history data.
| [in] | TurboStagePerf | - Stage turboperformance class |
| [in] | TurboPerf | - Turboperformance class |
| [in] | config | - Definition of the particular problem |
Reimplemented in CFlowCompOutput.
|
inlineprotectedvirtual |
Set the values of the volume output fields for a point.
| [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.
|
inlineprotectedvirtual |
Set the values of the volume output fields for a point.
| [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.
| bool COutput::MonitorTimeConvergence | ( | CConfig * | config, |
| unsigned long | Iteration | ||
| ) |
Monitor the time convergence of the specified windowed-time-averaged ouput.
| [in] | config | - Definition of the particular problem. |
| [in] | Iteration | - Index of the current iteration. |
|
protected |
Write screen and history output.
| [in] | config | - Definition of the particular problem. |
|
protected |
Postprocess_HistoryData.
| [in] | config | - Definition of the particular problem. |
|
protected |
Postprocess_HistoryFields.
| [in] | config | - Definition of the particular problem. |
|
protected |
Open the history file and write the header.
| [in] | config | - Definition of the particular problem. |
| void COutput::PreprocessHistoryOutput | ( | CConfig * | config, |
| bool | wrt = true |
||
| ) |
Preprocess the history output by setting the history fields and opening the history file.
| [in] | config | - Definition of the particular problem. |
| [in] | wrt | - If <TRUE> prepares history file for writing. |
| 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.
| [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. |
| void COutput::PreprocessVolumeOutput | ( | CConfig * | config | ) |
Preprocess the volume output by setting the requested volume output fields.
| [in] | config | - Definition of the particular problem. |
| void COutput::PrintConvergenceSummary | ( | ) |
Print a summary of the convergence to screen.
| void COutput::PrintHistoryFields | ( | ) | const |
Print a list of all history output fields to screen.
|
inlineprotected |
Check whether we should print output.
| [in] | iIter | - Current iteration. |
| [in] | iFreq | - Frequency of output printing. |
| void COutput::PrintVolumeFields | ( | ) |
Print a list of all volume output fields to screen.
|
protected |
Request the history fields common for all solvers.
|
inline |
Discard the convergence history and count it from the given iteration instead.
| [in] | Iteration | - Iteration the history restarts from. |
|
inlineprotectedvirtual |
Write any additional output defined for the current solver.
| [in] | config | - Definition of the particular problem per zone. |
Reimplemented in CFlowCompOutput, and CNEMOCompOutput.
|
protected |
Set the value of a volume output field.
| [in] | name | - Name of the field. |
| [in] | iPoint | - The point location in the field. |
| [in] | value | - The new value of this field. |
|
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
|
inline |
Set the value of the convergence flag.
| [in] | conv | - New value of the convergence flag. |
|
protected |
Computes the custom and combo objectives.
| [in] | idxSol | - Index of the main solver. |
| [in] | config | - Definition of the particular problem. |
| [in] | solver | - The container holding all solution data. |
|
protected |
Parses user-defined outputs.
|
protected |
Set the history file header.
| [in] | config | - Definition of the particular problem. |
|
protected |
Write the history file output.
| [in] | config | - Definition of the particular problem. |
| 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.
| [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 |
| 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.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | config | - Definition of the particular problem. |
| 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.
| [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 |
|
inlineprotectedvirtual |
Set the available history output fields.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CAdjElasticityOutput, CAdjFlowCompOutput, CAdjFlowIncOutput, CAdjHeatOutput, CElasticityOutput, CFlowCompFEMOutput, CFlowCompOutput, CFlowIncOutput, CHeatOutput, and CNEMOCompOutput.
|
inlineprotected |
Set the value of a history output field for a specific surface marker.
| [in] | name | - Name of the field. |
| [in] | value | - The new value of this field. |
| [in] | iMarker | - The index of the marker. |
|
inlineprotected |
Set the value of a history output field.
| [in] | name | - Name of the field. |
| [in] | value | - The new value of this field. |
|
inlineprotectedvirtual |
Check whether the base values for relative residuals should be initialized.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CAdjFlowCompOutput, CAdjFlowIncOutput, CElasticityOutput, CFlowCompFEMOutput, CFlowCompOutput, CFlowIncOutput, and CNEMOCompOutput.
|
inline |
Set the current iteration indices.
| [in] | TimeIter | - Timer iteration index |
| [in] | OuterIter | - Outer iteration index |
| [in] | InnerIter | - Inner iteration index |
| 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.
| [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 |
|
inlineprotectedvirtual |
Set the available multizone history output fields.
| [in] | output | - Container holding the output instances per zone. |
Reimplemented in CMultizoneOutput.
| void COutput::SetObjectiveFunctionValues | ( | CGeometry * | geometry, |
| CSolver ** | solver_container, | ||
| CConfig * | config | ||
| ) |
Evaluates objective functions in the (multiphysics) discrete adjoint solver.
| [in] | geometry | - Geometrical definition of the problem. |
| [in] | solver_container | - Container vector with all the solutions. |
| [in] | config | - Definition of the particular problem. |
|
inline |
Sets the restart filename.
| [in] | filename | - the new filename |
| 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.
| [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. |
|
protected |
Write the screen header.
| [in] | config | - Definition of the particular problem. |
|
protected |
Write the screen output.
| [in] | config | - Definition of the particular problem. |
|
inline |
Sets the surface output filename.
| [in] | filename | - the new filename |
|
inlineprotectedvirtual |
Sets the multizone turboperformacne screen output.
| [in] | TurboStagePerf | - Stage turboperformance class |
| [in] | TurboPerf | - Turboperformance class |
| [in] | config | - Definition of the particular problem |
Reimplemented in CFlowCompOutput.
|
inlineprotectedvirtual |
Sets the turboperformance screen output.
| [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.
|
protected |
Setup a custom history output object for a given expression.
| [in] | expression | - Some user-defined math with the history field names as variables. |
| [out] | output | - Custom output ready to evaluate. |
|
inline |
Sets the volume output filename.
| [in] | filename | - the new filename |
|
inlineprotectedvirtual |
Set the available volume output fields.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CAdjElasticityOutput, CAdjFlowCompOutput, CAdjFlowIncOutput, CAdjHeatOutput, CBaselineOutput, CElasticityOutput, CFlowCompFEMOutput, CFlowCompOutput, CFlowIncOutput, CHeatOutput, CMeshOutput, and CNEMOCompOutput.
|
protected |
Set the value of a volume output field.
| [in] | name | - Name of the field. |
| [in] | iPoint | - The point location in the field. |
| [in] | value | - The new value of this field. |
|
inlineprotectedvirtual |
Write any additional files defined for the current solver.
| [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.
|
protectedvirtual |
Determines if the history file output.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CFlowCompOutput, CMultizoneOutput, and CNEMOCompOutput.
|
protectedvirtual |
Determines if the screen header should be written.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultizoneOutput.
|
protectedvirtual |
Determines if the screen header should be written.
| [in] | config | - Definition of the particular problem. |
Reimplemented in CMultizoneOutput.
| 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.
| [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. |
|
inlineprotectedvirtual |
Write the kinematic and thermodynamic variables at each spanwise division.
| [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.
|
protectedvirtual |
Determines if the the volume output should be written.
| [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.
|
friend |
|
friend |
|
protected |
Whether the field index caches should be build.
|
protected |
Current value of the cache indices.
|
protected |
Number of elements of the Cauchy serial.
|
protected |
Defines the threshold when to stop the solver.
|
protected |
Current value of the convergence indicator at one iteration.
|
protected |
Complete Cauchy serial.
|
protected |
|
protected |
Summed value of the convergence indicator.
|
protected |
To indicate if the solver has converged or not.
|
protected |
To indicate that the exit was forced by an interrupt signal instead of the convergence criteria.
|
protected |
Iteration the convergence history is counted from.
|
protected |
Convergence output table structure.
|
protected |
Name of the field to be monitored for convergence.
|
protected |
Current value of the time iteration index.
|
protected |
Current value of the cache index.
|
protected |
Current value of the inner iteration index.
|
protected |
Current value of the outer iteration index.
|
protected |
Current value of the time iteration index.
|
protected |
User-defined expression for a custom objective.
|
protected |
User-defined outputs.
|
protected |
Boolean to store whether we should use the FEM routines.
|
protected |
Vector to cache the positions of the field in the data array.
|
protected |
Vectors to cache the positions of the fields in the data array.
|
protected |
|
protected |
Width of each column for the screen output (hardcoded for now)
|
protected |
File writing header.
|
protected |
Boolean to store whether we have grid movement enabled.
|
protected |
Boolean that stores whether a screen header is needed.
|
protected |
Output file stream for the history.
|
protected |
The history filename.
|
protected |
Table structure for writing to history file.
|
protected |
Vector that contains the keys of the historyOutput_Map in the order of their insertion.
|
protected |
Associative map to access data stored in the history output fields by a string identifier.
|
protected |
Vector that contains the keys of the historyOutputPerSurface_Map in the order of their insertion.
|
protected |
Associative map to access data stored in the history per surface output fields by a string identifier.
|
protected |
Character which separates values in the history file.
|
protected |
Structure to store the value initial residuals for relative residual computation.
|
protected |
Initial value of the residual to evaluate the convergence level.
|
protected |
: Flag indicating that solver is already converged. Needed for writing restart files.
|
protected |
Minimum value of the residual to reach.
|
protected |
Boolean to store whether we are running a multizone problem.
|
protected |
Multizone header string.
|
protected |
Multizone header output structure.
|
protected |
Total number of cauchy elems to monitor.
|
protected |
Physical Dimension.
|
protected |
Current value of the coefficient.
|
protected |
Boolean indicating whether a screen/history output should be written.
|
protected |
Number of requested history field names in the config file.
|
protected |
Number of requested screen field names in the config file.
|
protected |
Number of requested volume field names in the config file.
|
protected |
Total number of cauchy elems to monitor.
|
protected |
Old value of the coefficient.
|
protected |
Previous stop time for iteration timing.
|
protected |
MPI Rank.
|
protected |
Caches to avoid hashing the output maps to retrieve field values.
|
protected |
Requested history field names in the config file.
|
protected |
|
protected |
Requested screen field names in the config file.
|
protected |
Requested volume field names in the config file.
|
protected |
Vector containing the minimum required volume field names.
|
protected |
Restart output filename.
|
protected |
Minimum required volume fields for restart file.
|
protected |
New value of the residual for adaptive CFL routine.
|
protected |
Old value of the residual for adaptive CFL routine.
|
protected |
|
protected |
MPI Size.
|
protected |
Surface data sorter.
|
protected |
Surface output filename.
|
protected |
To indicate, if the windowed time average of the time loop has converged.
|
protected |
|
protected |
Volume data sorter.
|
protected |
Volume data sorter for compact files.
|
protected |
Vector containing the volume field names.
|
protected |
Volume output filename.
|
protected |
Vector that contains the keys of the volumeOutput_Map in the order of their insertion.
|
protected |
Associative map to access data stored in the volume output fields by a string identifier.
|
protected |
Structure to store the value of the running averages.
|
protected |
Current value of the convergence indicator at one iteration.
|
protected |
Complete Cauchy serial.
|
protected |
Summed value of the convergence indicator.
|
protected |
Defines the threshold when to stop the solver.
|
protected |
Name of the field to be monitored for convergence.
|
protected |
Current value of the objective function (the function which is monitored).
|
protected |
Old value of the objective function (the function which is monitored).