19 #ifndef _FCST_FUELCELL_SYSTEM_MANAGEMENT_H_
20 #define _FCST_FUELCELL_SYSTEM_MANAGEMENT_H_
24 using namespace dealii;
25 using namespace AppFrame;
39 typedef std::map< std::string , std::map<std::string, DoFTools::Coupling> >
couplings_map;
153 Table<2, DoFTools::Coupling>& cell_couplings,
154 Table<2, DoFTools::Coupling>& flux_couplings);
171 Table<2, DoFTools::Coupling>& rcell_couplings,
172 Table<2, DoFTools::Coupling>& rflux_couplings)
174 block_info = &rblock_info;
175 cell_couplings = &rcell_couplings;
176 flux_couplings = &rflux_couplings;
182 void declare_parameters(ParameterHandler& param)
const;
200 const bool solution_in_userlist(
const std::string& name)
const;
208 const unsigned int solution_name_to_index(
const std::string& name)
const;
216 const unsigned int equation_name_to_index(
const std::string& name)
const;
233 const unsigned int matrix_block_index(
const std::string& equation_name,
234 const std::string& solution_name)
const;
243 void make_cell_couplings(
const std::vector<couplings_map>& src);
252 void make_flux_couplings(
const std::vector<couplings_map>& src);
263 const std::vector<std::string>& get_all_solution_names()
const
265 return all_solution_names;
272 const std::vector<std::string>& get_all_equation_names()
const
274 return all_equation_names;
281 const std::vector<std::string>& get_solution_names()
const
283 return solution_names;
290 const std::vector<std::string>& get_equation_names()
const
292 return equation_names;
299 const unsigned int& get_number_of_solution_names()
const
301 return n_solution_names;
315 void print_system_info()
const;
330 <<
"A " << arg1 <<
" with name \"" << arg2 <<
"\" is not stored in available FCST solution variables");
340 <<
"An " << arg1 <<
" with name \"" << arg2 <<
"\" is not stored in available FCST equations");
350 <<
"A " << arg1 <<
" with name \"" << arg2 <<
"\" is not stored in user defined solution variables");
360 <<
"An " << arg1 <<
" with name \"" << arg2 <<
"\" is not stored in user defined equations");
370 DeclException5(SystemMatrixBlockDoesNotExist,
376 <<
"A " << arg1 <<
" (" << arg2 <<
"," << arg3 <<
") " <<
"does not exist, because the variable \"" << arg4 <<
"\" is not coupled with the equation \"" << arg5 <<
"\"");
420 void set_all_solution_names();
427 void set_all_equation_names();
434 void check_solution_names()
const;
441 void check_equation_names()
const;