Dear all,
I am facing an issue and would like to ask for some help. I am using a distributed approach using PETS, similar to step-40 and I use a 2 component system (similar to step-29).
Now I am trying to order the dof according to the components. However, I am experiencing that when using DoFRenumbering::component_wise and running with more than 1 MPI rank, my solution vector has inf values. Which, does not happen when using only 1 process, or using the default dof ordering. I am not sure where the problem could be. May I ask for some suggestions to see if I can identify where the issue can be?
My setup function is the following:
Thank you
Regards,
H
template <int dim>
void LaplaceProblem<dim>::setup_system(int en_op)
{
dof_handler.distribute_dofs(fe);
DoFRenumbering::component_wise(dof_handler);
locally_owned_dofs = dof_handler.locally_owned_dofs();
DoFTools::extract_locally_relevant_dofs(dof_handler, locally_relevant_dofs);
locally_relevant_solution.reinit(locally_owned_dofs,
locally_relevant_dofs,
mpi_communicator);
system_rhs.reinit(locally_owned_dofs, mpi_communicator);
constraints.clear();
constraints.reinit(locally_relevant_dofs);
DoFTools::make_hanging_node_constraints(dof_handler, constraints);
constraints.close();
DynamicSparsityPattern dsp(locally_relevant_dofs);
locally_relevant_dofs.n_elements());
DoFTools::make_sparsity_pattern(dof_handler, dsp,constraints,false);
SparsityTools::distribute_sparsity_pattern(dsp,dof_handler.locally_owned_dofs(),mpi_communicator,locally_relevant_dofs);
system_matrix.reinit(locally_owned_dofs,
locally_owned_dofs,
dsp,
mpi_communicator);
//sparsity patterns for auxiliary full matrices DynamicSparsityPattern dsp_bc(dof_handler.n_dofs(), dof_handler.n_dofs());
DoFTools::make_sparsity_pattern(dof_handler, dsp_bc);
sparsity_pattern_bc.copy_from(dsp_bc);
BC_sigmaSP.reinit(sparsity_pattern_bc);
BC_ySP.reinit(sparsity_pattern_bc);
sparsity_pattern_K.copy_from(dsp_bc);
Ksigma_a_matrixSP.reinit(sparsity_pattern_K);
Ksigma_b_matrixSP.reinit(sparsity_pattern_K);
Ky_matrixSP.reinit(sparsity_pattern_K);
}