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.519306187470002e-05<A u 0 , A u 0 >_{-1}^0.5 = 1.8746349780341205
Newton iteration 1 , energy = -1.7525754148962958<A u 1 , A u 1 >_{-1}^0.5 = 0.010379563430867801
Newton iteration 2 , energy = -1.7526292864385131<A u 2 , A u 2 >_{-1}^0.5 = 1.1229094978784362e-06
Newton iteration 3 , energy = -1.7526292864391435<A u 3 , A u 3 >_{-1}^0.5 = 1.312355766271402e-14
energy = -1.7526292864391437
[7]:
Draw(gfu,mesh,"u", deformation = True)
#Draw(gfu_it,mesh,"u", deformation = True)
[7]:
BaseWebGuiScene
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.519306187470002e-05
err = 1.8746349780341205
Newton iteration 1
Energy: -1.7525754148962958
err = 0.010379563430867801
Newton iteration 2
Energy: -1.7526292864385131
err = 1.1229094978784362e-06
Newton iteration 3
Energy: -1.7526292864391435
err = 1.312355766271402e-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.016677582605672526
Newton iteration 1 , energy = 8.750132555222004<A u 1 , A u 1 >_{-1}^0.5 = 0.023331359879556597
Newton iteration 2 , energy = 8.749861163856336<A u 2 , A u 2 >_{-1}^0.5 = 0.00010230629993812535
Newton iteration 3 , energy = 8.749861158623053<A u 3 , A u 3 >_{-1}^0.5 = 5.1171010850326455e-08
Newton iteration 4 , energy = 8.74986115862305<A u 4 , A u 4 >_{-1}^0.5 = 2.7005263119786187e-13
Newton iteration 5 , energy = 8.74986115862305<A u 5 , A u 5 >_{-1}^0.5 = 6.585471374902413e-16
loadstep 1
Newton iteration 0 , energy = 8.749583933129317<A u 0 , A u 0 >_{-1}^0.5 = 0.01659529905394987
Newton iteration 1 , energy = 8.749710107506658<A u 1 , A u 1 >_{-1}^0.5 = 0.022956437669204445
Newton iteration 2 , energy = 8.749447354442502<A u 2 , A u 2 >_{-1}^0.5 = 0.0001421582802000373
Newton iteration 3 , energy = 8.749447344443873<A u 3 , A u 3 >_{-1}^0.5 = 2.325524697133088e-06
Newton iteration 4 , energy = 8.749447344441162<A u 4 , A u 4 >_{-1}^0.5 = 6.328257983098867e-10
Newton iteration 5 , energy = 8.749447344441165<A u 5 , A u 5 >_{-1}^0.5 = 9.20763729026598e-16
loadstep 2
Newton iteration 0 , energy = 8.748898257854604<A u 0 , A u 0 >_{-1}^0.5 = 0.01635609185392295
Newton iteration 1 , energy = 8.749005344320109<A u 1 , A u 1 >_{-1}^0.5 = 0.021890729080564164
Newton iteration 2 , energy = 8.748766384857404<A u 2 , A u 2 >_{-1}^0.5 = 0.00020825243893885707
Newton iteration 3 , energy = 8.748766363495848<A u 3 , A u 3 >_{-1}^0.5 = 4.891625113460226e-06
Newton iteration 4 , energy = 8.748766363483881<A u 4 , A u 4 >_{-1}^0.5 = 2.6654450930826986e-09
Newton iteration 5 , energy = 8.748766363483885<A u 5 , A u 5 >_{-1}^0.5 = 1.6924777982520346e-15
loadstep 3
Newton iteration 0 , energy = 8.747955512559923<A u 0 , A u 0 >_{-1}^0.5 = 0.015981120982884536
Newton iteration 1 , energy = 8.748035610071788<A u 1 , A u 1 >_{-1}^0.5 = 0.0202900377223306
Newton iteration 2 , energy = 8.747830272447587<A u 2 , A u 2 >_{-1}^0.5 = 0.0002638495351857355
Newton iteration 3 , energy = 8.74783023813094<A u 3 , A u 3 >_{-1}^0.5 = 7.248678995970862e-06
Newton iteration 4 , energy = 8.747830238104656<A u 4 , A u 4 >_{-1}^0.5 = 4.74417190829653e-09
Newton iteration 5 , energy = 8.747830238104667<A u 5 , A u 5 >_{-1}^0.5 = 2.9319224931034337e-15
loadstep 4
Newton iteration 0 , energy = 8.74677136608456<A u 0 , A u 0 >_{-1}^0.5 = 0.015500028754927845
Newton iteration 1 , energy = 8.746822181069826<A u 1 , A u 1 >_{-1}^0.5 = 0.018357337758248275
Newton iteration 2 , energy = 8.746654051147164<A u 2 , A u 2 >_{-1}^0.5 = 0.00029910871448039637
Newton iteration 3 , energy = 8.746654006940766<A u 3 , A u 3 >_{-1}^0.5 = 8.721699481263143e-06
Newton iteration 4 , energy = 8.746654006902721<A u 4 , A u 4 >_{-1}^0.5 = 5.242134600688494e-09
Newton iteration 5 , energy = 8.746654006902721<A u 5 , A u 5 >_{-1}^0.5 = 3.611875840489414e-15
loadstep 5
Newton iteration 0 , energy = 8.745363235443092<A u 0 , A u 0 >_{-1}^0.5 = 0.014945100392129483
Newton iteration 1 , energy = 8.745386960171832<A u 1 , A u 1 >_{-1}^0.5 = 0.01629025751898703
Newton iteration 2 , energy = 8.745254520464078<A u 2 , A u 2 >_{-1}^0.5 = 0.0003132391521532734
Newton iteration 3 , energy = 8.745254471852599<A u 3 , A u 3 >_{-1}^0.5 = 9.043578969382446e-06
Newton iteration 4 , energy = 8.745254471811707<A u 4 , A u 4 >_{-1}^0.5 = 4.2153184431315e-09
Newton iteration 5 , energy = 8.745254471811702<A u 5 , A u 5 >_{-1}^0.5 = 2.854372675219094e-15
loadstep 6
Newton iteration 0 , energy = 8.743749097806283<A u 0 , A u 0 >_{-1}^0.5 = 0.014346493694407639
Newton iteration 1 , energy = 8.743750467097106<A u 1 , A u 1 >_{-1}^0.5 = 0.014246300602316015
Newton iteration 2 , energy = 8.743649143781804<A u 2 , A u 2 >_{-1}^0.5 = 0.00030936494191560277
Newton iteration 3 , energy = 8.743649096250383<A u 3 , A u 3 >_{-1}^0.5 = 8.38460692931848e-06
Newton iteration 4 , energy = 8.743649096215231<A u 4 , A u 4 >_{-1}^0.5 = 2.692148137187e-09
Newton iteration 5 , energy = 8.743649096215234<A u 5 , A u 5 >_{-1}^0.5 = 2.7731447949981113e-15
loadstep 7
Newton iteration 0 , energy = 8.741946608055962<A u 0 , A u 0 >_{-1}^0.5 = 0.013729428634259048
Newton iteration 1 , energy = 8.741931132813368<A u 1 , A u 1 >_{-1}^0.5 = 0.012330807533888183
Newton iteration 2 , energy = 8.741855199570422<A u 2 , A u 2 >_{-1}^0.5 = 0.000292132988232766
Newton iteration 3 , energy = 8.741855157102606<A u 3 , A u 3 >_{-1}^0.5 = 7.128970073856286e-06
Newton iteration 4 , energy = 8.741855157077195<A u 4 , A u 4 >_{-1}^0.5 = 1.442056452437287e-09
Newton iteration 5 , energy = 8.741855157077197<A u 5 , A u 5 >_{-1}^0.5 = 2.631489233195828e-15
loadstep 8
Newton iteration 0 , energy = 8.739972524644804<A u 0 , A u 0 >_{-1}^0.5 = 0.01311322442875065
Newton iteration 1 , energy = 8.739945347610657<A u 1 , A u 1 >_{-1}^0.5 = 0.010601366355257364
Newton iteration 2 , energy = 8.739889202270737<A u 2 , A u 2 >_{-1}^0.5 = 0.00026630591280442085
Newton iteration 3 , energy = 8.739889166926453<A u 3 , A u 3 >_{-1}^0.5 = 5.66122188477678e-06
Newton iteration 4 , energy = 8.739889166910432<A u 4 , A u 4 >_{-1}^0.5 = 6.711436052300227e-10
Newton iteration 5 , energy = 8.739889166910432<A u 5 , A u 5 >_{-1}^0.5 = 3.195002040642949e-15
loadstep 9
Newton iteration 0 , energy = 8.737842388930513<A u 0 , A u 0 >_{-1}^0.5 = 0.012511583560585906
Newton iteration 1 , energy = 8.737807753740727<A u 1 , A u 1 >_{-1}^0.5 = 0.009079612968625082
Newton iteration 2 , energy = 8.737766557197904<A u 2 , A u 2 >_{-1}^0.5 = 0.00023601511098935064
Newton iteration 3 , energy = 8.737766529405949<A u 3 , A u 3 >_{-1}^0.5 = 4.256830258239892e-06
Newton iteration 4 , energy = 8.737766529396884<A u 4 , A u 4 >_{-1}^0.5 = 2.7743100651473363e-10
Newton iteration 5 , energy = 8.737766529396882<A u 5 , A u 5 >_{-1}^0.5 = 3.4006390444507747e-15
loadstep 10
Newton iteration 0 , energy = 8.73557038769295<A u 0 , A u 0 >_{-1}^0.5 = 0.011933492662420511
Newton iteration 1 , energy = 8.735531524207472<A u 1 , A u 1 >_{-1}^0.5 = 0.0077638167914607925
Newton iteration 2 , energy = 8.735501393758712<A u 2 , A u 2 >_{-1}^0.5 = 0.00020446417275652896
Newton iteration 3 , energy = 8.735501372884304<A u 3 , A u 3 >_{-1}^0.5 = 3.063318796038428e-06
Newton iteration 4 , energy = 8.735501372879611<A u 4 , A u 4 >_{-1}^0.5 = 1.0296538309080893e-10
Newton iteration 5 , energy = 8.735501372879613<A u 5 , A u 5 >_{-1}^0.5 = 4.424220397518642e-15
loadstep 11
Newton iteration 0 , energy = 8.733169335796159<A u 0 , A u 0 >_{-1}^0.5 = 0.01138429141578887
Newton iteration 1 , energy = 8.733128560905087<A u 1 , A u 1 >_{-1}^0.5 = 0.006639099721563755
Newton iteration 2 , energy = 8.733106521835378<A u 2 , A u 2 >_{-1}^0.5 = 0.00017390289940119236
Newton iteration 3 , energy = 8.733106506726692<A u 3 , A u 3 >_{-1}^0.5 = 2.128012816504851e-06
Newton iteration 4 , energy = 8.73310650672442<A u 4 , A u 4 >_{-1}^0.5 = 3.424120042553085e-11
Newton iteration 5 , energy = 8.733106506724425<A u 5 , A u 5 >_{-1}^0.5 = 3.893724759608324e-15
loadstep 12
Newton iteration 0 , energy = 8.73065073088584<A u 0 , A u 0 >_{-1}^0.5 = 0.010866663649559558
Newton iteration 1 , energy = 8.73060962735298<A u 1 , A u 1 >_{-1}^0.5 = 0.005684550176928008
Newton iteration 2 , energy = 8.730593466066004<A u 2 , A u 2 >_{-1}^0.5 = 0.00014574158624435928
Newton iteration 3 , energy = 8.730593455450633<A u 3 , A u 3 >_{-1}^0.5 = 1.4373276300134736e-06
Newton iteration 4 , energy = 8.730593455449595<A u 4 , A u 4 >_{-1}^0.5 = 9.957790473316769e-12
Newton iteration 5 , energy = 8.730593455449597<A u 5 , A u 5 >_{-1}^0.5 = 3.889759103548574e-15
loadstep 13
Newton iteration 0 , energy = 8.728024846757634<A u 0 , A u 0 >_{-1}^0.5 = 0.010381451820189264
Newton iteration 1 , energy = 8.727984446186102<A u 1 , A u 1 >_{-1}^0.5 = 0.0048776443090787335
Newton iteration 2 , energy = 8.727972544723219<A u 2 , A u 2 >_{-1}^0.5 = 0.00012072280173960999
Newton iteration 3 , energy = 8.727972537437921<A u 3 , A u 3 >_{-1}^0.5 = 9.497245795907948e-07
Newton iteration 4 , energy = 8.727972537437466<A u 4 , A u 4 >_{-1}^0.5 = 2.3174471554565126e-12
Newton iteration 5 , energy = 8.727972537437468<A u 5 , A u 5 >_{-1}^0.5 = 4.214216232606705e-15
loadstep 14
Newton iteration 0 , energy = 8.725300843768164<A u 0 , A u 0 >_{-1}^0.5 = 0.009928279578341007
Newton iteration 1 , energy = 8.725261782651366<A u 1 , A u 1 >_{-1}^0.5 = 0.004196713092754694
Newton iteration 2 , energy = 8.725252970508551<A u 2 , A u 2 >_{-1}^0.5 = 9.910189073565049e-05
Newton iteration 3 , energy = 8.725252965598385<A u 3 , A u 3 >_{-1}^0.5 = 6.171499947312103e-07
Newton iteration 4 , energy = 8.725252965598198<A u 4 , A u 4 >_{-1}^0.5 = 2.683402329897958e-13
Newton iteration 5 , energy = 8.725252965598195<A u 5 , A u 5 >_{-1}^0.5 = 4.463577653297909e-15
loadstep 15
Newton iteration 0 , energy = 8.722486883056932<A u 0 , A u 0 >_{-1}^0.5 = 0.009506005046416242
Newton iteration 1 , energy = 8.722449524170575<A u 1 , A u 1 >_{-1}^0.5 = 0.0036221383603708547
Newton iteration 2 , energy = 8.722442958756766<A u 2 , A u 2 >_{-1}^0.5 = 8.080932447767654e-05
Newton iteration 3 , energy = 8.722442955491688<A u 3 , A u 3 >_{-1}^0.5 = 3.9619412062495713e-07
Newton iteration 4 , energy = 8.722442955491614<A u 4 , A u 4 >_{-1}^0.5 = 1.5357439807369695e-13
Newton iteration 5 , energy = 8.72244295549161<A u 5 , A u 5 >_{-1}^0.5 = 4.919572443761599e-15
loadstep 16
Newton iteration 0 , energy = 8.719590236980155<A u 0 , A u 0 >_{-1}^0.5 = 0.00911303918734459
Newton iteration 1 , energy = 8.719554758791885<A u 1 , A u 1 >_{-1}^0.5 = 0.003136788718763237
Newton iteration 2 , energy = 8.719549834337261<A u 2 , A u 2 >_{-1}^0.5 = 6.558227828617833e-05
Newton iteration 3 , energy = 8.71954983218664<A u 3 , A u 3 >_{-1}^0.5 = 2.522536054986421e-07
Newton iteration 4 , energy = 8.719549832186612<A u 4 , A u 4 >_{-1}^0.5 = 1.5013406260163243e-13
Newton iteration 5 , energy = 8.719549832186612<A u 5 , A u 5 >_{-1}^0.5 = 5.710008467061656e-15
loadstep 17
Newton iteration 0 , energy = 8.716617391769223<A u 0 , A u 0 >_{-1}^0.5 = 0.008747562874565
Newton iteration 1 , energy = 8.716583851994583<A u 1 , A u 1 >_{-1}^0.5 = 0.0027260365842245457
Newton iteration 2 , energy = 8.7165801324147<A u 2 , A u 2 >_{-1}^0.5 = 5.306230205423905e-05
Newton iteration 3 , energy = 8.716580131006793<A u 3 , A u 3 >_{-1}^0.5 = 1.598107493724203e-07
Newton iteration 4 , energy = 8.71658013100678<A u 4 , A u 4 >_{-1}^0.5 = 9.219827067611029e-14
loadstep 18
Newton iteration 0 , energy = 8.713574140655613<A u 0 , A u 0 >_{-1}^0.5 = 0.008407670778941919
Newton iteration 1 , energy = 8.713542520325504<A u 1 , A u 1 >_{-1}^0.5 = 0.0023775675324218645
Newton iteration 2 , energy = 8.713539690707929<A u 2 , A u 2 >_{-1}^0.5 = 4.2861864589599176e-05
Newton iteration 3 , energy = 8.71353968978929<A u 3 , A u 3 >_{-1}^0.5 = 1.0101914495878797e-07
Newton iteration 4 , energy = 8.713539689789279<A u 4 , A u 4 >_{-1}^0.5 = 4.870663631282107e-14
loadstep 19
Newton iteration 0 , energy = 8.710465667024843<A u 0 , A u 0 >_{-1}^0.5 = 0.008091463798905473
Newton iteration 1 , energy = 8.71043590046329<A u 1 , A u 1 >_{-1}^0.5 = 0.0020811047922725074
Newton iteration 2 , energy = 8.710433732402823<A u 2 , A u 2 >_{-1}^0.5 = 3.4605549421176894e-05
Newton iteration 3 , energy = 8.710433731804002<A u 3 , A u 3 >_{-1}^0.5 = 6.385680162055723e-08
Newton iteration 4 , energy = 8.710433731804002<A u 4 , A u 4 >_{-1}^0.5 = 2.3605597153175994e-14
loadstep 20
Newton iteration 0 , energy = 8.70729661790546<A u 0 , A u 0 >_{-1}^0.5 = 0.007797106054484867
Newton iteration 1 , energy = 8.707268612789708<A u 1 , A u 1 >_{-1}^0.5 = 0.001828115920848534
Newton iteration 2 , energy = 8.707266939759124<A u 2 , A u 2 >_{-1}^0.5 = 2.795247996525457e-05
Newton iteration 3 , energy = 8.707266939368422<A u 3 , A u 3 >_{-1}^0.5 = 4.043944241406108e-08
Newton iteration 4 , energy = 8.707266939368418<A u 4 , A u 4 >_{-1}^0.5 = 1.1802381270992485e-14
loadstep 21
Newton iteration 0 , energy = 8.704071168483761<A u 0 , A u 0 >_{-1}^0.5 = 0.007522857909616135
Newton iteration 1 , energy = 8.704044819049004<A u 1 , A u 1 >_{-1}^0.5 = 0.0016115353156425157
Newton iteration 2 , energy = 8.704043518933695<A u 2 , A u 2 >_{-1}^0.5 = 2.2605982085715554e-05
Newton iteration 3 , energy = 8.704043518678157<A u 3 , A u 3 >_{-1}^0.5 = 2.5693535114068305e-08
Newton iteration 4 , energy = 8.70404351867816<A u 4 , A u 4 >_{-1}^0.5 = 6.719078873051766e-15
loadstep 22
Newton iteration 0 , energy = 8.700793078503203<A u 0 , A u 0 >_{-1}^0.5 = 0.0072670930607364684
Newton iteration 1 , energy = 8.700768274070775<A u 1 , A u 1 >_{-1}^0.5 = 0.0014255171678138447
Newton iteration 2 , energy = 8.70076725677529<A u 2 , A u 2 >_{-1}^0.5 = 1.831528979949019e-05
Newton iteration 3 , energy = 8.700767256607557<A u 3 , A u 3 >_{-1}^0.5 = 1.6396499655487706e-08
Newton iteration 4 , energy = 8.700767256607557<A u 4 , A u 4 >_{-1}^0.5 = 5.393006644642004e-15
loadstep 23
Newton iteration 0 , energy = 8.697465741449387<A u 0 , A u 0 >_{-1}^0.5 = 0.007028305242742882
Newton iteration 1 , energy = 8.697442371797747<A u 1 , A u 1 >_{-1}^0.5 = 0.0012652231229487486
Newton iteration 2 , energy = 8.697441570430097<A u 2 , A u 2 >_{-1}^0.5 = 1.4872780406601754e-05
Newton iteration 3 , energy = 8.697441570319485<A u 3 , A u 3 >_{-1}^0.5 = 1.0518631671664888e-08
Newton iteration 4 , energy = 8.697441570319487<A u 4 , A u 4 >_{-1}^0.5 = 5.492714915879011e-15
loadstep 24
Newton iteration 0 , energy = 8.694092227393037<A u 0 , A u 0 >_{-1}^0.5 = 0.006805108340820674
Newton iteration 1 , energy = 8.694070186017765<A u 1 , A u 1 >_{-1}^0.5 = 0.0011266436800969166
Newton iteration 2 , energy = 8.694069550595465<A u 2 , A u 2 >_{-1}^0.5 = 1.2109069701386112e-05
Newton iteration 3 , energy = 8.69406955052215<A u 3 , A u 3 >_{-1}^0.5 = 6.787739852649272e-09
Newton iteration 4 , energy = 8.694069550522144<A u 4 , A u 4 >_{-1}^0.5 = 6.720569925537748e-15
loadstep 25
Newton iteration 0 , energy = 8.690675320299128<A u 0 , A u 0 >_{-1}^0.5 = 0.006596232465385705
Newton iteration 1 , energy = 8.690654506275454<A u 1 , A u 1 >_{-1}^0.5 = 0.0010064499991212477
Newton iteration 2 , energy = 8.690653999211646<A u 2 , A u 2 >_{-1}^0.5 = 9.887408053255351e-06
Newton iteration 3 , energy = 8.690653999162762<A u 3 , A u 3 >_{-1}^0.5 = 4.408064807904953e-09
Newton iteration 4 , energy = 8.690653999162764<A u 4 , A u 4 >_{-1}^0.5 = 5.804090818048345e-15
loadstep 26
Newton iteration 0 , energy = 8.68721755053038<A u 0 , A u 0 >_{-1}^0.5 = 0.0064005176975309806
Newton iteration 1 , energy = 8.687197869461734<A u 1 , A u 1 >_{-1}^0.5 = 0.0009018719819735623
Newton iteration 2 , energy = 8.687197462311365<A u 2 , A u 2 >_{-1}^0.5 = 8.098192892768738e-06
Newton iteration 3 , energy = 8.687197462278565<A u 3 , A u 3 >_{-1}^0.5 = 2.881801775285253e-09
Newton iteration 4 , energy = 8.687197462278565<A u 4 , A u 4 >_{-1}^0.5 = 6.007949201326756e-15
loadstep 27
Newton iteration 0 , energy = 8.683721223189794<A u 0 , A u 0 >_{-1}^0.5 = 0.006216906629669415
Newton iteration 1 , energy = 8.683702587568163<A u 1 , A u 1 >_{-1}^0.5 = 0.0008105984822226459
Newton iteration 2 , energy = 8.683702258669634<A u 2 , A u 2 >_{-1}^0.5 = 6.65400504734503e-06
Newton iteration 3 , energy = 8.683702258647491<A u 3 , A u 3 >_{-1}^0.5 = 1.8969676417204014e-09
Newton iteration 4 , energy = 8.683702258647495<A u 4 , A u 4 >_{-1}^0.5 = 5.898439333289567e-15
loadstep 28
Newton iteration 0 , energy = 8.680188442866308<A u 0 , A u 0 >_{-1}^0.5 = 0.006044436430120938
Newton iteration 1 , energy = 8.680170772062889<A u 1 , A u 1 >_{-1}^0.5 = 0.0007306958544635756
Newton iteration 2 , energy = 8.680170504818914<A u 2 , A u 2 >_{-1}^0.5 = 5.485327885796234e-06
Newton iteration 3 , energy = 8.680170504803865<A u 3 , A u 3 >_{-1}^0.5 = 1.2574278419872003e-09
Newton iteration 4 , energy = 8.680170504803863<A u 4 , A u 4 >_{-1}^0.5 = 6.238887358222799e-15
loadstep 29
Newton iteration 0 , energy = 8.676621135273345<A u 0 , A u 0 >_{-1}^0.5 = 0.005882230892520335
Newton iteration 1 , energy = 8.676604355304637<A u 1 , A u 1 >_{-1}^0.5 = 0.0006605415495089271
Newton iteration 2 , energy = 8.676604136921796<A u 2 , A u 2 >_{-1}^0.5 = 4.536967916629936e-06
Newton iteration 3 , energy = 8.6766041369115<A u 3 , A u 3 >_{-1}^0.5 = 8.393601759963464e-10
Newton iteration 4 , energy = 8.676604136911497<A u 4 , A u 4 >_{-1}^0.5 = 6.271321360259793e-15
loadstep 30
Newton iteration 0 , energy = 8.673021066202953<A u 0 , A u 0 >_{-1}^0.5 = 0.005729492751286609
Newton iteration 1 , energy = 8.673005109368702<A u 1 , A u 1 >_{-1}^0.5 = 0.0005987699748717564
Newton iteration 2 , energy = 8.673004929927785<A u 2 , A u 2 >_{-1}^0.5 = 3.765124006006278e-06
Newton iteration 3 , energy = 8.673004929920697<A u 3 , A u 3 >_{-1}^0.5 = 5.642218308119127e-10
Newton iteration 4 , energy = 8.673004929920696<A u 4 , A u 4 >_{-1}^0.5 = 6.482051532552964e-15
loadstep 31
Newton iteration 0 , energy = 8.669389858159557<A u 0 , A u 0 >_{-1}^0.5 = 0.005585496424927724
Newton iteration 1 , energy = 8.66937466261523<A u 1 , A u 1 >_{-1}^0.5 = 0.0005442283166892989
Newton iteration 2 , energy = 8.669374514381586<A u 2 , A u 2 >_{-1}^0.5 = 3.1350221737068464e-06
Newton iteration 3 , energy = 8.66937451437667<A u 3 , A u 3 >_{-1}^0.5 = 3.819087014185082e-10
Newton iteration 4 , energy = 8.669374514376665<A u 4 , A u 4 >_{-1}^0.5 = 5.513912737196429e-15
loadstep 32
Newton iteration 0 , energy = 8.66572900498611<A u 0 , A u 0 >_{-1}^0.5 = 0.005449581270429411
Newton iteration 1 , energy = 8.665714514290283<A u 1 , A u 1 >_{-1}^0.5 = 0.0004959404367424295
Newton iteration 2 , energy = 8.665714391199181<A u 2 , A u 2 >_{-1}^0.5 = 2.619025848517072e-06
Newton iteration 3 , energy = 8.66571439119575<A u 3 , A u 3 >_{-1}^0.5 = 2.6028059985562595e-10
Newton iteration 4 , energy = 8.665714391195753<A u 4 , A u 4 >_{-1}^0.5 = 6.129311981511607e-15
loadstep 33
Newton iteration 0 , energy = 8.662039884750648<A u 0 , A u 0 >_{-1}^0.5 = 0.005321145381083054
Newton iteration 1 , energy = 8.66202604741291<A u 1 , A u 1 >_{-1}^0.5 = 0.0004530773114983205
Newton iteration 2 , energy = 8.662025944683327<A u 2 , A u 2 >_{-1}^0.5 = 2.195136299855066e-06
Newton iteration 3 , energy = 8.662025944680916<A u 3 , A u 3 >_{-1}^0.5 = 1.785831619179393e-10
Newton iteration 4 , energy = 8.662025944680916<A u 4 , A u 4 >_{-1}^0.5 = 5.992853524606141e-15
loadstep 34
Newton iteration 0 , energy = 8.65832377112368<A u 0 , A u 0 >_{-1}^0.5 = 0.005199639928200491
Newton iteration 1 , energy = 8.658310540168342<A u 1 , A u 1 >_{-1}^0.5 = 0.0004149327733555107
Newton iteration 2 , energy = 8.658310454011465<A u 2 , A u 2 >_{-1}^0.5 = 1.8458080204771574e-06
Newton iteration 3 , energy = 8.65831045400976<A u 3 , A u 3 >_{-1}^0.5 = 1.23341287493298e-10
Newton iteration 4 , energy = 8.658310454009758<A u 4 , A u 4 >_{-1}^0.5 = 5.938589807160747e-15
loadstep 35
Newton iteration 0 , energy = 8.65458184344376<A u 0 , A u 0 >_{-1}^0.5 = 0.00508456402736814
Newton iteration 1 , energy = 8.654569175998308<A u 1 , A u 1 >_{-1}^0.5 = 0.00038090355349607507
Newton iteration 2 , energy = 8.654569103396332<A u 2 , A u 2 >_{-1}^0.5 = 1.5570154927505791e-06
Newton iteration 3 , energy = 8.654569103395122<A u 3 , A u 3 >_{-1}^0.5 = 8.573751178925532e-11
Newton iteration 4 , energy = 8.654569103395126<A u 4 , A u 4 >_{-1}^0.5 = 6.478807349237093e-15
loadstep 36
Newton iteration 0 , energy = 8.650815195641044<A u 0 , A u 0 >_{-1}^0.5 = 0.004975460099007551
Newton iteration 1 , energy = 8.65080305255372<A u 1 , A u 1 >_{-1}^0.5 = 0.00035047282042695565
Newton iteration 2 , energy = 8.650802991091055<A u 2 , A u 2 >_{-1}^0.5 = 1.3175190454587025e-06
Newton iteration 3 , energy = 8.650802991090185<A u 3 , A u 3 >_{-1}^0.5 = 5.997582893894754e-11
Newton iteration 4 , energy = 8.650802991090188<A u 4 , A u 4 >_{-1}^0.5 = 6.5208084919784646e-15
loadstep 37
Newton iteration 0 , energy = 8.647024844164546<A u 0 , A u 0 >_{-1}^0.5 = 0.004871909687064274
Newton iteration 1 , energy = 8.64701318965287<A u 1 , A u 1 >_{-1}^0.5 = 0.0003231965645309107
Newton iteration 2 , energy = 8.647013137386658<A u 2 , A u 2 >_{-1}^0.5 = 1.1182875715568035e-06
Newton iteration 3 , energy = 8.64701313738604<A u 3 , A u 3 >_{-1}^0.5 = 4.221476138514026e-11
Newton iteration 4 , energy = 8.647013137386041<A u 4 , A u 4 >_{-1}^0.5 = 6.457159239847039e-15
loadstep 38
Newton iteration 0 , energy = 8.643211735038836<A u 0 , A u 0 >_{-1}^0.5 = 0.004773529697629794
Newton iteration 1 , energy = 8.643200536368832<A u 1 , A u 1 >_{-1}^0.5 = 0.00029869230501451975
Newton iteration 2 , energy = 8.643200491729171<A u 2 , A u 2 >_{-1}^0.5 = 9.520444186268518e-07
Newton iteration 3 , energy = 8.64320049172872<A u 3 , A u 3 >_{-1}^0.5 = 2.989067252527198e-11
Newton iteration 4 , energy = 8.643200491728713<A u 4 , A u 4 >_{-1}^0.5 = 6.562372819284389e-15
loadstep 39
Newton iteration 0 , energy = 8.639376750158188<A u 0 , A u 0 >_{-1}^0.5 = 0.0046799690192700204
Newton iteration 1 , energy = 8.639365977353362<A u 1 , A u 1 >_{-1}^0.5 = 0.0002766296964344363
Newton iteration 2 , energy = 8.639365939065922<A u 2 , A u 2 >_{-1}^0.5 = 8.12909831554814e-07
Newton iteration 3 , energy = 8.639365939065597<A u 3 , A u 3 >_{-1}^0.5 = 2.1291250984912865e-11
Newton iteration 4 , energy = 8.639365939065595<A u 4 , A u 4 >_{-1}^0.5 = 6.5415766164915205e-15
loadstep 40
Newton iteration 0 , energy = 8.635520712911946<A u 0 , A u 0 >_{-1}^0.5 = 0.004590905488469459
Newton iteration 1 , energy = 8.635510338490107<A u 1 , A u 1 >_{-1}^0.5 = 0.0002567226930850104
Newton iteration 2 , energy = 8.635510305515965<A u 2 , A u 2 >_{-1}^0.5 = 6.961190113412823e-07
Newton iteration 3 , energy = 8.63551030551572<A u 3 , A u 3 >_{-1}^0.5 = 1.524903750544494e-11
Newton iteration 4 , energy = 8.635510305515723<A u 4 , A u 4 >_{-1}^0.5 = 6.910300087083724e-15
loadstep 41
Newton iteration 0 , energy = 8.631644393221706<A u 0 , A u 0 >_{-1}^0.5 = 0.004506043165567733
Newton iteration 1 , energy = 8.631634391957727<A u 1 , A u 1 >_{-1}^0.5 = 0.00023872299419761236
Newton iteration 2 , energy = 8.631634363446206<A u 2 , A u 2 >_{-1}^0.5 = 5.977994012174594e-07
Newton iteration 3 , energy = 8.631634363446027<A u 3 , A u 3 >_{-1}^0.5 = 1.0983220061296788e-11
Newton iteration 4 , energy = 8.631634363446027<A u 4 , A u 4 >_{-1}^0.5 = 6.5055984592732076e-15
loadstep 42
Newton iteration 0 , energy = 8.627748512060565<A u 0 , A u 0 >_{-1}^0.5 = 0.004425109889386922
Newton iteration 1 , energy = 8.627738860772803<A u 1 , A u 1 >_{-1}^0.5 = 0.00022241454518090909
Newton iteration 2 , energy = 8.62773883602448<A u 2 , A u 2 >_{-1}^0.5 = 5.14794387855558e-07
Newton iteration 3 , energy = 8.627738836024351<A u 3 , A u 3 >_{-1}^0.5 = 7.95365731485523e-12
Newton iteration 4 , energy = 8.627738836024356<A u 4 , A u 4 >_{-1}^0.5 = 6.9799348491203315e-15
loadstep 43
Newton iteration 0 , energy = 8.623833745515205<A u 0 , A u 0 >_{-1}^0.5 = 0.00434785508137783
Newton iteration 1 , energy = 8.623824422873449<A u 1 , A u 1 >_{-1}^0.5 = 0.00020760891187616062
Newton iteration 2 , energy = 8.62382440131094<A u 2 , A u 2 >_{-1}^0.5 = 4.44523431692134e-07
Newton iteration 3 , energy = 8.623824401310843<A u 3 , A u 3 >_{-1}^0.5 = 5.789716492117337e-12
Newton iteration 4 , energy = 8.623824401310843<A u 4 , A u 4 >_{-1}^0.5 = 6.447179779802916e-15
loadstep 44
Newton iteration 0 , energy = 8.619900728443673<A u 0 , A u 0 >_{-1}^0.5 = 0.004274047772884083
Newton iteration 1 , energy = 8.61989171479663<A u 1 , A u 1 >_{-1}^0.5 = 0.000194141378526263
Newton iteration 2 , energy = 8.619891695941396<A u 2 , A u 2 >_{-1}^0.5 = 3.84870824707688e-07
Newton iteration 3 , energy = 8.619891695941323<A u 3 , A u 3 >_{-1}^0.5 = 4.236552312656068e-12
Newton iteration 4 , energy = 8.61989169594132<A u 4 , A u 4 >_{-1}^0.5 = 6.851673559873746e-15
loadstep 45
Newton iteration 0 , energy = 8.615950057775086<A u 0 , A u 0 >_{-1}^0.5 = 0.00420347483174541
Newton iteration 1 , energy = 8.615941334995359<A u 1 , A u 1 >_{-1}^0.5 = 0.0001818676473677676
Newton iteration 2 , energy = 8.615941318449256<A u 2 , A u 2 >_{-1}^0.5 = 3.340969900820471e-07
Newton iteration 3 , energy = 8.615941318449202<A u 3 , A u 3 >_{-1}^0.5 = 3.1160633441040746e-12
Newton iteration 4 , energy = 8.615941318449208<A u 4 , A u 4 >_{-1}^0.5 = 8.01826496038461e-15
loadstep 46
Newton iteration 0 , energy = 8.611982295491368<A u 0 , A u 0 >_{-1}^0.5 = 0.00413593936689686
Newton iteration 1 , energy = 8.611973846836175<A u 1 , A u 1 >_{-1}^0.5 = 0.00017066103967661918
Newton iteration 2 , energy = 8.611973832266731<A u 2 , A u 2 >_{-1}^0.5 = 2.9076756769006617e-07
Newton iteration 3 , energy = 8.611973832266687<A u 3 , A u 3 >_{-1}^0.5 = 2.3038399867712826e-12
Newton iteration 4 , energy = 8.611973832266692<A u 4 , A u 4 >_{-1}^0.5 = 6.0495155404111335e-15
loadstep 47
Newton iteration 0 , energy = 8.607997971326375<A u 0 , A u 0 >_{-1}^0.5 = 0.004071259291904068
Newton iteration 1 , energy = 8.607989781312382<A u 1 , A u 1 >_{-1}^0.5 = 0.00016041011593631986
Newton iteration 2 , energy = 8.607989768440918<A u 2 , A u 2 >_{-1}^0.5 = 2.5369657240340834e-07
Newton iteration 3 , energy = 8.607989768440884<A u 3 , A u 3 >_{-1}^0.5 = 1.711950132368051e-12
Newton iteration 4 , energy = 8.607989768440891<A u 4 , A u 4 >_{-1}^0.5 = 7.29216422878002e-15
loadstep 48
Newton iteration 0 , energy = 8.603997585213092<A u 0 , A u 0 >_{-1}^0.5 = 0.004009266030422806
Newton iteration 1 , energy = 8.603989639503842<A u 1 , A u 1 >_{-1}^0.5 = 0.0001510166472480361
Newton iteration 2 , energy = 8.603989628095974<A u 2 , A u 2 >_{-1}^0.5 = 2.2190070081230086e-07
Newton iteration 3 , energy = 8.603989628095952<A u 3 , A u 3 >_{-1}^0.5 = 1.2763894530159161e-12
Newton iteration 4 , energy = 8.603989628095952<A u 4 , A u 4 >_{-1}^0.5 = 7.354772275373092e-15
loadstep 49
Newton iteration 0 , energy = 8.59998160950617<A u 0 , A u 0 >_{-1}^0.5 = 0.003949803348438927
Newton iteration 1 , energy = 8.599973894810804<A u 1 , A u 1 >_{-1}^0.5 = 0.0001423938818713651
Newton iteration 2 , energy = 8.59997388466869<A u 2 , A u 2 >_{-1}^0.5 = 1.9456250081026566e-07
Newton iteration 3 , energy = 8.599973884668675<A u 3 , A u 3 >_{-1}^0.5 = 9.565111241482321e-13
Newton iteration 4 , energy = 8.599973884668675<A u 4 , A u 4 >_{-1}^0.5 = 7.723854588722857e-15
[13]:
Draw(gfu_l,mesh, interpolate_multidim=True, animate=True,
deformation=True, min=0, max=1, autoscale=False)
[13]:
BaseWebGuiScene
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.155527591736018<A u 0 , A u 0 >_{-1}^0.5 = 3.902967661510033
Newton iteration 1 , energy = 3.0317583501666574<A u 1 , A u 1 >_{-1}^0.5 = 0.5872637690441912
Newton iteration 2 , energy = 2.851815320675237<A u 2 , A u 2 >_{-1}^0.5 = 0.05151717546684838
Newton iteration 3 , energy = 2.850470255883123<A u 3 , A u 3 >_{-1}^0.5 = 0.0012747177081419178
Newton iteration 4 , energy = 2.8504694427694806<A u 4 , A u 4 >_{-1}^0.5 = 1.6950503329404502e-06
Newton iteration 5 , energy = 2.85046944276804<A u 5 , A u 5 >_{-1}^0.5 = 4.232308751909284e-12
Newton iteration 6 , energy = 2.850469442768041<A u 6 , A u 6 >_{-1}^0.5 = 3.3283059577832095e-16
t = 0.1
Newton iteration 0 , energy = 1.4798260778065344<A u 0 , A u 0 >_{-1}^0.5 = 0.8225916484098298
Newton iteration 1 , energy = 1.1356965620675556<A u 1 , A u 1 >_{-1}^0.5 = 0.04100866266173251
Newton iteration 2 , energy = 1.134850460634233<A u 2 , A u 2 >_{-1}^0.5 = 0.00048089870158799793
Newton iteration 3 , energy = 1.13485034497639<A u 3 , A u 3 >_{-1}^0.5 = 1.8404732680091486e-07
Newton iteration 4 , energy = 1.134850344976372<A u 4 , A u 4 >_{-1}^0.5 = 4.2974492256272936e-14
t = 0.2
Newton iteration 0 , energy = 1.0118266141901342<A u 0 , A u 0 >_{-1}^0.5 = 0.34912788832806796
Newton iteration 1 , energy = 0.9512089197686354<A u 1 , A u 1 >_{-1}^0.5 = 0.012892609168279102
Newton iteration 2 , energy = 0.9511256001882659<A u 2 , A u 2 >_{-1}^0.5 = 5.536184431040594e-05
Newton iteration 3 , energy = 0.9511255986557665<A u 3 , A u 3 >_{-1}^0.5 = 1.905642885248042e-09
Newton iteration 4 , energy = 0.951125598655766<A u 4 , A u 4 >_{-1}^0.5 = 1.4416352064792565e-16
t = 0.30000000000000004
Newton iteration 0 , energy = 0.9110905743548462<A u 0 , A u 0 >_{-1}^0.5 = 0.25875410183657105
Newton iteration 1 , energy = 0.8783690431516332<A u 1 , A u 1 >_{-1}^0.5 = 0.011877729217851334
Newton iteration 2 , energy = 0.8782983072320303<A u 2 , A u 2 >_{-1}^0.5 = 5.367126170403795e-05
Newton iteration 3 , energy = 0.8782983057917001<A u 3 , A u 3 >_{-1}^0.5 = 1.6969038834704651e-09
Newton iteration 4 , energy = 0.8782983057917005<A u 4 , A u 4 >_{-1}^0.5 = 1.5885949146002956e-16
t = 0.4
Newton iteration 0 , energy = 0.8471297102003007<A u 0 , A u 0 >_{-1}^0.5 = 0.2537737143272053
Newton iteration 1 , energy = 0.8159840307174713<A u 1 , A u 1 >_{-1}^0.5 = 0.01377689296650589
Newton iteration 2 , energy = 0.8158888393927236<A u 2 , A u 2 >_{-1}^0.5 = 6.721093216992933e-05
Newton iteration 3 , energy = 0.8158888371340216<A u 3 , A u 3 >_{-1}^0.5 = 2.3080134704928922e-09
Newton iteration 4 , energy = 0.8158888371340209<A u 4 , A u 4 >_{-1}^0.5 = 1.5914854122421588e-16
t = 0.5
Newton iteration 0 , energy = 0.7833250288136523<A u 0 , A u 0 >_{-1}^0.5 = 0.2629414254677696
Newton iteration 1 , energy = 0.7500716429111843<A u 1 , A u 1 >_{-1}^0.5 = 0.015899905237103804
Newton iteration 2 , energy = 0.7499447952623309<A u 2 , A u 2 >_{-1}^0.5 = 8.98957905213743e-05
Newton iteration 3 , energy = 0.749944791221584<A u 3 , A u 3 >_{-1}^0.5 = 4.324126853024896e-09
Newton iteration 4 , energy = 0.7499447912215844<A u 4 , A u 4 >_{-1}^0.5 = 1.7563548814160272e-16
t = 0.6
Newton iteration 0 , energy = 0.7154946862277995<A u 0 , A u 0 >_{-1}^0.5 = 0.2669123350109643
Newton iteration 1 , energy = 0.6812710902175815<A u 1 , A u 1 >_{-1}^0.5 = 0.01675474895960765
Newton iteration 2 , energy = 0.6811301930417182<A u 2 , A u 2 >_{-1}^0.5 = 0.00010545670330966618
Newton iteration 3 , energy = 0.6811301874809284<A u 3 , A u 3 >_{-1}^0.5 = 7.2210562027627836e-09
Newton iteration 4 , energy = 0.6811301874809279<A u 4 , A u 4 >_{-1}^0.5 = 1.954758363245997e-16
t = 0.7
Newton iteration 0 , energy = 0.6467836243973103<A u 0 , A u 0 >_{-1}^0.5 = 0.26232034334542514
Newton iteration 1 , energy = 0.6136408730671259<A u 1 , A u 1 >_{-1}^0.5 = 0.015828021070455677
Newton iteration 2 , energy = 0.6135151722367927<A u 2 , A u 2 >_{-1}^0.5 = 9.120067945794213e-05
Newton iteration 3 , energy = 0.6135151680778682<A u 3 , A u 3 >_{-1}^0.5 = 5.087267435844403e-09
Newton iteration 4 , energy = 0.6135151680778679<A u 4 , A u 4 >_{-1}^0.5 = 2.0144389829983166e-16
t = 0.7999999999999999
Newton iteration 0 , energy = 0.5810325754854717<A u 0 , A u 0 >_{-1}^0.5 = 0.2530974031842429
Newton iteration 1 , energy = 0.5501189255035114<A u 1 , A u 1 >_{-1}^0.5 = 0.014529399171055342
Newton iteration 2 , energy = 0.5500130418792271<A u 2 , A u 2 >_{-1}^0.5 = 7.363869717003365e-05
Newton iteration 3 , energy = 0.5500130391678324<A u 3 , A u 3 >_{-1}^0.5 = 2.943680717484642e-09
Newton iteration 4 , energy = 0.550013039167832<A u 4 , A u 4 >_{-1}^0.5 = 2.2046472487799226e-16
t = 0.8999999999999999
Newton iteration 0 , energy = 0.5200191278732138<A u 0 , A u 0 >_{-1}^0.5 = 0.24195821487970726
Newton iteration 1 , energy = 0.49195055544356614<A u 1 , A u 1 >_{-1}^0.5 = 0.016199909231168562
Newton iteration 2 , energy = 0.49181865857024165<A u 2 , A u 2 >_{-1}^0.5 = 0.00013877000575512422
Newton iteration 3 , energy = 0.49181864894098176<A u 3 , A u 3 >_{-1}^0.5 = 1.6162235031514643e-08
Newton iteration 4 , energy = 0.49181864894098165<A u 4 , A u 4 >_{-1}^0.5 = 3.653921878975869e-16
t = 0.9999999999999999
Newton iteration 0 , energy = 0.4652983230436138<A u 0 , A u 0 >_{-1}^0.5 = 0.22254165742733853
Newton iteration 1 , energy = 0.4417138197482269<A u 1 , A u 1 >_{-1}^0.5 = 0.017254434644772054
Newton iteration 2 , energy = 0.4415638855590664<A u 2 , A u 2 >_{-1}^0.5 = 0.00020331770598386033
Newton iteration 3 , energy = 0.44156386488751515<A u 3 , A u 3 >_{-1}^0.5 = 3.7927036140205735e-08
Newton iteration 4 , energy = 0.44156386488751426<A u 4 , A u 4 >_{-1}^0.5 = 1.4698381886818775e-15
t = 1.0999999999999999
Newton iteration 0 , energy = 0.42053725198497316<A u 0 , A u 0 >_{-1}^0.5 = 0.1920337928777383
Newton iteration 1 , energy = 0.4029001109500255<A u 1 , A u 1 >_{-1}^0.5 = 0.013500635959563547
Newton iteration 2 , energy = 0.40280847623033805<A u 2 , A u 2 >_{-1}^0.5 = 0.00011906321559773116
Newton iteration 3 , energy = 0.40280846914184915<A u 3 , A u 3 >_{-1}^0.5 = 1.2055948472057375e-08
Newton iteration 4 , energy = 0.4028084691418494<A u 4 , A u 4 >_{-1}^0.5 = 2.977592128609922e-16
t = 1.2
Newton iteration 0 , energy = 0.38789058291585915<A u 0 , A u 0 >_{-1}^0.5 = 0.15838607130918503
Newton iteration 1 , energy = 0.37581637454258304<A u 1 , A u 1 >_{-1}^0.5 = 0.010038128682433048
Newton iteration 2 , energy = 0.37576571894758526<A u 2 , A u 2 >_{-1}^0.5 = 9.086309166066967e-05
Newton iteration 3 , energy = 0.37576571481921295<A u 3 , A u 3 >_{-1}^0.5 = 1.091465958108574e-08
Newton iteration 4 , energy = 0.37576571481921284<A u 4 , A u 4 >_{-1}^0.5 = 2.9635338555030696e-16
t = 1.3
Newton iteration 0 , energy = 0.3658448557150802<A u 0 , A u 0 >_{-1}^0.5 = 0.12785885968187724
Newton iteration 1 , energy = 0.3579010752659412<A u 1 , A u 1 >_{-1}^0.5 = 0.006493955712990034
Newton iteration 2 , energy = 0.3578799083983545<A u 2 , A u 2 >_{-1}^0.5 = 4.132806515193881e-05
Newton iteration 3 , energy = 0.3578799075443183<A u 3 , A u 3 >_{-1}^0.5 = 2.311404293232005e-09
Newton iteration 4 , energy = 0.3578799075443186<A u 4 , A u 4 >_{-1}^0.5 = 2.6810288658160077e-16
t = 1.4000000000000001
Newton iteration 0 , energy = 0.3513724391475176<A u 0 , A u 0 >_{-1}^0.5 = 0.10411973287732425
Newton iteration 1 , energy = 0.34605187071092025<A u 1 , A u 1 >_{-1}^0.5 = 0.003679967999808183
Newton iteration 2 , energy = 0.34604508730667083<A u 2 , A u 2 >_{-1}^0.5 = 1.1245501639184335e-05
Newton iteration 3 , energy = 0.34604508724343935<A u 3 , A u 3 >_{-1}^0.5 = 1.5959157377771517e-10
Newton iteration 4 , energy = 0.34604508724343946<A u 4 , A u 4 >_{-1}^0.5 = 2.5979947417045675e-16
t = 1.5000000000000002
Newton iteration 0 , energy = 0.34155788317473273<A u 0 , A u 0 >_{-1}^0.5 = 0.08812837881644645
Newton iteration 1 , energy = 0.3377216170972495<A u 1 , A u 1 >_{-1}^0.5 = 0.0022478961601988976
Newton iteration 2 , energy = 0.33771908855831195<A u 2 , A u 2 >_{-1}^0.5 = 3.048796712412669e-06
Newton iteration 3 , energy = 0.33771908855366456<A u 3 , A u 3 >_{-1}^0.5 = 9.322411624819995e-12
Newton iteration 4 , energy = 0.33771908855366434<A u 4 , A u 4 >_{-1}^0.5 = 2.581136377389772e-16
t = 1.6000000000000003
Newton iteration 0 , energy = 0.334338952005124<A u 0 , A u 0 >_{-1}^0.5 = 0.07806637784912662
Newton iteration 1 , energy = 0.3313186167708653<A u 1 , A u 1 >_{-1}^0.5 = 0.0016725179237095983
Newton iteration 2 , energy = 0.3313172174355442<A u 2 , A u 2 >_{-1}^0.5 = 1.3750415905707813e-06
Newton iteration 3 , energy = 0.33131721743459874<A u 3 , A u 3 >_{-1}^0.5 = 1.6855310291228406e-12
Newton iteration 4 , energy = 0.3313172174345989<A u 4 , A u 4 >_{-1}^0.5 = 2.613944093937787e-16
t = 1.7000000000000004
Newton iteration 0 , energy = 0.3285582359249102<A u 0 , A u 0 >_{-1}^0.5 = 0.07154071008401247
Newton iteration 1 , energy = 0.3260170661772191<A u 1 , A u 1 >_{-1}^0.5 = 0.0014250703219029065
Newton iteration 2 , energy = 0.3260160503674918<A u 2 , A u 2 >_{-1}^0.5 = 9.518034225776168e-07
Newton iteration 3 , energy = 0.32601605036703846<A u 3 , A u 3 >_{-1}^0.5 = 8.37133182206324e-13
Newton iteration 4 , energy = 0.3260160503670384<A u 4 , A u 4 >_{-1}^0.5 = 2.4265082914578005e-16
t = 1.8000000000000005
Newton iteration 0 , energy = 0.32364184565432963<A u 0 , A u 0 >_{-1}^0.5 = 0.0669205426878862
Newton iteration 1 , energy = 0.3214155565031594<A u 1 , A u 1 >_{-1}^0.5 = 0.0012774943359804586
Newton iteration 2 , energy = 0.32141474022885863<A u 2 , A u 2 >_{-1}^0.5 = 7.395919751533339e-07
Newton iteration 3 , energy = 0.32141474022858507<A u 3 , A u 3 >_{-1}^0.5 = 4.774051102444846e-13
Newton iteration 4 , energy = 0.3214147402285849<A u 4 , A u 4 >_{-1}^0.5 = 2.570903519415181e-16
t = 1.9000000000000006
Newton iteration 0 , energy = 0.31930720033018906<A u 0 , A u 0 >_{-1}^0.5 = 0.0633633453403309
Newton iteration 1 , energy = 0.317309482637797<A u 1 , A u 1 >_{-1}^0.5 = 0.001163651943244128
Newton iteration 2 , energy = 0.3173088053904512<A u 2 , A u 2 >_{-1}^0.5 = 5.881579096364215e-07
Newton iteration 3 , energy = 0.31730880539027845<A u 3 , A u 3 >_{-1}^0.5 = 2.7553792840944635e-13
Newton iteration 4 , energy = 0.3173088053902782<A u 4 , A u 4 >_{-1}^0.5 = 2.4427182865086734e-16
t = 2.0000000000000004
Newton iteration 0 , energy = 0.3154019446744456<A u 0 , A u 0 >_{-1}^0.5 = 0.06046988423639982
Newton iteration 1 , energy = 0.31358134628423817<A u 1 , A u 1 >_{-1}^0.5 = 0.0010696980913600452
Newton iteration 2 , energy = 0.31358077400194906<A u 2 , A u 2 >_{-1}^0.5 = 4.78219386968582e-07
Newton iteration 3 , energy = 0.31358077400183515<A u 3 , A u 3 >_{-1}^0.5 = 1.6249388775797299e-13
Newton iteration 4 , energy = 0.31358077400183515<A u 4 , A u 4 >_{-1}^0.5 = 2.3357322751142515e-16
t = 2.1000000000000005
Newton iteration 0 , energy = 0.3118329422171557<A u 0 , A u 0 >_{-1}^0.5 = 0.05803092971979752
Newton iteration 1 , energy = 0.3101555890654212<A u 1 , A u 1 >_{-1}^0.5 = 0.0009939083502081573
Newton iteration 2 , energy = 0.310155095015447<A u 2 , A u 2 >_{-1}^0.5 = 4.0262913455256076e-07
Newton iteration 3 , energy = 0.3101550950153661<A u 3 , A u 3 >_{-1}^0.5 = 1.040426694118522e-13
Newton iteration 4 , energy = 0.31015509501536603<A u 4 , A u 4 >_{-1}^0.5 = 2.422543128607413e-16
t = 2.2000000000000006
Newton iteration 0 , energy = 0.30853814709827987<A u 0 , A u 0 >_{-1}^0.5 = 0.055909508298391204
Newton iteration 1 , energy = 0.30698089151783703<A u 1 , A u 1 >_{-1}^0.5 = 0.0009350737925028019
Newton iteration 2 , energy = 0.3069804542348976<A u 2 , A u 2 >_{-1}^0.5 = 3.5099162841529504e-07
Newton iteration 3 , energy = 0.30698045423483605<A u 3 , A u 3 >_{-1}^0.5 = 7.519176972523633e-14
t = 2.3000000000000007
Newton iteration 0 , energy = 0.3054751642681965<A u 0 , A u 0 >_{-1}^0.5 = 0.05400150209874555
Newton iteration 1 , energy = 0.30402228122943686<A u 1 , A u 1 >_{-1}^0.5 = 0.000889604430802226
Newton iteration 2 , energy = 0.3040218854452222<A u 2 , A u 2 >_{-1}^0.5 = 3.1383286640916373e-07
Newton iteration 3 , energy = 0.3040218854451728<A u 3 , A u 3 >_{-1}^0.5 = 5.992613802336344e-14
t = 2.400000000000001
Newton iteration 0 , energy = 0.30261531222544963<A u 0 , A u 0 >_{-1}^0.5 = 0.05222818323717893
Newton iteration 1 , energy = 0.3012562409662314<A u 1 , A u 1 >_{-1}^0.5 = 0.0008515491921994318
Newton iteration 2 , energy = 0.3012558783232956<A u 2 , A u 2 >_{-1}^0.5 = 2.856517009438967e-07
Newton iteration 3 , energy = 0.30125587832325484<A u 3 , A u 3 >_{-1}^0.5 = 5.027878505149216e-14
t = 2.500000000000001
Newton iteration 0 , energy = 0.29993930200181346<A u 0 , A u 0 >_{-1}^0.5 = 0.05053687668854502
Newton iteration 1 , energy = 0.2986667580279502<A u 1 , A u 1 >_{-1}^0.5 = 0.0008146689318661638
Newton iteration 2 , energy = 0.2986664261194141<A u 2 , A u 2 >_{-1}^0.5 = 2.6287413231923897e-07
Newton iteration 3 , energy = 0.29866642611937977<A u 3 , A u 3 >_{-1}^0.5 = 4.331470854821164e-14
t = 2.600000000000001
Newton iteration 0 , energy = 0.29743360125599233<A u 0 , A u 0 >_{-1}^0.5 = 0.0488998411208707
Newton iteration 1 , energy = 0.2962420363616063<A u 1 , A u 1 >_{-1}^0.5 = 0.0007749917838309899
Newton iteration 2 , energy = 0.29624173599811016<A u 2 , A u 2 >_{-1}^0.5 = 2.4150129467529746e-07
Newton iteration 3 , energy = 0.29624173599808096<A u 3 , A u 3 >_{-1}^0.5 = 3.745387018467016e-14
t = 2.700000000000001
Newton iteration 0 , energy = 0.2950875552832236<A u 0 , A u 0 >_{-1}^0.5 = 0.04730895089365252
Newton iteration 1 , energy = 0.2939720818026834<A u 1 , A u 1 >_{-1}^0.5 = 0.0007318010389491847
Newton iteration 2 , energy = 0.29397181398729677<A u 2 , A u 2 >_{-1}^0.5 = 2.1864078851001074e-07
Newton iteration 3 , energy = 0.2939718139872729<A u 3 , A u 3 >_{-1}^0.5 = 3.1294240997805974e-14
t = 2.800000000000001
Newton iteration 0 , energy = 0.292891474853048<A u 0 , A u 0 >_{-1}^0.5 = 0.04576794228280092
Newton iteration 1 , energy = 0.2918472820798931<A u 1 , A u 1 >_{-1}^0.5 = 0.0006867421186890122
Newton iteration 2 , energy = 0.2918470462315791<A u 2 , A u 2 >_{-1}^0.5 = 1.9422870910418147e-07
Newton iteration 3 , energy = 0.2918470462315599<A u 3 , A u 3 >_{-1}^0.5 = 2.470905383491943e-14
t = 2.9000000000000012
Newton iteration 0 , energy = 0.2908356786922533<A u 0 , A u 0 >_{-1}^0.5 = 0.044285259334220964
Newton iteration 1 , energy = 0.28985783725122105<A u 1 , A u 1 >_{-1}^0.5 = 0.0006422196211125248
Newton iteration 2 , energy = 0.28985763099455336<A u 2 , A u 2 >_{-1}^0.5 = 1.6998740392022033e-07
Newton iteration 3 , energy = 0.289857630994539<A u 3 , A u 3 >_{-1}^0.5 = 1.8613707655897312e-14
t = 3.0000000000000013
Newton iteration 0 , energy = 0.28891023622142137<A u 0 , A u 0 >_{-1}^0.5 = 0.042869431538669955
Newton iteration 1 , energy = 0.28799372375048027<A u 1 , A u 1 >_{-1}^0.5 = 0.0006001764701857023
Newton iteration 2 , energy = 0.28799354361718277<A u 2 , A u 2 >_{-1}^0.5 = 1.4760228588769252e-07
Newton iteration 3 , energy = 0.28799354361717183<A u 3 , A u 3 >_{-1}^0.5 = 1.3700884352043746e-14
t = 3.1000000000000014
Newton iteration 0 , energy = 0.2871050763990441<A u 0 , A u 0 >_{-1}^0.5 = 0.041527106603070976
Newton iteration 1 , energy = 0.28624488149463656<A u 1 , A u 1 >_{-1}^0.5 = 0.0005616042708281969
Newton iteration 2 , energy = 0.2862447237727004<A u 2 , A u 2 >_{-1}^0.5 = 1.279317359843509e-07
Newton iteration 3 , energy = 0.2862447237726922<A u 3 , A u 3 >_{-1}^0.5 = 1.015931099969178e-14
t = 3.2000000000000015
Newton iteration 0 , energy = 0.285410204002515<A u 0 , A u 0 >_{-1}^0.5 = 0.04026276584023924
Newton iteration 1 , energy = 0.2846014285263717<A u 1 , A u 1 >_{-1}^0.5 = 0.0005266329945373965
Newton iteration 2 , energy = 0.2846012898370939<A u 2 , A u 2 >_{-1}^0.5 = 1.1111894432408432e-07
Newton iteration 3 , energy = 0.2846012898370877<A u 3 , A u 3 >_{-1}^0.5 = 7.673587775027331e-15
t = 3.3000000000000016
Newton iteration 0 , energy = 0.2838158933559463<A u 0 , A u 0 >_{-1}^0.5 = 0.03907903897497686
Newton iteration 1 , energy = 0.2830538286715773<A u 1 , A u 1 >_{-1}^0.5 = 0.0004949004002671355
Newton iteration 2 , energy = 0.2830537061935375<A u 2 , A u 2 >_{-1}^0.5 = 9.693706411244406e-08
Newton iteration 3 , energy = 0.28305370619353276<A u 3 , A u 3 >_{-1}^0.5 = 5.888405614097488e-15
t = 3.4000000000000017
Newton iteration 0 , energy = 0.28231282889420706<A u 0 , A u 0 >_{-1}^0.5 = 0.0379769638868909
Newton iteration 1 , energy = 0.2815930104000623<A u 1 , A u 1 >_{-1}^0.5 = 0.0004659322045170163
Newton iteration 2 , energy = 0.2815929018414162<A u 2 , A u 2 >_{-1}^0.5 = 8.503038091993681e-08
Newton iteration 3 , energy = 0.28159290184141283<A u 3 , A u 3 >_{-1}^0.5 = 4.571394545564902e-15
t = 3.5000000000000018
Newton iteration 0 , energy = 0.28089220711467927<A u 0 , A u 0 >_{-1}^0.5 = 0.03695602264201758
Newton iteration 1 , energy = 0.28021045729066607<A u 1 , A u 1 >_{-1}^0.5 = 0.00043937399829195296
Newton iteration 2 , energy = 0.2802103607557368<A u 2 , A u 2 >_{-1}^0.5 = 7.502751144897676e-08
Newton iteration 3 , energy = 0.28021036075573397<A u 3 , A u 3 >_{-1}^0.5 = 3.595428977918221e-15
t = 3.600000000000002
Newton iteration 0 , energy = 0.2795458189068637<A u 0 , A u 0 >_{-1}^0.5 = 0.036014077549109846
Newton iteration 1 , energy = 0.27889828380875226<A u 1 , A u 1 >_{-1}^0.5 = 0.000415048023902954
Newton iteration 2 , energy = 0.2788981976677913<A u 2 , A u 2 >_{-1}^0.5 = 6.659068184852469e-08
Newton iteration 3 , energy = 0.2788981976677891<A u 3 , A u 3 >_{-1}^0.5 = 2.8185883797914404e-15
t = 3.700000000000002
Newton iteration 0 , energy = 0.27826611889526404<A u 0 , A u 0 >_{-1}^0.5 = 0.035147391376697125
Newton iteration 1 , energy = 0.2776492967301608<A u 1 , A u 1 >_{-1}^0.5 = 0.0003928971030735158
Newton iteration 2 , energy = 0.2776492195388828<A u 2 , A u 2 >_{-1}^0.5 = 5.9437738595546564e-08
Newton iteration 3 , energy = 0.277649219538881<A u 3 , A u 3 >_{-1}^0.5 = 2.262737388588563e-15
t = 3.800000000000002
Newton iteration 0 , energy = 0.27704627721572056<A u 0 , A u 0 >_{-1}^0.5 = 0.03435082897599793
Newton iteration 1 , energy = 0.27645703511731506<A u 1 , A u 1 >_{-1}^0.5 = 0.000372895948401024
Newton iteration 2 , energy = 0.2764569655854736<A u 2 , A u 2 >_{-1}^0.5 = 5.334615237045062e-08
Newton iteration 3 , energy = 0.2764569655854723<A u 3 , A u 3 >_{-1}^0.5 = 1.784033484916568e-15
t = 3.900000000000002
Newton iteration 0 , energy = 0.2758802061476703<A u 0 , A u 0 >_{-1}^0.5 = 0.033618219495377494
Newton iteration 1 , energy = 0.275315782621881<A u 1 , A u 1 >_{-1}^0.5 = 0.00035498199342935476
Newton iteration 2 , energy = 0.2753157196104905<A u 2 , A u 2 >_{-1}^0.5 = 4.814509707870095e-08
Newton iteration 3 , energy = 0.2753157196104893<A u 3 , A u 3 >_{-1}^0.5 = 1.4782627969041347e-15
t = 4.000000000000002
Newton iteration 0 , energy = 0.27476255790752957<A u 0 , A u 0 >_{-1}^0.5 = 0.03294278655417878
Newton iteration 1 , energy = 0.2742205514805081<A u 1 , A u 1 >_{-1}^0.5 = 0.0003390232495234048
Newton iteration 2 , energy = 0.2742204940075495<A u 2 , A u 2 >_{-1}^0.5 = 4.370317902362761e-08
Newton iteration 3 , energy = 0.2742204940075488<A u 3 , A u 3 >_{-1}^0.5 = 1.1875679647489403e-15
t = 4.100000000000001
Newton iteration 0 , energy = 0.273688696101748<A u 0 , A u 0 >_{-1}^0.5 = 0.03231754514948758
Newton iteration 1 , energy = 0.27316704338238607<A u 1 , A u 1 >_{-1}^0.5 = 0.0003248196932807857
Newton iteration 2 , energy = 0.2731669906244711<A u 2 , A u 2 >_{-1}^0.5 = 3.9916977522725024e-08
Newton iteration 3 , energy = 0.2731669906244703<A u 3 , A u 3 >_{-1}^0.5 = 9.934656772714468e-16
t = 4.200000000000001
Newton iteration 0 , energy = 0.2726546481083324<A u 0 , A u 0 >_{-1}^0.5 = 0.03173559688851935
Newton iteration 1 , energy = 0.2721515957630506<A u 1 , A u 1 >_{-1}^0.5 = 0.00031212697316809225
Newton iteration 2 , energy = 0.27215154704790234<A u 2 , A u 2 >_{-1}^0.5 = 3.670191631284621e-08
Newton iteration 3 , energy = 0.27215154704790157<A u 3 , A u 3 >_{-1}^0.5 = 8.6589372672642e-16
t = 4.300000000000001
Newton iteration 0 , energy = 0.27165704749663366<A u 0 , A u 0 >_{-1}^0.5 = 0.03119030085557535
Newton iteration 1 , energy = 0.2711711224714988<A u 1 , A u 1 >_{-1}^0.5 = 0.00030068977337369016
Newton iteration 2 , energy = 0.2711710772611917<A u 2 , A u 2 >_{-1}^0.5 = 3.398464798528559e-08
Newton iteration 3 , energy = 0.27117107726119133<A u 3 , A u 3 >_{-1}^0.5 = 7.41001118515215e-16
t = 4.4
Newton iteration 0 , energy = 0.27069307469049964<A u 0 , A u 0 >_{-1}^0.5 = 0.03067533807183734
Newton iteration 1 , energy = 0.2702230558015485<A u 1 , A u 1 >_{-1}^0.5 = 0.000290272750957677
Newton iteration 2 , energy = 0.2702230136695932<A u 2 , A u 2 >_{-1}^0.5 = 3.1696183724563554e-08
Newton iteration 3 , energy = 0.2702230136695925<A u 3 , A u 3 >_{-1}^0.5 = 6.438927055328369e-16
t = 4.5
Newton iteration 0 , energy = 0.2697604013033479<A u 0 , A u 0 >_{-1}^0.5 = 0.030184715865811777
Newton iteration 1 , energy = 0.2693052935376523<A u 1 , A u 1 >_{-1}^0.5 = 0.00028067922546490384
Newton iteration 2 , energy = 0.26930525414467865<A u 2 , A u 2 >_{-1}^0.5 = 2.9766651086477643e-08
Newton iteration 3 , energy = 0.2693052541446782<A u 3 , A u 3 >_{-1}^0.5 = 5.804317473375405e-16
t = 4.6
Newton iteration 0 , energy = 0.26885713990055277<A u 0 , A u 0 >_{-1}^0.5 = 0.02971277160500276
Newton iteration 1 , energy = 0.2684161509060477<A u 1 , A u 1 >_{-1}^0.5 = 0.00027175253304285475
Newton iteration 2 , energy = 0.2684161139789862<A u 2 , A u 2 >_{-1}^0.5 = 2.812317709744532e-08
Newton iteration 3 , energy = 0.26841611397898574<A u 3 , A u 3 >_{-1}^0.5 = 5.470470937238586e-16
t = 4.699999999999999
Newton iteration 0 , energy = 0.26798179733568517<A u 0 , A u 0 >_{-1}^0.5 = 0.029254230523451902
Newton iteration 1 , energy = 0.26755431411384206<A u 1 , A u 1 >_{-1}^0.5 = 0.0002633618275664458
Newton iteration 2 , energy = 0.2675542794319606<A u 2 , A u 2 >_{-1}^0.5 = 2.669090173723249e-08
Newton iteration 3 , energy = 0.26755427943196003<A u 3 , A u 3 >_{-1}^0.5 = 5.142615844529153e-16
t = 4.799999999999999
Newton iteration 0 , energy = 0.26713322723971317<A u 0 , A u 0 >_{-1}^0.5 = 0.028804348630074375
Newton iteration 1 , energy = 0.2667187904558303<A u 1 , A u 1 >_{-1}^0.5 = 0.0002553810925794304
Newton iteration 2 , energy = 0.2667187578440901<A u 2 , A u 2 >_{-1}^0.5 = 2.5395720038655753e-08
Newton iteration 3 , energy = 0.2667187578440899<A u 3 , A u 3 >_{-1}^0.5 = 5.022748376750287e-16
t = 4.899999999999999
Newton iteration 0 , energy = 0.26631057659093704<A u 0 , A u 0 >_{-1}^0.5 = 0.028359132993937174
Newton iteration 1 , energy = 0.26590885047897517<A u 1 , A u 1 >_{-1}^0.5 = 0.00024767399372415246
Newton iteration 2 , energy = 0.2659088198059366<A u 2 , A u 2 >_{-1}^0.5 = 2.4167900573173454e-08
Newton iteration 3 , energy = 0.265908819805936<A u 3 , A u 3 >_{-1}^0.5 = 4.673356668723724e-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]:
BaseWebGuiScene
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.3930405243750324
Newton iteration 1
Energy: -0.07724042690050034
err = 2.533372698251701e-15
[20]:
BaseWebGuiScene
The minimization problem is solved by the solution of the PDE:
under the constraint