Skip to content

Conversation

@PhilipOesterlePekrun
Copy link

Equivalent to #29 but without rebasing. That is, some ctests would fail when this is merged into jhux2 due to a not-yet-present change in Galeri at this point. But, it will succeed when merged into the main Trilinos repository's develop branch (so, the tests in trilinos#14357 should still succeed when this is merged into jhux2).

@mayrmt
@jhux2

@trilinos/MueLu

Motivation

This change serves mainly to migrate the executables/drivers used in hands-on.py from the Epetra to Tpetra backend. This was most easily done by reducing the number of .cpp files--which were doing a lot of the same things--into a single general TutorialDriver.cpp. This is now is the driver for Laplace2D, Recirc2D, the challenge problems, and any future problem types we might want to introduce.

Details

The challenge problems are not exactly the same as before because https://trilinos.org/wordpress/wp-content/uploads/2015/07/MueLu_tutorial_challenges.tar.gz is currently not accessible, but they still serve the same purpose (inefficient reference xml, which the user should try to optimize).

ScalingTest.cpp and ScalingTestParamList.cpp were removed for now because there is no explicit mention of scaling in the tutorial, and much of the functionality was unrelated and convoluted (especially if a tutorial user wants to look into the files directly). For the includeliterals in the "C++ Interface" subsection of the "Using MueLu in User Applications" section, the shorter Tutorial_cppInterface.cpp is instead used, which concisely and cleanly shows the C++ interface without using an xml file.

The CMakeLists.txt of test/tutorial/ was also streamlined to test the TutorialDriver.cpp with xml files which are explicitly mentioned in the tutorial.

The TutorialDriver.cpp now writes the outputs example<PID>.txt, which are to be used for gnuplots in hands-on.py, as in the original Epetra version of laplace2d.cpp. Some small fixes in hands-on.py ensure that this functionality works properly now.

Related Issues

Part of trilinos#14357

Stakeholder Feedback

Testing

Signed-off-by: Philip Oesterle-Pekrun <[email protected]>
…ver.cpp, and fix plotting in hands-on.py

Signed-off-by: Philip Oesterle-Pekrun <[email protected]>
…xample for the tutorial and replacement for ScalingTest.cpp

Signed-off-by: Philip Oesterle-Pekrun <[email protected]>
… TutorialDriver.cpp

Signed-off-by: Philip Oesterle-Pekrun <[email protected]>
Signed-off-by: Philip Oesterle-Pekrun <[email protected]>
@github-actions
Copy link

CDash for AT1 results [Only accessible from Sandia networks]
CDash for AT2 results [Currently only accessible from Sandia networks]

@PhilipOesterlePekrun PhilipOesterlePekrun changed the base branch from master to new-muelu-read-the-docs September 16, 2025 14:07
@PhilipOesterlePekrun
Copy link
Author

I am honestly super confused why clang-format is failing. The format_patch has a bunch of global files, not any of the files I edited in my commits. Even the only MueLu file, test/tutorial/MLParameterList.cpp, is one that I did not touch.

@mayrmt
Copy link

mayrmt commented Sep 18, 2025

@PhilipOesterlePekrun I am fine with the current changes.

@jhux2, how should we proceed? Can we merge into your branch?

Signed-off-by: Philip Oesterle-Pekrun <[email protected]>
@jhux2
Copy link
Owner

jhux2 commented Sep 20, 2025

@PhilipOesterlePekrun This looks good. It looks like laplace2d.cpp serves as the driver for the challenge problems. Have I got that right? If so, maybe it could renamed to something else. Anyway, that's a minor quibble, I'm fine merging this in as-is.

@jhux2 jhux2 merged commit f9f0225 into jhux2:new-muelu-read-the-docs Sep 20, 2025
@PhilipOesterlePekrun
Copy link
Author

@jhux2 Sorry about that, I forgot to remove laplace2d.cpp. This is meant to be replaced by the general TutorialDriver.cpp. Tutorial_cppInterface.cpp also hard codes the Laplace2D problem type, and is meant as a concise, simple implementation and for some literalincludes.

@PhilipOesterlePekrun
Copy link
Author

Thanks!

@jhux2
Copy link
Owner

jhux2 commented Sep 25, 2025

@mayrmt @PhilipOesterlePekrun Any objections if I squash commits so that we can merge to Trilinos?

@PhilipOesterlePekrun
Copy link
Author

@jhux2 No objections from my side.

@mayrmt
Copy link

mayrmt commented Sep 25, 2025

@jhux2 feel free to go ahead!

@jhux2
Copy link
Owner

jhux2 commented Sep 26, 2025

Great. Just to clarify, in the branch https://github.com/jhux2/Trilinos/tree/new-muelu-read-the-docs, there are ~80 older commits by @mayrmt and @GrahamBenHarper that are missing a sign-off in their commit messages (because they predate that requirement).

Is it ok if I squash those commits? I would need to sign off myself. I would indicate in the commit that Matthias and Graham were the original authors.

@mayrmt
Copy link

mayrmt commented Sep 26, 2025

@jhux2 I am fine with that.

@mayrmt
Copy link

mayrmt commented Sep 26, 2025

@jhux2 A former student, @Max-pert, also contributed. He mainly created the website files for the tutorial. I don't know, if he committed himself or if I did that for him, but he did the work. Feel free to indicate his contribution as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants