-
-
Notifications
You must be signed in to change notification settings - Fork 91
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
Determine solver type by pressure dimension #124
Conversation
Sorry, my base branch is now OF 6. The committed changes are the same. I (or whoever) need to consider this during merging. |
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.
The mechanism looks good! Let's decide on the default solver name (see comment) and then we can try it like this in real scenarios.
Afterwards, we could also try moving it into Adapter
, but now the respective code is much much shorter that I am not sure if it would solve more problems than it would create. A user-defined module may implement additional types (e.g. linear model vs non-linear model for XYZ) and may want to combine their module with an existing one.
Yes! I think propagating it in the end to the proper place will not save any line of code. |
Co-Authored-By: Gerasimos Chourdakis <makishourdakis@gmail.com>
80aa9f2
to
0aa8823
Compare
TODO: Update FSI.C |
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! I would also add these small changes. Other than that, please test it with the solvers we use in our tutorials (pimpleFoam, buoyantPimpleFoam, buoyantSimpleFoam, laplacianFoam) and feel free to merge.
Co-Authored-By: Gerasimos Chourdakis <makishourdakis@gmail.com>
Co-Authored-By: Gerasimos Chourdakis <makishourdakis@gmail.com>
Tested and works as expected! |
commit 045d0d2 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Wed Jul 29 13:54:01 2020 +0200 Cleanup sonicLiquidFoam case files commit 91160d7 Author: uekerman <benjamin.uekermann@gmail.com> Date: Wed Jul 29 10:13:52 2020 +0200 Tune FF sonicLiquidFoam to converge commit c0e61f5 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Fri Jul 24 14:04:39 2020 +0200 Add todo for determining solverType of multiphase solvers commit 35cc2c2 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Wed Jul 22 21:57:15 2020 +0200 Add pressure-based solver type guessing commit c38f109 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Wed Jul 22 21:41:43 2020 +0200 Update FF/FF.C commit 03cee93 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Wed Jul 22 21:38:32 2020 +0200 Update preCICE logger for consistency commit fcb2c37 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Wed Jul 22 21:35:14 2020 +0200 Remove density from transportProperties commit a39035d Merge: 78fc865 46c1dcf Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Wed Jul 22 18:22:28 2020 +0200 Merge branch 'develop' into FF commit 46c1dcf Merge: 84a3178 0eb0742 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Tue Jun 30 10:47:18 2020 +0200 Merge pull request #131 from precice/refactor-assign-construct Refactor to reduce assigning fields at creation commit 0eb0742 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Mon Jun 29 21:21:45 2020 +0200 Refactor to reduce assigning fields at creation This replaces statements such as: scalarField one_field = another_field; by constructors: scalarField one_field(another_field); This can be safer and faster, as it avoids implicit conversions in between. commit 84a3178 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Tue Jun 23 21:19:26 2020 +0200 Tutorials: Add removeObsoleteFolders.sh script Related to #26 Already implemented separately for the FSI tutorials in the precice/tutorials repository. commit 55a1d57 Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Tue Jun 23 21:03:51 2020 +0200 Simplify precice-config.xml of tutorials Hides the timing:initial of mapping (not needed) and extrapolation-order (not important). Moves the max-iterations together with the relative-convergence-measure (more natural to explain). commit 671104a Author: David Schneider <dav.schneider@tum.de> Date: Mon Jun 8 10:27:37 2020 +0200 Support stress data (#125) Add support for stress data writing commit 42a3d6d Author: Gerasimos Chourdakis <makishourdakis@gmail.com> Date: Tue Mar 24 10:07:35 2020 +0100 Workaround for #109 (NP tutorial) commit b7c7a7c Author: David Schneider <dav.schneider@tum.de> Date: Fri Mar 20 20:39:04 2020 +0100 Determine solver type by pressure dimension (#124) Determine solver type by pressure dimensions and throw error if automatic process fails.
This PR determines the solver type via the pressure dimension.
Here a few comments, following from our discussion in #31:
The type 'basic' is assumed instead of naming it 'other'. So we raise a warning and tell the user, that he might get issues with this settings. I preferred now 'basic', since this is an actual OpenFOAM type and the user might (or not) be fine with the settings. If we tell the user, that we calculate with type 'other', no one knows what this means without looking in the code.
I added the checker in the module classes and decided not to pass it in the adapter class, because we first read the configuration in the specific module and start afterwards to determine the type 'automatically' and we cannot access (without passing the whole class) the adapter class in the modules.
EDIT: We could determine it in the adapter class and overwrite it in the modules.
However, there are just some conceptual questions. The general ingredients should be fine.
Closes #31.