Skip to content
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

Adding script to check that all applications work #245

Merged

Conversation

landinjm
Copy link
Contributor

@landinjm landinjm commented Sep 22, 2024

This script compiles and runs each application in debug mode for 1 timestep to make sure all applications are working prior to a version release. Each application is run on a separate task, so it can get through most of the applications fairly quickly (except for memory heavy apps like the CHAC_performance_test. That said, it might be too hefty for incorporation into the CI. We could incorporate tests for compilation though.

Summary

  • A few files were deleted that seem to leftover from a while ago (batch submission scripts & integratedFields.txt).
  • The AMR update flags were not properly initialized leading to SEGFAULTS in applications with AMR parameters.
  • CHiMaD_benchmark1a's default parameter file does not work as you need to specify 0 outputs when using a list output (Number of outputs required to be set to 0 if "LIST" is set as the output condition #155). Setting the default values for outputs and restart points to 0 fixes this (see below for discussion on this).

"Broken" Applications

  • steadyStateAllenCahn Unclear implementation & residual values extremely high Deleting application
  • CHiMaD_benchmark6b Issues with mismatched manifolds between cells and faces. Not sure how to fix this because it seems to work as intended as some cells with the spherical manifold have bordering faces with the flat manifold cells. Either way it would cause an issue. I think we should just ignore this one for the debug tests. See as there is no adaptive refinement, I've also added the a transfinite interpolation manifold to make the mesh look a bit better deal.II step-65.

Fixed Applications

  • mechanics Issue with convergence of linear solve due to instabilities. This way due to commit b0f8edb, which naively passed the units tests. This may be due to the fact that the precipitate evolution uses Dirichlet = 0 on all boundaries, unlike the mechanics applications where it is sometimes 0 and sometimes 1. We should revisit our test suite to make sure cases like these area covered.

Closes #170

@landinjm
Copy link
Contributor Author

We should solve #155 by automatically setting the output files to 0 if we have a LIST type. This way, the user can switch between EQUAL_SPACING and LIST simply by changing the type and adding a list. This would make the quick fixes above obsolete.

At the same time, I think the default values should be 0 unless the user specifies they want outputs or restarts.

@landinjm
Copy link
Contributor Author

@stvdwtt Do you know what the steadyStateAllenCahn application is trying to do? I don't really understand what the psi field is trying to do.

@stvdwtt
Copy link
Member

stvdwtt commented Sep 30, 2024

@landinjm, the idea was to fast-forward to the steady state of a Cahn-Hilliard-Allen-Cahn system of equations, where the Cahn-Hilliard equation is replaced with a mass-conserving Allen-Cahn equation (essentially, any mass that is lost in a time step is added uniformly across the domain, this facilitates non-local evolution and gets to a steady state more quickly than Cahn-Hilliard).

We used it in this NanoHub application:
https://nanohub.org/resources/prismspfmisfit/supportingdocs?sitenotice=close&sitenotice=close

If all you're planning to do is calculate the equilibrium shape of a precipitate, then this kind of approach should be faster than normal time stepping. Of course the intermediate steps are entirely fictitious so it tells you nothing about the evolution.

@landinjm
Copy link
Contributor Author

Ok, thanks!

@landinjm landinjm force-pushed the check_all_applications_work branch from c4aba11 to 77e40f2 Compare October 14, 2024 20:31
@landinjm
Copy link
Contributor Author

We should solve #155 by automatically setting the output files to 0 if we have a LIST type. This way, the user can switch between EQUAL_SPACING and LIST simply by changing the type and adding a list. This would make the quick fixes above obsolete.

At the same time, I think the default values should be 0 unless the user specifies they want outputs or restarts.

This is fixed by changing the logic in how we set the output list. See commit a3d2d36.

@landinjm landinjm marked this pull request as ready for review October 14, 2024 20:48
@landinjm landinjm merged commit 3d7e410 into prisms-center:development Oct 14, 2024
2 of 3 checks passed
@landinjm landinjm deleted the check_all_applications_work branch October 14, 2024 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants