diff --git a/include/core/variableAttributeLoader.h b/include/core/variableAttributeLoader.h index 55d8df3fe..a79a9b210 100644 --- a/include/core/variableAttributeLoader.h +++ b/include/core/variableAttributeLoader.h @@ -51,7 +51,7 @@ class variableAttributeLoader * \param name Name of variable at `index` */ void - set_variable_name(const unsigned int &index, const std::string &name) const; + set_variable_name(const unsigned int &index, const std::string &name); /** * \brief Set the field type of the variable at `index` to `var_type` where `var_type` @@ -61,7 +61,7 @@ class variableAttributeLoader * \param var_type Field type of variable at `index` (`SCALAR` or `VECTOR`). */ void - set_variable_type(const unsigned int &index, const fieldType &var_type) const; + set_variable_type(const unsigned int &index, const fieldType &var_type); /** * \brief Set the PDE type of the variable at `index` to `var_eq_type` where @@ -72,7 +72,7 @@ class variableAttributeLoader * \param var_eq_type PDE type of variable at `index`. */ void - set_variable_equation_type(const unsigned int &index, const PDEType &var_eq_type) const; + set_variable_equation_type(const unsigned int &index, const PDEType &var_eq_type); /** * \brief Add dependencies for the value term of the RHS equation of the variable at @@ -108,7 +108,7 @@ class variableAttributeLoader */ void set_dependencies_value_term_LHS(const unsigned int &index, - const std::string &dependencies) const; + const std::string &dependencies); /** * \brief Add dependencies for the gradient term of the LHS equation of the variable @@ -120,7 +120,7 @@ class variableAttributeLoader */ void set_dependencies_gradient_term_LHS(const unsigned int &index, - const std::string &dependencies) const; + const std::string &dependencies); /** * \brief Insert dependencies for the value term of the RHS equation of the variable at @@ -159,7 +159,7 @@ class variableAttributeLoader template void insert_dependencies_value_term_LHS(const unsigned int &index, - const Iterable &dependencies) const; + const Iterable &dependencies); /** * \brief Insert dependencies for the gradient term of the LHS equation of the variable @@ -172,7 +172,7 @@ class variableAttributeLoader template void insert_dependencies_gradient_term_LHS(const unsigned int &index, - const Iterable &dependencies) const; + const Iterable &dependencies); /** * \brief Flag whether the variable at `index` is needed to calculate the nucleation @@ -182,7 +182,7 @@ class variableAttributeLoader * \param flag true: variable is needed, false: variable is not needed. */ void - set_need_value_nucleation(const unsigned int &index, const bool &flag) const; + set_need_value_nucleation(const unsigned int &index, const bool &flag); /** * \brief Flag whether the variable at `index` is can have a nucleation event. @@ -191,7 +191,7 @@ class variableAttributeLoader * \param flag true: variable can nucleate, false: variable can not nucleate. */ void - set_allowed_to_nucleate(const unsigned int &index, const bool &flag) const; + set_allowed_to_nucleate(const unsigned int &index, const bool &flag); /** * \brief (Postprocess only) Flag whether the postprocessing variable at `index` should @@ -202,7 +202,7 @@ class variableAttributeLoader * false: do nothing */ void - set_output_integral(const unsigned int &index, const bool &flag) const; + set_output_integral(const unsigned int &index, const bool &flag); protected: /** diff --git a/src/core/variableAttributeLoader.cc b/src/core/variableAttributeLoader.cc index 14f7d9ccf..c163b1c09 100644 --- a/src/core/variableAttributeLoader.cc +++ b/src/core/variableAttributeLoader.cc @@ -68,42 +68,41 @@ variableAttributeLoader::get_pp_attributes() const // Methods to set the various variable attributes void variableAttributeLoader::set_variable_name(const unsigned int &index, - const std::string &name) const + const std::string &name) { (*relevant_attributes)[index].name = name; } void variableAttributeLoader::set_variable_type(const unsigned int &index, - const fieldType &var_type) const + const fieldType &var_type) { (*relevant_attributes)[index].var_type = var_type; } void variableAttributeLoader::set_variable_equation_type(const unsigned int &index, - const PDEType &var_eq_type) const + const PDEType &var_eq_type) { (*relevant_attributes)[index].eq_type = var_eq_type; } void variableAttributeLoader::set_need_value_nucleation(const unsigned int &index, - const bool &flag) const + const bool &flag) { (*relevant_attributes)[index].need_value_nucleation = flag; } void variableAttributeLoader::set_allowed_to_nucleate(const unsigned int &index, - const bool &flag) const + const bool &flag) { (*relevant_attributes)[index].nucleating_variable = flag; } void -variableAttributeLoader::set_output_integral(const unsigned int &index, - const bool &flag) const +variableAttributeLoader::set_output_integral(const unsigned int &index, const bool &flag) { (*relevant_attributes)[index].output_integral = flag; (*relevant_attributes)[index].calc_integral = flag; @@ -129,9 +128,8 @@ variableAttributeLoader::set_dependencies_gradient_term_RHS( } void -variableAttributeLoader::set_dependencies_value_term_LHS( - const unsigned int &index, - const std::string &dependencies) const +variableAttributeLoader::set_dependencies_value_term_LHS(const unsigned int &index, + const std::string &dependencies) { std::vector dependencies_set = dealii::Utilities::split_string_list(strip_whitespace(dependencies)); @@ -141,7 +139,7 @@ variableAttributeLoader::set_dependencies_value_term_LHS( void variableAttributeLoader::set_dependencies_gradient_term_LHS( const unsigned int &index, - const std::string &dependencies) const + const std::string &dependencies) { std::vector dependencies_set = dealii::Utilities::split_string_list(strip_whitespace(dependencies)); @@ -189,9 +187,8 @@ variableAttributeLoader::insert_dependencies_gradient_term_RHS( template void -variableAttributeLoader::insert_dependencies_value_term_LHS( - const unsigned int &index, - const Iterable &dependencies) const +variableAttributeLoader::insert_dependencies_value_term_LHS(const unsigned int &index, + const Iterable &dependencies) { (*relevant_attributes)[index].dependencies_value_LHS.insert(dependencies.begin(), dependencies.end()); @@ -201,7 +198,7 @@ template void variableAttributeLoader::insert_dependencies_gradient_term_LHS( const unsigned int &index, - const Iterable &dependencies) const + const Iterable &dependencies) { (*relevant_attributes)[index].dependencies_gradient_LHS.insert(dependencies.begin(), dependencies.end()); @@ -379,4 +376,56 @@ variableAttributeLoader::strip_whitespace(const std::string &_text) std::string text = _text; text.erase(std::remove(text.begin(), text.end(), ' '), text.end()); return text; -} \ No newline at end of file +} + +// Template instantiations +template void +variableAttributeLoader::insert_dependencies_value_term_RHS>( + const unsigned int &index, + const std::vector &dependencies); +template void +variableAttributeLoader::insert_dependencies_gradient_term_RHS>( + const unsigned int &index, + const std::vector &dependencies); +template void +variableAttributeLoader::insert_dependencies_value_term_LHS>( + const unsigned int &index, + const std::vector &dependencies); +template void +variableAttributeLoader::insert_dependencies_gradient_term_LHS>( + const unsigned int &index, + const std::vector &dependencies); + +template void +variableAttributeLoader::insert_dependencies_value_term_RHS>( + const unsigned int &index, + const std::set &dependencies); +template void +variableAttributeLoader::insert_dependencies_gradient_term_RHS>( + const unsigned int &index, + const std::set &dependencies); +template void +variableAttributeLoader::insert_dependencies_value_term_LHS>( + const unsigned int &index, + const std::set &dependencies); +template void +variableAttributeLoader::insert_dependencies_gradient_term_LHS>( + const unsigned int &index, + const std::set &dependencies); + +template void +variableAttributeLoader::insert_dependencies_value_term_RHS>( + const unsigned int &index, + const std::list &dependencies); +template void +variableAttributeLoader::insert_dependencies_gradient_term_RHS>( + const unsigned int &index, + const std::list &dependencies); +template void +variableAttributeLoader::insert_dependencies_value_term_LHS>( + const unsigned int &index, + const std::list &dependencies); +template void +variableAttributeLoader::insert_dependencies_gradient_term_LHS>( + const unsigned int &index, + const std::list &dependencies); \ No newline at end of file