-
Notifications
You must be signed in to change notification settings - Fork 56
Mpi for heat eqn #215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Mpi for heat eqn #215
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@WasimNiyazMunshi Here are some comments. I think the rest looks good. If you know step-26 and step-40, it should not be difficult to understand the program.
@WasimNiyazMunshi -- ping |
@WasimNiyazMunshi Can you squash the commits? This way, we don't have one commit that adds the executable and another that removes it again. That'd be a waste of disk space for everyone who clones the repository. |
69c3ce7
to
3259e03
Compare
3259e03
to
359ef19
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good so far. I only have a few comments.
@@ -0,0 +1 @@ | |||
DEAL_II_WITH_TRILINOS DEAL_II_WITH_MPI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does not match the requirements stated in CMakeLists.txt
.
DynamicSparsityPattern dsp(locally_relevant_dofs); | ||
DoFTools::make_sparsity_pattern(dof_handler, dsp, constraints, true); | ||
SparsityTools::distribute_sparsity_pattern( | ||
dsp, dof_handler.locally_owned_dofs(), mpi_communicator, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dsp, dof_handler.locally_owned_dofs(), mpi_communicator, | |
dsp, locally_owned_dofs, mpi_communicator, |
system_rhs.reinit(locally_owned_dofs, mpi_communicator); | ||
DynamicSparsityPattern dsp(locally_relevant_dofs); | ||
DoFTools::make_sparsity_pattern(dof_handler, dsp, constraints, true); | ||
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); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
system_rhs.reinit(locally_owned_dofs, mpi_communicator); | |
DynamicSparsityPattern dsp(locally_relevant_dofs); | |
DoFTools::make_sparsity_pattern(dof_handler, dsp, constraints, true); | |
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); |
Is there a reason why you need to reinitialize your data structures here?
You already call setup_system
at the appropriate places, which does exactly the preparation of data structures, so I don't think you will need to reinit most structures again here.
If needed, I would move the setup_system
call after the goto
hook.
Mpi solver for heat eqn