10#include <prismspf/config.h>
18 for (
long int age_index =
long(dependencies.
old_flags.size()) - 1; age_index >= 0;
32 for (
long int age_index =
long(dependencies.
old_flags.size()) - 1; age_index >= 0;
40 if (dependencies.
flag)
59 const std::list<DependencyMap> &all_dependeny_sets)
61 for (
const DependencyMap &dependency_set : all_dependeny_sets)
63 for (
unsigned int field_index : field_indices)
65 const auto &dep_pair_it = dependency_set.find(field_index);
66 if (dep_pair_it != dependency_set.end())
81 const std::list<SolveBlock> &solve_blocks)
83 for (
const SolveBlock &solve_block : solve_blocks)
85 const unsigned int num_levels =
86 solve_block.linear_solver_parameters.preconditioner ==
GMG
87 ? solve_block.linear_solver_parameters.mg_depth
89 for (
unsigned int field_index : field_indices)
92 const auto &dep_pair_it = solve_block.dependencies_rhs.find(field_index);
93 if (dep_pair_it != solve_block.dependencies_rhs.end())
95 unsigned int age =
oldest2(dep_pair_it->second);
104 const auto &dep_pair_it = solve_block.dependencies_lhs.find(field_index);
105 if (dep_pair_it != solve_block.dependencies_lhs.end())
108 if (solve_block.field_indices.contains(field_index) &&
113 unsigned int age =
oldest2(dep_pair_it->second);
121 for (
unsigned int relative_level = 0; relative_level < num_levels;
135PRISMS_PF_END_NAMESPACE
Structure to hold the attributes of a solve-block.
Definition solve_block.h:59
std::map< Types::Index, Dependency > DependencyMap
Definition dependencies.h:129
int oldest2(Dependency dependencies)
Definition dependency_extents.h:30
PRISMS_PF_BEGIN_NAMESPACE unsigned int oldest(Dependency dependencies)
Definition dependency_extents.h:16
Definition conditional_ostreams.cc:20
unsigned int max_mg_level
Definition dependency_extents.h:54
unsigned int oldest_age
Definition dependency_extents.h:53
DependencyExtents(const std::set< unsigned int > &field_indices, const std::list< DependencyMap > &all_dependeny_sets)
Definition dependency_extents.h:58
Dependency struct containing evaluation flags for each field.
Definition dependencies.h:30
std::vector< EvalFlags > old_flags
Collection of evaluation flags for the old solutions.
Definition dependencies.h:47
EvalFlags flag
Evaluation flags for the current solution.
Definition dependencies.h:36
std::vector< unsigned int > max_age_per_level
Definition dependency_extents.h:78
NewDependencyExtents(const std::set< unsigned int > &field_indices, const std::list< SolveBlock > &solve_blocks)
Definition dependency_extents.h:80
unsigned int max_age
Definition dependency_extents.h:77
@ GMG
Definition type_enums.h:146