diff --git a/README.md b/README.md index f8ca0ee0f5c872a684e46ce565f32e76aac29cd8..0cd2f1e893f810c802fd92cf0dd7cc457480c877 100644 --- a/README.md +++ b/README.md @@ -61,21 +61,21 @@ FOAM_MODULE_LIBBIN=/install/path ./Allwmake In order to use the library, two changes are required: - add the libpetscFoam library to the optional keyword entry libs of the control dict file - + libs (petscFoam); - + - set the name of the solver and preconditioner in each solver of the fvSolution to petsc. The options database keys of each PETSc object have to be added in the petsc/options subdict of each solver equation. - The default behaviour of the library is to convert the matrix from LDU to CSR at each time step. + The default behaviour of the library is to convert the matrix from LDU to CSR at each time step. However, the user can change the cache update frequency among the following choices: - + - never (none) - always - - periodic + - periodic - adaptive - + The cache update frequency is set for both matrix and preconditioner in the petsc/caching subdict. - + An example is reported below. Other examples can be found in the tutorial folder. For more details, the user can read the paper [1]. @@ -85,7 +85,7 @@ For more details, the user can read the paper [1]. { solver petsc; preconditioner petsc; - + petsc { options @@ -94,14 +94,14 @@ For more details, the user can read the paper [1]. pc_type bjacobi; sub_pc_type icc; } - + caching { matrix { update always; } - + preconditioner { update always; @@ -133,7 +133,7 @@ For more details, the user can read the paper [1]. [Petsc-Ext-Installation]: https://www.mcs.anl.gov/petsc/documentation/installation.html -## References +## References [1] S. Bnà , I. Spisso, M. Olesen, G. Rossi *PETSc4FOAM: A Library to plug-in PETSc into the OpenFOAM Framework* [PRACE White paper](https://prace-ri.eu/wp-content/uploads/WP294-PETSc4FOAM-A-Library-to-plug-in-PETSc-into-the-OpenFOAM-Framework.pdf) diff --git a/src/petsc4Foam/Allwclean b/src/petsc4Foam/Allwclean index 92924581501736dc7a3ddd52bf74f25037eb108e..18cf30a072d678de1b24c6594df96f9f6528bddf 100755 --- a/src/petsc4Foam/Allwclean +++ b/src/petsc4Foam/Allwclean @@ -7,7 +7,7 @@ rm -f $FOAM_LIBBIN/libpetscFoam* # Cleanup library rm -f $FOAM_SITE_LIBBIN/libpetscFoam* # ... extra safety rm -f $FOAM_USER_LIBBIN/libpetscFoam* # ... extra safety -# Cleanup generated files - remove entire top-level +# Cleanup generated files - remove entire top-level removeObjectDir "$PWD" # ----------------------------------------------------------------------------- diff --git a/tutorials/basic/laplacianFoam/flange/system/fvSolution-petsc b/tutorials/basic/laplacianFoam/flange/system/fvSolution-petsc index d6cbf6d985316949cd1f3ea0f6a0f60cac3827d9..1c57df71cc3ce0aa81cbdc1b1c99e103c2a52890 100644 --- a/tutorials/basic/laplacianFoam/flange/system/fvSolution-petsc +++ b/tutorials/basic/laplacianFoam/flange/system/fvSolution-petsc @@ -46,13 +46,13 @@ solvers caching { - matrix - { + matrix + { update always; } preconditioner - { + { update always; } } diff --git a/tutorials/basic/laplacianFoam/pipeOneD/system/fvSolution b/tutorials/basic/laplacianFoam/pipeOneD/system/fvSolution index 5f165fe03311eafea663929b12e93979cbec2915..100dd362dc267fe362a09a08b7bebdd1a9610031 100644 --- a/tutorials/basic/laplacianFoam/pipeOneD/system/fvSolution +++ b/tutorials/basic/laplacianFoam/pipeOneD/system/fvSolution @@ -41,22 +41,22 @@ solvers pc_hypre_boomeramg_interp_type ext+i; pc_hypre_boomeramg_P_max "1"; pc_hypre_boomeramg_truncfactor "0.3"; - } + } caching { - matrix - { + matrix + { update always; } preconditioner - { + { update always; } } } - + tolerance 1e-6; relTol 0; } diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/fvSolution b/tutorials/incompressible/simpleFoam/motorBike/system/fvSolution index 536ccbc28c863ae2d5a6a7387e8ac8ad4c41fc1f..aa66aac9f713ec5805ffcd229fe5cdd3a29c576b 100644 --- a/tutorials/incompressible/simpleFoam/motorBike/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/motorBike/system/fvSolution @@ -40,17 +40,17 @@ solvers pc_hypre_boomeramg_interp_type ext+i; pc_hypre_boomeramg_P_max "1"; pc_hypre_boomeramg_truncfactor "0.3"; - } + } caching { - matrix - { + matrix + { update always; } preconditioner - { + { update always; } } @@ -69,26 +69,26 @@ solvers { solver petsc; preconditioner petsc; - - petsc - { + + petsc + { options { ksp_type bicg; pc_type bjacobi; sub_pc_type ilu; ksp_cg_single_reduction true; - } - + } + caching - { - matrix - { + { + matrix + { update always; } - + preconditioner - { + { update always; } } @@ -102,31 +102,31 @@ solvers { solver petsc; preconditioner petsc; - - petsc - { + + petsc + { options { ksp_type bicg; pc_type bjacobi; sub_pc_type ilu; ksp_cg_single_reduction true; - } - + } + caching - { - matrix - { + { + matrix + { update always; } - + preconditioner - { + { update always; } } } - + tolerance 1e-8; relTol 0.1; } @@ -135,26 +135,26 @@ solvers { solver petsc; preconditioner petsc; - - petsc - { + + petsc + { options { ksp_type bicg; pc_type bjacobi; sub_pc_type ilu; ksp_cg_single_reduction true; - } - + } + caching - { - matrix - { + { + matrix + { update always; } - + preconditioner - { + { update always; } } diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution index 2bbc8052a5d9bde09dd09a7f84852d264c3edaed..25db1f58228f79844ea45c8f3b72f3e141c45797 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution @@ -41,17 +41,17 @@ solvers pc_hypre_boomeramg_interp_type ext+i; pc_hypre_boomeramg_P_max "1"; pc_hypre_boomeramg_truncfactor "0.3"; - } + } caching { - matrix - { + matrix + { update always; } preconditioner - { + { update always; } } @@ -73,18 +73,18 @@ solvers ksp_type bicg; pc_type bjacobi; sub_pc_type ilu; - ksp_cg_single_reduction true; + ksp_cg_single_reduction true; } caching { - matrix - { - update always; - } - + matrix + { + update always; + } + preconditioner - { + { update always; } }