122{
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144 std::map<T *, std::set<int>> pre_aux_dependencies;
145 std::map<T *, std::set<int>> post_aux_dependencies;
146
147
148
149
150
151 std::map<T *, bool> is_pre_ic;
152
153 for (const auto obj : objs)
154 is_pre_ic[obj] = false;
155
157 {
159 for (const auto obj : objs)
160 {
161 if (depend_objects_aux.count(obj->name()) > 0)
162 {
163 pre_aux_dependencies[obj].insert(flag);
165 is_pre_ic.at(obj) = true;
166 }
168
169
170
171 post_aux_dependencies[obj].insert(flag);
172 }
173 }
174
175 for (const auto obj : objs)
176 {
177 if (ic_deps.count(obj->name()) > 0 ||
178 (obj->isParamValid("force_preic") && obj->template getParam<bool>("force_preic")))
179 {
181 is_pre_ic.at(obj) = true;
182 }
183
184 if ((obj->isParamValid("force_preaux") && obj->template getParam<bool>("force_preaux")))
185 {
186 post_aux_dependencies[obj].clear();
188 pre_aux_dependencies[obj].insert(flag);
189 }
190 else if (obj->isParamValid("force_postaux") && obj->template getParam<bool>("force_postaux"))
191 {
192 pre_aux_dependencies[obj].clear();
194 post_aux_dependencies[obj].insert(flag);
195 }
196 else
197 {
198
199
200
201
202
203 if (!is_pre_ic.at(obj))
205 }
206 }
207
208 for (auto & item : pre_aux_dependencies)
210
211 for (auto & item : post_aux_dependencies)
213}
const ExecFlagType EXEC_INITIAL
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
std::set< std::string > getDependObjects(ExecFlagType type)
Get a list of dependent UserObjects for this exec type.
Class for containing MooseEnum item information.
void update(MooseObject *obj)
update updates the metadata/attribute-info stored for the given object obj that must already exists i...
ExecFlagEnum execute_flags
Storage for the registered execute flags.