solution_transfer.prepare_for_coarsening_and_refinement(present_solution);
triangulation.execute_coarsening_and_refinement();
dof_handler.distribute_dofs(fe);
+# if DEAL_II_VERSION_GTE(9, 7, 0)
+ solution_transfer.interpolate(present_solution);
+# else
Vector<double> tmp(dof_handler.n_dofs());
solution_transfer.interpolate(present_solution, tmp);
present_solution = tmp;
+# endif
set_boundary_values ();
hanging_node_constraints.clear();
setup_system(/*initial_step=*/ false);
+# if DEAL_II_VERSION_GTE(9, 7, 0)
+ solution_transfer.interpolate(current_solution);
+# else
Vector<double> tmp(dof_handler.n_dofs());
solution_transfer.interpolate(current_solution, tmp);
current_solution = std::move(tmp);
+# endif
set_boundary_and_centering_values();
// ---------------------------------------------------
history_dof_handler.distribute_dofs (history_fe);
+
+# if DEAL_II_VERSION_GTE(9, 7, 0)
+ // stress
+ history_stress_field_transfer0.interpolate(history_stress_field[0]);
+ if ( dim > 1)
+ {
+ history_stress_field_transfer1.interpolate(history_stress_field[1]);
+ }
+ if ( dim == 3)
+ {
+ history_stress_field_transfer2.interpolate(history_stress_field[2]);
+ }
+
+ // strain
+ history_strain_field_transfer0.interpolate(history_strain_field[0]);
+ if ( dim > 1)
+ {
+ history_strain_field_transfer1.interpolate(history_strain_field[1]);
+ }
+ if ( dim == 3)
+ {
+ history_strain_field_transfer2.interpolate(history_strain_field[2]);
+ }
+# else
// stress
std::vector< std::vector< Vector<double> > >
distributed_history_stress_field (dim, std::vector< Vector<double> >(dim));
}
history_strain_field = distributed_history_strain_field;
+# endif
// ---------------------------------------------------------------
// Transfer the history data to the quadrature points of the new mesh