TimerOutput::Scope t(computing_timer, "Solve: setup preconditioner");
const std::vector<std::vector<bool>> constant_modes =
- DoFTools::extract_constant_modes(dof_handler, ComponentMask());
+ DoFTools::extract_constant_modes(dof_handler);
TrilinosWrappers::PreconditionAMG::AdditionalData additional_data;
additional_data.constant_modes = constant_modes;
const unsigned int max_iterations = 500;
SolverControl solver_control(max_iterations, relative_error);
const std::vector<std::vector<bool>> constant_modes =
- DoFTools::extract_constant_modes(dof_handler, ComponentMask());
+ DoFTools::extract_constant_modes(dof_handler);
TrilinosWrappers::PreconditionAMG preconditioner_stiffness;
TrilinosWrappers::PreconditionAMG::AdditionalData Amg_data;
Amg_data.constant_modes = constant_modes;
template <int dim, int spacedim>
std::vector<std::vector<bool>>
extract_constant_modes(const DoFHandler<dim, spacedim> &dof_handler,
- const ComponentMask &component_mask);
+ const ComponentMask &component_mask = {});
/**
* Same as above.
std::vector<std::vector<bool>>
extract_level_constant_modes(const unsigned int level,
const DoFHandler<dim, spacedim> &dof_handler,
- const ComponentMask &component_mask);
+ const ComponentMask &component_mask = {});
/**
* Same as above.
std::vector<std::vector<double>>
extract_rigid_body_modes(const Mapping<dim, spacedim> &mapping,
const DoFHandler<dim, spacedim> &dof_handler,
- const ComponentMask &component_mask);
+ const ComponentMask &component_mask = {});
/**
* Same as above but for multigrid levels.
extract_level_rigid_body_modes(const unsigned int level,
const Mapping<dim, spacedim> &mapping,
const DoFHandler<dim, spacedim> &dof_handler,
- const ComponentMask &component_mask);
+ const ComponentMask &component_mask = {});
/** @} */
/**
const unsigned int mg_level)
{
AssertDimension(dim, spacedim);
- AssertDimension(component_mask.n_selected_components(), dim);
constexpr unsigned int n_modes = RigidBodyMotion<dim>::n_modes;
deallog << "Total dofs=" << dofh.n_dofs() << std::endl;
// extract constant modes and print
- ComponentMask mask(fe.n_components(), true);
std::vector<std::vector<double>> constant_modes =
- DoFTools::extract_rigid_body_modes(mapping, dofh, mask);
+ DoFTools::extract_rigid_body_modes(mapping, dofh);
for (unsigned int i = 0; i < constant_modes.size(); ++i)
{