PRISMS-PF  v2.1
variableAttributeLoader.cc
Go to the documentation of this file.
1 #include "../../include/variableAttributeLoader.h"
2 #include "../../include/sortIndexEntryPairList.h"
3 
4 // Constructor
6 
8  loadVariableAttributes(); // This is the user-facing function
9 
11 
15 
16  std::vector<std::string> sorted_dependencies_value_RHS = sortIndexEntryPairList(var_eq_dependencies_value_RHS,number_of_variables,"");
17 
18  std::vector<std::string> sorted_dependencies_gradient_RHS = sortIndexEntryPairList(var_eq_dependencies_gradient_RHS,number_of_variables,"");
19 
20  std::vector<std::string> sorted_dependencies_value_LHS = sortIndexEntryPairList(var_eq_dependencies_value_LHS,number_of_variables,"");
21 
22  std::vector<std::string> sorted_dependencies_gradient_LHS = sortIndexEntryPairList(var_eq_dependencies_gradient_LHS,number_of_variables,"");
23 
26 
28  var_name,
30  sorted_dependencies_value_RHS,
31  sorted_dependencies_gradient_RHS,
32  sorted_dependencies_value_LHS,
33  sorted_dependencies_gradient_LHS, var_nonlinear);
34 
36  loadPostProcessorVariableAttributes(); // This is the user-facing function
37 
39 
42 
43  std::vector<std::string> pp_sorted_dependencies_value = sortIndexEntryPairList(var_eq_dependencies_value_PP,pp_number_of_variables,"");
44 
45  std::vector<std::string> pp_sorted_dependencies_gradient = sortIndexEntryPairList(var_eq_dependencies_gradient_PP,pp_number_of_variables,"");
46 
48 
50  var_name,
52  pp_sorted_dependencies_value,
53  pp_sorted_dependencies_gradient);
54 
55 
56 }
57 
58 // Methods to set the various variable attributes
59 void variableAttributeLoader::set_variable_name(unsigned int index, std::string name){
60  std::pair<unsigned int, std::string> var_pair;
61  var_pair.first = index;
62  var_pair.second = name;
63 
65  var_name_list.push_back(var_pair);
66  }
67  else {
68  var_name_list_PP.push_back(var_pair);
69  }
70 }
71 void variableAttributeLoader::set_variable_type(unsigned int index, fieldType var_type){
72  std::pair<unsigned int, fieldType> var_pair;
73  var_pair.first = index;
74  var_pair.second = var_type;
75 
77  var_type_list.push_back(var_pair);
78  }
79  else {
80  var_type_list_PP.push_back(var_pair);
81  }
82 }
83 void variableAttributeLoader::set_variable_equation_type(unsigned int index, PDEType var_eq_type){
84  std::pair<unsigned int, PDEType> var_pair;
85  var_pair.first = index;
86  var_pair.second = var_eq_type;
87  var_eq_type_list.push_back(var_pair);
88 }
89 void variableAttributeLoader::set_need_value_nucleation(unsigned int index, bool flag){
90  std::pair<unsigned int, bool> var_pair;
91  var_pair.first = index;
92  var_pair.second = flag;
93  need_value_list_nucleation.push_back(var_pair);
94 }
95 void variableAttributeLoader::set_allowed_to_nucleate(unsigned int index, bool flag){
96  std::pair<unsigned int, bool> var_pair;
97  var_pair.first = index;
98  var_pair.second = flag;
99  nucleating_variable_list.push_back(var_pair);
100 }
101 void variableAttributeLoader::set_output_integral(unsigned int index, bool flag){
102  std::pair<unsigned int, bool> var_pair;
103  var_pair.first = index;
104  var_pair.second = flag;
105  output_integral_list.push_back(var_pair);
106 }
107 
108 void variableAttributeLoader::set_dependencies_value_term_RHS(unsigned int index, std::string dependencies){
109  std::pair<unsigned int, std::string> var_pair;
110  var_pair.first = index;
111  var_pair.second = dependencies;
112 
114  var_eq_dependencies_value_RHS.push_back(var_pair);
115  }
116  else {
117  var_eq_dependencies_value_PP.push_back(var_pair);
118  }
119 
120 }
121 
122 void variableAttributeLoader::set_dependencies_gradient_term_RHS(unsigned int index, std::string dependencies){
123  std::pair<unsigned int, std::string> var_pair;
124  var_pair.first = index;
125  var_pair.second = dependencies;
126 
128  var_eq_dependencies_gradient_RHS.push_back(var_pair);
129  }
130  else {
131  var_eq_dependencies_gradient_PP.push_back(var_pair);
132  }
133 }
134 
135 void variableAttributeLoader::set_dependencies_value_term_LHS(unsigned int index, std::string dependencies){
136  std::pair<unsigned int, std::string> var_pair;
137  var_pair.first = index;
138  var_pair.second = dependencies;
139  var_eq_dependencies_value_LHS.push_back(var_pair);
140 }
141 
142 void variableAttributeLoader::set_dependencies_gradient_term_LHS(unsigned int index, std::string dependencies){
143  std::pair<unsigned int, std::string> var_pair;
144  var_pair.first = index;
145  var_pair.second = dependencies;
146  var_eq_dependencies_gradient_LHS.push_back(var_pair);
147 }
std::vector< std::string > var_name
std::vector< bool > pp_calc_integral
void set_variable_name(unsigned int index, std::string name)
std::vector< std::pair< unsigned int, bool > > nucleating_variable_list
std::vector< std::pair< unsigned int, std::string > > var_eq_dependencies_value_RHS
void set_need_value_nucleation(unsigned int index, bool)
std::vector< std::pair< unsigned int, bool > > need_value_list_nucleation
std::vector< std::pair< unsigned int, fieldType > > var_type_list
PDEType
Definition: varTypeEnums.h:5
std::vector< std::pair< unsigned int, fieldType > > var_type_list_PP
std::vector< std::pair< unsigned int, std::string > > var_name_list
void set_dependencies_gradient_term_LHS(unsigned int index, std::string dependencies)
std::vector< std::pair< unsigned int, std::string > > var_eq_dependencies_gradient_LHS
void parse(std::vector< std::string > var_name, std::vector< PDEType > var_eq_type, std::vector< std::string > sorted_dependencies_value_RHS, std::vector< std::string > sorted_dependencies_gradient_RHS, std::vector< std::string > sorted_dependencies_value_LHS, std::vector< std::string > sorted_dependencies_gradient_LHS, std::vector< bool > &var_nonlinear)
std::vector< PDEType > var_eq_type
std::vector< std::pair< unsigned int, std::string > > var_eq_dependencies_gradient_PP
void set_variable_type(unsigned int index, fieldType)
void set_output_integral(unsigned int index, bool)
std::vector< bool > var_nonlinear
EquationDependencyParser equation_dependency_parser
void set_dependencies_value_term_LHS(unsigned int index, std::string dependencies)
std::vector< std::pair< unsigned int, std::string > > var_eq_dependencies_gradient_RHS
void set_dependencies_gradient_term_RHS(unsigned int index, std::string dependencies)
std::vector< std::pair< unsigned int, PDEType > > var_eq_type_list
std::vector< std::string > pp_var_name
std::vector< fieldType > pp_var_type
std::vector< bool > nucleating_variable
void set_dependencies_value_term_RHS(unsigned int index, std::string dependencies)
std::vector< std::pair< unsigned int, bool > > output_integral_list
std::vector< bool > sortIndexEntryPairList(const std::vector< std::pair< unsigned int, bool > > unsorted_pair_list, unsigned int number_of_variables, bool default_value)
void set_allowed_to_nucleate(unsigned int index, bool)
void pp_parse(std::vector< std::string > var_name, std::vector< std::string > pp_var_name, std::vector< std::string > sorted_dependencies_value, std::vector< std::string > sorted_dependencies_gradient)
std::vector< bool > need_value_nucleation
void set_variable_equation_type(unsigned int index, PDEType)
std::vector< fieldType > var_type
std::vector< std::pair< unsigned int, std::string > > var_name_list_PP
std::vector< std::pair< unsigned int, std::string > > var_eq_dependencies_value_PP
fieldType
Definition: varTypeEnums.h:4
std::vector< std::pair< unsigned int, std::string > > var_eq_dependencies_value_LHS