This page was generated from unit-3.4-nonlmin/nonlmin.ipynb.
3.4 Nonlinear minimization problems¶
We consider minimization problems of the form
[1]:
# imports
from ngsolve import *
from ngsolve.webgui import Draw
Similar to the previous unit we want solve the (minimization) problem using Newton’s method. However this time we don’t start with an equation but a minimization problem. We will let NGSolve derive the corresponding expressions for minimization conditions.
To solve the problem we use the Variation integrator of NGSolve and formulate the problem through the symbolic description of an energy functional.
Let \(E(u)\) be the energy that is to be minimized for the unknown state \(u\).
Then a necessary optimality condition is that the derivative at the minimizer \(u\) in all directions \(v\) vanishes, i.e.
At this point we are back in business of the previous unit as we now have an equation that we need to solve.
Let’s continue with a concrete example.
Scalar minimization problems¶
As a first example we take \(V = H^1_0\) and
The minimization is equivalent (due to convexity) to solving the nonlinear PDE (cf. unit 3.3 with \(f=10\))
with \(\Omega = (0,1)^2\).
[2]:
# define geometry and generate mesh
from ngsolve import *
from ngsolve.webgui import *
from netgen.occ import *
shape = Rectangle(1,1).Face()
shape.edges.Min(X).name="left"
shape.edges.Max(X).name="right"
shape.edges.Min(Y).name="bottom"
shape.edges.Max(Y).name="top"
geom = OCCGeometry(shape, dim=2)
mesh = Mesh(geom.GenerateMesh(maxh=0.3))
We solve the PDE with a Newton iteration.
[3]:
V = H1(mesh, order=4, dirichlet=".*")
u = V.TrialFunction()
We define the semi-linear form expression through the energy functional using the Variation-keyword:
[4]:
a = BilinearForm (V, symmetric=True)
a += Variation ( (0.5*grad(u)*grad(u) + 1/12*u**4-10*u) * dx)
Now NGSolve applies the derivative on the functional so that the previous statement corresponds to:
a += (grad(u) * grad(v) + 1/3*u**3*v - 10 * v)*dx
(which has the same form as the problems in the nonlinear example)
We recall the Newton iteration (cf. unit-3.3 ) and now apply the same loop:
Given an initial guess \(u^0\)
loop over \(i=0,..\) until convergence:
Compute linearization: $A (u^i) + \delta `A(u^i) :nbsphinx-math:Delta `u^{i} = 0 $:
\(f^i = A (u^i)\)
\(B^i = \delta A(u^i)\)
Solve \(B^i \Delta u^i = -f^i\)
Update \(u^{i+1} = u^i + \Delta u^{i}\)
Evaluate stopping criteria
Evaluate \(E(u^{i+1})\)
As a stopping criteria we take \(\langle A u^i,\Delta u^i \rangle = \langle A u^i, A u^i \rangle_{(B^i)^{-1}}< \varepsilon\).
Note that \(A(u^i)\) (a.Apply(...)) and \(\delta A(u^i)\) (a.AssembleLinearization(...)) are now derived from \(A\) which is defined as \(A = \delta E\) through the energy functional \(E(\cdot)\).
We obtain a similar Newton solver with the two additional advantages:
We don’t have to form \(\delta E\) manually, but let
NGSolvedo the job andwe can use the energy functional to interprete the success of iteration steps
[5]:
def SolveNonlinearMinProblem(a,gfu,tol=1e-13,maxits=10, callback=lambda gfu: None):
res = gfu.vec.CreateVector()
du = gfu.vec.CreateVector()
callback(gfu)
for it in range(maxits):
print ("Newton iteration {:3}".format(it),
", energy = {:16}".format(a.Energy(gfu.vec)),end="")
#solve linearized problem:
a.Apply (gfu.vec, res)
a.AssembleLinearization (gfu.vec)
du.data = a.mat.Inverse(V.FreeDofs()) * res
#update iteration
gfu.vec.data -= du
callback(gfu)
#stopping criteria
stopcritval = sqrt(abs(InnerProduct(du,res)))
print ("<A u",it,", A u",it,">_{-1}^0.5 = ", stopcritval)
if stopcritval < tol:
break
Redraw(blocking=True)
So, let’s try it out:
[6]:
gfu = GridFunction(V)
gfu.Set((x*(1-x))**4*(y*(1-y))**4) # initial guess
gfu_it = GridFunction(gfu.space,multidim=0)
cb = lambda gfu : gfu_it.AddMultiDimComponent(gfu.vec) # store current state
SolveNonlinearMinProblem(a,gfu, callback = cb)
print ("energy = ", a.Energy(gfu.vec))
Newton iteration 0 , energy = -2.5192104707462087e-05<A u 0 , A u 0 >_{-1}^0.5 = 1.8746349904970983
Newton iteration 1 , energy = -1.7525754353153373<A u 1 , A u 1 >_{-1}^0.5 = 0.010379567002968555
Newton iteration 2 , energy = -1.752629306894636<A u 2 , A u 2 >_{-1}^0.5 = 1.1229103419782096e-06
Newton iteration 3 , energy = -1.7526293068952663<A u 3 , A u 3 >_{-1}^0.5 = 1.328219856742427e-14
energy = -1.7526293068952663
[7]:
Draw(gfu,mesh,"u", deformation = True)
#Draw(gfu_it,mesh,"u", deformation = True)
[7]:
WebGLScene
Again, a Newton for minimization is also shipped with NGSolve (actually it is the same with the additional knowledge about the Energy and the possibility to do a line search for a given search direction):
[8]:
from ngsolve.solvers import *
gfu.Set((x*(1-x))**4*(y*(1-y))**4) # initial guess
NewtonMinimization(a,gfu)
#Draw(gfu,mesh,"u", deformation = True)
Newton iteration 0
Energy: -2.5192104707462087e-05
err = 1.8746349904970983
Newton iteration 1
Energy: -1.7525754353153373
err = 0.010379567002968555
Newton iteration 2
Energy: -1.752629306894636
err = 1.1229103419782096e-06
Newton iteration 3
Energy: -1.7526293068952663
err = 1.328219856742427e-14
[8]:
(0, 4)
Nonlinear elasticity¶
We consider a beam which is fixed on one side and is subject to gravity only. We assume a Neo-Hookean hyperelastic material. The model is a nonlinear minimization problem with
where \(\mu\) and \(\lambda\) are the Lamé parameters and \(F = I + D v\) where \(v: \Omega \to \mathbb{R}^2\) is the sought for displacement.
We fix the domain to \(\Omega = (0,1) \times (0,0.1)\)
[9]:
# define geometry and generate mesh
shape = Rectangle(1,0.1).Face()
shape.edges.Min(X).name="left"
shape.edges.Min(X).maxh=0.01
shape.edges.Max(X).name="right"
shape.edges.Min(Y).name="bot"
shape.edges.Max(Y).name="top"
geom = OCCGeometry(shape, dim=2)
mesh = Mesh(geom.GenerateMesh(maxh=0.05))
[10]:
# E module and poisson number:
E, nu = 210, 0.2
# Lamé constants:
mu = E / 2 / (1+nu)
lam = E * nu / ((1+nu)*(1-2*nu))
V = VectorH1(mesh, order=2, dirichlet="left")
u = V.TrialFunction()
#gravity:
force = CoefficientFunction( (0,-1) )
Now, we recall the energy
[11]:
def Pow(a, b):
return exp (log(a)*b)
def NeoHook (C):
return 0.5 * mu * (Trace(C-I) + 2*mu/lam * Pow(Det(C), -lam/2/mu) - 1)
I = Id(mesh.dim)
F = I + Grad(u)
C = F.trans * F
factor = Parameter(1.0)
a = BilinearForm(V, symmetric=True)
a += Variation( NeoHook (C).Compile() * dx
-factor * (InnerProduct(force,u) ).Compile() * dx)
We want to solve the minimization problem for \(\gamma = 5\). Due to the high nonlinearity in the problem, the Newton iteration will not convergence for any initial guess. We approach the case \(\gamma = 5\) by solving problems with \(\gamma = i/10\) for \(i=1,..,50\) and taking the solution of the previous problem as an initial guess.
[12]:
gfu = GridFunction(V)
gfu.vec[:] = 0
gfu_l = GridFunction(V,multidim=0)
gfu_l.AddMultiDimComponent(gfu.vec)
for loadstep in range(50):
print ("loadstep", loadstep)
factor.Set ((loadstep+1)/10)
SolveNonlinearMinProblem(a,gfu)
if (loadstep + 1) % 10 == 0:
gfu_l.AddMultiDimComponent(gfu.vec)
loadstep 0
Newton iteration 0 , energy = 8.750000000000002<A u 0 , A u 0 >_{-1}^0.5 = 0.0166775826056552
Newton iteration 1 , energy = 8.750132555222002<A u 1 , A u 1 >_{-1}^0.5 = 0.02333135987946584
Newton iteration 2 , energy = 8.749861163856334<A u 2 , A u 2 >_{-1}^0.5 = 0.00010230629993662953
Newton iteration 3 , energy = 8.749861158623053<A u 3 , A u 3 >_{-1}^0.5 = 5.117101024311285e-08
Newton iteration 4 , energy = 8.74986115862305<A u 4 , A u 4 >_{-1}^0.5 = 2.701448853257064e-13
Newton iteration 5 , energy = 8.74986115862305<A u 5 , A u 5 >_{-1}^0.5 = 6.530323047077883e-16
loadstep 1
Newton iteration 0 , energy = 8.749583933129315<A u 0 , A u 0 >_{-1}^0.5 = 0.016595299053977365
Newton iteration 1 , energy = 8.749710107506663<A u 1 , A u 1 >_{-1}^0.5 = 0.022956437669360435
Newton iteration 2 , energy = 8.7494473544425<A u 2 , A u 2 >_{-1}^0.5 = 0.0001421582802317995
Newton iteration 3 , energy = 8.749447344443873<A u 3 , A u 3 >_{-1}^0.5 = 2.3255246985774084e-06
Newton iteration 4 , energy = 8.749447344441162<A u 4 , A u 4 >_{-1}^0.5 = 6.328259152844421e-10
Newton iteration 5 , energy = 8.749447344441165<A u 5 , A u 5 >_{-1}^0.5 = 1.0965627703942823e-15
loadstep 2
Newton iteration 0 , energy = 8.748898257854604<A u 0 , A u 0 >_{-1}^0.5 = 0.01635609185391634
Newton iteration 1 , energy = 8.74900534432011<A u 1 , A u 1 >_{-1}^0.5 = 0.02189072908053474
Newton iteration 2 , energy = 8.748766384857406<A u 2 , A u 2 >_{-1}^0.5 = 0.0002082524389312889
Newton iteration 3 , energy = 8.748766363495847<A u 3 , A u 3 >_{-1}^0.5 = 4.8916251132620735e-06
Newton iteration 4 , energy = 8.748766363483881<A u 4 , A u 4 >_{-1}^0.5 = 2.665444650003669e-09
Newton iteration 5 , energy = 8.748766363483883<A u 5 , A u 5 >_{-1}^0.5 = 1.644429237486743e-15
loadstep 3
Newton iteration 0 , energy = 8.747955512559923<A u 0 , A u 0 >_{-1}^0.5 = 0.01598112098286816
Newton iteration 1 , energy = 8.748035610071787<A u 1 , A u 1 >_{-1}^0.5 = 0.020290037722240053
Newton iteration 2 , energy = 8.747830272447588<A u 2 , A u 2 >_{-1}^0.5 = 0.00026384953515993034
Newton iteration 3 , energy = 8.74783023813094<A u 3 , A u 3 >_{-1}^0.5 = 7.248678994179731e-06
Newton iteration 4 , energy = 8.747830238104656<A u 4 , A u 4 >_{-1}^0.5 = 4.7441721335652625e-09
Newton iteration 5 , energy = 8.747830238104667<A u 5 , A u 5 >_{-1}^0.5 = 3.1208629932869198e-15
loadstep 4
Newton iteration 0 , energy = 8.74677136608456<A u 0 , A u 0 >_{-1}^0.5 = 0.015500028754965135
Newton iteration 1 , energy = 8.746822181069831<A u 1 , A u 1 >_{-1}^0.5 = 0.018357337758432405
Newton iteration 2 , energy = 8.746654051147162<A u 2 , A u 2 >_{-1}^0.5 = 0.000299108714534021
Newton iteration 3 , energy = 8.746654006940766<A u 3 , A u 3 >_{-1}^0.5 = 8.721699484351973e-06
Newton iteration 4 , energy = 8.746654006902721<A u 4 , A u 4 >_{-1}^0.5 = 5.24213503220514e-09
Newton iteration 5 , energy = 8.746654006902721<A u 5 , A u 5 >_{-1}^0.5 = 3.3336885617320993e-15
loadstep 5
Newton iteration 0 , energy = 8.745363235443094<A u 0 , A u 0 >_{-1}^0.5 = 0.014945100392140165
Newton iteration 1 , energy = 8.745386960171833<A u 1 , A u 1 >_{-1}^0.5 = 0.016290257519039845
Newton iteration 2 , energy = 8.745254520464076<A u 2 , A u 2 >_{-1}^0.5 = 0.0003132391521696236
Newton iteration 3 , energy = 8.7452544718526<A u 3 , A u 3 >_{-1}^0.5 = 9.043578970234771e-06
Newton iteration 4 , energy = 8.745254471811707<A u 4 , A u 4 >_{-1}^0.5 = 4.2153184310608055e-09
Newton iteration 5 , energy = 8.745254471811702<A u 5 , A u 5 >_{-1}^0.5 = 2.875237096654065e-15
loadstep 6
Newton iteration 0 , energy = 8.743749097806283<A u 0 , A u 0 >_{-1}^0.5 = 0.014346493694429474
Newton iteration 1 , energy = 8.74375046709711<A u 1 , A u 1 >_{-1}^0.5 = 0.014246300602410923
Newton iteration 2 , energy = 8.743649143781806<A u 2 , A u 2 >_{-1}^0.5 = 0.0003093649419461343
Newton iteration 3 , energy = 8.743649096250383<A u 3 , A u 3 >_{-1}^0.5 = 8.384606931566314e-06
Newton iteration 4 , energy = 8.743649096215233<A u 4 , A u 4 >_{-1}^0.5 = 2.6921475307001484e-09
Newton iteration 5 , energy = 8.743649096215234<A u 5 , A u 5 >_{-1}^0.5 = 2.972303221788216e-15
loadstep 7
Newton iteration 0 , energy = 8.741946608055962<A u 0 , A u 0 >_{-1}^0.5 = 0.013729428634270277
Newton iteration 1 , energy = 8.741931132813368<A u 1 , A u 1 >_{-1}^0.5 = 0.012330807533929218
Newton iteration 2 , energy = 8.741855199570422<A u 2 , A u 2 >_{-1}^0.5 = 0.00029213298824604724
Newton iteration 3 , energy = 8.741855157102606<A u 3 , A u 3 >_{-1}^0.5 = 7.128970074726446e-06
Newton iteration 4 , energy = 8.741855157077195<A u 4 , A u 4 >_{-1}^0.5 = 1.4420560160055996e-09
Newton iteration 5 , energy = 8.741855157077197<A u 5 , A u 5 >_{-1}^0.5 = 3.2080622486677077e-15
loadstep 8
Newton iteration 0 , energy = 8.739972524644806<A u 0 , A u 0 >_{-1}^0.5 = 0.013113224428786832
Newton iteration 1 , energy = 8.739945347610659<A u 1 , A u 1 >_{-1}^0.5 = 0.010601366355391812
Newton iteration 2 , energy = 8.739889202270737<A u 2 , A u 2 >_{-1}^0.5 = 0.00026630591285156977
Newton iteration 3 , energy = 8.739889166926453<A u 3 , A u 3 >_{-1}^0.5 = 5.66122188765392e-06
Newton iteration 4 , energy = 8.739889166910432<A u 4 , A u 4 >_{-1}^0.5 = 6.711436961447668e-10
Newton iteration 5 , energy = 8.73988916691043<A u 5 , A u 5 >_{-1}^0.5 = 3.3155855923574752e-15
loadstep 9
Newton iteration 0 , energy = 8.737842388930513<A u 0 , A u 0 >_{-1}^0.5 = 0.01251158356059245
Newton iteration 1 , energy = 8.737807753740727<A u 1 , A u 1 >_{-1}^0.5 = 0.009079612968644873
Newton iteration 2 , energy = 8.737766557197903<A u 2 , A u 2 >_{-1}^0.5 = 0.00023601511099671064
Newton iteration 3 , energy = 8.737766529405947<A u 3 , A u 3 >_{-1}^0.5 = 4.2568302576336616e-06
Newton iteration 4 , energy = 8.737766529396884<A u 4 , A u 4 >_{-1}^0.5 = 2.774309517026351e-10
Newton iteration 5 , energy = 8.737766529396882<A u 5 , A u 5 >_{-1}^0.5 = 3.3933330254136835e-15
loadstep 10
Newton iteration 0 , energy = 8.73557038769295<A u 0 , A u 0 >_{-1}^0.5 = 0.011933492662406722
Newton iteration 1 , energy = 8.735531524207474<A u 1 , A u 1 >_{-1}^0.5 = 0.0077638167914179
Newton iteration 2 , energy = 8.735501393758714<A u 2 , A u 2 >_{-1}^0.5 = 0.0002044641727409157
Newton iteration 3 , energy = 8.735501372884304<A u 3 , A u 3 >_{-1}^0.5 = 3.063318795794603e-06
Newton iteration 4 , energy = 8.735501372879611<A u 4 , A u 4 >_{-1}^0.5 = 1.0296456033281398e-10
Newton iteration 5 , energy = 8.735501372879613<A u 5 , A u 5 >_{-1}^0.5 = 3.869141963713273e-15
loadstep 11
Newton iteration 0 , energy = 8.733169335796159<A u 0 , A u 0 >_{-1}^0.5 = 0.01138429141580289
Newton iteration 1 , energy = 8.73312856090509<A u 1 , A u 1 >_{-1}^0.5 = 0.0066390997215988925
Newton iteration 2 , energy = 8.733106521835378<A u 2 , A u 2 >_{-1}^0.5 = 0.00017390289941334272
Newton iteration 3 , energy = 8.733106506726692<A u 3 , A u 3 >_{-1}^0.5 = 2.1280128157447294e-06
Newton iteration 4 , energy = 8.73310650672442<A u 4 , A u 4 >_{-1}^0.5 = 3.4241711266693914e-11
Newton iteration 5 , energy = 8.733106506724425<A u 5 , A u 5 >_{-1}^0.5 = 4.594993524154332e-15
loadstep 12
Newton iteration 0 , energy = 8.73065073088584<A u 0 , A u 0 >_{-1}^0.5 = 0.010866663649545215
Newton iteration 1 , energy = 8.730609627352981<A u 1 , A u 1 >_{-1}^0.5 = 0.005684550176890971
Newton iteration 2 , energy = 8.730593466066004<A u 2 , A u 2 >_{-1}^0.5 = 0.00014574158623216788
Newton iteration 3 , energy = 8.730593455450633<A u 3 , A u 3 >_{-1}^0.5 = 1.437327628753792e-06
Newton iteration 4 , energy = 8.730593455449595<A u 4 , A u 4 >_{-1}^0.5 = 9.957237445335908e-12
Newton iteration 5 , energy = 8.730593455449595<A u 5 , A u 5 >_{-1}^0.5 = 4.174654380031797e-15
loadstep 13
Newton iteration 0 , energy = 8.728024846757632<A u 0 , A u 0 >_{-1}^0.5 = 0.010381451820197346
Newton iteration 1 , energy = 8.727984446186104<A u 1 , A u 1 >_{-1}^0.5 = 0.0048776443090948985
Newton iteration 2 , energy = 8.727972544723219<A u 2 , A u 2 >_{-1}^0.5 = 0.00012072280174460937
Newton iteration 3 , energy = 8.72797253743792<A u 3 , A u 3 >_{-1}^0.5 = 9.497245797808941e-07
Newton iteration 4 , energy = 8.727972537437466<A u 4 , A u 4 >_{-1}^0.5 = 2.3174647275673917e-12
Newton iteration 5 , energy = 8.727972537437468<A u 5 , A u 5 >_{-1}^0.5 = 5.002849310317548e-15
loadstep 14
Newton iteration 0 , energy = 8.725300843768164<A u 0 , A u 0 >_{-1}^0.5 = 0.009928279578329997
Newton iteration 1 , energy = 8.725261782651364<A u 1 , A u 1 >_{-1}^0.5 = 0.004196713092732418
Newton iteration 2 , energy = 8.725252970508551<A u 2 , A u 2 >_{-1}^0.5 = 9.910189072777292e-05
Newton iteration 3 , energy = 8.725252965598383<A u 3 , A u 3 >_{-1}^0.5 = 6.171499943621111e-07
Newton iteration 4 , energy = 8.725252965598198<A u 4 , A u 4 >_{-1}^0.5 = 2.685882254796529e-13
Newton iteration 5 , energy = 8.725252965598196<A u 5 , A u 5 >_{-1}^0.5 = 4.545365884606507e-15
loadstep 15
Newton iteration 0 , energy = 8.722486883056932<A u 0 , A u 0 >_{-1}^0.5 = 0.009506005046403743
Newton iteration 1 , energy = 8.722449524170578<A u 1 , A u 1 >_{-1}^0.5 = 0.0036221383603456596
Newton iteration 2 , energy = 8.722442958756766<A u 2 , A u 2 >_{-1}^0.5 = 8.080932446972731e-05
Newton iteration 3 , energy = 8.722442955491687<A u 3 , A u 3 >_{-1}^0.5 = 3.9619412040453575e-07
Newton iteration 4 , energy = 8.722442955491612<A u 4 , A u 4 >_{-1}^0.5 = 1.5332903268151023e-13
Newton iteration 5 , energy = 8.722442955491612<A u 5 , A u 5 >_{-1}^0.5 = 4.632612596269844e-15
loadstep 16
Newton iteration 0 , energy = 8.719590236980155<A u 0 , A u 0 >_{-1}^0.5 = 0.009113039187354916
Newton iteration 1 , energy = 8.719554758791887<A u 1 , A u 1 >_{-1}^0.5 = 0.003136788718783409
Newton iteration 2 , energy = 8.719549834337261<A u 2 , A u 2 >_{-1}^0.5 = 6.558227829125199e-05
Newton iteration 3 , energy = 8.719549832186642<A u 3 , A u 3 >_{-1}^0.5 = 2.5225360509797027e-07
Newton iteration 4 , energy = 8.719549832186612<A u 4 , A u 4 >_{-1}^0.5 = 1.5122874603092955e-13
Newton iteration 5 , energy = 8.719549832186614<A u 5 , A u 5 >_{-1}^0.5 = 4.673083253590647e-15
loadstep 17
Newton iteration 0 , energy = 8.716617391769224<A u 0 , A u 0 >_{-1}^0.5 = 0.008747562874561458
Newton iteration 1 , energy = 8.716583851994583<A u 1 , A u 1 >_{-1}^0.5 = 0.0027260365842174134
Newton iteration 2 , energy = 8.7165801324147<A u 2 , A u 2 >_{-1}^0.5 = 5.3062302051692375e-05
Newton iteration 3 , energy = 8.716580131006795<A u 3 , A u 3 >_{-1}^0.5 = 1.5981075026797655e-07
Newton iteration 4 , energy = 8.716580131006781<A u 4 , A u 4 >_{-1}^0.5 = 9.224752668440819e-14
loadstep 18
Newton iteration 0 , energy = 8.713574140655613<A u 0 , A u 0 >_{-1}^0.5 = 0.008407670778941879
Newton iteration 1 , energy = 8.713542520325504<A u 1 , A u 1 >_{-1}^0.5 = 0.002377567532422758
Newton iteration 2 , energy = 8.713539690707933<A u 2 , A u 2 >_{-1}^0.5 = 4.286186458995396e-05
Newton iteration 3 , energy = 8.713539689789291<A u 3 , A u 3 >_{-1}^0.5 = 1.0101914428210144e-07
Newton iteration 4 , energy = 8.713539689789279<A u 4 , A u 4 >_{-1}^0.5 = 4.863191904967964e-14
loadstep 19
Newton iteration 0 , energy = 8.710465667024843<A u 0 , A u 0 >_{-1}^0.5 = 0.008091463798915158
Newton iteration 1 , energy = 8.710435900463288<A u 1 , A u 1 >_{-1}^0.5 = 0.0020811047922867803
Newton iteration 2 , energy = 8.710433732402823<A u 2 , A u 2 >_{-1}^0.5 = 3.460554942544353e-05
Newton iteration 3 , energy = 8.710433731804002<A u 3 , A u 3 >_{-1}^0.5 = 6.385680131866178e-08
Newton iteration 4 , energy = 8.710433731804<A u 4 , A u 4 >_{-1}^0.5 = 2.3417141752008798e-14
loadstep 20
Newton iteration 0 , energy = 8.707296617905458<A u 0 , A u 0 >_{-1}^0.5 = 0.007797106054490039
Newton iteration 1 , energy = 8.707268612789708<A u 1 , A u 1 >_{-1}^0.5 = 0.0018281159208560441
Newton iteration 2 , energy = 8.707266939759124<A u 2 , A u 2 >_{-1}^0.5 = 2.7952479967011444e-05
Newton iteration 3 , energy = 8.707266939368422<A u 3 , A u 3 >_{-1}^0.5 = 4.043944325300554e-08
Newton iteration 4 , energy = 8.707266939368418<A u 4 , A u 4 >_{-1}^0.5 = 1.2874955689513616e-14
loadstep 21
Newton iteration 0 , energy = 8.704071168483761<A u 0 , A u 0 >_{-1}^0.5 = 0.00752285790961264
Newton iteration 1 , energy = 8.704044819049004<A u 1 , A u 1 >_{-1}^0.5 = 0.0016115353156389335
Newton iteration 2 , energy = 8.704043518933695<A u 2 , A u 2 >_{-1}^0.5 = 2.26059820842545e-05
Newton iteration 3 , energy = 8.704043518678157<A u 3 , A u 3 >_{-1}^0.5 = 2.5693534029140424e-08
Newton iteration 4 , energy = 8.70404351867816<A u 4 , A u 4 >_{-1}^0.5 = 7.718787627007617e-15
loadstep 22
Newton iteration 0 , energy = 8.700793078503203<A u 0 , A u 0 >_{-1}^0.5 = 0.007267093060730532
Newton iteration 1 , energy = 8.700768274070779<A u 1 , A u 1 >_{-1}^0.5 = 0.0014255171678065454
Newton iteration 2 , energy = 8.70076725677529<A u 2 , A u 2 >_{-1}^0.5 = 1.8315289798288272e-05
Newton iteration 3 , energy = 8.700767256607556<A u 3 , A u 3 >_{-1}^0.5 = 1.639650000717179e-08
Newton iteration 4 , energy = 8.700767256607557<A u 4 , A u 4 >_{-1}^0.5 = 5.9252339479580015e-15
loadstep 23
Newton iteration 0 , energy = 8.697465741449388<A u 0 , A u 0 >_{-1}^0.5 = 0.0070283052427498474
Newton iteration 1 , energy = 8.697442371797749<A u 1 , A u 1 >_{-1}^0.5 = 0.0012652231229573344
Newton iteration 2 , energy = 8.697441570430097<A u 2 , A u 2 >_{-1}^0.5 = 1.487278040812997e-05
Newton iteration 3 , energy = 8.697441570319487<A u 3 , A u 3 >_{-1}^0.5 = 1.05186319043015e-08
Newton iteration 4 , energy = 8.697441570319487<A u 4 , A u 4 >_{-1}^0.5 = 5.2327511658346325e-15
loadstep 24
Newton iteration 0 , energy = 8.694092227393039<A u 0 , A u 0 >_{-1}^0.5 = 0.006805108340818874
Newton iteration 1 , energy = 8.694070186017763<A u 1 , A u 1 >_{-1}^0.5 = 0.0011266436800944834
Newton iteration 2 , energy = 8.694069550595463<A u 2 , A u 2 >_{-1}^0.5 = 1.2109069700848958e-05
Newton iteration 3 , energy = 8.69406955052215<A u 3 , A u 3 >_{-1}^0.5 = 6.787739528379722e-09
Newton iteration 4 , energy = 8.694069550522144<A u 4 , A u 4 >_{-1}^0.5 = 6.165749559089444e-15
loadstep 25
Newton iteration 0 , energy = 8.690675320299126<A u 0 , A u 0 >_{-1}^0.5 = 0.006596232465389403
Newton iteration 1 , energy = 8.690654506275454<A u 1 , A u 1 >_{-1}^0.5 = 0.0010064499991252892
Newton iteration 2 , energy = 8.690653999211646<A u 2 , A u 2 >_{-1}^0.5 = 9.887408053529685e-06
Newton iteration 3 , energy = 8.690653999162762<A u 3 , A u 3 >_{-1}^0.5 = 4.40806520003665e-09
Newton iteration 4 , energy = 8.690653999162764<A u 4 , A u 4 >_{-1}^0.5 = 6.220448732630973e-15
loadstep 26
Newton iteration 0 , energy = 8.68721755053038<A u 0 , A u 0 >_{-1}^0.5 = 0.006400517697526512
Newton iteration 1 , energy = 8.687197869461734<A u 1 , A u 1 >_{-1}^0.5 = 0.0009018719819687945
Newton iteration 2 , energy = 8.687197462311364<A u 2 , A u 2 >_{-1}^0.5 = 8.09819289257805e-06
Newton iteration 3 , energy = 8.687197462278565<A u 3 , A u 3 >_{-1}^0.5 = 2.88180057064227e-09
Newton iteration 4 , energy = 8.687197462278563<A u 4 , A u 4 >_{-1}^0.5 = 6.114021593724562e-15
loadstep 27
Newton iteration 0 , energy = 8.683721223189794<A u 0 , A u 0 >_{-1}^0.5 = 0.006216906629666997
Newton iteration 1 , energy = 8.683702587568161<A u 1 , A u 1 >_{-1}^0.5 = 0.0008105984822207946
Newton iteration 2 , energy = 8.683702258669634<A u 2 , A u 2 >_{-1}^0.5 = 6.654005046894581e-06
Newton iteration 3 , energy = 8.683702258647491<A u 3 , A u 3 >_{-1}^0.5 = 1.8969677304048916e-09
Newton iteration 4 , energy = 8.683702258647497<A u 4 , A u 4 >_{-1}^0.5 = 6.431111182124237e-15
loadstep 28
Newton iteration 0 , energy = 8.680188442866308<A u 0 , A u 0 >_{-1}^0.5 = 0.006044436430119604
Newton iteration 1 , energy = 8.680170772062887<A u 1 , A u 1 >_{-1}^0.5 = 0.000730695854462837
Newton iteration 2 , energy = 8.680170504818914<A u 2 , A u 2 >_{-1}^0.5 = 5.48532788525342e-06
Newton iteration 3 , energy = 8.680170504803865<A u 3 , A u 3 >_{-1}^0.5 = 1.257427314135819e-09
Newton iteration 4 , energy = 8.680170504803861<A u 4 , A u 4 >_{-1}^0.5 = 5.880160114780966e-15
loadstep 29
Newton iteration 0 , energy = 8.676621135273345<A u 0 , A u 0 >_{-1}^0.5 = 0.0058822308925266876
Newton iteration 1 , energy = 8.676604355304637<A u 1 , A u 1 >_{-1}^0.5 = 0.000660541549515773
Newton iteration 2 , energy = 8.676604136921796<A u 2 , A u 2 >_{-1}^0.5 = 4.536967917121361e-06
Newton iteration 3 , energy = 8.676604136911498<A u 3 , A u 3 >_{-1}^0.5 = 8.39360068747611e-10
Newton iteration 4 , energy = 8.6766041369115<A u 4 , A u 4 >_{-1}^0.5 = 6.434427894535874e-15
loadstep 30
Newton iteration 0 , energy = 8.673021066202953<A u 0 , A u 0 >_{-1}^0.5 = 0.005729492751292869
Newton iteration 1 , energy = 8.673005109368702<A u 1 , A u 1 >_{-1}^0.5 = 0.000598769974877123
Newton iteration 2 , energy = 8.673004929927785<A u 2 , A u 2 >_{-1}^0.5 = 3.7651240068137947e-06
Newton iteration 3 , energy = 8.6730049299207<A u 3 , A u 3 >_{-1}^0.5 = 5.6422166756171e-10
Newton iteration 4 , energy = 8.673004929920696<A u 4 , A u 4 >_{-1}^0.5 = 6.527772103531531e-15
loadstep 31
Newton iteration 0 , energy = 8.669389858159557<A u 0 , A u 0 >_{-1}^0.5 = 0.005585496424928442
Newton iteration 1 , energy = 8.66937466261523<A u 1 , A u 1 >_{-1}^0.5 = 0.0005442283166908639
Newton iteration 2 , energy = 8.669374514381584<A u 2 , A u 2 >_{-1}^0.5 = 3.1350221731811396e-06
Newton iteration 3 , energy = 8.66937451437667<A u 3 , A u 3 >_{-1}^0.5 = 3.819083616163697e-10
Newton iteration 4 , energy = 8.669374514376667<A u 4 , A u 4 >_{-1}^0.5 = 5.460580335139218e-15
loadstep 32
Newton iteration 0 , energy = 8.66572900498611<A u 0 , A u 0 >_{-1}^0.5 = 0.005449581270425727
Newton iteration 1 , energy = 8.665714514290284<A u 1 , A u 1 >_{-1}^0.5 = 0.0004959404367380991
Newton iteration 2 , energy = 8.665714391199181<A u 2 , A u 2 >_{-1}^0.5 = 2.6190258486032717e-06
Newton iteration 3 , energy = 8.66571439119575<A u 3 , A u 3 >_{-1}^0.5 = 2.60279277312741e-10
Newton iteration 4 , energy = 8.66571439119575<A u 4 , A u 4 >_{-1}^0.5 = 6.876999349442165e-15
loadstep 33
Newton iteration 0 , energy = 8.662039884750648<A u 0 , A u 0 >_{-1}^0.5 = 0.0053211453810859425
Newton iteration 1 , energy = 8.66202604741291<A u 1 , A u 1 >_{-1}^0.5 = 0.0004530773115021773
Newton iteration 2 , energy = 8.662025944683327<A u 2 , A u 2 >_{-1}^0.5 = 2.195136299824113e-06
Newton iteration 3 , energy = 8.662025944680916<A u 3 , A u 3 >_{-1}^0.5 = 1.7858517828828547e-10
Newton iteration 4 , energy = 8.662025944680916<A u 4 , A u 4 >_{-1}^0.5 = 6.825147332897375e-15
loadstep 34
Newton iteration 0 , energy = 8.65832377112368<A u 0 , A u 0 >_{-1}^0.5 = 0.005199639928201009
Newton iteration 1 , energy = 8.658310540168342<A u 1 , A u 1 >_{-1}^0.5 = 0.00041493277335453706
Newton iteration 2 , energy = 8.658310454011463<A u 2 , A u 2 >_{-1}^0.5 = 1.8458080205910548e-06
Newton iteration 3 , energy = 8.65831045400976<A u 3 , A u 3 >_{-1}^0.5 = 1.2334135591091833e-10
Newton iteration 4 , energy = 8.65831045400976<A u 4 , A u 4 >_{-1}^0.5 = 6.2656653159845355e-15
loadstep 35
Newton iteration 0 , energy = 8.654581843443761<A u 0 , A u 0 >_{-1}^0.5 = 0.005084564027368645
Newton iteration 1 , energy = 8.65456917599831<A u 1 , A u 1 >_{-1}^0.5 = 0.0003809035534971573
Newton iteration 2 , energy = 8.654569103396332<A u 2 , A u 2 >_{-1}^0.5 = 1.5570154928636928e-06
Newton iteration 3 , energy = 8.65456910339512<A u 3 , A u 3 >_{-1}^0.5 = 8.573676186893288e-11
Newton iteration 4 , energy = 8.654569103395126<A u 4 , A u 4 >_{-1}^0.5 = 5.76775264980511e-15
loadstep 36
Newton iteration 0 , energy = 8.650815195641044<A u 0 , A u 0 >_{-1}^0.5 = 0.004975460099006353
Newton iteration 1 , energy = 8.650803052553723<A u 1 , A u 1 >_{-1}^0.5 = 0.00035047282042633874
Newton iteration 2 , energy = 8.650802991091053<A u 2 , A u 2 >_{-1}^0.5 = 1.3175190451401044e-06
Newton iteration 3 , energy = 8.650802991090183<A u 3 , A u 3 >_{-1}^0.5 = 5.997637303832203e-11
Newton iteration 4 , energy = 8.650802991090188<A u 4 , A u 4 >_{-1}^0.5 = 5.82030708703465e-15
loadstep 37
Newton iteration 0 , energy = 8.647024844164545<A u 0 , A u 0 >_{-1}^0.5 = 0.004871909687065787
Newton iteration 1 , energy = 8.647013189652872<A u 1 , A u 1 >_{-1}^0.5 = 0.0003231965645317713
Newton iteration 2 , energy = 8.647013137386656<A u 2 , A u 2 >_{-1}^0.5 = 1.1182875719093986e-06
Newton iteration 3 , energy = 8.647013137386038<A u 3 , A u 3 >_{-1}^0.5 = 4.221365988600175e-11
Newton iteration 4 , energy = 8.647013137386041<A u 4 , A u 4 >_{-1}^0.5 = 5.669507193071544e-15
loadstep 38
Newton iteration 0 , energy = 8.643211735038836<A u 0 , A u 0 >_{-1}^0.5 = 0.004773529697628943
Newton iteration 1 , energy = 8.643200536368834<A u 1 , A u 1 >_{-1}^0.5 = 0.00029869230501428914
Newton iteration 2 , energy = 8.643200491729171<A u 2 , A u 2 >_{-1}^0.5 = 9.520444187875533e-07
Newton iteration 3 , energy = 8.64320049172872<A u 3 , A u 3 >_{-1}^0.5 = 2.989048443538447e-11
Newton iteration 4 , energy = 8.643200491728715<A u 4 , A u 4 >_{-1}^0.5 = 5.971209208862062e-15
loadstep 39
Newton iteration 0 , energy = 8.639376750158188<A u 0 , A u 0 >_{-1}^0.5 = 0.004679969019269204
Newton iteration 1 , energy = 8.63936597735336<A u 1 , A u 1 >_{-1}^0.5 = 0.00027662969643363594
Newton iteration 2 , energy = 8.639365939065923<A u 2 , A u 2 >_{-1}^0.5 = 8.129098315501413e-07
Newton iteration 3 , energy = 8.639365939065597<A u 3 , A u 3 >_{-1}^0.5 = 2.1290816287844937e-11
Newton iteration 4 , energy = 8.639365939065595<A u 4 , A u 4 >_{-1}^0.5 = 7.565470493949542e-15
loadstep 40
Newton iteration 0 , energy = 8.635520712911946<A u 0 , A u 0 >_{-1}^0.5 = 0.0045909054884690735
Newton iteration 1 , energy = 8.635510338490109<A u 1 , A u 1 >_{-1}^0.5 = 0.0002567226930853743
Newton iteration 2 , energy = 8.635510305515965<A u 2 , A u 2 >_{-1}^0.5 = 6.961190114543029e-07
Newton iteration 3 , energy = 8.63551030551572<A u 3 , A u 3 >_{-1}^0.5 = 1.5249050162042145e-11
Newton iteration 4 , energy = 8.635510305515723<A u 4 , A u 4 >_{-1}^0.5 = 6.596524833738617e-15
loadstep 41
Newton iteration 0 , energy = 8.631644393221706<A u 0 , A u 0 >_{-1}^0.5 = 0.004506043165566679
Newton iteration 1 , energy = 8.631634391957725<A u 1 , A u 1 >_{-1}^0.5 = 0.00023872299419606035
Newton iteration 2 , energy = 8.631634363446205<A u 2 , A u 2 >_{-1}^0.5 = 5.97799401043858e-07
Newton iteration 3 , energy = 8.631634363446027<A u 3 , A u 3 >_{-1}^0.5 = 1.0984013800846614e-11
Newton iteration 4 , energy = 8.631634363446027<A u 4 , A u 4 >_{-1}^0.5 = 6.434253845618305e-15
loadstep 42
Newton iteration 0 , energy = 8.627748512060565<A u 0 , A u 0 >_{-1}^0.5 = 0.004425109889385245
Newton iteration 1 , energy = 8.627738860772805<A u 1 , A u 1 >_{-1}^0.5 = 0.00022241454517858274
Newton iteration 2 , energy = 8.62773883602448<A u 2 , A u 2 >_{-1}^0.5 = 5.147943878414623e-07
Newton iteration 3 , energy = 8.627738836024351<A u 3 , A u 3 >_{-1}^0.5 = 7.953837825272678e-12
Newton iteration 4 , energy = 8.627738836024356<A u 4 , A u 4 >_{-1}^0.5 = 6.969418243692091e-15
loadstep 43
Newton iteration 0 , energy = 8.623833745515205<A u 0 , A u 0 >_{-1}^0.5 = 0.004347855081375148
Newton iteration 1 , energy = 8.62382442287345<A u 1 , A u 1 >_{-1}^0.5 = 0.00020760891187333755
Newton iteration 2 , energy = 8.623824401310939<A u 2 , A u 2 >_{-1}^0.5 = 4.4452343135958536e-07
Newton iteration 3 , energy = 8.623824401310843<A u 3 , A u 3 >_{-1}^0.5 = 5.789889693363003e-12
Newton iteration 4 , energy = 8.623824401310843<A u 4 , A u 4 >_{-1}^0.5 = 7.128717031937872e-15
loadstep 44
Newton iteration 0 , energy = 8.619900728443673<A u 0 , A u 0 >_{-1}^0.5 = 0.004274047772882191
Newton iteration 1 , energy = 8.619891714796632<A u 1 , A u 1 >_{-1}^0.5 = 0.00019414137852419113
Newton iteration 2 , energy = 8.619891695941396<A u 2 , A u 2 >_{-1}^0.5 = 3.8487082467957607e-07
Newton iteration 3 , energy = 8.619891695941323<A u 3 , A u 3 >_{-1}^0.5 = 4.237874056832681e-12
Newton iteration 4 , energy = 8.61989169594132<A u 4 , A u 4 >_{-1}^0.5 = 6.882647250632637e-15
loadstep 45
Newton iteration 0 , energy = 8.615950057775086<A u 0 , A u 0 >_{-1}^0.5 = 0.004203474831745118
Newton iteration 1 , energy = 8.61594133499536<A u 1 , A u 1 >_{-1}^0.5 = 0.00018186764736703116
Newton iteration 2 , energy = 8.615941318449256<A u 2 , A u 2 >_{-1}^0.5 = 3.3409699001414407e-07
Newton iteration 3 , energy = 8.615941318449202<A u 3 , A u 3 >_{-1}^0.5 = 3.1148966253134502e-12
Newton iteration 4 , energy = 8.61594131844921<A u 4 , A u 4 >_{-1}^0.5 = 7.761505571827914e-15
loadstep 46
Newton iteration 0 , energy = 8.611982295491368<A u 0 , A u 0 >_{-1}^0.5 = 0.004135939366895727
Newton iteration 1 , energy = 8.611973846836175<A u 1 , A u 1 >_{-1}^0.5 = 0.00017066103967545437
Newton iteration 2 , energy = 8.611973832266731<A u 2 , A u 2 >_{-1}^0.5 = 2.907675675402212e-07
Newton iteration 3 , energy = 8.611973832266685<A u 3 , A u 3 >_{-1}^0.5 = 2.3039915009873295e-12
Newton iteration 4 , energy = 8.611973832266692<A u 4 , A u 4 >_{-1}^0.5 = 6.363704995673705e-15
loadstep 47
Newton iteration 0 , energy = 8.607997971326375<A u 0 , A u 0 >_{-1}^0.5 = 0.0040712592919043425
Newton iteration 1 , energy = 8.607989781312382<A u 1 , A u 1 >_{-1}^0.5 = 0.0001604101159360126
Newton iteration 2 , energy = 8.607989768440916<A u 2 , A u 2 >_{-1}^0.5 = 2.536965729424066e-07
Newton iteration 3 , energy = 8.607989768440882<A u 3 , A u 3 >_{-1}^0.5 = 1.7108309214680905e-12
Newton iteration 4 , energy = 8.607989768440891<A u 4 , A u 4 >_{-1}^0.5 = 6.509271023273424e-15
loadstep 48
Newton iteration 0 , energy = 8.60399758521309<A u 0 , A u 0 >_{-1}^0.5 = 0.004009266030420786
Newton iteration 1 , energy = 8.603989639503842<A u 1 , A u 1 >_{-1}^0.5 = 0.00015101664724657496
Newton iteration 2 , energy = 8.603989628095974<A u 2 , A u 2 >_{-1}^0.5 = 2.2190070069495442e-07
Newton iteration 3 , energy = 8.603989628095952<A u 3 , A u 3 >_{-1}^0.5 = 1.27461717511966e-12
Newton iteration 4 , energy = 8.603989628095952<A u 4 , A u 4 >_{-1}^0.5 = 7.032488339541601e-15
loadstep 49
Newton iteration 0 , energy = 8.59998160950617<A u 0 , A u 0 >_{-1}^0.5 = 0.003949803348440155
Newton iteration 1 , energy = 8.599973894810804<A u 1 , A u 1 >_{-1}^0.5 = 0.00014239388187176744
Newton iteration 2 , energy = 8.59997388466869<A u 2 , A u 2 >_{-1}^0.5 = 1.9456250115882893e-07
Newton iteration 3 , energy = 8.599973884668675<A u 3 , A u 3 >_{-1}^0.5 = 9.557902578739155e-13
Newton iteration 4 , energy = 8.599973884668676<A u 4 , A u 4 >_{-1}^0.5 = 8.233236167879098e-15
[13]:
Draw(gfu_l,mesh, interpolate_multidim=True, animate=True,
deformation=True, min=0, max=1, autoscale=False)
[13]:
WebGLScene
Supplementary 1: Allen-Cahn equation¶
The Allen-Cahn equations describe the process of phase separation and is the (\(L^2\)) gradient-flow equation to the energy
where \(\Psi(v)\) is the so-called double-well potential with the minima \(-1,0,1\) (with \(0\) being an unstable minima).
The solution to the Allen-Cahn equation solves
The quantity \(u\) is an indicator for a phase where \(-1\) refers to one phase and \(1\) to another phase.
The equation has two driving forces:
\(u\) is pulled into one of the two stable minima states (\(-1\) and \(1\)) of the nonlinear term \(u^2(1-u^2)\) (separation of the phases)
the diffusion term scaled with \(\varepsilon\) enforces a smooth transition between the two phases. \(\varepsilon\) determines the size of the transition layer
We use the Energy formulation for energy minimization combined with a simple time stepping with an implicit Euler discretization:
which we can interprete as a nonlinear minimization problem again with the energy
To solve the nonlinear equation at every time step we again rely on Newton’s method. We first define the periodic geometry, setup the formulation and then apply Newton’s method in the next cells:
[14]:
# define periodic geometry and generate mesh
shape = Rectangle(1,1).Face()
right=shape.edges.Max(X)
right.name="right"
shape.edges.Min(X).Identify(right,name="left")
top=shape.edges.Max(Y)
top.name="top"
shape.edges.Min(Y).Identify(top,name="bottom")
geom = OCCGeometry(shape, dim=2)
mesh = Mesh(geom.GenerateMesh(maxh=0.1))
[15]:
#use a periodic fe space correspondingly
V = Periodic(H1(mesh, order=3))
u = V.TrialFunction()
eps = 4e-3
dt = Parameter(1e-1)
gfu = GridFunction(V)
gfuold = GridFunction(V)
a = BilinearForm (V, symmetric=False)
a += Variation( (eps/2*grad(u)*grad(u) + ((1-u*u)*(1-u*u))
+ 0.5/dt*(u-gfuold)*(u-gfuold)) * dx)
[16]:
from math import pi
gfu = GridFunction(V)
#gfu.Set(sin(2*pi*x)) # regular initial values
gfu.Set(sin(1e7*(x+y*y))) #<- essentially a random function
gfu_t = GridFunction(V, multidim=0)
gfu_t.AddMultiDimComponent(0.1*gfu.vec)
[17]:
t = 0; tend = 5; cnt = 0; sample_rate = int(floor(0.5/dt.Get()))
while t < tend - 0.5 * dt.Get():
gfuold.vec.data = gfu.vec
SolveNonlinearMinProblem(a,gfu)
if (cnt+1) % sample_rate == 0:
gfu_t.AddMultiDimComponent(0.1*gfu.vec)
t += dt.Get(); cnt += 1
print("t = ", t)
Newton iteration 0 , energy = 11.15552758307916<A u 0 , A u 0 >_{-1}^0.5 = 3.9029676599964356
Newton iteration 1 , energy = 3.0317583481803068<A u 1 , A u 1 >_{-1}^0.5 = 0.5872637683334881
Newton iteration 2 , energy = 2.8518153191410405<A u 2 , A u 2 >_{-1}^0.5 = 0.051517175282283015
Newton iteration 3 , energy = 2.8504702543586937<A u 3 , A u 3 >_{-1}^0.5 = 0.0012747176928646713
Newton iteration 4 , energy = 2.8504694412450684<A u 4 , A u 4 >_{-1}^0.5 = 1.6950502750841784e-06
Newton iteration 5 , energy = 2.8504694412436327<A u 5 , A u 5 >_{-1}^0.5 = 4.232297723054353e-12
Newton iteration 6 , energy = 2.850469441243633<A u 6 , A u 6 >_{-1}^0.5 = 3.5526946176400224e-16
t = 0.1
Newton iteration 0 , energy = 1.4798260774123717<A u 0 , A u 0 >_{-1}^0.5 = 0.822591648126675
Newton iteration 1 , energy = 1.1356965619182875<A u 1 , A u 1 >_{-1}^0.5 = 0.0410086626319186
Newton iteration 2 , energy = 1.1348504604861942<A u 2 , A u 2 >_{-1}^0.5 = 0.00048089870118149357
Newton iteration 3 , energy = 1.1348503448283511<A u 3 , A u 3 >_{-1}^0.5 = 1.8404732692354064e-07
Newton iteration 4 , energy = 1.1348503448283342<A u 4 , A u 4 >_{-1}^0.5 = 4.295240407956699e-14
t = 0.2
Newton iteration 0 , energy = 1.0118266140967558<A u 0 , A u 0 >_{-1}^0.5 = 0.3491278883084143
Newton iteration 1 , energy = 0.9512089196836602<A u 1 , A u 1 >_{-1}^0.5 = 0.012892609175849987
Newton iteration 2 , energy = 0.9511256001031918<A u 2 , A u 2 >_{-1}^0.5 = 5.536184437014148e-05
Newton iteration 3 , energy = 0.9511255985706929<A u 3 , A u 3 >_{-1}^0.5 = 1.905642870691798e-09
Newton iteration 4 , energy = 0.9511255985706932<A u 4 , A u 4 >_{-1}^0.5 = 1.4922834606260872e-16
t = 0.30000000000000004
Newton iteration 0 , energy = 0.9110905742648309<A u 0 , A u 0 >_{-1}^0.5 = 0.2587541018735001
Newton iteration 1 , energy = 0.8783690430528547<A u 1 , A u 1 >_{-1}^0.5 = 0.01187772922951254
Newton iteration 2 , energy = 0.8782983071331121<A u 2 , A u 2 >_{-1}^0.5 = 5.3671261920360524e-05
Newton iteration 3 , energy = 0.8782983056927813<A u 3 , A u 3 >_{-1}^0.5 = 1.6969039116113892e-09
Newton iteration 4 , energy = 0.8782983056927812<A u 4 , A u 4 >_{-1}^0.5 = 1.4375126064670873e-16
t = 0.4
Newton iteration 0 , energy = 0.8471297100896069<A u 0 , A u 0 >_{-1}^0.5 = 0.25377371439216867
Newton iteration 1 , energy = 0.8159840305905824<A u 1 , A u 1 >_{-1}^0.5 = 0.01377689296931724
Newton iteration 2 , energy = 0.8158888392657972<A u 2 , A u 2 >_{-1}^0.5 = 6.72109322389025e-05
Newton iteration 3 , energy = 0.8158888370070935<A u 3 , A u 3 >_{-1}^0.5 = 2.30801352210891e-09
Newton iteration 4 , energy = 0.815888837007094<A u 4 , A u 4 >_{-1}^0.5 = 1.6310351643583543e-16
t = 0.5
Newton iteration 0 , energy = 0.7833250286621231<A u 0 , A u 0 >_{-1}^0.5 = 0.26294142561404554
Newton iteration 1 , energy = 0.750071642722539<A u 1 , A u 1 >_{-1}^0.5 = 0.01589990524650942
Newton iteration 2 , energy = 0.7499447950735364<A u 2 , A u 2 >_{-1}^0.5 = 8.989579063248679e-05
Newton iteration 3 , energy = 0.749944791032789<A u 3 , A u 3 >_{-1}^0.5 = 4.324126849388912e-09
Newton iteration 4 , energy = 0.7499447910327893<A u 4 , A u 4 >_{-1}^0.5 = 1.8125586160576766e-16
t = 0.6
Newton iteration 0 , energy = 0.7154946859834883<A u 0 , A u 0 >_{-1}^0.5 = 0.26691233531159064
Newton iteration 1 , energy = 0.6812710898968131<A u 1 , A u 1 >_{-1}^0.5 = 0.01675474898717961
Newton iteration 2 , energy = 0.6811301927204856<A u 2 , A u 2 >_{-1}^0.5 = 0.00010545670351904199
Newton iteration 3 , energy = 0.6811301871596956<A u 3 , A u 3 >_{-1}^0.5 = 7.2210562391606785e-09
Newton iteration 4 , energy = 0.6811301871596958<A u 4 , A u 4 >_{-1}^0.5 = 1.9566149223564614e-16
t = 0.7
Newton iteration 0 , energy = 0.6467836239728084<A u 0 , A u 0 >_{-1}^0.5 = 0.26232034385760594
Newton iteration 1 , energy = 0.6136408725154114<A u 1 , A u 1 >_{-1}^0.5 = 0.01582802112679927
Newton iteration 2 , energy = 0.613515171684183<A u 2 , A u 2 >_{-1}^0.5 = 9.120067976395061e-05
Newton iteration 3 , energy = 0.6135151675252583<A u 3 , A u 3 >_{-1}^0.5 = 5.087267438053952e-09
Newton iteration 4 , energy = 0.6135151675252584<A u 4 , A u 4 >_{-1}^0.5 = 2.010480184757882e-16
t = 0.7999999999999999
Newton iteration 0 , energy = 0.5810325747790682<A u 0 , A u 0 >_{-1}^0.5 = 0.25309740388912616
Newton iteration 1 , energy = 0.5501189246296488<A u 1 , A u 1 >_{-1}^0.5 = 0.014529399261869776
Newton iteration 2 , energy = 0.5500130410040379<A u 2 , A u 2 >_{-1}^0.5 = 7.363869809271967e-05
Newton iteration 3 , energy = 0.5500130382926427<A u 3 , A u 3 >_{-1}^0.5 = 2.943680825079904e-09
Newton iteration 4 , energy = 0.550013038292643<A u 4 , A u 4 >_{-1}^0.5 = 2.3109096076531533e-16
t = 0.8999999999999999
Newton iteration 0 , energy = 0.5200191268203633<A u 0 , A u 0 >_{-1}^0.5 = 0.2419582156136755
Newton iteration 1 , energy = 0.49195055422790607<A u 1 , A u 1 >_{-1}^0.5 = 0.016199909361125905
Newton iteration 2 , energy = 0.49181865735246194<A u 2 , A u 2 >_{-1}^0.5 = 0.00013877000725200832
Newton iteration 3 , energy = 0.4918186477232017<A u 3 , A u 3 >_{-1}^0.5 = 1.6162235006195068e-08
Newton iteration 4 , energy = 0.4918186477232019<A u 4 , A u 4 >_{-1}^0.5 = 3.7377893653211843e-16
t = 0.9999999999999999
Newton iteration 0 , energy = 0.46529832168488106<A u 0 , A u 0 >_{-1}^0.5 = 0.22254165791068473
Newton iteration 1 , energy = 0.44171381829103645<A u 1 , A u 1 >_{-1}^0.5 = 0.01725443471476226
Newton iteration 2 , energy = 0.44156388410065717<A u 2 , A u 2 >_{-1}^0.5 = 0.0002033177074064297
Newton iteration 3 , energy = 0.4415638634291051<A u 3 , A u 3 >_{-1}^0.5 = 3.792703673203844e-08
Newton iteration 4 , energy = 0.44156386342910425<A u 4 , A u 4 >_{-1}^0.5 = 1.4748612973807136e-15
t = 1.0999999999999999
Newton iteration 0 , energy = 0.4205372504665093<A u 0 , A u 0 >_{-1}^0.5 = 0.19203379300738613
Newton iteration 1 , energy = 0.4029001094115159<A u 1 , A u 1 >_{-1}^0.5 = 0.013500636012613441
Newton iteration 2 , energy = 0.4028084746911073<A u 2 , A u 2 >_{-1}^0.5 = 0.00011906321623924551
Newton iteration 3 , energy = 0.4028084676026184<A u 3 , A u 3 >_{-1}^0.5 = 1.2055948397225629e-08
Newton iteration 4 , energy = 0.4028084676026182<A u 4 , A u 4 >_{-1}^0.5 = 2.7817219347399866e-16
t = 1.2
Newton iteration 0 , energy = 0.3878905813907025<A u 0 , A u 0 >_{-1}^0.5 = 0.15838607100912397
Newton iteration 1 , energy = 0.37581637306468685<A u 1 , A u 1 >_{-1}^0.5 = 0.01003812871143786
Newton iteration 2 , energy = 0.3757657174693919<A u 2 , A u 2 >_{-1}^0.5 = 9.086309328458805e-05
Newton iteration 3 , energy = 0.3757657133410193<A u 3 , A u 3 >_{-1}^0.5 = 1.0914660015630002e-08
Newton iteration 4 , energy = 0.37576571334101927<A u 4 , A u 4 >_{-1}^0.5 = 3.008672018565999e-16
t = 1.3
Newton iteration 0 , energy = 0.365844854310358<A u 0 , A u 0 >_{-1}^0.5 = 0.1278588589632411
Newton iteration 1 , energy = 0.35790107394715204<A u 1 , A u 1 >_{-1}^0.5 = 0.006493955588224941
Newton iteration 2 , energy = 0.3578799070803809<A u 2 , A u 2 >_{-1}^0.5 = 4.1328063058075e-05
Newton iteration 3 , energy = 0.35787990622634525<A u 3 , A u 3 >_{-1}^0.5 = 2.3114039986462153e-09
Newton iteration 4 , energy = 0.35787990622634547<A u 4 , A u 4 >_{-1}^0.5 = 2.659242353110686e-16
t = 1.4000000000000001
Newton iteration 0 , energy = 0.3513724379199406<A u 0 , A u 0 >_{-1}^0.5 = 0.10411973204306094
Newton iteration 1 , energy = 0.3460518695657856<A u 1 , A u 1 >_{-1}^0.5 = 0.003679967871960875
Newton iteration 2 , energy = 0.34604508616200824<A u 2 , A u 2 >_{-1}^0.5 = 1.1245500471488909e-05
Newton iteration 3 , energy = 0.3460450860987772<A u 3 , A u 3 >_{-1}^0.5 = 1.5959153918772484e-10
Newton iteration 4 , energy = 0.3460450860987771<A u 4 , A u 4 >_{-1}^0.5 = 2.7978061948135306e-16
t = 1.5000000000000002
Newton iteration 0 , energy = 0.34155788210304106<A u 0 , A u 0 >_{-1}^0.5 = 0.08812837810569059
Newton iteration 1 , energy = 0.3377216160861495<A u 1 , A u 1 >_{-1}^0.5 = 0.0022478960936431988
Newton iteration 2 , energy = 0.33771908754736174<A u 2 , A u 2 >_{-1}^0.5 = 3.0487964167745e-06
Newton iteration 3 , energy = 0.3377190875427141<A u 3 , A u 3 >_{-1}^0.5 = 9.322421499200016e-12
Newton iteration 4 , energy = 0.3377190875427143<A u 4 , A u 4 >_{-1}^0.5 = 2.736860978060261e-16
t = 1.6000000000000003
Newton iteration 0 , energy = 0.33433895104480554<A u 0 , A u 0 >_{-1}^0.5 = 0.0780663773034527
Newton iteration 1 , energy = 0.3313186158522756<A u 1 , A u 1 >_{-1}^0.5 = 0.001672517897490751
Newton iteration 2 , energy = 0.3313172165169984<A u 2 , A u 2 >_{-1}^0.5 = 1.3750415508145017e-06
Newton iteration 3 , energy = 0.33131721651605284<A u 3 , A u 3 >_{-1}^0.5 = 1.6855303311607961e-12
Newton iteration 4 , energy = 0.3313172165160529<A u 4 , A u 4 >_{-1}^0.5 = 2.5881663206175937e-16
t = 1.7000000000000004
Newton iteration 0 , energy = 0.3285582350416463<A u 0 , A u 0 >_{-1}^0.5 = 0.07154070965730604
Newton iteration 1 , energy = 0.3260170653240675<A u 1 , A u 1 >_{-1}^0.5 = 0.0014250703104420612
Newton iteration 2 , energy = 0.3260160495143562<A u 2 , A u 2 >_{-1}^0.5 = 9.518034188373835e-07
Newton iteration 3 , energy = 0.32601604951390317<A u 3 , A u 3 >_{-1}^0.5 = 8.3716284155868e-13
Newton iteration 4 , energy = 0.3260160495139034<A u 4 , A u 4 >_{-1}^0.5 = 2.559651779430638e-16
t = 1.8000000000000005
Newton iteration 0 , energy = 0.3236418448276422<A u 0 , A u 0 >_{-1}^0.5 = 0.06692054233282459
Newton iteration 1 , energy = 0.3214155556999993<A u 1 , A u 1 >_{-1}^0.5 = 0.001277494328649067
Newton iteration 2 , energy = 0.32141473942570736<A u 2 , A u 2 >_{-1}^0.5 = 7.3959197283079e-07
Newton iteration 3 , energy = 0.3214147394254342<A u 3 , A u 3 >_{-1}^0.5 = 4.774228270133899e-13
Newton iteration 4 , energy = 0.32141473942543414<A u 4 , A u 4 >_{-1}^0.5 = 2.5785715765443533e-16
t = 1.9000000000000006
Newton iteration 0 , energy = 0.3193071995484441<A u 0 , A u 0 >_{-1}^0.5 = 0.06336334502789534
Newton iteration 1 , energy = 0.3173094818757043<A u 1 , A u 1 >_{-1}^0.5 = 0.0011636519370664868
Newton iteration 2 , energy = 0.31730880462836586<A u 2 , A u 2 >_{-1}^0.5 = 5.881579066081538e-07
Newton iteration 3 , energy = 0.3173088046281928<A u 3 , A u 3 >_{-1}^0.5 = 2.7550128669019843e-13
Newton iteration 4 , energy = 0.31730880462819283<A u 4 , A u 4 >_{-1}^0.5 = 2.6288983289243355e-16
t = 2.0000000000000004
Newton iteration 0 , energy = 0.31540194393069537<A u 0 , A u 0 >_{-1}^0.5 = 0.06046988395025435
Newton iteration 1 , energy = 0.31358134555770273<A u 1 , A u 1 >_{-1}^0.5 = 0.0010696980857862835
Newton iteration 2 , energy = 0.3135807732754198<A u 2 , A u 2 >_{-1}^0.5 = 4.782193844445532e-07
Newton iteration 3 , energy = 0.3135807732753054<A u 3 , A u 3 >_{-1}^0.5 = 1.624974932999226e-13
Newton iteration 4 , energy = 0.3135807732753055<A u 4 , A u 4 >_{-1}^0.5 = 2.5349374238704194e-16
t = 2.1000000000000005
Newton iteration 0 , energy = 0.31183294150698704<A u 0 , A u 0 >_{-1}^0.5 = 0.05803092944947204
Newton iteration 1 , energy = 0.31015558837088725<A u 1 , A u 1 >_{-1}^0.5 = 0.000993908345288933
Newton iteration 2 , energy = 0.3101550943209177<A u 2 , A u 2 >_{-1}^0.5 = 4.026291328372969e-07
Newton iteration 3 , energy = 0.3101550943208365<A u 3 , A u 3 >_{-1}^0.5 = 1.0404791223316046e-13
Newton iteration 4 , energy = 0.3101550943208362<A u 4 , A u 4 >_{-1}^0.5 = 2.445048488476561e-16
t = 2.2000000000000006
Newton iteration 0 , energy = 0.3085381464188373<A u 0 , A u 0 >_{-1}^0.5 = 0.05590950803615782
Newton iteration 1 , energy = 0.30698089085302044<A u 1 , A u 1 >_{-1}^0.5 = 0.0009350737882984589
Newton iteration 2 , energy = 0.3069804535700852<A u 2 , A u 2 >_{-1}^0.5 = 3.509916268505873e-07
Newton iteration 3 , energy = 0.3069804535700233<A u 3 , A u 3 >_{-1}^0.5 = 7.517503362598274e-14
t = 2.3000000000000007
Newton iteration 0 , energy = 0.30547516361766897<A u 0 , A u 0 >_{-1}^0.5 = 0.05400150183907779
Newton iteration 1 , energy = 0.3040222805928985<A u 1 , A u 1 >_{-1}^0.5 = 0.0008896044270641128
Newton iteration 2 , energy = 0.3040218848086871<A u 2 , A u 2 >_{-1}^0.5 = 3.138328645188583e-07
Newton iteration 3 , energy = 0.3040218848086378<A u 3 , A u 3 >_{-1}^0.5 = 5.990001727431496e-14
t = 2.400000000000001
Newton iteration 0 , energy = 0.3026153116026796<A u 0 , A u 0 >_{-1}^0.5 = 0.052228182977152274
Newton iteration 1 , energy = 0.3012562403570001<A u 1 , A u 1 >_{-1}^0.5 = 0.0008515491883168628
Newton iteration 2 , energy = 0.3012558777140671<A u 2 , A u 2 >_{-1}^0.5 = 2.8565169890696713e-07
Newton iteration 3 , energy = 0.30125587771402673<A u 3 , A u 3 >_{-1}^0.5 = 5.027053986843441e-14
t = 2.500000000000001
Newton iteration 0 , energy = 0.29993930140593195<A u 0 , A u 0 >_{-1}^0.5 = 0.05053687642805141
Newton iteration 1 , energy = 0.29866675744517907<A u 1 , A u 1 >_{-1}^0.5 = 0.000814668927185327
Newton iteration 2 , energy = 0.2986664255366474<A u 2 , A u 2 >_{-1}^0.5 = 2.6287413033133496e-07
Newton iteration 3 , energy = 0.29866642553661277<A u 3 , A u 3 >_{-1}^0.5 = 4.335499725821757e-14
t = 2.600000000000001
Newton iteration 0 , energy = 0.29743360068611147<A u 0 , A u 0 >_{-1}^0.5 = 0.048899840862079554
Newton iteration 1 , energy = 0.2962420358043184<A u 1 , A u 1 >_{-1}^0.5 = 0.0007749917780606505
Newton iteration 2 , energy = 0.29624173544082677<A u 2 , A u 2 >_{-1}^0.5 = 2.415012926266596e-07
Newton iteration 3 , energy = 0.2962417354407977<A u 3 , A u 3 >_{-1}^0.5 = 3.744206687772292e-14
t = 2.700000000000001
Newton iteration 0 , energy = 0.2950875547382471<A u 0 , A u 0 >_{-1}^0.5 = 0.04730895063977785
Newton iteration 1 , energy = 0.2939720812696554<A u 1 , A u 1 >_{-1}^0.5 = 0.0007318010323065679
Newton iteration 2 , energy = 0.29397181345427364<A u 2 , A u 2 >_{-1}^0.5 = 2.1864078623548196e-07
Newton iteration 3 , energy = 0.2939718134542497<A u 3 , A u 3 >_{-1}^0.5 = 3.1304991966001566e-14
t = 2.800000000000001
Newton iteration 0 , energy = 0.2928914743316309<A u 0 , A u 0 >_{-1}^0.5 = 0.045767942036728224
Newton iteration 1 , energy = 0.2918472815696831<A u 1 , A u 1 >_{-1}^0.5 = 0.0006867421117359189
Newton iteration 2 , energy = 0.2918470457213735<A u 2 , A u 2 >_{-1}^0.5 = 1.9422870666048257e-07
Newton iteration 3 , energy = 0.29184704572135467<A u 3 , A u 3 >_{-1}^0.5 = 2.4696823492054605e-14
t = 2.9000000000000012
Newton iteration 0 , energy = 0.2908356781928848<A u 0 , A u 0 >_{-1}^0.5 = 0.044285259097613494
Newton iteration 1 , energy = 0.28985783676228477<A u 1 , A u 1 >_{-1}^0.5 = 0.0006422196144522808
Newton iteration 2 , energy = 0.2898576305056216<A u 2 , A u 2 >_{-1}^0.5 = 1.6998740142947305e-07
Newton iteration 3 , energy = 0.28985763050560714<A u 3 , A u 3 >_{-1}^0.5 = 1.8603455024061624e-14
t = 3.0000000000000013
Newton iteration 0 , energy = 0.28891023574255725<A u 0 , A u 0 >_{-1}^0.5 = 0.04286943131183352
Newton iteration 1 , energy = 0.28799372328130346<A u 1 , A u 1 >_{-1}^0.5 = 0.0006001764642055078
Newton iteration 2 , energy = 0.28799354314800907<A u 2 , A u 2 >_{-1}^0.5 = 1.4760228349625164e-07
Newton iteration 3 , energy = 0.28799354314799824<A u 3 , A u 3 >_{-1}^0.5 = 1.3712699920235083e-14
t = 3.1000000000000014
Newton iteration 0 , energy = 0.28710507593922097<A u 0 , A u 0 >_{-1}^0.5 = 0.041527106385423534
Newton iteration 1 , energy = 0.2862448810438197<A u 1 , A u 1 >_{-1}^0.5 = 0.0005616042655960475
Newton iteration 2 , energy = 0.28624472332188666<A u 2 , A u 2 >_{-1}^0.5 = 1.279317337689932e-07
Newton iteration 3 , energy = 0.28624472332187856<A u 3 , A u 3 >_{-1}^0.5 = 1.0168790381474962e-14
t = 3.2000000000000015
Newton iteration 0 , energy = 0.2854102035604051<A u 0 , A u 0 >_{-1}^0.5 = 0.04026276563098498
Newton iteration 1 , energy = 0.2846014280926573<A u 1 , A u 1 >_{-1}^0.5 = 0.0005266329898658612
Newton iteration 2 , energy = 0.2846012894033823<A u 2 , A u 2 >_{-1}^0.5 = 1.1111894223504617e-07
Newton iteration 3 , energy = 0.28460128940337603<A u 3 , A u 3 >_{-1}^0.5 = 7.675324319641211e-15
t = 3.3000000000000016
Newton iteration 0 , energy = 0.2838158929303567<A u 0 , A u 0 >_{-1}^0.5 = 0.03907903877360715
Newton iteration 1 , energy = 0.28305382825382835<A u 1 , A u 1 >_{-1}^0.5 = 0.0004949003958734921
Newton iteration 2 , energy = 0.2830537057757908<A u 2 , A u 2 >_{-1}^0.5 = 9.693706216846235e-08
Newton iteration 3 , energy = 0.28305370577578604<A u 3 , A u 3 >_{-1}^0.5 = 5.908300788129141e-15
t = 3.4000000000000017
Newton iteration 0 , energy = 0.2823128284840478<A u 0 , A u 0 >_{-1}^0.5 = 0.037976963693333185
Newton iteration 1 , energy = 0.2815930099972257<A u 1 , A u 1 >_{-1}^0.5 = 0.0004659322001761922
Newton iteration 2 , energy = 0.28159290143858157<A u 2 , A u 2 >_{-1}^0.5 = 8.503037914895102e-08
Newton iteration 3 , energy = 0.28159290143857796<A u 3 , A u 3 >_{-1}^0.5 = 4.5879079115592905e-15
t = 3.5000000000000018
Newton iteration 0 , energy = 0.280892206718927<A u 0 , A u 0 >_{-1}^0.5 = 0.03695602245647632
Newton iteration 1 , energy = 0.2802104569017436<A u 1 , A u 1 >_{-1}^0.5 = 0.00043937399391317746
Newton iteration 2 , energy = 0.2802103603668165<A u 2 , A u 2 >_{-1}^0.5 = 7.502750983730787e-08
Newton iteration 3 , energy = 0.2802103603668136<A u 3 , A u 3 >_{-1}^0.5 = 3.5931054836466134e-15
t = 3.600000000000002
Newton iteration 0 , energy = 0.2795458185245447<A u 0 , A u 0 >_{-1}^0.5 = 0.03601407737177129
Newton iteration 1 , energy = 0.2788982834327957<A u 1 , A u 1 >_{-1}^0.5 = 0.00041504801952380727
Newton iteration 2 , energy = 0.27889819729183657<A u 2 , A u 2 >_{-1}^0.5 = 6.659068038342862e-08
Newton iteration 3 , energy = 0.2788981972918343<A u 3 , A u 3 >_{-1}^0.5 = 2.8200074505714464e-15
t = 3.700000000000002
Newton iteration 0 , energy = 0.2782661185254568<A u 0 , A u 0 >_{-1}^0.5 = 0.03514739120747398
Newton iteration 1 , energy = 0.277649296366281<A u 1 , A u 1 >_{-1}^0.5 = 0.00039289709880560445
Newton iteration 2 , energy = 0.27764921917500457<A u 2 , A u 2 >_{-1}^0.5 = 5.9437737285261617e-08
Newton iteration 3 , energy = 0.2776492191750026<A u 3 , A u 3 >_{-1}^0.5 = 2.249714899974087e-15
t = 3.800000000000002
Newton iteration 0 , energy = 0.27704627685757344<A u 0 , A u 0 >_{-1}^0.5 = 0.03435082881441356
Newton iteration 1 , energy = 0.2764570347647016<A u 1 , A u 1 >_{-1}^0.5 = 0.00037289594436795
Newton iteration 2 , energy = 0.27645696523286195<A u 2 , A u 2 >_{-1}^0.5 = 5.334615114443232e-08
Newton iteration 3 , energy = 0.27645696523286034<A u 3 , A u 3 >_{-1}^0.5 = 1.8117645412924303e-15
t = 3.900000000000002
Newton iteration 0 , energy = 0.27588020580041905<A u 0 , A u 0 >_{-1}^0.5 = 0.033618219340599664
Newton iteration 1 , energy = 0.27531578227981957<A u 1 , A u 1 >_{-1}^0.5 = 0.00035498198972024167
Newton iteration 2 , energy = 0.27531571926843074<A u 2 , A u 2 >_{-1}^0.5 = 4.814509599092976e-08
Newton iteration 3 , energy = 0.27531571926842935<A u 3 , A u 3 >_{-1}^0.5 = 1.441662608860362e-15
t = 4.000000000000002
Newton iteration 0 , energy = 0.2747625575705119<A u 0 , A u 0 >_{-1}^0.5 = 0.03294278640515583
Newton iteration 1 , energy = 0.27422055114838895<A u 1 , A u 1 >_{-1}^0.5 = 0.0003390232461707608
Newton iteration 2 , energy = 0.27422049367543133<A u 2 , A u 2 >_{-1}^0.5 = 4.370317806296568e-08
Newton iteration 3 , energy = 0.2742204936754303<A u 3 , A u 3 >_{-1}^0.5 = 1.193930379989069e-15
t = 4.100000000000001
Newton iteration 0 , energy = 0.2736886957744055<A u 0 , A u 0 >_{-1}^0.5 = 0.03231754500512072
Newton iteration 1 , energy = 0.27316704305969985<A u 1 , A u 1 >_{-1}^0.5 = 0.0003248196902603166
Newton iteration 2 , energy = 0.2731669903017859<A u 2 , A u 2 >_{-1}^0.5 = 3.991697666569695e-08
Newton iteration 3 , energy = 0.27316699030178504<A u 3 , A u 3 >_{-1}^0.5 = 1.0086812597038883e-15
t = 4.200000000000001
Newton iteration 0 , energy = 0.2726546477902025<A u 0 , A u 0 >_{-1}^0.5 = 0.03173559674781512
Newton iteration 1 , energy = 0.27215159544937806<A u 1 , A u 1 >_{-1}^0.5 = 0.00031212697041425413
Newton iteration 2 , energy = 0.2721515467342304<A u 2 , A u 2 >_{-1}^0.5 = 3.670191556592481e-08
Newton iteration 3 , energy = 0.2721515467342297<A u 3 , A u 3 >_{-1}^0.5 = 8.747238099293683e-16
t = 4.300000000000001
Newton iteration 0 , energy = 0.27165704718733585<A u 0 , A u 0 >_{-1}^0.5 = 0.03119030071774389
Newton iteration 1 , energy = 0.2711711221664923<A u 1 , A u 1 >_{-1}^0.5 = 0.0003006897708026931
Newton iteration 2 , energy = 0.2711710769561861<A u 2 , A u 2 >_{-1}^0.5 = 3.398464729882478e-08
Newton iteration 3 , energy = 0.27117107695618553<A u 3 , A u 3 >_{-1}^0.5 = 7.477580214786885e-16
t = 4.4
Newton iteration 0 , energy = 0.2706930743897144<A u 0 , A u 0 >_{-1}^0.5 = 0.030675337936326225
Newton iteration 1 , energy = 0.2702230555049125<A u 1 , A u 1 >_{-1}^0.5 = 0.00029027274848977
Newton iteration 2 , energy = 0.2702230133729579<A u 2 , A u 2 >_{-1}^0.5 = 3.1696183138662176e-08
Newton iteration 3 , energy = 0.27022301337295745<A u 3 , A u 3 >_{-1}^0.5 = 6.618288333659334e-16
t = 4.5
Newton iteration 0 , energy = 0.26976040101079996<A u 0 , A u 0 >_{-1}^0.5 = 0.03018471573228522
Newton iteration 1 , energy = 0.26930529324912705<A u 1 , A u 1 >_{-1}^0.5 = 0.00028067922303947436
Newton iteration 2 , energy = 0.2693052538561541<A u 2 , A u 2 >_{-1}^0.5 = 2.9766650575168417e-08
Newton iteration 3 , energy = 0.26930525385615367<A u 3 , A u 3 >_{-1}^0.5 = 6.160753134848614e-16
t = 4.6
Newton iteration 0 , energy = 0.26885713961599433<A u 0 , A u 0 >_{-1}^0.5 = 0.029712771473288564
Newton iteration 1 , energy = 0.2684161506253949<A u 1 , A u 1 >_{-1}^0.5 = 0.0002717525306236913
Newton iteration 2 , energy = 0.26841611369833396<A u 2 , A u 2 >_{-1}^0.5 = 2.8123176652492547e-08
Newton iteration 3 , energy = 0.2684161136983337<A u 3 , A u 3 >_{-1}^0.5 = 5.486625111508734e-16
t = 4.699999999999999
Newton iteration 0 , energy = 0.2679817970588853<A u 0 , A u 0 >_{-1}^0.5 = 0.02925423039348278
Newton iteration 1 , energy = 0.26755431384083644<A u 1 , A u 1 >_{-1}^0.5 = 0.0002633618251381119
Newton iteration 2 , energy = 0.2675542791589556<A u 2 , A u 2 >_{-1}^0.5 = 2.6690901297800802e-08
Newton iteration 3 , energy = 0.26755427915895535<A u 3 , A u 3 >_{-1}^0.5 = 5.151656964005625e-16
t = 4.799999999999999
Newton iteration 0 , energy = 0.26713322697045083<A u 0 , A u 0 >_{-1}^0.5 = 0.028804348501844317
Newton iteration 1 , energy = 0.26671879019025363<A u 1 , A u 1 >_{-1}^0.5 = 0.00025538109013924047
Newton iteration 2 , energy = 0.2667187575785141<A u 2 , A u 2 >_{-1}^0.5 = 2.5395719676586123e-08
Newton iteration 3 , energy = 0.26671875757851377<A u 3 , A u 3 >_{-1}^0.5 = 4.67484982357375e-16
t = 4.899999999999999
Newton iteration 0 , energy = 0.2663105763289959<A u 0 , A u 0 >_{-1}^0.5 = 0.02835913286748125
Newton iteration 1 , energy = 0.26590885022061245<A u 1 , A u 1 >_{-1}^0.5 = 0.00024767399127457437
Newton iteration 2 , energy = 0.26590881954757434<A u 2 , A u 2 >_{-1}^0.5 = 2.4167900184457627e-08
Newton iteration 3 , energy = 0.2659088195475743<A u 3 , A u 3 >_{-1}^0.5 = 4.524171828454674e-16
t = 4.999999999999998
[18]:
Draw(gfu_t, mesh, interpolate_multidim=True, animate=True,
min=-0.1, max=0.1, autoscale=False, deformation=True)
[18]:
WebGLScene
Supplementary 2: Minimal energy extension (postscript in unit-2.1.3 )¶
In unit-2.1.3 we discussed the BDDC preconditioner and characterized the coarse grid solution as the condensed problem with the continuity only w.r.t. the coarse grid dofs.
We can characterize this as a minimization problem involving
Here \(u\) is the solution to the coarse-grid (decoupled) problem where \(u^{lo,cont}\) represents the coarse (continuity-)dofs and \(\lambda\) is the corresponding Lagrange multiplier to enforce continuity of \(u\) w.r.t. the lo,cont-dofs.
[19]:
mesh = Mesh(geom.GenerateMesh(maxh=0.1))
fes_ho = Discontinuous(H1(mesh, order=10))
fes_lo = H1(mesh, order=1, dirichlet=".*")
fes_lam = Discontinuous(H1(mesh, order=1))
fes = fes_ho*fes_lo*fes_lam
uho, ulo, lam = fes.TrialFunction()
The energy that is to be minimized is:
[20]:
a = BilinearForm(fes)
a += Variation(0.5 * grad(uho)*grad(uho)*dx
- 1*uho*dx
+ (uho-ulo)*lam*dx(element_vb=BBND))
gfu = GridFunction(fes)
NewtonMinimization(a=a, u=gfu)
Draw(gfu.components[0],mesh,deformation=True)
Newton iteration 0
Energy: 0.0
err = 0.39304052437503284
Newton iteration 1
Energy: -0.07724042690050036
err = 2.3912496996539228e-15
[20]:
WebGLScene
The minimization problem is solved by the solution of the PDE:
under the constraint