[petsc-users] nonzero prescribed boundary condition
Tian(ICT)
rongtian at ncic.ac.cn
Tue May 10 20:14:55 CDT 2011
Dear Barry, here is the output using -pc_type
lu -ksp_monitor_true_residual -snes_monitor -ksp_monitor
the attached is the same and for clear reference. Thanks again for helps.
atol=1e-050, rtol=1e-008, stol=1e-008, maxit=50, maxf=10000
0 SNES Function norm 7.071067811865e-002
0 KSP Residual norm 9.965778978387e-002
0 KSP preconditioned resid norm 9.965778978387e-002 true resid norm
7.071067811865e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 6.823187455811e-017
1 KSP preconditioned resid norm 6.823187455811e-017 true resid norm
8.847298885656e-011 ||Ae||/||Ax|| 1.251197007446e-009
1 SNES Function norm 6.401926523423e-002
0 KSP Residual norm 8.969200212486e-002
0 KSP preconditioned resid norm 8.969200212486e-002 true resid norm
6.401926523423e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 1.106757475780e-016
1 KSP preconditioned resid norm 1.106757475780e-016 true resid norm
6.211830067439e-011 ||Ae||/||Ax|| 9.703063671087e-010
2 SNES Function norm 5.849992149767e-002
0 KSP Residual norm 8.072279488157e-002
0 KSP preconditioned resid norm 8.072279488157e-002 true resid norm
5.849992149767e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 1.268750073799e-017
1 KSP preconditioned resid norm 1.268750073799e-017 true resid norm
3.802431036387e-011 ||Ae||/||Ax|| 6.499890835816e-010
3 SNES Function norm 5.376618503592e-002
0 KSP Residual norm 7.265050969883e-002
0 KSP preconditioned resid norm 7.265050969883e-002 true resid norm
5.376618503592e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 2.677655733356e-017
1 KSP preconditioned resid norm 2.677655733356e-017 true resid norm
8.120397788686e-011 ||Ae||/||Ax|| 1.510316899602e-009
4 SNES Function norm 4.956894354459e-002
0 KSP Residual norm 6.538545411661e-002
0 KSP preconditioned resid norm 6.538545411661e-002 true resid norm
4.956894354459e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 9.557004153175e-017
1 KSP preconditioned resid norm 9.557004153175e-017 true resid norm
2.944250802029e-011 ||Ae||/||Ax|| 5.939708598754e-010
5 SNES Function norm 4.575418613137e-002
0 KSP Residual norm 5.884690496914e-002
0 KSP preconditioned resid norm 5.884690496914e-002 true resid norm
4.575418613137e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 5.470969262115e-017
1 KSP preconditioned resid norm 5.470969262115e-017 true resid norm
3.659003166095e-011 ||Ae||/||Ax|| 7.997089393284e-010
6 SNES Function norm 4.223022245585e-002
0 KSP Residual norm 5.296221144636e-002
0 KSP preconditioned resid norm 5.296221144636e-002 true resid norm
4.223022245585e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 8.255198782390e-017
1 KSP preconditioned resid norm 8.255198782390e-017 true resid norm
1.955545658933e-011 ||Ae||/||Ax|| 4.630678090739e-010
7 SNES Function norm 3.894430065910e-002
0 KSP Residual norm 4.766598785088e-002
0 KSP preconditioned resid norm 4.766598785088e-002 true resid norm
3.894430065910e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 3.322615478395e-017
1 KSP preconditioned resid norm 3.322615478395e-017 true resid norm
3.485328148673e-011 ||Ae||/||Ax|| 8.949520442496e-010
8 SNES Function norm 3.586683371135e-002
0 KSP Residual norm 4.289938708067e-002
0 KSP preconditioned resid norm 4.289938708067e-002 true resid norm
3.586683371135e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 6.181358328498e-017
1 KSP preconditioned resid norm 6.181358328498e-017 true resid norm
3.246902818086e-011 ||Ae||/||Ax|| 9.052660862724e-010
9 SNES Function norm 3.298130202025e-002
0 KSP Residual norm 3.860944676473e-002
0 KSP preconditioned resid norm 3.860944676473e-002 true resid norm
3.298130202025e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 4.635174776374e-017
1 KSP preconditioned resid norm 4.635174776374e-017 true resid norm
1.497516842272e-011 ||Ae||/||Ax|| 4.540502498513e-010
10 SNES Function norm 3.027806208930e-002
0 KSP Residual norm 3.474850078591e-002
0 KSP preconditioned resid norm 3.474850078591e-002 true resid norm
3.027806208930e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 2.389914053685e-017
1 KSP preconditioned resid norm 2.389914053685e-017 true resid norm
6.007440888596e-011 ||Ae||/||Ax|| 1.984090286517e-009
11 SNES Function norm 2.749422924729e-002
0 KSP Residual norm 3.081350823297e-002
0 KSP preconditioned resid norm 3.081350823297e-002 true resid norm
2.749422924729e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 2.640567497647e-017
1 KSP preconditioned resid norm 2.640567497647e-017 true resid norm
1.281638295853e-011 ||Ae||/||Ax|| 4.661481085089e-010
12 SNES Function norm 2.437488247885e-002
0 KSP Residual norm 2.633007441879e-002
0 KSP preconditioned resid norm 2.633007441879e-002 true resid norm
2.437488247885e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 2.772331460094e-017
1 KSP preconditioned resid norm 2.772331460094e-017 true resid norm
1.918212496143e-011 ||Ae||/||Ax|| 7.869627670236e-010
13 SNES Function norm 2.079664278637e-002
0 KSP Residual norm 2.104738289397e-002
0 KSP preconditioned resid norm 2.104738289397e-002 true resid norm
2.079664278637e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 1.650632708670e-017
1 KSP preconditioned resid norm 1.650632708670e-017 true resid norm
2.316371967362e-011 ||Ae||/||Ax|| 1.113820144509e-009
14 SNES Function norm 1.657344626858e-002
0 KSP Residual norm 1.454141853505e-002
0 KSP preconditioned resid norm 1.454141853505e-002 true resid norm
1.657344626858e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 1.129401160070e-017
1 KSP preconditioned resid norm 1.129401160070e-017 true resid norm
7.885499327559e-012 ||Ae||/||Ax|| 4.757911661686e-010
15 SNES Function norm 1.484243752612e-002
0 KSP Residual norm 5.241948491751e-009
0 KSP preconditioned resid norm 5.241948491751e-009 true resid norm
1.484243752612e-002 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 2.729506849025e-024
1 KSP preconditioned resid norm 2.729506849025e-024 true resid norm
6.386677851085e-018 ||Ae||/||Ax|| 4.302984492839e-016
16 SNES Function norm 2.828002157497e-008
0 KSP Residual norm 6.042518362322e-015
0 KSP preconditioned resid norm 6.042518362322e-015 true resid norm
2.828002157497e-008 ||Ae||/||Ax|| 1.000000000000e+000
1 KSP Residual norm 6.272441346127e-030
1 KSP preconditioned resid norm 6.272441346127e-030 true resid norm
1.112857698032e-023 ||Ae||/||Ax|| 3.935137372797e-016
17 SNES Function norm 2.960967020289e-008
STEP 0 (Newton iterations: 17)
diverged reason: -6
----- Original Message -----
From: "Barry Smith" <bsmith at mcs.anl.gov>
To: "PETSc users list" <petsc-users at mcs.anl.gov>
Sent: Wednesday, May 11, 2011 2:54 AM
Subject: Re: [petsc-users] nonzero prescribed boundary condition
Use -pc_type lu -ksp_monitor_true_residual -snes_monitor -ksp_monitor and
send the outputs
Barry
On May 9, 2011, at 10:43 PM, Tian(ICT) wrote:
> by the way, the increment size is like that
> for a 100 lengh model, the increment is set to 0.05,
> the engineering strain is around 5%% per load step.
> This is already too small increment size for a large deformation analysis.
> a 0.5 increment size leads to both linear search and trust region failed.
> linear search failed for 0.05 while trust region converges with 17 Newton
> iterations each load step.
> Rong
>
> ----- Original Message ----- From: "Tian(ICT)" <rongtian at ncic.ac.cn>
> To: "PETSc users list" <petsc-users at mcs.anl.gov>
> Sent: Tuesday, May 10, 2011 11:37 AM
> Subject: Re: [petsc-users] nonzero prescribed boundary condition
>
>
>> First, thanks again, the issue was gone.
>>
>> I just followed up with some test results.
>> I have tested SNES using one finite element for a geometric large
>> deformation problem.
>> Those are just the very early test results so they may be not telling
>> what happened exactly.
>> For the displacement controlled load, I found that convergence is much
>> slower than that of force loading.
>> Even worse, linear search is so sensitive to the displacement increment
>> and diverged no matter what the increment size was used (too small
>> incremnt also led to diverged soloution (-6 reason), trust region works
>> well in the sense of not sensitive to the displacement increment, but
>> during each load step, it requires around ten to several tens of Newton
>> interations whereas for the force loading case and the almost same amount
>> of deformation, this is normally 3. This is against my expectation. Any
>> hint?
>>
>> Rong
>>
>> ----- Original Message ----- From: "Barry Smith" <bsmith at mcs.anl.gov>
>> To: "PETSc users list" <petsc-users at mcs.anl.gov>
>> Sent: Tuesday, May 10, 2011 10:22 AM
>> Subject: Re: [petsc-users] nonzero prescribed boundary condition
>>
>>
>>
>> On May 9, 2011, at 9:15 PM, Tian(ICT) wrote:
>>
>>> Dear Barry, Thanks a lot for quick answering.
>>> I checked the development documents and found the new version of
>>> MatZeroRows() does support the nonzero prescribed boundary conditions.
>>>
>>> I followed up with more details.
>>> I am using Petasc 2.3.3. to solve a nonlinear problem, e.g. using SNES
>>> solvers.
>>> I used a displacement-controlled load (as this type of loading works
>>> well for all cases).
>>> This is the reason the nonzero prescribed boundary came up.
>>>
>>> In FormJacobian, I modified Jacobian and residual to satisfy the nonzero
>>> prescribed boundary.
>>> In FormFunction, I modified the solution to the known solution(this
>>> should not be necessary as the modified Jacobian and rhs should give the
>>> prescribed solution also)
>>
>> You should not do it this way. See below.
>>>
>>> Now I found another issue, no matter if I prescried the solution or not
>>> in FormFunction,
>>> SNES solver always call FormFunction and never call FormJacobian.
>>
>> The only reason it would not call FormJacobian is if decided that the
>> residual norm was small enough before any Newton steps; for example if
>> the FormFunction() computed exactly the zero function initially. When you
>> run with -snes_monitor -ksp_monitor what does it print for residual
>> norms.
>>
>>> Of course the solver finally diverged or converged to a zero solution.
>>>
>>> So my quick follow up question is How a displacement-controled load is
>>> done corrently in Petsc 2.3.3?
>>
>> To do it in 2.3.3 simply have for those components of F() the formula
>> F_i = x_i - givenvalue_i and in your Jacobian just use MatZeroRows() for
>> those rows
>>
>> We strongly urge you to upgrade to the latest PETSc before doing
>> anything further.
>>
>>
>> Barry
>>
>>>
>>> Rong
>>>
>>> ----- Original Message ----- From: "Barry Smith" <bsmith at mcs.anl.gov>
>>> To: "PETSc users list" <petsc-users at mcs.anl.gov>
>>> Sent: Tuesday, May 10, 2011 9:31 AM
>>> Subject: Re: [petsc-users] nonzero prescribed boundary condition
>>>
>>>
>>>
>>> In petsc-dev http://www.mcs.anl.gov/petsc/petsc-as/developers/index.html
>>> we have modified the calling sequence for MatZeroRows() so that it can
>>> automatically adjust the appropriate right hand side values for the
>>> zeroed rows to support zero or non-zero prescribed boundary conditions
>>> easily.
>>>
>>> Barry
>>>
>>> On May 9, 2011, at 8:18 PM, Tian(ICT) wrote:
>>>
>>>> Dear all,
>>>>
>>>> I got this question long ago and searched the prior posting but did not
>>>> find the solution.
>>>> The question is about nonzero prescribed boundary condition.
>>>> My understanding is that MatZeroRows() works only for zero prescribed
>>>> value, not non-zero value.
>>>> For the non-zero values, we have to remove the rows associated with the
>>>> boundary, but this
>>>> will lead to a zero dignal and accordingly the rows in r.h.s should
>>>> also be removed.
>>>> My question is that does MatZeroRows() also works for nonzero
>>>> prescribed boundary and if so how to do it simply?
>>>>
>>>> Rong
>>>
>>>
>>
>>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aa
Type: application/octet-stream
Size: 6582 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110511/e6f7600f/attachment-0001.obj>
More information about the petsc-users
mailing list