Comments (9)
When I run the code with -qps_max_it 1234
, the output is changed to
TEST1: 1000
TEST2: 1234
and value from QPSSetTolerances
is still ignored.
from permon.
Hi Lukas!
If you use SMALXE, -qps_max_it
sets the maximum number of outer iterations whereas the maximum number of inner iterations is controlled by -smalxe_qps_max_it
. The inner solver gets smalxe_
prefix which is perhaps misleading. The values from the command line should always precede those in flloprc, and these precede those set programatically. Hence, the first case looks to me like a bug but the second not. I will look at it.
from permon.
What you set by QPSSetTolerances
is the maximum iteration count for the outer solver. E.g. for SMALXE+MPGP, it is SMALXE. For MPGP only, it is MPGP. There is currently no function to get the inner solver. I will add one.
I'm so far not able to reproduce the first case. Please make sure you don't pass -qps_max_it
to QPS via flloprc
.
from permon.
Got it! It seems that it depends on the order of commands:
(wrong - does not set maxit):
QPSSetTolerances
QPSSetFromOptions
(right - sets maxit ):
QPSSetFromOptions
QPSSetTolerances
I don't know if it is bug, or my fault with wrong order.
from permon.
It depends on what you want :-) But typically you first set your program's defaults programatically (QPSSetTolerances
) and then you have a chance to override these defaults from rc file or command line (QPSSetFromOptions
). This gives you more flexibility without needing to recompile when the parameter needs to be changed. PETSc behaves the same way.
from permon.
The "wrong order"
QPSSetTolerances
QPSSetFromOptions
should work as you expect (preserve your maxit set in the program) provided you don't pass
-qps_max_it 100
anyhow.
from permon.
Hi Lukas,
can I close this, please?
Thanks,
Vaclav
from permon.
Hi Vaclav,
of course, the behaviour is quite clear right now. It depends on what user wants to set and what has larger "importance" - if values from console or values provided by code.
Thanks,
Lukas
from permon.
Thanks, closing.
from permon.
Related Issues (20)
- suggestions for permonsys.h
- use PetscFunctionBeginHot in convergence tests, monitors and other looped functions
- leftovers from MR 35 HOT 1
- make use of PETSc MATPRODUCT HOT 2
- review the two version of MatRemoveGluingOfDirichletDofs
- MatInvComputeNullSpace_Inv could be simplified using newer API HOT 1
- cleanup old git branches
- git ignores output files for ex*
- MPGP: reduced gradient set but not used
- ex71 nullspace detection HOT 1
- review PERMON_ASSERT usage
- fix mem leaks found when running jbearing2
- replace egrep/fgrep with grep
- Autogen documentation
- Review petscfix functions
- MatConvert does not initialize LDA for MATDENSEPERMON
- Change printfs in QPFeti into PetscInfo
- set reasonable default number of subcomms for CP
- option to use telescope instead of redundant for CP solve
- solver divergence with -fno-honor-nans
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from permon.