/usr/include/trilinos/Pike_BlackBoxModelEvaluator_Logger.hpp is in libtrilinos-pike-dev 12.4.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #ifndef PIKE_BLACK_BOX_MODEL_EVALUATOR_LOGGER_HPP
#define PIKE_BLACK_BOX_MODEL_EVALUATOR_LOGGER_HPP
#include "Pike_BlackBoxModelEvaluator.hpp"
#include "Teuchos_RCP.hpp"
#include <vector>
#include <string>
namespace pike {
/** \brief A BlackBoxModelEvaluator decorator that logs certain method calls.
Currently, this only logs the solve() and getResponse() methods.
*/
class ModelEvaluatorLogger : public pike::BlackBoxModelEvaluator {
public:
ModelEvaluatorLogger(const Teuchos::RCP<pike::BlackBoxModelEvaluator>& model);
void setLog(const Teuchos::RCP<std::vector<std::string> >& log);
Teuchos::RCP<const std::vector<std::string> > getLog() const;
Teuchos::RCP<std::vector<std::string> > getNonConstLog() const;
// Base methods
std::string name() const;
void solve();
bool isLocallyConverged() const;
bool isGloballyConverged() const;
// Response support
Teuchos::ArrayView<const double> getResponse(const int i) const;
int getResponseIndex(const std::string& rName) const;
std::string getResponseName(const int i) const;
bool supportsResponse(const std::string& rName) const;
int getNumberOfResponses() const;
// Parameter support
bool supportsParameter(const std::string& pName) const;
int getNumberOfParameters() const;
std::string getParameterName(const int l) const;
int getParameterIndex(const std::string& pName) const;
void setParameter(const int l, const Teuchos::ArrayView<const double>& p);
// Transient support
bool isTransient() const;
double getCurrentTime() const;
double getTentativeTime() const;
bool solvedTentativeStep() const;
double getCurrentTimeStepSize() const;
double getDesiredTimeStepSize() const;
double getMaxTimeStepSize() const;
void setNextTimeStepSize(const double& dt);
void acceptTimeStep();
private:
Teuchos::RCP<std::vector<std::string> > log_;
Teuchos::RCP<pike::BlackBoxModelEvaluator> model_;
};
/** \brief Non-member ctor
\relates ModelEvaluatorLogger
*/
Teuchos::RCP<ModelEvaluatorLogger>
modelEvaluatorLogger(const Teuchos::RCP<pike::BlackBoxModelEvaluator>& model);
}
#endif
|