From b4e7492f52c78b44ffd461dd9e99fbecf70ab4d7 Mon Sep 17 00:00:00 2001 From: Xander <102053371+fractalsbyx@users.noreply.github.com> Date: Sun, 17 Nov 2024 01:33:11 -0500 Subject: [PATCH] more pp fixes --- include/variableAttributeLoader.h | 2 +- .../variableAttributeLoader.cc | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/include/variableAttributeLoader.h b/include/variableAttributeLoader.h index 8032961d..373ae49a 100644 --- a/include/variableAttributeLoader.h +++ b/include/variableAttributeLoader.h @@ -21,9 +21,9 @@ struct variableAttributes bool need_value_nucleation = false; bool nucleating_variable = false; bool is_pp = false; - bool output_integral = false; bool is_nonlinear = false; bool calc_integral = false; + bool output_integral = false; std::set dependencies_value_RHS; std::set dependencies_gradient_RHS; diff --git a/src/variableAttributeLoader/variableAttributeLoader.cc b/src/variableAttributeLoader/variableAttributeLoader.cc index 4c1d3abe..b14acb27 100644 --- a/src/variableAttributeLoader/variableAttributeLoader.cc +++ b/src/variableAttributeLoader/variableAttributeLoader.cc @@ -53,6 +53,23 @@ variableAttributes::parse_residual_dependencies() {&dependencies_value_LHS, &dependencies_gradient_LHS}}}} }; + if (is_pp) + { + EvalFlags &residual_flags = eval_flags_residual_postprocess; + std::set &value_dependency_set = dependencies_value_PP; + std::set &gradient_dependency_set = dependencies_gradient_PP; + + if (!value_dependency_set.empty()) + { + residual_flags |= dealii::EvaluationFlags::values; + } + if (!gradient_dependency_set.empty()) + { + residual_flags |= dealii::EvaluationFlags::gradients; + } + return; + } + for (const std::pair *, std::set *>> &eval_dep_pair : dependencies_for.at(eq_type)) @@ -222,6 +239,7 @@ void variableAttributeLoader::set_output_integral(const unsigned int &index, const bool &flag) { (*relevant_attributes)[index].output_integral = flag; + (*relevant_attributes)[index].calc_integral = flag; } void