1 #ifndef VERTEXCFD_PARAMETERDATABASE_HPP
2 #define VERTEXCFD_PARAMETERDATABASE_HPP
4 #include <Teuchos_DefaultComm.hpp>
5 #include <Teuchos_ParameterList.hpp>
6 #include <Teuchos_RCP.hpp>
23 const Teuchos::RCP<Teuchos::ParameterList>& parameters);
27 const std::string& xml_file);
35 Teuchos::RCP<const Teuchos::MpiComm<int>> comm()
const;
38 Teuchos::RCP<Teuchos::ParameterList> allParameters()
const;
41 Teuchos::RCP<Teuchos::ParameterList> meshParameters()
const;
42 Teuchos::RCP<Teuchos::ParameterList> assemblyParameters()
const;
43 Teuchos::RCP<Teuchos::ParameterList> scalarParameters()
const;
44 Teuchos::RCP<Teuchos::ParameterList> generalScalarParameters()
const;
45 Teuchos::RCP<Teuchos::ParameterList> boundaryConditionParameters()
const;
46 Teuchos::RCP<Teuchos::ParameterList> initialConditionParameters()
const;
47 Teuchos::RCP<Teuchos::ParameterList> closureModelParameters()
const;
48 Teuchos::RCP<Teuchos::ParameterList> responseOutputParameters()
const;
49 Teuchos::RCP<Teuchos::ParameterList> userParameters()
const;
50 Teuchos::RCP<Teuchos::ParameterList> outputParameters()
const;
51 Teuchos::RCP<Teuchos::ParameterList> readRestartParameters()
const;
52 Teuchos::RCP<Teuchos::ParameterList> writeRestartParameters()
const;
53 Teuchos::RCP<Teuchos::ParameterList> writeMatrixParameters()
const;
54 Teuchos::RCP<Teuchos::ParameterList> profilingParameters()
const;
55 Teuchos::RCP<Teuchos::ParameterList> transientSolverParameters()
const;
56 Teuchos::RCP<Teuchos::ParameterList> linearSolverParameters()
const;
59 Teuchos::RCP<Teuchos::ParameterList> physicsParameters()
const;
60 Teuchos::RCP<Teuchos::ParameterList> blockMappingParameters()
const;
64 bool useNewInputFormat()
const;
68 void readParameterXmlFile(
const std::string& xml_file);
71 void readParameterYamlFile(
const std::string& xml_file);
74 void extractSublists();
77 void extractSublistsOld();
80 void extractSublistsNew();
83 Teuchos::RCP<Teuchos::ParameterList>
84 requiredSublist(
const std::string& name);
87 Teuchos::RCP<Teuchos::ParameterList>
88 optionalSublist(
const std::string& name);
91 Teuchos::RCP<const Teuchos::MpiComm<int>> _comm;
92 Teuchos::RCP<Teuchos::ParameterList> _input_params;
93 Teuchos::RCP<Teuchos::ParameterList> _mesh_params;
94 Teuchos::RCP<Teuchos::ParameterList> _assembly_params;
95 Teuchos::RCP<Teuchos::ParameterList> _scalar_params;
96 Teuchos::RCP<Teuchos::ParameterList> _general_scalar_params;
97 Teuchos::RCP<Teuchos::ParameterList> _bc_params;
98 Teuchos::RCP<Teuchos::ParameterList> _ic_params;
99 Teuchos::RCP<Teuchos::ParameterList> _closure_params;
100 Teuchos::RCP<Teuchos::ParameterList> _response_output_params;
101 Teuchos::RCP<Teuchos::ParameterList> _user_params;
102 Teuchos::RCP<Teuchos::ParameterList> _output_params;
103 Teuchos::RCP<Teuchos::ParameterList> _read_restart_params;
104 Teuchos::RCP<Teuchos::ParameterList> _write_restart_params;
105 Teuchos::RCP<Teuchos::ParameterList> _write_matrix_params;
106 Teuchos::RCP<Teuchos::ParameterList> _profiling_params;
107 Teuchos::RCP<Teuchos::ParameterList> _transient_solver_params;
108 Teuchos::RCP<Teuchos::ParameterList> _linear_solver_params;
109 bool _use_new_input =
false;
112 Teuchos::RCP<Teuchos::ParameterList> _physics_params;
113 Teuchos::RCP<Teuchos::ParameterList> _block_mapping_params;
121 #endif // end VERTEXCFD_PARAMETERDATABASE_HPP