void DebugOutput::output() { if (_show_var_residual_norms && onNonlinearResidual()) { // Stream for outputting std::ostringstream oss; // Determine the maximum variable name size unsigned int max_name_size = 0; for (unsigned int var_num = 0; var_num < _sys.n_vars(); var_num++) { unsigned int var_name_size = _sys.variable_name(var_num).size(); if (var_name_size > max_name_size) max_name_size = var_name_size; } // Perform the output of the variable residuals oss << " |residual|_2 of individual variables:\n"; for (unsigned int var_num = 0; var_num < _sys.n_vars(); var_num++) { Real varResid = _sys.calculate_norm(*_sys.rhs,var_num,DISCRETE_L2); oss << std::setw(27-max_name_size) << " " << std::setw(max_name_size+2) //match position of overall NL residual << std::left << _sys.variable_name(var_num) + ":" << varResid << "\n"; } Moose::out << oss.str(); Moose::out.flush(); } }
void Console::output() { // Print Non-linear Residual if (onNonlinearResidual()) { if (_write_screen) Moose::out << std::setw(2) << _nonlinear_iter << " Nonlinear |R| = " << outputNorm(_old_nonlinear_norm, _norm) << std::endl; if (_write_file) _file_output_stream << std::setw(2) << _nonlinear_iter << " Nonlinear |R| = " << std::scientific << _norm << std::endl; } // Print Linear Residual else if (onLinearResidual()) { if (_write_screen) Moose::out << std::setw(7) << _linear_iter << " Linear |R| = " << std::scientific << outputNorm(_old_linear_norm, _norm) << std::endl; if (_write_file) _file_output_stream << std::setw(7) << _linear_iter << std::scientific << " Linear |R| = " << std::scientific << _norm << std::endl; } // Call the base class output function else { writeVariableNorms(); TableOutputter::output(); } // Write the file if (_write_file) writeStream(); }
void Console::output() { // Print Non-linear Residual if (onNonlinearResidual()) { if (_write_screen) Moose::out << _multiapp_indent << std::setw(2) << _nonlinear_iter << " Nonlinear |R| = " << outputNorm(_old_nonlinear_norm, _norm) << std::endl; if (_write_file) _file_output_stream << std::setw(2) << _nonlinear_iter << " Nonlinear |R| = " << std::scientific << _norm << std::endl; } // Print Linear Residual else if (onLinearResidual()) { if (_write_screen) Moose::out << _multiapp_indent << std::setw(7) << _linear_iter << " Linear |R| = " << outputNorm(_old_linear_norm, _norm) << std::endl; if (_write_file) _file_output_stream << std::setw(7) << _linear_iter << std::scientific << " Linear |R| = " << std::scientific << _norm << std::endl; } // Call the base class output function else { // Write variable norms writeVariableNorms(); // Perform output of scalars and postprocessors TableOutput::output(); } // Write the file writeStreamToFile(); }