hippylib / hippylibx

The next version of hIPPYlib powered by dolfinx
GNU General Public License v2.0
0 stars 1 forks source link

Validation plots for modelVerify - PACT and poisson examples #5

Open V-Rang opened 6 months ago

V-Rang commented 6 months ago

git commit hash: commit 13388d1f620c2c4ae849d84d0e3ef7fea40216db

Following are the validation plots to check for correctness of modelVerify for the PACT and poisson examples. Plots are made for the following cases:

  1. misfit = True - a. 1 process, b. 4 process
  2. misfit = False - a. 1 process b. 4 process

qPACT Problem:

Number of processes = 1

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

image

image of True parameter and estimated parameter

image image

Number of processes = 4

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

image

image of True parameter and estimated parameter

image image

Poisson Example with Robin BC

Number of processes = 1

Finite difference check with misfit_only = True

image

Finite difference check with misifit_only = False

image

output of iNCG

image

image of True parameter and estimated parameter

image image

Number of processes = 4

Finite difference check with misfit_only = True

image

Finite difference check with misfit_only = False

image

output of iNCG

image

image of True parameter and estimated parameter

image image

uvilla commented 6 months ago

Thank you @V-Rang .

All results look good. I recommend we merge this into main, so we have a working base to which build off the rest.

Let's keep this issue open for future updates.

V-Rang commented 6 months ago

Changes made from previous results: commit: 1c390abdff998a094b7901207f9e497be2ca54d5

for the qpact example, prior_param = {"gamma": 0.1, "delta": 2.} instead of
prior_param = {"gamma": 0.05, "delta": 1.}

Following are the validation plots to check for correctness of modelVerify for the PACT and poisson examples. Plots are made for the following cases:

  1. misfit = True - a. 1 process, b. 4 process
  2. misfit = False - a. 1 process b. 4 process

qPACT Problem:

Number of processes = 1

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    3.296872e+04    3.251677e+04    4.519588e+02   -3.875949e+06   4.771534e+05   1.000000e+00   5.000000e-01
  2   7    3.155966e+04    3.120122e+04    3.584371e+02   -7.643731e+04   6.649927e+03   3.125000e-02   1.180537e-01
  3   3    2.796710e+04    2.739224e+04    5.748642e+02   -4.152889e+04   5.522025e+03   2.500000e-01   1.075772e-01
  4  14    2.705065e+04    2.658544e+04    4.652047e+02   -6.089124e+04   4.465198e+03   3.125000e-02   9.673672e-02
  5   4    2.533982e+04    2.465626e+04    6.835588e+02   -9.036735e+03   3.611779e+03   5.000000e-01   8.700247e-02
  6   9    2.482851e+04    2.427916e+04    5.493458e+02   -4.471282e+04   3.667286e+03   6.250000e-02   8.766847e-02
  7  15    2.437344e+04    2.374975e+04    6.236877e+02   -4.171283e+04   2.838350e+03   3.125000e-02   7.712656e-02
  8   9    2.406868e+04    2.349112e+04    5.775573e+02   -6.462086e+03   2.730377e+03   1.250000e-01   7.564536e-02
  9  17    2.377087e+04    2.312096e+04    6.499099e+02   -2.818587e+04   2.560199e+03   3.125000e-02   7.325004e-02
 10  10    2.359262e+04    2.298338e+04    6.092321e+02   -5.662241e+03   2.567324e+03   1.250000e-01   7.335189e-02
 11  17    2.329728e+04    2.261019e+04    6.870887e+02   -3.022134e+04   2.423973e+03   3.125000e-02   7.127461e-02
 12  10    2.310403e+04    2.244562e+04    6.584048e+02   -5.547740e+03   2.434305e+03   6.250000e-02   7.142636e-02
 13  10    2.295427e+04    2.224256e+04    7.117065e+02   -6.386892e+03   2.298275e+03   6.250000e-02   6.940200e-02
 14  10    2.278479e+04    2.210582e+04    6.789732e+02   -6.207825e+03   2.378126e+03   6.250000e-02   7.059735e-02
 15  10    2.265726e+04    2.192372e+04    7.335456e+02   -6.142784e+03   2.219152e+03   6.250000e-02   6.819688e-02
 16  17    2.259393e+04    2.191548e+04    6.784472e+02   -6.743317e+03   2.304022e+03   6.250000e-02   6.948873e-02
 17  17    2.242684e+04    2.169240e+04    7.344484e+02   -1.390302e+04   2.178747e+03   3.125000e-02   6.757318e-02
 18   9    2.222491e+04    2.151035e+04    7.145604e+02   -3.331881e+03   2.198679e+03   1.250000e-01   6.788157e-02
 19  17    2.207479e+04    2.131190e+04    7.628902e+02   -1.112544e+04   2.079360e+03   3.125000e-02   6.601396e-02
 20  10    2.188162e+04    2.113709e+04    7.445320e+02   -2.818787e+03   2.094892e+03   1.250000e-01   6.626005e-02
 21   5    9.019375e+03    4.307817e+03    4.711558e+03   -2.093940e+05   1.996465e+03   2.500000e-01   6.468474e-02
 22   9    7.149101e+03    3.617456e+03    3.531645e+03   -5.194625e+04   1.014948e+03   6.250000e-02   4.612038e-02
 23  16    5.383839e+03    2.844694e+03    2.539145e+03   -2.187967e+04   2.107345e+03   1.250000e-01   6.645671e-02
 24   8    5.108703e+03    2.923998e+03    2.184705e+03   -7.448186e+03   1.791338e+03   2.500000e-01   6.127168e-02
 25   3    4.051294e+03    1.909001e+03    2.142293e+03   -6.214051e+03   3.484868e+03   1.000000e+00   8.546026e-02
 26   8    3.869729e+03    1.668682e+03    2.201047e+03   -1.343944e+05   1.619995e+03   7.812500e-03   5.826770e-02
 27   5    3.514139e+03    1.533697e+03    1.980442e+03   -3.379007e+03   1.285266e+03   2.500000e-01   5.190002e-02
 28   6    3.010683e+03    1.146314e+03    1.864369e+03   -3.052453e+03   1.871195e+03   2.500000e-01   6.262252e-02
 29  17    2.954831e+03    1.115276e+03    1.839555e+03   -4.819727e+03   1.498399e+03   1.562500e-02   5.603828e-02
 30  10    2.702201e+03    7.525594e+02    1.949642e+03   -1.091674e+03   1.409943e+03   1.000000e+00   5.435903e-02
 31  12    2.541893e+03    6.355619e+02    1.906331e+03   -1.034107e+03   6.321756e+02   2.500000e-01   3.639903e-02
 32  18    2.480316e+03    5.359777e+02    1.944338e+03   -8.076250e+02   5.560421e+02   1.250000e-01   3.413696e-02
 33  11    2.371346e+03    5.316886e+02    1.839657e+03   -2.282551e+02   4.535901e+02   1.000000e+00   3.083208e-02
 34  11    2.355402e+03    5.071336e+02    1.848268e+03   -2.860981e+01   1.197617e+02   1.000000e+00   1.584273e-02
 35  13    2.354440e+03    5.038637e+02    1.850576e+03   -1.794025e+00   2.140523e+01   1.000000e+00   6.697781e-03
 36  17    2.354424e+03    5.035916e+02    1.850833e+03   -2.974569e-02   2.456828e+00   1.000000e+00   2.269125e-03

Converged in  36  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  0.0621147028625235
Final cost:  2354.424493453355

image of True parameter and estimated parameter

image image

Number of processes = 4

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    3.296995e+04    3.251802e+04    4.519356e+02   -3.875723e+06   4.771542e+05   1.000000e+00   5.000000e-01
  2   7    3.155839e+04    3.120018e+04    3.582100e+02   -7.666751e+04   6.652223e+03   3.125000e-02   1.180739e-01
  3   3    2.796499e+04    2.739045e+04    5.745348e+02   -4.153938e+04   5.523031e+03   2.500000e-01   1.075869e-01
  4  14    2.704973e+04    2.658494e+04    4.647847e+02   -6.097241e+04   4.463572e+03   3.125000e-02   9.671902e-02
  5   4    2.534852e+04    2.466459e+04    6.839218e+02   -9.050234e+03   3.610608e+03   5.000000e-01   8.698829e-02
  6  16    2.449498e+04    2.390083e+04    5.941553e+02   -4.713491e+04   3.671804e+03   3.125000e-02   8.772238e-02
  7  15    2.404579e+04    2.337810e+04    6.676862e+02   -9.051502e+03   2.979350e+03   1.250000e-01   7.901898e-02
  8  18    2.394606e+04    2.337364e+04    5.724192e+02   -1.335636e+04   2.705607e+03   6.250000e-02   7.530139e-02
  9  17    2.366337e+04    2.301783e+04    6.455430e+02   -2.786584e+04   2.546911e+03   3.125000e-02   7.305963e-02
 10   9    2.347865e+04    2.287297e+04    6.056806e+02   -5.722882e+03   2.563201e+03   1.250000e-01   7.329291e-02
 11  17    2.318685e+04    2.250752e+04    6.793257e+02   -2.817525e+04   2.422086e+03   3.125000e-02   7.124680e-02
 12  10    2.312548e+04    2.249397e+04    6.315054e+02   -5.363226e+03   2.428239e+03   1.250000e-01   7.133725e-02
 13  17    2.280759e+04    2.208737e+04    7.202176e+02   -3.732720e+04   2.331012e+03   3.125000e-02   6.989449e-02
 14  16    2.269148e+04    2.202200e+04    6.694851e+02   -6.422924e+03   2.330858e+03   6.250000e-02   6.989218e-02
 15  16    2.268491e+04    2.191173e+04    7.731819e+02   -1.150701e+04   2.205185e+03   6.250000e-02   6.798188e-02
 16  18    2.243215e+04    2.171989e+04    7.122566e+02   -1.502461e+04   2.374696e+03   3.125000e-02   7.054637e-02
 17   4    2.137470e+04    2.047716e+04    8.975439e+02   -2.657031e+03   2.176034e+03   1.000000e+00   6.753105e-02
 18  21    2.103745e+04    2.022861e+04    8.088414e+02   -1.943974e+04   2.456300e+03   6.250000e-02   7.174825e-02
 19  19    2.078813e+04    1.991482e+04    8.733038e+02   -2.105607e+04   2.054072e+03   3.125000e-02   6.561127e-02
 20  18    2.076780e+04    1.995535e+04    8.124550e+02   -2.829645e+03   1.914904e+03   1.250000e-01   6.334964e-02
 21   5    8.349851e+03    4.072309e+03    4.277541e+03   -7.252027e+05   1.847368e+03   6.250000e-02   6.222248e-02
 22   9    7.392673e+03    4.257577e+03    3.135096e+03   -1.089879e+05   9.980348e+02   3.125000e-02   4.573445e-02
 23   8    6.361708e+03    3.212121e+03    3.149587e+03   -1.137715e+04   3.108112e+03   1.000000e+00   8.070844e-02
 24  10    5.999214e+03    4.325820e+03    1.673394e+03   -1.006587e+04   2.486881e+03   5.000000e-01   7.219351e-02
 25   6    4.322378e+03    2.451385e+03    1.870993e+03   -1.820136e+04   2.047321e+03   2.500000e-01   6.550336e-02
 26   7    3.408702e+03    1.489883e+03    1.918819e+03   -3.371630e+04   2.067273e+03   6.250000e-02   6.582178e-02
 27   8    2.904210e+03    1.102836e+03    1.801374e+03   -3.019679e+03   1.741981e+03   2.500000e-01   6.042162e-02
 28  10    2.473420e+03    6.410852e+02    1.832335e+03   -8.240099e+02   1.361728e+03   1.000000e+00   5.342148e-02
 29   8    2.372635e+03    5.314257e+02    1.841209e+03   -1.729121e+02   5.267813e+02   1.000000e+00   3.322659e-02
 30  10    2.355748e+03    5.082983e+02    1.847450e+03   -2.868934e+01   1.695337e+02   1.000000e+00   1.884945e-02
 31  12    2.353178e+03    5.043131e+02    1.848864e+03   -4.471165e+00   4.875016e+01   1.000000e+00   1.010785e-02
 32  14    2.352970e+03    5.036071e+02    1.849363e+03   -3.869172e-01   1.106428e+01   1.000000e+00   4.815398e-03
 33  18    2.352967e+03    5.035482e+02    1.849419e+03   -5.827122e-03   1.169999e+00   1.000000e+00   1.565898e-03

Converged in  33  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  0.019329861759867107
Final cost:  2352.967129738087

image of True parameter and estimated parameter

image image

Poisson Example with Robin BC

Number of processes = 1

Finite difference check with misfit_only = True

image

Finite difference check with misifit_only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    1.510023e+00    1.163090e+00    3.469327e-01   -1.233778e+01   1.720213e+01   1.000000e+00   5.000000e-01
  2   1    1.318297e+00    6.116926e-01    7.066045e-01   -5.274990e-01   1.701795e+00   1.000000e+00   3.145303e-01
  3   1    1.312508e+00    7.090180e-01    6.034896e-01   -2.078706e-02   2.782278e-01   1.000000e+00   1.271772e-01
  4   1    1.311205e+00    6.644890e-01    6.467155e-01   -4.281429e-03   1.235148e-01   1.000000e+00   8.473608e-02
  5   1    1.311015e+00    6.816581e-01    6.293570e-01   -6.445201e-04   5.437428e-02   1.000000e+00   5.622191e-02
  6   2    1.310981e+00    6.744765e-01    6.365042e-01   -1.141230e-04   2.004328e-02   1.000000e+00   3.413448e-02
  7   1    1.310975e+00    6.773678e-01    6.336075e-01   -1.820925e-05   8.418872e-03   1.000000e+00   2.212258e-02
  8   1    1.310974e+00    6.761869e-01    6.347875e-01   -3.036375e-06   3.218755e-03   1.000000e+00   1.367895e-02
  9   2    1.310974e+00    6.766668e-01    6.343075e-01   -5.024350e-07   1.468645e-03   1.000000e+00   9.239900e-03
 10   2    1.310974e+00    6.764714e-01    6.345029e-01   -8.313884e-08   5.584325e-04   1.000000e+00   5.697630e-03
 11   2    1.310974e+00    6.765509e-01    6.344234e-01   -1.375349e-08   2.280737e-04   1.000000e+00   3.641216e-03
 12   2    1.310974e+00    6.765185e-01    6.344557e-01   -2.276719e-09   9.281822e-05   1.000000e+00   2.322873e-03
 13   2    1.310974e+00    6.765317e-01    6.344426e-01   -3.767860e-10   3.775877e-05   1.000000e+00   1.481555e-03

Converged in  13  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  1.536157472308261e-05
Final cost:  1.3109742417005774

image of True parameter and estimated parameter

image image

Number of processes = 4

Finite difference check with misfit_only = True

image

Finite difference check with misfit_only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    1.496400e+00    1.151556e+00    3.448446e-01   -1.226354e+01   1.714864e+01   1.000000e+00   5.000000e-01
  2   1    1.305693e+00    6.045611e-01    7.011318e-01   -5.232803e-01   1.697806e+00   1.000000e+00   3.146510e-01
  3   1    1.300027e+00    6.999198e-01    6.001076e-01   -2.019908e-02   2.753946e-01   1.000000e+00   1.267252e-01
  4   1    1.298778e+00    6.566579e-01    6.421199e-01   -4.086709e-03   1.208338e-01   1.000000e+00   8.394203e-02
  5   1    1.298599e+00    6.732131e-01    6.253857e-01   -6.060228e-04   5.325166e-02   1.000000e+00   5.572521e-02
  6   2    1.298567e+00    6.663489e-01    6.322178e-01   -1.054426e-04   1.944718e-02   1.000000e+00   3.367546e-02
  7   1    1.298562e+00    6.690905e-01    6.294713e-01   -1.655956e-05   8.037392e-03   1.000000e+00   2.164924e-02
  8   1    1.298561e+00    6.679800e-01    6.305810e-01   -2.715871e-06   3.050890e-03   1.000000e+00   1.333824e-02
  9   2    1.298561e+00    6.684276e-01    6.301332e-01   -4.420894e-07   1.378110e-03   1.000000e+00   8.964523e-03
 10   2    1.298561e+00    6.682468e-01    6.303140e-01   -7.198797e-08   5.209175e-04   1.000000e+00   5.511498e-03
 11   2    1.298561e+00    6.683198e-01    6.302411e-01   -1.171807e-08   2.109703e-04   1.000000e+00   3.507485e-03
 12   2    1.298561e+00    6.682903e-01    6.302705e-01   -1.908626e-09   8.517799e-05   1.000000e+00   2.228686e-03
 13   2    1.298561e+00    6.683022e-01    6.302586e-01   -3.108011e-10   3.437194e-05   1.000000e+00   1.415752e-03

Converged in  13  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  1.3871005909740155e-05
Final cost:  1.298560860719057

image of True parameter and estimated parameter

image image

V-Rang commented 6 months ago

commit: 411197e79494d27c5dcf84d96d11a60af0615bc7 Following are results for the dirichlet B.C. poisson example: poisson_dirichlet_example.py:

  1. misfit = True - a. 1 process, b. 4 process
  2. misfit = False - a. 1 process b. 4 process

Poisson Example with Dirichlet B.C.

Number of processes = 1

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    2.210116e-01    2.209794e-01    3.220179e-05   -5.705780e-02   1.073671e+01   1.000000e+00   5.000000e-01
  2   2    2.195079e-01    2.194459e-01    6.198675e-05   -3.006081e-03   2.285346e+00   1.000000e+00   4.613605e-01
  3   4    2.183350e-01    2.179219e-01    4.131137e-04   -2.346012e-03   1.843750e+00   1.000000e+00   4.143959e-01
  4   6    2.181011e-01    2.173819e-01    7.192358e-04   -4.675449e-04   9.063891e-01   1.000000e+00   2.905506e-01
  5   7    2.180940e-01    2.173489e-01    7.451106e-04   -1.413515e-05   2.297253e-01   1.000000e+00   1.462746e-01
  6   9    2.180940e-01    2.173429e-01    7.510416e-04   -1.235915e-07   2.219220e-02   1.000000e+00   4.546368e-02
  7  11    2.180940e-01    2.173430e-01    7.510033e-04   -8.725152e-11   5.367020e-04   1.000000e+00   7.070189e-03

Converged in  7  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  2.0616229359872946e-06
Final cost:  0.2180939716312415

image of True parameter and estimated parameter

image image

plot of solveAdj

image

Number of processes = 4

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    2.159406e-01    2.159049e-01    3.565489e-05   -6.331131e-02   1.145710e+01   1.000000e+00   5.000000e-01
  2   2    2.152079e-01    2.151567e-01    5.114422e-05   -1.465300e-03   1.907459e+00   1.000000e+00   4.080283e-01
  3   3    2.148228e-01    2.147183e-01    1.044897e-04   -7.703075e-04   1.635545e+00   1.000000e+00   3.778278e-01
  4   6    2.145433e-01    2.141501e-01    3.931678e-04   -5.590322e-04   1.315141e+00   1.000000e+00   3.388042e-01
  5   7    2.145405e-01    2.141397e-01    4.008192e-04   -5.613884e-06   1.351815e-01   1.000000e+00   1.086229e-01
  6  10    2.145405e-01    2.141378e-01    4.026468e-04   -3.617218e-08   1.416015e-02   1.000000e+00   3.515577e-02
  7  11    2.145405e-01    2.141378e-01    4.026401e-04   -6.779171e-12   1.085220e-04   1.000000e+00   3.077666e-03

Converged in  7  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  5.145244891225999e-07
Final cost:  0.21454045138824673

image of True parameter and estimated parameter

image image

plot of solveAdj

image

uvilla commented 6 months ago

Something regarding the true parameter seems wrong in the Poisson Dirichlet BC example

V-Rang commented 6 months ago

commit: 231c29919667bf33ae31943e9d48435dc57fe36f The previous post has results using m_true interpolated to be 0 over the mesh. The example has been revised using: m_true.interpolate(lambda x: np.log(2 + 7*( ( (x[0] - 0.5)**2 + (x[1] - 0.5)**2)**0.5 > 0.2)) ) Following are revised results for the dirichlet B.C. poisson example: poisson_dirichlet_example.py:

  1. misfit = True - a. 1 process, b. 4 process
  2. misfit = False - a. 1 process b. 4 process

Poisson Example with Dirichlet B.C.

Number of processes = 1

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    2.081549e+01    2.076407e+01    5.142130e-02   -2.327885e+01   2.314143e+02   1.000000e+00   5.000000e-01
  2   2    4.767247e+00    4.106350e+00    6.608970e-01   -3.133430e+01   1.705423e+02   1.000000e+00   5.000000e-01
  3   4    3.137648e+00    1.722906e+00    1.414742e+00   -3.311442e+00   4.131988e+01   1.000000e+00   4.225562e-01
  4   5    3.037861e+00    1.554498e+00    1.483363e+00   -2.005600e-01   9.735901e+00   1.000000e+00   2.051129e-01
  5   7    3.035789e+00    1.524561e+00    1.511228e+00   -4.158589e-03   1.640894e+00   1.000000e+00   8.420641e-02
  6   9    3.035782e+00    1.525645e+00    1.510137e+00   -1.407674e-05   6.706989e-02   1.000000e+00   1.702428e-02
  7  10    3.035782e+00    1.525544e+00    1.510238e+00   -8.118817e-08   5.597232e-03   1.000000e+00   4.918035e-03
  8  11    3.035782e+00    1.525550e+00    1.510232e+00   -9.319779e-10   4.104822e-04   1.000000e+00   1.331840e-03

Converged in  8  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  5.321298717835267e-05
Final cost:  3.0357821176877158

image of True parameter and estimated parameter

image image

plot of solveAdj

image

Number of processes = 4

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    2.070520e+01    2.065391e+01    5.129169e-02   -2.327944e+01   2.311846e+02   1.000000e+00   5.000000e-01
  2   2    4.756430e+00    4.099402e+00    6.570276e-01   -3.114331e+01   1.700321e+02   1.000000e+00   5.000000e-01
  3   4    3.131445e+00    1.719935e+00    1.411510e+00   -3.301555e+00   4.112825e+01   1.000000e+00   4.217846e-01
  4   5    3.034989e+00    1.558796e+00    1.476192e+00   -1.939070e-01   9.608657e+00   1.000000e+00   2.038693e-01
  5   7    3.032952e+00    1.528925e+00    1.504027e+00   -4.085692e-03   1.625483e+00   1.000000e+00   8.385168e-02
  6   9    3.032945e+00    1.530024e+00    1.502921e+00   -1.371305e-05   6.613065e-02   1.000000e+00   1.691305e-02
  7  10    3.032945e+00    1.529923e+00    1.503022e+00   -8.208561e-08   5.547424e-03   1.000000e+00   4.898535e-03
  8  11    3.032945e+00    1.529929e+00    1.503016e+00   -9.622087e-10   4.211070e-04   1.000000e+00   1.349637e-03

Converged in  8  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  5.4210885660070596e-05
Final cost:  3.032944864602089

image of True parameter and estimated parameter

image image

plot of solveAdj

image

V-Rang commented 6 months ago

commit: 6b24e130c2013f2e6276800e7e930c0bf7908f7c

Results for Poisson example on a square mesh with Dirichlet BC on top (u=1) and bottom (u=0) and Neumann BC on sides:

  1. misfit = True - a. 1 process, b. 4 process
  2. misfit = False - a. 1 process b. 4 process

Poisson Example with Dirichlet B.C.

Number of processes = 1

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    2.106268e+00    1.774915e+00    3.313531e-01   -7.333175e+00   4.629337e+01   1.000000e+00   5.000000e-01
  2   3    1.658591e+00    9.928253e-01    6.657658e-01   -9.008020e-01   1.279815e+01   1.000000e+00   5.000000e-01
  3   4    1.652912e+00    9.776138e-01    6.752985e-01   -1.134766e-02   2.052329e+00   1.000000e+00   2.105543e-01
  4   5    1.652713e+00    9.701717e-01    6.825415e-01   -3.981446e-04   3.109226e-01   1.000000e+00   8.195335e-02
  5   6    1.652710e+00    9.707168e-01    6.819936e-01   -5.754615e-06   3.561622e-02   1.000000e+00   2.773732e-02
  6   7    1.652710e+00    9.706608e-01    6.820496e-01   -1.679530e-08   1.772936e-03   1.000000e+00   6.188525e-03
  7   9    1.652710e+00    9.706618e-01    6.820486e-01   -6.459187e-11   7.606230e-05   1.000000e+00   1.281815e-03

Converged in  7  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  9.043502590837493e-06
Final cost:  1.6527103859730952

image of True parameter and estimated parameter

image image

plot of solveAdj

image

Number of processes = 4

Finite difference check with misfit only = True

image

Finite difference check with misfit only = False

image

output of iNCG

It  cg_it cost            misfit          reg             (g,dm)          ||g||L2        alpha          tolcg         
  1   1    2.106574e+00    1.782573e+00    3.240008e-01   -7.193400e+00   4.593610e+01   1.000000e+00   5.000000e-01
  2   2    1.647535e+00    9.850315e-01    6.625039e-01   -9.233121e-01   1.341018e+01   1.000000e+00   5.000000e-01
  3   5    1.641720e+00    9.692772e-01    6.724427e-01   -1.163518e-02   2.058922e+00   1.000000e+00   2.117107e-01
  4   6    1.641679e+00    9.646987e-01    6.769799e-01   -8.053698e-05   1.426598e-01   1.000000e+00   5.572805e-02
  5   6    1.641678e+00    9.646532e-01    6.770252e-01   -2.096055e-07   6.521994e-03   1.000000e+00   1.191552e-02
  6   7    1.641678e+00    9.646461e-01    6.770324e-01   -3.100893e-10   2.836787e-04   1.000000e+00   2.485057e-03

Converged in  6  iterations.
Termination reason:  Norm of the gradient less than tolerance
Final gradient norm:  1.236504498323809e-05
Final cost:  1.6416784640711513

image of True parameter and estimated parameter

image image

plot of solveAdj

image