void MaterialOutputAction::act() { // Error if _problem is NULL, I don't know how this would happen if (_problem.get() == NULL) mooseError("FEProblem pointer is NULL, it is needed for auto material property output"); buildMaterialOutputObjects(_problem.get()); }
void MaterialOutputAction::act() { // If running a coupled problem, loop through all the FEProblem objects CoupledExecutioner * exec_ptr = dynamic_cast<CoupledExecutioner *>(_executioner.get()); if (exec_ptr != NULL) { std::vector<FEProblem *> & problems = exec_ptr->getProblems(); for (std::vector<FEProblem *>::iterator it = problems.begin(); it != problems.end(); ++it) buildMaterialOutputObjects(*it); } // Error if _problem is NULL, I don't know how this would happen else if (_problem.get() == NULL) mooseError("FEProblem pointer is NULL, it is needed for auto material property output"); // Build on the problem for this action, this is what should happend for everything except coupled problems else buildMaterialOutputObjects(_problem.get()); }