CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Optimal tolerance and variables scaling settings

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 28, 2020, 09:56
Post Optimal tolerance and variables scaling settings
  #1
New Member
 
Join Date: Jul 2020
Posts: 4
Rep Power: 6
4513645ygq is on a distinguished road
Hello everyone,

I use my app based on MOOSE to simulate the transient natural convection process in 3D faulted geothermal field (only involving thermal and hydraulic coupling process) recently. After learning some tips on the MOOSE homepage and other questions in the moose-users group, my tolerance and variables scaling settings in input files are as follows:


[Variables]
[./pressure]
[../]
[./temperature]
scaling =1e-10
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 3e+13
dtmax = 3e+8
l_tol = 1e-08
nl_rel_tol = 1e-8
nl_abs_tol = 1e-10
l_max_its = 20
nl_max_its = 20
[./TimeStepper]
type = IterationAdaptiveDT
dt = 50
growth_factor = 1.5
[../]
[]


I selected two representative steps’ output logs to let you know that nl_rel_tol have more effect at the beginning steps and nl_abs_tol have more effect on the later steps.

Time Step 1, time = 50, dt = 50
Computing initial residual [#[33m 1.40 s#[39m]
0 Nonlinear |R| = #[32m1.209085e-01#[39m
|residual|_2 of individual variables:
pressure: 0.120907
temperature: 0.000551279
0 Linear |R| = #[32m1.209085e-01#[39m
1 Linear |R| = #[32m9.214533e-03#[39m
2 Linear |R| = #[32m3.527436e-04#[39m
3 Linear |R| = #[32m2.304453e-05#[39m
4 Linear |R| = #[32m2.394151e-06#[39m
5 Linear |R| = #[32m2.902817e-07#[39m
6 Linear |R| = #[32m4.435598e-08#[39m
7 Linear |R| = #[32m7.554398e-09#[39m
8 Linear |R| = #[32m1.231253e-09#[39m
9 Linear |R| = #[32m2.408428e-10#[39m
1 Nonlinear |R| = #[32m4.844599e-06#[39m
|residual|_2 of individual variables:
pressure: 5.08119e-10
temperature: 4.8446e-06
0 Linear |R| = #[32m4.844599e-06#[39m
1 Linear |R| = #[32m2.921005e-07#[39m
2 Linear |R| = #[32m2.104554e-08#[39m
3 Linear |R| = #[32m1.945979e-09#[39m
4 Linear |R| = #[32m2.931182e-10#[39m
5 Linear |R| = #[32m4.963045e-11#[39m
6 Linear |R| = #[32m8.706768e-12#[39m
7 Linear |R| = #[32m1.727647e-12#[39m
8 Linear |R| = #[32m3.411377e-13#[39m
9 Linear |R| = #[32m7.365310e-14#[39m
10 Linear |R| = #[32m1.738410e-14#[39m
2 Nonlinear |R| = #[32m1.082855e-10#[39m
|residual|_2 of individual variables:
pressure: 4.26112e-12
temperature: 1.08202e-10
#[32m Solve Converged!#[39m
Time Step 1449, time = 4.23737e+11, dt = 3e+08
Computing initial residual . [#[33m 2.53 s#[39m]
0 Nonlinear |R| = #[32m1.921806e-05#[39m
|residual|_2 of individual variables:
pressure: 5.96239e-07
temperature: 1.92088e-05
0 Linear |R| = #[32m1.921806e-05#[39m
1 Linear |R| = #[33m1.917473e-05#[39m
2 Linear |R| = #[32m1.815117e-05#[39m
3 Linear |R| = #[32m1.258791e-05#[39m
4 Linear |R| = #[32m6.910255e-06#[39m
5 Linear |R| = #[32m1.816211e-06#[39m
6 Linear |R| = #[32m5.852820e-07#[39m
7 Linear |R| = #[32m1.039703e-07#[39m
8 Linear |R| = #[32m2.785164e-08#[39m
9 Linear |R| = #[32m7.704200e-09#[39m
10 Linear |R| = #[32m1.995736e-09#[39m
11 Linear |R| = #[32m6.900243e-10#[39m
12 Linear |R| = #[32m2.072931e-10#[39m
13 Linear |R| = #[32m5.978403e-11#[39m
14 Linear |R| = #[32m1.525856e-11#[39m
15 Linear |R| = #[32m4.042695e-12#[39m
16 Linear |R| = #[32m8.816408e-13#[39m
17 Linear |R| = #[32m2.648039e-13#[39m
18 Linear |R| = #[32m8.917245e-14#[39m
9 Nonlinear |R| = #[32m4.233214e-11#[39m
|residual|_2 of individual variables:
pressure: 4.49907e-13
temperature: 4.23297e-11
#[32m Solve Converged!#[39m
Outputing exodus .


Actually, the huge time consuming of my tolerance and variables scaling settings (even though I can get my expected results) make me wonder whether there are optimal settings (more looser and also can get my expected results) for my problem. I also consider using ‘automatic_scaling= true’ and ‘compute_scaling_once= false’ in my input file. But it will not converge in later steps.

Time Step 1, time = 50, dt = 50

Performing automatic scaling calculation

Computing initial residual . [#[33m 2.48 s#[39m]
0 Nonlinear |R| = #[32m3.632860e+04#[39m
|residual|_2 of individual variables:
pressure: 36328.6
temperature: 6.17362e-05
0 Linear |R| = #[32m3.632860e+04#[39m
1 Linear |R| = #[32m2.768653e+03#[39m
2 Linear |R| = #[32m1.059854e+02#[39m
3 Linear |R| = #[32m6.923729e+00#[39m
4 Linear |R| = #[32m7.192601e-01#[39m
5 Linear |R| = #[32m8.717260e-02#[39m
6 Linear |R| = #[32m1.331006e-02#[39m
7 Linear |R| = #[32m2.258615e-03#[39m
8 Linear |R| = #[32m3.633758e-04#[39m
9 Linear |R| = #[32m6.715652e-05#[39m
1 Nonlinear |R| = #[32m1.518016e-04#[39m
|residual|_2 of individual variables:
pressure: 0.000151801
temperature: 5.42533e-07
#[32m Solve Converged!#[39m
Outputing exodus .

Time Step 37, time = 3.27625e+08, dt = 1.09208e+08

Performing automatic scaling calculation

Computing initial residual . [#[33m 2.48 s#[39m]
0 Nonlinear |R| = #[32m5.129066e+01#[39m
|residual|_2 of individual variables:
pressure: 51.221
temperature: 2.6728
0 Linear |R| = #[32m5.129066e+01#[39m
1 Linear |R| = #[32m1.996509e+01#[39m
2 Linear |R| = #[32m1.280559e+01#[39m
3 Linear |R| = #[32m2.635866e+00#[39m
4 Linear |R| = #[32m5.564897e-01#[39m
5 Linear |R| = #[32m8.132326e-02#[39m
6 Linear |R| = #[32m1.647094e-02#[39m
7 Linear |R| = #[32m3.398670e-03#[39m
8 Linear |R| = #[32m5.097928e-04#[39m
9 Linear |R| = #[32m7.921325e-05#[39m
10 Linear |R| = #[32m1.038931e-05#[39m
11 Linear |R| = #[32m1.455114e-06#[39m
12 Linear |R| = #[32m2.304993e-07#[39m
1 Nonlinear |R| = #[32m4.219714e-03#[39m
|residual|_2 of individual variables:
pressure: 0.00413905
temperature: 0.000821135
0 Linear |R| = #[32m4.219714e-03#[39m
1 Linear |R| = #[32m3.801014e-03#[39m
2 Linear |R| = #[32m6.171899e-04#[39m
3 Linear |R| = #[32m7.636873e-05#[39m
4 Linear |R| = #[32m1.856455e-05#[39m
5 Linear |R| = #[32m3.511850e-06#[39m
6 Linear |R| = #[32m8.791660e-07#[39m
7 Linear |R| = #[32m2.256941e-07#[39m
8 Linear |R| = #[32m3.132803e-08#[39m
9 Linear |R| = #[32m5.204031e-09#[39m
10 Linear |R| = #[32m9.246075e-10#[39m
11 Linear |R| = #[32m1.413886e-10#[39m
12 Linear |R| = #[32m2.510542e-11#[39m
2 Nonlinear |R| = #[32m1.393795e-06#[39m
|residual|_2 of individual variables:
pressure: 5.94444e-07
temperature: 1.26068e-06
0 Linear |R| = #[32m1.393795e-06#[39m
1 Linear |R| = #[33m1.393604e-06#[39m
2 Linear |R| = #[32m1.322582e-06#[39m
3 Linear |R| = #[32m4.109166e-07#[39m
4 Linear |R| = #[32m5.179491e-08#[39m
5 Linear |R| = #[32m7.772392e-09#[39m
6 Linear |R| = #[32m9.490397e-10#[39m
7 Linear |R| = #[32m1.445967e-10#[39m
8 Linear |R| = #[32m3.886349e-11#[39m
9 Linear |R| = #[32m1.333509e-11#[39m
10 Linear |R| = #[32m3.184414e-12#[39m
11 Linear |R| = #[32m4.942097e-13#[39m
12 Linear |R| = #[32m7.298691e-14#[39m
13 Linear |R| = #[32m1.139653e-14#[39m
|residual|_2 of individual variables:
pressure: 5.59225e-07
temperature: 1.01366e-11
0 Linear |R| = #[32m5.592251e-07#[39m
1 Linear |R| = #[32m3.705070e-09#[39m
2 Linear |R| = #[32m2.037853e-10#[39m
3 Linear |R| = #[32m1.369132e-11#[39m
4 Linear |R| = #[32m9.437461e-13#[39m
5 Linear |R| = #[32m8.278687e-14#[39m
6 Linear |R| = #[32m1.390563e-14#[39m
7 Linear |R| = #[32m2.615257e-15#[39m
20 Nonlinear |R| = #[31m5.669512e-07#[39m
|residual|_2 of individual variables:
pressure: 5.66951e-07
temperature: 1.01474e-11
#[31m Solve Did NOT Converge!#[39m


Could you please give me some suggestions on that? Thanks a lot.

Yan
4513645ygq is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 18:41.