Anasazi
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
AnasaziBasicOutputManager.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Anasazi: Block Eigensolvers Package
4
//
5
// Copyright 2004 NTESS and the Anasazi contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef ANASAZI_BASIC_OUTPUT_MANAGER_HPP
11
#define ANASAZI_BASIC_OUTPUT_MANAGER_HPP
12
16
17
#include "
AnasaziConfigDefs.hpp
"
18
#include "
AnasaziOutputManager.hpp
"
19
#include "Teuchos_oblackholestream.hpp"
20
21
#ifdef HAVE_ANASAZI_MPI
22
#include <mpi.h>
23
#include "AnasaziGlobalComm.hpp"
24
#endif
25
33
34
namespace
Anasazi
{
35
36
template
<
class
ScalarType>
37
class
BasicOutputManager
:
public
OutputManager
<ScalarType> {
38
39
public
:
40
42
43
45
BasicOutputManager
(
int
vb =
Anasazi::Errors
,
int
rootRank = 0);
46
48
BasicOutputManager
(
int
vb,
49
const
Teuchos::RCP<Teuchos::FancyOStream>& fos)
50
:
OutputManager
<ScalarType>(vb, fos)
51
{};
52
54
virtual
~BasicOutputManager
() {};
56
57
58
private
:
59
61
62
64
BasicOutputManager
(
const
OutputManager<ScalarType>
& OM );
65
67
BasicOutputManager<ScalarType>
& operator=(
const
OutputManager<ScalarType>
& OM );
68
70
};
71
72
template
<
class
ScalarType>
73
BasicOutputManager<ScalarType>::BasicOutputManager
(
int
vb,
int
rootRank)
74
:
OutputManager
<ScalarType>(vb)
75
{
76
#ifdef HAVE_ANASAZI_MPI
77
// The OutputManger constructor will create fos_ that outputs to std::cout
78
// This class will query MPI to print on processor 0, if parallel.
79
int
myRank = 0;
80
int
numProcs = 1;
81
// Initialize MPI
82
int
mpiStarted = 0;
83
MPI_Initialized(&mpiStarted);
84
if
(mpiStarted)
85
{
86
MPI_Comm_rank(get_global_comm(), &myRank);
87
MPI_Comm_size(get_global_comm(), &numProcs);
88
}
89
this->fos_->setProcRankAndSize(myRank, numProcs);
90
this->fos_->setOutputToRootOnly(rootRank);
91
#endif
92
}
93
94
}
// end Anasazi namespace
95
96
#endif
97
98
// end of file AnasaziOutputManager.hpp
AnasaziConfigDefs.hpp
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
AnasaziOutputManager.hpp
Abstract class definition for Anasazi Output Managers.
Anasazi::BasicOutputManager
Anasazi's basic output manager for sending information of select verbosity levels to the appropriate ...
Definition
AnasaziBasicOutputManager.hpp:37
Anasazi::BasicOutputManager::BasicOutputManager
BasicOutputManager(int vb=Anasazi::Errors, int rootRank=0)
Default constructor.
Definition
AnasaziBasicOutputManager.hpp:73
Anasazi::BasicOutputManager::BasicOutputManager
BasicOutputManager(int vb, const Teuchos::RCP< Teuchos::FancyOStream > &fos)
Constructor with specified verbosity and formatted output stream.
Definition
AnasaziBasicOutputManager.hpp:48
Anasazi::BasicOutputManager::~BasicOutputManager
virtual ~BasicOutputManager()
Destructor.
Definition
AnasaziBasicOutputManager.hpp:54
Anasazi::OutputManager
Output managers remove the need for the eigensolver to know any information about the required output...
Definition
AnasaziOutputManager.hpp:36
Anasazi::OutputManager::OutputManager
OutputManager(int vb=Anasazi::Errors, const Teuchos::RCP< Teuchos::FancyOStream > &fos=Teuchos::getFancyOStream(Teuchos::rcpFromRef(std::cout)))
Default constructor.
Definition
AnasaziOutputManager.hpp:44
Anasazi
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.
Anasazi::Errors
@ Errors
Definition
AnasaziTypes.hpp:131
Generated by
1.17.0