GRINS-0.8.0
qoi_output.C
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2017 Paul T. Bauman, Roy H. Stogner
7 // Copyright (C) 2010-2013 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 // This class
26 #include "grins/qoi_output.h"
27 
28 // GRINS
29 #include "grins/common.h"
30 #include "grins/qoi_options.h"
31 #include "grins/composite_qoi.h"
32 
33 // libMesh
34 #include "libmesh/getpot.h"
35 
36 // C++
37 #include <fstream>
38 #include <iomanip>
39 #include <sstream>
40 
41 namespace GRINS
42 {
43  QoIOutput::QoIOutput( const GetPot & input )
44  : _output_to_display( input(OutputParsing::output_section()+"/"+OutputParsing::display_section()+"/"+QoIOptions::output_to_display(), false) ),
45  _output_to_file( input.have_variable(OutputParsing::output_section()+"/"+QoIOptions::qoi_section()+"/"+QoIOptions::default_file_prefix()) ),
46  _file_prefix( input(OutputParsing::output_section()+"/"+QoIOptions::qoi_section()+"/"+QoIOptions::default_file_prefix(), "nofile") )
47  {
48  if( input.have_variable("screen-options/print_qoi") )
49  {
50  std::string warning;
51  warning = "WARNING: Option screen-options/print_qoi is DEPRECATED!\n";
52  warning += " Please update input to use ";
54  grins_warning(warning);
55 
56  _output_to_display = input("screen-options/print_qoi", false);
57  }
58  }
59 
60  void QoIOutput::output_qois( const CompositeQoI & qois, const libMesh::Parallel::Communicator & comm ) const
61  {
62  if( _output_to_display )
63  {
64  std::cout << "==========================================================" << std::endl;
65  qois.output_qoi( std::cout );
66  std::cout << "==========================================================" << std::endl;
67  }
68 
69  if( _output_to_file )
70  {
71  if( comm.rank() == 0 )
72  {
73  std::ofstream output;
74  output.open( _file_prefix+".dat" );
75 
76  qois.output_qoi(output);
77 
78  output.close();
79  }
80  }
81  }
82 } // end namespace GRINS
std::string _file_prefix
Definition: qoi_output.h:77
static const std::string display_section()
Displace section in input file.
static const std::string output_to_display()
Definition: qoi_options.h:40
bool _output_to_display
Definition: qoi_output.h:73
#define grins_warning(message)
Definition: common.h:34
bool _output_to_file
Definition: qoi_output.h:75
GRINS namespace.
void output_qoi(std::ostream &out) const
Basic output for computed QoI's.
void output_qois(const CompositeQoI &qois, const libMesh::Parallel::Communicator &comm) const
Output the QoI values for all triggered output modes.
Definition: qoi_output.C:60
QoIOutput(const GetPot &input)
Definition: qoi_output.C:43
static const std::string output_section()
Outer output section in input file.
Functions for naming input sections/variables related to output.

Generated on Tue Dec 19 2017 12:47:28 for GRINS-0.8.0 by  doxygen 1.8.9.1