WSF
WsfMultiresolutionMultirunTable.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright (C) 2021 Stellar Science; U.S. Government has Unlimited Rights.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSF_MULTIRESOLUTION_MULTIRUN_TABLE_HPP
13#define WSF_MULTIRESOLUTION_MULTIRUN_TABLE_HPP
14
15#include "wsf_multiresolution_export.h"
16
17#include <map>
18#include <vector>
19
20#include "UtInputBlock.hpp"
21#include "UtOptional.hpp"
23
24class WsfScenario;
25
26namespace wsf
27{
28namespace multiresolution
29{
31}
32} // namespace wsf
33
38class WSF_MULTIRESOLUTION_EXPORT WsfMultiresolutionMultirunTable : public WsfScenarioExtension
39{
40public:
45 WsfMultiresolutionMultirunTable(UtInput& aInput, int aRunNumber);
46
48
49 bool ProcessInput(UtInput& aInput) override;
50 void SimulationCreated(WsfSimulation& aSimulation) override;
52
55 ut::optional<double> GetFidelity(const wsf::multiresolution::PlatformComponentName& aPlatformComponentName) const;
56
57 static WsfMultiresolutionMultirunTable* Find(const WsfScenario& aScenario);
58
59private:
61 void CreateFidelityMap(int aRunNumber);
63 std::vector<double> ParseFidelityList(UtInputBlock& aInputBlock);
64
65 std::vector<std::string> mModelVec;
66 std::vector<double> mDefaultValues;
67 std::vector<double> mFidelityTable;
68 int mRunNumber = 1;
69 bool mLoop = false;
70 std::map<std::string, double> mFidelityMap;
71};
72
73#endif
static WsfMultiresolutionMultirunTable * Find(const WsfScenario &aScenario)
Definition WsfMultiresolutionMultirunTable.cpp:193
ut::optional< double > GetFidelity(const wsf::multiresolution::PlatformComponentName &aPlatformComponentName) const
Definition WsfMultiresolutionMultirunTable.cpp:178
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
virtual bool ProcessInput(UtInput &aInput)
Definition WsfScenarioExtension.cpp:62
virtual void SimulationCreated(WsfSimulation &aSimulation)
Definition WsfScenarioExtension.cpp:119
friend class WsfScenario
Definition WsfScenarioExtension.hpp:39
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition ComponentNameHelper.cpp:17
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
A wrapper for identifying a platform component within a simulation, which may consist of three names:...
Definition ComponentNameHelper.hpp:65
Copyrights Multiple, All Rights Reserved