GridGenerator::hyper_cube(triangulation, -1, 1);
triangulation.refine_global(4);
- std::cout << " Number of active cells: " //
- << triangulation.n_active_cells() //
- << std::endl //
- << " Total number of cells: " //
- << triangulation.n_cells() //
+ std::cout << " Number of active cells: " << triangulation.n_active_cells()
+ << std::endl
+ << " Total number of cells: " << triangulation.n_cells()
<< std::endl;
}
{
dof_handler.distribute_dofs(fe);
- std::cout << " Number of degrees of freedom: " //
- << dof_handler.n_dofs() //
+ std::cout << " Number of degrees of freedom: " << dof_handler.n_dofs()
<< std::endl;
DynamicSparsityPattern dsp(dof_handler.n_dofs());
for (unsigned int i = 0; i < dofs_per_cell; ++i)
{
for (unsigned int j = 0; j < dofs_per_cell; ++j)
- cell_matrix(i, j) += (fe_values.shape_grad(i, q_index) * //
- fe_values.shape_grad(j, q_index) * //
- fe_values.JxW(q_index));
-
- cell_rhs(i) +=
- (fe_values.shape_value(i, q_index) *
- right_hand_side.value(fe_values.quadrature_point(q_index)) *
- fe_values.JxW(q_index));
+ cell_matrix(i, j) +=
+ (fe_values.shape_grad(i, q_index) * // grad phi_i(x_q)
+ fe_values.shape_grad(j, q_index) * // grad phi_j(x_q)
+ fe_values.JxW(q_index)); // dx
+
+ const auto x_q = fe_values.quadrature_point(q_index);
+ cell_rhs(i) += (fe_values.shape_value(i, q_index) * // phi_i(x_q)
+ right_hand_side.value(x_q) * // f(x_q)
+ fe_values.JxW(q_index)); // dx
}
// As a final remark to these loops: when we assemble the local
// contributions into <code>cell_matrix(i,j)</code>, we have to multiply
template <int dim>
void Step4<dim>::run()
{
- std::cout << "Solving problem in " //
- << dim //
- << " space dimensions." //
+ std::cout << "Solving problem in " << dim << " space dimensions."
<< std::endl;
make_grid();