# [petsc-users] What is the difference between these two approaches?

(Rebecca) Xuefei YUAN xy2102 at columbia.edu
Mon Feb 8 15:13:53 CST 2010

```Dear all,

I do have an PDE-constrained optimization problem:

F1(phi(x,y),c) = L(phi(x,y)) + rho(s1(x,y),s2(x,y)) = 0 (1)
F2(phi(x,y),c) = int_{domain}(c*rho(s1(x,y),s2(x,y)) - 1.0)dxdy = 0 (2)

where phi(x,y) is defined at each grid point and c is a scalar
parameter that satisfying the equation (2).

I have two pieces of codes to solve them by different approaches.

The first approach is to use DMComposite() to manage unknowns and
solve F1&F2 at the same time, and it calls DMMGSolve() once.

The second approach is to solve F1 with a guess c for some number(i.e.
1) times of nonlinear and linear iteration, and then update c from F2.
Solve F1 again with updated c till some conditions satisfied, for
example,

if (cres<1e-10){CONTINUE=PETSC_FALSE;} // update on c
if (functionNorm<1e-10){CONTINUE=PETSC_FALSE;}//residual function norm
if (reason>0){CONTINUE=PETSC_FALSE;}//snes_converged_reason
if (totalNumberOfNonlinearIterations>50){CONTINUE=PETSC_FALSE;}

In this approach, DMMGSolve() was called more than once.

Although these two approaches convergence, the results are quite different.

My understanding is that
a) approach one updates c in each linear iteration, but approach two updates c
only after several (i.e. 1) nonlinear iterations.

ierr = DMMGSolve(dmmg);CHKERRQ(ierr);
parameters->c = parameters->integration/area;

b) the results from two approaches should be the same or very close to
each other but due to some reasons, they are not.

c) three different examples are tested by these two approaches, two
are good, but one is bad. The bad one is different from the other two
because the solution has large gradient at some points.

d) the shortcoming of approach one is PETSc has not ready for assemble
a Jacobian for object DMComposite, so the second approach is able to
write an analytic Jacobian.

Any thoughts about how to debug or compare these two approaches is
appreciate!~

Thanks a ton!

Rebecca

--
(Rebecca) Xuefei YUAN
Department of Applied Physics and Applied Mathematics
Columbia University
Tel:917-399-8032
www.columbia.edu/~xy2102

```