[Trilinos-Users] LOCA: how to use NOX trust region based solver.
Daniele Avitabile
D.Avitabile at surrey.ac.uk
Thu Jan 25 04:37:48 MST 2007
Hi everybody,
do you know whether there are any examples for using NOX trust region
based solver under LOCA? A
grep -r "Trust" .
search in the "trilinos-7.0.4/packages/nox/examples" directory produces
./epetra/NOX_1DFEMNonlinear/Example.C: //nlParams.set("Nonlinear
Solver", "Trust Region Based");
./epetra/LOCA_Brusselator_xyzt/Example.C: //nlParams.set("Nonlinear
Solver", "Trust Region Based");
>From these codes, it seems that setting the "Nonlinear" parameter to
"Trust Region Based" instead of "Line Search Based" would be enough.
If I try to do this in my code (that is working for the Linear Search
Based"), I obtain the error
../../../../packages/teuchos/src/Teuchos_RefCountPtr.cpp:40: true:
RefCountPtr<N3NOX8Abstract5GroupE>::assert_not_null() : You can not call
operator->() or operator*() if get()==NULL!
>From the logfile attached you can see the list I pass to NOX.
Thanks in advance
Daniele
Thanks in advance
Daniele
-------------- next part --------------
#@/bin/nice -n 19 lamboot
#mpirun -np 2 brusselatorCont.exe
#@lamhalt
Continuation File = continuation.dat [unused]
Continuation Parameter = b [unused]
Continuation Parameter Final Value = 10.7 [unused]
Grid Points Space = 2000 [unused]
Grid Points Time = 63 [unused]
Initial Guess File = ./initialGuess.dat [unused]
L = 249.875 [unused]
Output Directory = ./ [unused]
Stepsize Space = 0.00050025 [unused]
Stepsize Time = 0.0997331 [unused]
a = 2.5 [unused]
b = 10.1 [unused]
du = 4.11 [unused]
dv = 9.73 [unused]
omega = 1.24189 [unused]
CREATING MAPS... DONE
CREATING PARAMETER LIST... DONE
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.1
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.24189
CREATING CRS_GRAPH FOR THE JACOBIAN... DONE
CREATING OVERLAPPED MAP AND EXPORTER... DONE
CREATING AN INITIAL GUESS... DONE
COMPUTING TIME DERIVATIVE... DONE
************************************************************************
-- Parameters Passed to Nonlinear Solver --
Nonlinear Solver = Trust Region Based
Direction ->
Method = Newton [unused]
Newton ->
Forcing Term Method = Constant [unused]
Rescue Bad Newton Solve = 1 [unused]
Linear Solver ->
Aztec Solver = GMRES
Compute Scaling Manually = 1 [default]
Convergence Test = r0
Fill Factor = 10 [unused]
Max Age Of Prec = 1 [default]
Max Iterations = 500 [unused]
Orthogonalization = Classical [default]
Output Frequency = 50
Output Solver Details = 1 [default]
Preconditioner = Ifpack
Preconditioner Operator = Use Jacobian [default]
Preconditioner Reuse Policy = Rebuild [default]
RCM Reordering = Disabled [default]
Scaling = None [unused]
Size of Krylov Subspace = 500
Tolerance = 1e-06 [unused]
Write Linear System = 0 [unused]
Zero Initial Guess = 0 [default]
Line Search ->
[empty list]
Printing ->
MyPID = 0
Output Information = 6143
Output Precision = 6
Output Processor = 0 [default]
Solver Options ->
[empty list]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Beginning Continuation Run
Stepper Method: Arc Length
Initial Parameter Value = 1.010000e+01
Maximum Parameter Value = 1.070000e+01
Minimum Parameter Value = 1.010000e+01
Maximum Number of Continuation Steps = 100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOCA ->
Bifurcation ->
Type = None [default]
Constraints ->
Bordered Solver Method = Householder
Constraint Object = RefCountPtr<N4LOCA17MultiContinuation19ConstraintInterfaceE>{ptr=0x276ee160,node=0x276ee4c0,count=4}
Constraint Parameter Names = RefCountPtr<std::vector<string>>{ptr=0x276ee720,node=0x276ee7e0,count=2}
Include UV In Preconditioner = 0 [default]
Use P For Preconditioner = 0 [default]
Predictor ->
Method = Secant
First Step Predictor ->
Method = Constant [default]
Last Step Predictor ->
[empty list]
Step Size ->
Aggressiveness = 0.5 [default]
Failed Step Reduction Factor = 0.1
Initial Step Size = 0.1
Max Step Size = 1
Method = Adaptive [default]
Min Step Size = 1e-12 [default]
Successful Step Increase Factor = 1.26 [default]
Stepper ->
Bordered Solver Method = Nested [unused]
Compute Eigenvalues = 0 [default]
Continuation Method = Arc Length [default]
Continuation Parameter = b
Enable Tangent Factor Step Size Scaling = 0 [default]
Initial Value = 10.1
Max Nonlinear Iterations = 15
Max Steps = 100 [default]
Max Value = 10.7
Min Tangent Factor = 0.1 [default]
Min Value = 10.1
Tangent Factor Exponent = 1 [default]
Eigensolver ->
Method = Default [default]
Save Eigen Data Method = Default [default]
Nested Bordered Solver ->
Bordered Solver Method = Householder [unused]
NOX ->
Nonlinear Solver = Trust Region Based
Cauchy Direction ->
Method = Steepest Descent [default]
Steepest Descent ->
Scaling Type = Quadratic Model Min [default]
Direction ->
Method = Newton
Newton ->
Forcing Term Method = Constant
Rescue Bad Newton Solve = 1
Linear Solver ->
Aztec Solver = GMRES
Compute Scaling Manually = 1 [default]
Convergence Test = r0
Fill Factor = 10 [unused]
Max Age Of Prec = 1 [default]
Max Iterations = 500 [unused]
Orthogonalization = Classical [default]
Output Frequency = 50
Output Solver Details = 1 [default]
Preconditioner = Ifpack
Preconditioner Operator = Use Jacobian [default]
Preconditioner Reuse Policy = Rebuild [default]
RCM Reordering = Disabled [default]
Scaling = None [unused]
Size of Krylov Subspace = 500
Tolerance = 1e-06
Write Linear System = 0 [unused]
Zero Initial Guess = 0 [default]
Line Search ->
[empty list]
Printing ->
MyPID = 0
Output Information = 6143
Output Precision = 6
Output Processor = 0 [default]
Solver Options ->
Status Test Check Type = 1 [default]
Trust Region ->
Contraction Factor = 0.25 [default]
Contraction Trigger Ratio = 0.1 [default]
Expansion Factor = 4 [default]
Expansion Trigger Ratio = 0.75 [default]
Maximum Trust Region Radius = 1e+10 [default]
Minimum Improvement Ratio = 0.0001 [default]
Minimum Trust Region Radius = 1e-06 [default]
Recovery Step = 1 [default]
Use Ared/Pred Ratio Calculation = 0 [default]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start of Continuation Step 0 : Attempting to converge initial guess at initial parameter values.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SETTING PARAMETER a TO 2.5... DONE
SETTING PARAMETER b TO 10.1... DONE
SETTING PARAMETER L TO 249.875... DONE
SETTING PARAMETER du TO 4.11... DONE
SETTING PARAMETER dv TO 9.73... DONE
SETTING PARAMETER omega TO 1.24189... DONE
COMPUTING F...
WITH PARAMETERS
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.1
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.24189
DONE
************************************************************************
-- Status Test Results --
**...........OR Combination ->
**...........F-Norm = 7.092e-01 < 1.000e-09
(Length-Scaled Two-Norm, Absolute Tolerance)
**...........Number of Iterations = 0 < 15
************************************************************************
************************************************************************
-- Newton Trust-Region Step 0 --
f = 3.560176e+02 fmax = 6.715854e+01 dx = 0.000000e+00 radius = 0.000000e+00
************************************************************************
CALCULATING FORCING TERM
Method: Constant
Forcing Term: 1e-06
SETTING PARAMETER a TO 2.5... DONE
SETTING PARAMETER b TO 10.1... DONE
SETTING PARAMETER L TO 249.875... DONE
SETTING PARAMETER du TO 4.11... DONE
SETTING PARAMETER dv TO 9.73... DONE
SETTING PARAMETER omega TO 1.24189... DONE
COMPUTING F...
WITH PARAMETERS
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.1
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.24189
DONE
SETTING PARAMETER a TO 2.5... DONE
SETTING PARAMETER b TO 10.1... DONE
SETTING PARAMETER L TO 249.875... DONE
SETTING PARAMETER du TO 4.11... DONE
SETTING PARAMETER dv TO 9.73... DONE
SETTING PARAMETER omega TO 1.24189... DONE
COMPUTING F...
WITH PARAMETERS
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.1
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.24189
DONE
SETTING PARAMETER a TO 2.5... DONE
SETTING PARAMETER b TO 10.1... DONE
SETTING PARAMETER L TO 249.875... DONE
SETTING PARAMETER du TO 4.11... DONE
SETTING PARAMETER dv TO 9.73... DONE
SETTING PARAMETER omega TO 1.24189... DONE
COMPUTING JACOBIAN...
WITH PARAMETERS
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.1
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.24189
DONE
Creating a new preconditioner
NOX::Epetra::LinearSolverAztecOO : createIfpackPrecon -
using Fill Factor --> 10
Condition number estimate of preconditioner is 3.515282e+02
Time required to create precondtioner : 1.15568 (sec.)
*******************************************************
***** Problem: LOCA::Epetra::LowRankUpdateOp
***** Preconditioned GMRES solution
***** Epetra::Object
***** No scaling
*******************************************************
iter: 0 residual = 1.000000e+00
iter: 50 residual = 5.362137e-02
iter: 100 residual = 2.435547e-02
iter: 150 residual = 3.462674e-03
iter: 191 residual = 8.323049e-07
Solution time: 39.904311 (sec.)
total iterations: 191
Destroying preconditioner
************************************************************************
-- Trust Region Inner Iteration --
SETTING PARAMETER a TO 2.5... DONE
SETTING PARAMETER b TO 10.1... DONE
SETTING PARAMETER L TO 249.875... DONE
SETTING PARAMETER du TO 4.11... DONE
SETTING PARAMETER dv TO 9.73... DONE
SETTING PARAMETER omega TO 1.24077... DONE
COMPUTING F...
WITH PARAMETERS
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.1
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.24077
DONE
radius = 1.0e+03 ratio = -1 f = 2.846566e+05 old f = 3.560176e+02 Newton
SETTING PARAMETER a TO 2.5... DONE
SETTING PARAMETER b TO 10.0993... DONE
SETTING PARAMETER L TO 249.875... DONE
SETTING PARAMETER du TO 4.11... DONE
SETTING PARAMETER dv TO 9.73... DONE
SETTING PARAMETER omega TO 1.23675... DONE
COMPUTING F...
WITH PARAMETERS
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.0993
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.23675
DONE
radius = 2.5e+02 ratio = -1 f = 7.107991e+03 old f = 3.560176e+02 Dogleg
SETTING PARAMETER a TO 2.5... DONE
SETTING PARAMETER b TO 10.0991... DONE
SETTING PARAMETER L TO 249.875... DONE
SETTING PARAMETER du TO 4.11... DONE
SETTING PARAMETER dv TO 9.73... DONE
SETTING PARAMETER omega TO 1.23574... DONE
COMPUTING F...
WITH PARAMETERS
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.0991
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.23574
DONE
radius = 6.4e+01 ratio = -1 f = 4.402826e+02 old f = 3.560176e+02 Dogleg
SETTING PARAMETER a TO 2.5... DONE
SETTING PARAMETER b TO 10.0991... DONE
SETTING PARAMETER L TO 249.875... DONE
SETTING PARAMETER du TO 4.11... DONE
SETTING PARAMETER dv TO 9.73... DONE
SETTING PARAMETER omega TO 1.23549... DONE
COMPUTING F...
WITH PARAMETERS
LOCA::ParameterVector
(size = 6)
0 a = 2.5
1 b = 10.0991
2 L = 249.875
3 du = 4.11
4 dv = 9.73
5 omega = 1.23549
DONE
../../../../packages/teuchos/src/Teuchos_RefCountPtr.cpp:40: true: RefCountPtr<N3NOX8Abstract5GroupE>::assert_not_null() : You can not call operator->() or operator*() if get()==NULL!
../../../../packages/teuchos/src/Teuchos_RefCountPtr.cpp:40: true: RefCountPtr<N3NOX8Abstract5GroupE>::assert_not_null() : You can not call operator->() or operator*() if get()==NULL!
More information about the Trilinos-Users
mailing list