Nonlinear minimization problems

We consider problems of the form

$$\text{find } u \in V \text{ s.t. } E(u) \leq E(v) \quad \forall~ v \in V.$$
In [1]:
import netgen.gui
%gui tk
import tkinter
from ngsolve import *

Scalar minimization problems

As a first example we take $V = H^1_0$ and $$ E(u) = \int_{\Omega} \vert \nabla u \vert^2 + u^4 - fu ~dx. $$ The minimization is equivalent to solving the nonlinear PDE: $$ - \Delta u + 4 u^3 = f \text{ in } \Omega $$ We solve the PDE with a Newton iteration.

In [2]:
from netgen.geom2d import unit_square

mesh = Mesh (unit_square.GenerateMesh(maxh=0.2))
V = H1(mesh, order=4, dirichlet=[1,2,3,4])
u = V.TrialFunction()

To solve the problem we use the "SymbolicEnergy" integrator. Based on the symbolic description of the energy functional, it is able to

  • evaluate the energy functional ("Energy") $$E(u) \qquad (E:V \to \mathbb{R})$$
  • compute the Gateau derivative for a given $u$ ("Apply"): $$A(u)(v) = E'(u)(v) \qquad (A(u): V \to \mathbb{R})$$
  • compute the second derivative ("AssembleLinearization") $$(\delta A)(w)(u,v) \qquad (\delta A(w): V\times V \to \mathbb{R})$$
In [3]:
a = BilinearForm (V, symmetric=False)
a += SymbolicEnergy ( grad(u)*grad(u) + u*u*u*u-u )

We recall the Newton iteration (cf. unit-3.5 ) we make the loop:

  • Given an initial guess $u^0$
  • loop over $i=0,..$ until convergence:
    • Compute linearization: $A u^i + \delta A(u^i) \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$.

In [4]:
def SolveNonlinearMinProblem(a,gfu):
    res = gfu.vec.CreateVector()
    du  = gfu.vec.CreateVector()

    for it in range(12):
        print ("Newton iteration", it)
        print ("energy = ", a.Energy(gfu.vec))
    
        #solve linearized problem:
        a.Apply (gfu.vec, res)
        a.AssembleLinearization (gfu.vec)
        inv = a.mat.Inverse(V.FreeDofs())
        du.data = inv * res
    

        #update iteration
        gfu.vec.data -= du

        #stopping criteria
        stopcritval = sqrt(abs(InnerProduct(du,res)))
        print ("<A u",it,", A u",it,">_{-1}^0.5 = ", stopcritval)
        if stopcritval < 1e-13:
            break
        Redraw(blocking=True)
In [5]:
gfu = GridFunction (V)
gfu.vec[:] = 0
Draw(gfu,mesh,"u")

SolveNonlinearMinProblem(a,gfu)

print ("energy = ", a.Energy(gfu.vec))
    
Newton iteration 0
energy =  0.0
<A u 0 , A u 0 >_{-1}^0.5 =  0.13255951536879185
Newton iteration 1
energy =  -0.008785669210992275
<A u 1 , A u 1 >_{-1}^0.5 =  1.1107600884995688e-05
Newton iteration 2
energy =  -0.008785669272681672
<A u 2 , A u 2 >_{-1}^0.5 =  2.807581547446184e-13
Newton iteration 3
energy =  -0.008785669272681674
<A u 3 , A u 3 >_{-1}^0.5 =  3.3311189428111725e-17
energy =  -0.008785669272681674

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 $$ E(v) := \int_{\Omega} \frac{\mu}{2} ( \operatorname{tr}(F^T F-I)+\frac{2 \mu}{\lambda} \operatorname{det}(F^T F)^{\frac{\lambda}{2\mu}} - 1) - \gamma ~ (f,v) ~~ dx $$ where $\mu$ and $\lambda$ are the Lamé parameters and $F = I + D u$ where $v: \Omega \to \mathbb{R}^2$ is the sought for displacement.

In [6]:
import netgen.geom2d as geom2d
from ngsolve import *

geo = geom2d.SplineGeometry()
pnums = [ geo.AddPoint (x,y,maxh=0.01) for x,y in [(0,0), (1,0), (1,0.1), (0,0.1)] ]
for p1,p2,bc in [(0,1,"bot"), (1,2,"right"), (2,3,"top"), (3,0,"left")]:
     geo.Append(["line", pnums[p1], pnums[p2]], bc=bc)
mesh = Mesh(geo.GenerateMesh(maxh=0.05))

# 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 = H1(mesh, order=2, dirichlet="left", dim=mesh.dim)
u  = V.TrialFunction()

#gravity:
force = CoefficientFunction( (0,-1) )

# some utils:
def IdentityCF(dim):
    return CoefficientFunction( tuple( [1 if i==j else 0 for i in range(dim) for j in range(dim)]), dims=(dim,dim) )

def Trace(mat):
    return sum( [mat[i,i] for i in range(mat.dims[0]) ])

def Det(mat):
    if mat.dims[0] == 2:
        return mat[0,0]*mat[1,1]-mat[0,1]*mat[1,0]

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 = IdentityCF(mesh.dim)
F = I + u.Deriv()   # attention: row .. component, col .. derivative
C = F * F.trans  

factor = Parameter(1.0)

a = BilinearForm(V, symmetric=False)
a += SymbolicEnergy(  NeoHook (C).Compile() )
a += SymbolicEnergy(  (-factor * InnerProduct(force,u) ).Compile() )

We want to solve the minimization problem for $\gamma = 5$. Due to the high nonlinearity in the problem, the Newton iteration will not convergence with 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.

In [7]:
gfu = GridFunction(V)
gfu.vec[:] = 0

Draw (gfu, mesh, "u")
SetVisualization (deformation=True)

res = gfu.vec.CreateVector()
du = gfu.vec.CreateVector()

for loadstep in range(50):
    print ("loadstep", loadstep)
    factor.Set ((loadstep+1)/10)
    SolveNonlinearMinProblem(a,gfu)
    Redraw()
loadstep 0
Newton iteration 0
energy =  8.749999999999966
<A u 0 , A u 0 >_{-1}^0.5 =  0.016678007594384803
Newton iteration 1
energy =  8.750132575840986
<A u 1 , A u 1 >_{-1}^0.5 =  0.023332552352138877
Newton iteration 2
energy =  8.749861156770503
<A u 2 , A u 2 >_{-1}^0.5 =  0.0001023154974726751
Newton iteration 3
energy =  8.749861151536274
<A u 3 , A u 3 >_{-1}^0.5 =  5.06138029859194e-08
Newton iteration 4
energy =  8.74986115153627
<A u 4 , A u 4 >_{-1}^0.5 =  2.643046530124229e-13
Newton iteration 5
energy =  8.74986115153627
<A u 5 , A u 5 >_{-1}^0.5 =  6.674074513435219e-16
loadstep 1
Newton iteration 0
energy =  8.749583911672604
<A u 0 , A u 0 >_{-1}^0.5 =  0.016595761327728244
Newton iteration 1
energy =  8.749710111774307
<A u 1 , A u 1 >_{-1}^0.5 =  0.022957931316004744
Newton iteration 2
energy =  8.749447324567196
<A u 2 , A u 2 >_{-1}^0.5 =  0.0001420741812052145
Newton iteration 3
energy =  8.74944731458028
<A u 3 , A u 3 >_{-1}^0.5 =  2.322484080910365e-06
Newton iteration 4
energy =  8.749447314577575
<A u 4 , A u 4 >_{-1}^0.5 =  6.311690071830327e-10
Newton iteration 5
energy =  8.749447314577576
<A u 5 , A u 5 >_{-1}^0.5 =  1.1155098329137486e-15
loadstep 2
Newton iteration 0
energy =  8.74889819592382
<A u 0 , A u 0 >_{-1}^0.5 =  0.01635672200661394
Newton iteration 1
energy =  8.749005324135736
<A u 1 , A u 1 >_{-1}^0.5 =  0.02189317423821157
Newton iteration 2
energy =  8.748766311368644
<A u 2 , A u 2 >_{-1}^0.5 =  0.00020808234069090534
Newton iteration 3
energy =  8.748766290041935
<A u 3 , A u 3 >_{-1}^0.5 =  4.885081304801482e-06
Newton iteration 4
energy =  8.748766290029998
<A u 4 , A u 4 >_{-1}^0.5 =  2.6595404148292616e-09
Newton iteration 5
energy =  8.748766290030002
<A u 5 , A u 5 >_{-1}^0.5 =  1.6319332662657475e-15
loadstep 3
Newton iteration 0
energy =  8.747955382712071
<A u 0 , A u 0 >_{-1}^0.5 =  0.01598200519016907
Newton iteration 1
energy =  8.748035539834046
<A u 1 , A u 1 >_{-1}^0.5 =  0.020293755727435116
Newton iteration 2
energy =  8.747830127063061
<A u 2 , A u 2 >_{-1}^0.5 =  0.0002636470049038539
Newton iteration 3
energy =  8.747830092799232
<A u 3 , A u 3 >_{-1}^0.5 =  7.239911816926423e-06
Newton iteration 4
energy =  8.747830092773016
<A u 4 , A u 4 >_{-1}^0.5 =  4.736927418038012e-09
Newton iteration 5
energy =  8.747830092773013
<A u 5 , A u 5 >_{-1}^0.5 =  3.0835446337337275e-15
loadstep 4
Newton iteration 0
energy =  8.746771132057377
<A u 0 , A u 0 >_{-1}^0.5 =  0.01550119766500038
Newton iteration 1
energy =  8.746822018158685
<A u 1 , A u 1 >_{-1}^0.5 =  0.01836228370865218
Newton iteration 2
energy =  8.746653797758386
<A u 2 , A u 2 >_{-1}^0.5 =  0.0002989213376133153
Newton iteration 3
energy =  8.746653753607685
<A u 3 , A u 3 >_{-1}^0.5 =  8.713580005008712e-06
Newton iteration 4
energy =  8.746653753569714
<A u 4 , A u 4 >_{-1}^0.5 =  5.238582184960595e-09
Newton iteration 5
energy =  8.746653753569708
<A u 5 , A u 5 >_{-1}^0.5 =  3.715542828900347e-15
loadstep 5
Newton iteration 0
energy =  8.745362853692658
<A u 0 , A u 0 >_{-1}^0.5 =  0.014946535034660485
Newton iteration 1
energy =  8.745386651361148
<A u 1 , A u 1 >_{-1}^0.5 =  0.01629612323611759
Newton iteration 2
energy =  8.745254116392747
<A u 2 , A u 2 >_{-1}^0.5 =  0.00031309916680321133
Newton iteration 3
energy =  8.745254067825112
<A u 3 , A u 3 >_{-1}^0.5 =  9.03844908761865e-06
Newton iteration 4
energy =  8.745254067784265
<A u 4 , A u 4 >_{-1}^0.5 =  4.21638757353684e-09
Newton iteration 5
energy =  8.745254067784256
<A u 5 , A u 5 >_{-1}^0.5 =  3.533062395711801e-15
loadstep 6
Newton iteration 0
energy =  8.743748520074615
<A u 0 , A u 0 >_{-1}^0.5 =  0.014348141295031775
Newton iteration 1
energy =  8.743749955746663
<A u 1 , A u 1 >_{-1}^0.5 =  0.014252667490982852
Newton iteration 2
energy =  8.743648541966508
<A u 2 , A u 2 >_{-1}^0.5 =  0.0003092871666690351
Newton iteration 3
energy =  8.74364849445936
<A u 3 , A u 3 >_{-1}^0.5 =  8.383229054212925e-06
Newton iteration 4
energy =  8.743648494424217
<A u 4 , A u 4 >_{-1}^0.5 =  2.6954235778663315e-09
Newton iteration 5
energy =  8.743648494424217
<A u 5 , A u 5 >_{-1}^0.5 =  3.4592262813109384e-15
loadstep 7
Newton iteration 0
energy =  8.741945784122917
<A u 0 , A u 0 >_{-1}^0.5 =  0.013731220169868386
Newton iteration 1
energy =  8.741930363782807
<A u 1 , A u 1 >_{-1}^0.5 =  0.012337272403750078
Newton iteration 2
energy =  8.741854351000192
<A u 2 , A u 2 >_{-1}^0.5 =  0.00029211766849873363
Newton iteration 3
energy =  8.74185430853714
<A u 3 , A u 3 >_{-1}^0.5 =  7.130741593507274e-06
Newton iteration 4
energy =  8.741854308511716
<A u 4 , A u 4 >_{-1}^0.5 =  1.4452021554701125e-09
Newton iteration 5
energy =  8.741854308511714
<A u 5 , A u 5 >_{-1}^0.5 =  3.1346952498410724e-15
loadstep 8
Newton iteration 0
energy =  8.739971404723729
<A u 0 , A u 0 >_{-1}^0.5 =  0.013115088721709592
Newton iteration 1
energy =  8.739944269607012
<A u 1 , A u 1 >_{-1}^0.5 =  0.010607610807031811
Newton iteration 2
energy =  8.739888058188049
<A u 2 , A u 2 >_{-1}^0.5 =  0.0002663437221918494
Newton iteration 3
energy =  8.739888022833926
<A u 3 , A u 3 >_{-1}^0.5 =  5.664914487360065e-06
Newton iteration 4
energy =  8.73988802281788
<A u 4 , A u 4 >_{-1}^0.5 =  6.732487929002551e-10
Newton iteration 5
energy =  8.739888022817885
<A u 5 , A u 5 >_{-1}^0.5 =  3.5648091110437985e-15
loadstep 9
Newton iteration 0
energy =  8.73784092547988
<A u 0 , A u 0 >_{-1}^0.5 =  0.01251345623005674
Newton iteration 1
energy =  8.737806320055038
<A u 1 , A u 1 >_{-1}^0.5 =  0.009085423268040646
Newton iteration 2
energy =  8.737765070832607
<A u 2 , A u 2 >_{-1}^0.5 =  0.0002360921116562301
Newton iteration 3
energy =  8.737765043022637
<A u 3 , A u 3 >_{-1}^0.5 =  4.261232350672892e-06
Newton iteration 4
energy =  8.737765043013555
<A u 4 , A u 4 >_{-1}^0.5 =  2.7856296567190857e-10
Newton iteration 5
energy =  8.737765043013557
<A u 5 , A u 5 >_{-1}^0.5 =  4.2597698109165114e-15
loadstep 10
Newton iteration 0
energy =  8.735568536626767
<A u 0 , A u 0 >_{-1}^0.5 =  0.011935320483125681
Newton iteration 1
energy =  8.735529692759373
<A u 1 , A u 1 >_{-1}^0.5 =  0.007769074041487065
Newton iteration 2
energy =  8.735499521537388
<A u 2 , A u 2 >_{-1}^0.5 =  0.000204565644716271
Newton iteration 3
energy =  8.735499500642321
<A u 3 , A u 3 >_{-1}^0.5 =  3.0675617276143088e-06
Newton iteration 4
energy =  8.735499500637617
<A u 4 , A u 4 >_{-1}^0.5 =  1.0348428638348054e-10
Newton iteration 5
energy =  8.735499500637612
<A u 5 , A u 5 >_{-1}^0.5 =  5.275393447248002e-15
loadstep 11
Newton iteration 0
energy =  8.733167057180914
<A u 0 , A u 0 >_{-1}^0.5 =  0.01138603345697288
Newton iteration 1
energy =  8.733126294091003
<A u 1 , A u 1 >_{-1}^0.5 =  0.006643757984980861
Newton iteration 2
energy =  8.733104224115815
<A u 2 , A u 2 >_{-1}^0.5 =  0.00017401577216306864
Newton iteration 3
energy =  8.733104208987541
<A u 3 , A u 3 >_{-1}^0.5 =  2.1316278865207954e-06
Newton iteration 4
energy =  8.733104208985269
<A u 4 , A u 4 >_{-1}^0.5 =  3.44499516901535e-11
Newton iteration 5
energy =  8.733104208985269
<A u 5 , A u 5 >_{-1}^0.5 =  5.272591794154864e-15
loadstep 12
Newton iteration 0
energy =  8.730647989244146
<A u 0 , A u 0 >_{-1}^0.5 =  0.010868290537475254
Newton iteration 1
energy =  8.730606891868286
<A u 1 , A u 1 >_{-1}^0.5 =  0.005688613398340045
Newton iteration 2
energy =  8.73059070749119
<A u 2 , A u 2 >_{-1}^0.5 =  0.00014585563212662775
Newton iteration 3
energy =  8.730590696859208
<A u 3 , A u 3 >_{-1}^0.5 =  1.440160845488574e-06
Newton iteration 4
energy =  8.730590696858176
<A u 4 , A u 4 >_{-1}^0.5 =  1.003056978462326e-11
Newton iteration 5
energy =  8.730590696858176
<A u 5 , A u 5 >_{-1}^0.5 =  4.625539564779816e-15
loadstep 13
Newton iteration 0
energy =  8.72802161109368
<A u 0 , A u 0 >_{-1}^0.5 =  0.010382944118475661
Newton iteration 1
energy =  8.727981212843483
<A u 1 , A u 1 >_{-1}^0.5 =  0.004881146966672016
Newton iteration 2
energy =  8.727969294295425
<A u 2 , A u 2 >_{-1}^0.5 =  0.00012083091292514379
Newton iteration 3
energy =  8.727969286997073
<A u 3 , A u 3 >_{-1}^0.5 =  9.518139882558993e-07
Newton iteration 4
energy =  8.727969286996615
<A u 4 , A u 4 >_{-1}^0.5 =  2.3398303637613005e-12
Newton iteration 5
energy =  8.727969286996625
<A u 5 , A u 5 >_{-1}^0.5 =  5.315831117100126e-15
loadstep 14
Newton iteration 0
energy =  8.725297087409883
<A u 0 , A u 0 >_{-1}^0.5 =  0.009929625908516088
Newton iteration 1
energy =  8.725258026179576
<A u 1 , A u 1 >_{-1}^0.5 =  0.004199705883947518
Newton iteration 2
energy =  8.72524920147235
<A u 2 , A u 2 >_{-1}^0.5 =  9.919978339527673e-05
Newton iteration 3
energy =  8.725249196552479
<A u 3 , A u 3 >_{-1}^0.5 =  6.186218657068694e-07
Newton iteration 4
energy =  8.7252491965523
<A u 4 , A u 4 >_{-1}^0.5 =  2.740013077352678e-13
Newton iteration 5
energy =  8.725249196552298
<A u 5 , A u 5 >_{-1}^0.5 =  5.816743939302043e-15
loadstep 15
Newton iteration 0
energy =  8.722482583386856
<A u 0 , A u 0 >_{-1}^0.5 =  0.009507200286582678
Newton iteration 1
energy =  8.722445222982248
<A u 1 , A u 1 >_{-1}^0.5 =  0.0036246785013046207
Newton iteration 2
energy =  8.722438648361528
<A u 2 , A u 2 >_{-1}^0.5 =  8.089496434427008e-05
Newton iteration 3
energy =  8.72243864508953
<A u 3 , A u 3 >_{-1}^0.5 =  3.971953423869477e-07
Newton iteration 4
energy =  8.722438645089449
<A u 4 , A u 4 >_{-1}^0.5 =  1.5276799756721062e-13
Newton iteration 5
energy =  8.72243864508945
<A u 5 , A u 5 >_{-1}^0.5 =  5.6807728281742395e-15
loadstep 16
Newton iteration 0
energy =  8.719585375106629
<A u 0 , A u 0 >_{-1}^0.5 =  0.009114082901652804
Newton iteration 1
energy =  8.719549894721228
<A u 1 , A u 1 >_{-1}^0.5 =  0.0031389338527675007
Newton iteration 2
energy =  8.719544963531378
<A u 2 , A u 2 >_{-1}^0.5 =  6.565524053646096e-05
Newton iteration 3
energy =  8.719544961375957
<A u 3 , A u 3 >_{-1}^0.5 =  2.5291672888673805e-07
Newton iteration 4
energy =  8.719544961375925
<A u 4 , A u 4 >_{-1}^0.5 =  1.5068074684726509e-13
Newton iteration 5
energy =  8.719544961375924
<A u 5 , A u 5 >_{-1}^0.5 =  5.958139986678992e-15
loadstep 17
Newton iteration 0
energy =  8.716611952173286
<A u 0 , A u 0 >_{-1}^0.5 =  0.008748458018930368
Newton iteration 1
energy =  8.716578410013868
<A u 1 , A u 1 >_{-1}^0.5 =  0.0027278412650862797
Newton iteration 2
energy =  8.716574685508453
<A u 2 , A u 2 >_{-1}^0.5 =  5.312319340951981e-05
Newton iteration 3
energy =  8.716574684097314
<A u 3 , A u 3 >_{-1}^0.5 =  1.6024115372054598e-07
Newton iteration 4
energy =  8.716574684097303
<A u 4 , A u 4 >_{-1}^0.5 =  9.262433332544676e-14
loadstep 18
Newton iteration 0
energy =  8.713568110836704
<A u 0 , A u 0 >_{-1}^0.5 =  0.008408422674359404
Newton iteration 1
energy =  8.713536488251965
<A u 1 , A u 1 >_{-1}^0.5 =  0.00237908143031611
Newton iteration 2
energy =  8.713533655029893
<A u 2 , A u 2 >_{-1}^0.5 =  4.2911865876780855e-05
Newton iteration 3
energy =  8.713533654109103
<A u 3 , A u 3 >_{-1}^0.5 =  1.0129432151567304e-07
Newton iteration 4
energy =  8.713533654109098
<A u 4 , A u 4 >_{-1}^0.5 =  4.8617263586168567e-14
loadstep 19
Newton iteration 0
energy =  8.710459037159689
<A u 0 , A u 0 >_{-1}^0.5 =  0.008092079338960943
Newton iteration 1
energy =  8.71042926866721
<A u 1 , A u 1 >_{-1}^0.5 =  0.0020823719894737087
Newton iteration 2
energy =  8.710427097965356
<A u 2 , A u 2 >_{-1}^0.5 =  3.464608850871687e-05
Newton iteration 3
energy =  8.710427097365129
<A u 3 , A u 3 >_{-1}^0.5 =  6.403081493217846e-08
Newton iteration 4
energy =  8.710427097365121
<A u 4 , A u 4 >_{-1}^0.5 =  2.4089763217872256e-14
loadstep 20
Newton iteration 0
energy =  8.707289380528481
<A u 0 , A u 0 >_{-1}^0.5 =  0.007797593106794511
Newton iteration 1
energy =  8.707261373912518
<A u 1 , A u 1 >_{-1}^0.5 =  0.0018291748588928625
Newton iteration 2
energy =  8.707259698942686
<A u 2 , A u 2 >_{-1}^0.5 =  2.7985019061751168e-05
Newton iteration 3
energy =  8.707259698551072
<A u 3 , A u 3 >_{-1}^0.5 =  4.0548637109610426e-08
Newton iteration 4
energy =  8.707259698551072
<A u 4 , A u 4 >_{-1}^0.5 =  1.2284403096490008e-14
loadstep 21
Newton iteration 0
energy =  8.70406331819317
<A u 0 , A u 0 >_{-1}^0.5 =  0.007523224872674899
Newton iteration 1
energy =  8.704036967737173
<A u 1 , A u 1 >_{-1}^0.5 =  0.001612419105007338
Newton iteration 2
energy =  8.704035666194933
<A u 2 , A u 2 >_{-1}^0.5 =  2.2631893594447282e-05
Newton iteration 3
energy =  8.70403566593881
<A u 3 , A u 3 >_{-1}^0.5 =  2.576170037413742e-08
Newton iteration 4
energy =  8.704035665938811
<A u 4 , A u 4 >_{-1}^0.5 =  7.511981183837683e-15
loadstep 22
Newton iteration 0
energy =  8.700784611694369
<A u 0 , A u 0 >_{-1}^0.5 =  0.007267348541686897
Newton iteration 1
energy =  8.700759806729117
<A u 1 , A u 1 >_{-1}^0.5 =  0.0014262540758780274
Newton iteration 2
energy =  8.70075878838108
<A u 2 , A u 2 >_{-1}^0.5 =  1.833579428450727e-05
Newton iteration 3
energy =  8.700758788212967
<A u 3 , A u 3 >_{-1}^0.5 =  1.6438916906883173e-08
Newton iteration 4
energy =  8.700758788212964
<A u 4 , A u 4 >_{-1}^0.5 =  6.848012814450232e-15
loadstep 23
Newton iteration 0
energy =  8.69745665607514
<A u 0 , A u 0 >_{-1}^0.5 =  0.007028457828045966
Newton iteration 1
energy =  8.697433286363898
<A u 1 , A u 1 >_{-1}^0.5 =  0.0012658371287850704
Newton iteration 2
energy =  8.697432484217801
<A u 2 , A u 2 >_{-1}^0.5 =  1.4888924836748349e-05
Newton iteration 3
energy =  8.697432484106953
<A u 3 , A u 3 >_{-1}^0.5 =  1.0544982797160898e-08
Newton iteration 4
energy =  8.697432484106951
<A u 4 , A u 4 >_{-1}^0.5 =  6.4536702488884356e-15
loadstep 24
Newton iteration 0
energy =  8.694082522749902
<A u 0 , A u 0 >_{-1}^0.5 =  0.006805166437113504
Newton iteration 1
energy =  8.694060481758196
<A u 1 , A u 1 >_{-1}^0.5 =  0.001127155031126897
Newton iteration 2
energy =  8.69405984575857
<A u 2 , A u 2 >_{-1}^0.5 =  1.212172953792298e-05
Newton iteration 3
energy =  8.694059845685098
<A u 3 , A u 3 >_{-1}^0.5 =  6.804099819277409e-09
Newton iteration 4
energy =  8.694059845685096
<A u 4 , A u 4 >_{-1}^0.5 =  6.20287531324331e-15
loadstep 25
Newton iteration 0
energy =  8.690664996837544
<A u 0 , A u 0 >_{-1}^0.5 =  0.006596204192822697
Newton iteration 1
energy =  8.690644183602338
<A u 1 , A u 1 >_{-1}^0.5 =  0.001006875734621922
Newton iteration 2
energy =  8.690643676109131
<A u 2 , A u 2 >_{-1}^0.5 =  9.897301944967564e-06
Newton iteration 3
energy =  8.690643676060146
<A u 3 , A u 3 >_{-1}^0.5 =  4.4182233529246e-09
Newton iteration 4
energy =  8.690643676060146
<A u 4 , A u 4 >_{-1}^0.5 =  7.571661774076841e-15
loadstep 26
Newton iteration 0
energy =  8.687206609686967
<A u 0 , A u 0 >_{-1}^0.5 =  0.006400410821853136
Newton iteration 1
energy =  8.687186929769664
<A u 1 , A u 1 >_{-1}^0.5 =  0.0009022264066301579
Newton iteration 2
energy =  8.68718652229896
<A u 2 , A u 2 >_{-1}^0.5 =  8.105902778131237e-06
Newton iteration 3
energy =  8.687186522266103
<A u 3 , A u 3 >_{-1}^0.5 =  2.888113872301425e-09
Newton iteration 4
energy =  8.687186522266112
<A u 4 , A u 4 >_{-1}^0.5 =  6.9861003835817034e-15
loadstep 27
Newton iteration 0
energy =  8.683709667239452
<A u 0 , A u 0 >_{-1}^0.5 =  0.006216728522678164
Newton iteration 1
energy =  8.68369103308925
<A u 1 , A u 1 >_{-1}^0.5 =  0.0008108935840576088
Newton iteration 2
energy =  8.68369070395098
<A u 2 , A u 2 >_{-1}^0.5 =  6.659997411361121e-06
Newton iteration 3
energy =  8.683690703928809
<A u 3 , A u 3 >_{-1}^0.5 =  1.900892451238561e-09
Newton iteration 4
energy =  8.683690703928807
<A u 4 , A u 4 >_{-1}^0.5 =  6.841636950080315e-15
loadstep 28
Newton iteration 0
energy =  8.680176274792247
<A u 0 , A u 0 >_{-1}^0.5 =  0.006044194050514612
Newton iteration 1
energy =  8.680158605738466
<A u 1 , A u 1 >_{-1}^0.5 =  0.0007309416673436665
Newton iteration 2
energy =  8.680158338314472
<A u 2 , A u 2 >_{-1}^0.5 =  5.48997383586258e-06
Newton iteration 3
energy =  8.680158338299412
<A u 3 , A u 3 >_{-1}^0.5 =  1.2598698653710522e-09
Newton iteration 4
energy =  8.680158338299414
<A u 4 , A u 4 >_{-1}^0.5 =  7.93278128631345e-15
loadstep 29
Newton iteration 0
energy =  8.676608358652787
<A u 0 , A u 0 >_{-1}^0.5 =  0.005881930781324828
Newton iteration 1
energy =  8.676591580672236
<A u 1 , A u 1 >_{-1}^0.5 =  0.0006607464640733139
Newton iteration 2
energy =  8.676591362153744
<A u 2 , A u 2 >_{-1}^0.5 =  4.540561014167102e-06
Newton iteration 3
energy =  8.676591362143428
<A u 3 , A u 3 >_{-1}^0.5 =  8.408812534652076e-10
Newton iteration 4
energy =  8.676591362143434
<A u 4 , A u 4 >_{-1}^0.5 =  6.920050850132232e-15
loadstep 30
Newton iteration 0
energy =  8.673007685107
<A u 0 , A u 0 >_{-1}^0.5 =  0.0057291410373936525
Newton iteration 1
energy =  8.672991730462458
<A u 1 , A u 1 >_{-1}^0.5 =  0.0005989410029697059
Newton iteration 2
energy =  8.672991550918908
<A u 2 , A u 2 >_{-1}^0.5 =  3.767895487551964e-06
Newton iteration 3
energy =  8.67299155091181
<A u 3 , A u 3 >_{-1}^0.5 =  5.651689012149948e-10
Newton iteration 4
energy =  8.672991550911817
<A u 4 , A u 4 >_{-1}^0.5 =  6.400907073771231e-15
loadstep 31
Newton iteration 0
energy =  8.669375877065413
<A u 0 , A u 0 >_{-1}^0.5 =  0.005585098837478189
Newton iteration 1
energy =  8.66936068387836
<A u 1 , A u 1 >_{-1}^0.5 =  0.0005443713149661187
Newton iteration 2
energy =  8.66936053556672
<A u 2 , A u 2 >_{-1}^0.5 =  3.1371536085585336e-06
Newton iteration 3
energy =  8.6693605355618
<A u 3 , A u 3 >_{-1}^0.5 =  3.82499316077156e-10
Newton iteration 4
energy =  8.669360535561804
<A u 4 , A u 4 >_{-1}^0.5 =  7.148893910129749e-15
loadstep 32
Newton iteration 0
energy =  8.665714428700106
<A u 0 , A u 0 >_{-1}^0.5 =  0.005449143155660797
Newton iteration 1
energy =  8.665699940498243
<A u 1 , A u 1 >_{-1}^0.5 =  0.000496060294926927
Newton iteration 2
energy =  8.665699817347571
<A u 2 , A u 2 >_{-1}^0.5 =  2.6206594738595784e-06
Newton iteration 3
energy =  8.665699817344136
<A u 3 , A u 3 >_{-1}^0.5 =  2.6064712933045955e-10
Newton iteration 4
energy =  8.665699817344143
<A u 4 , A u 4 >_{-1}^0.5 =  7.480452078380487e-15
loadstep 33
Newton iteration 0
energy =  8.662024718340934
<A u 0 , A u 0 >_{-1}^0.5 =  0.005320671721850984
Newton iteration 1
energy =  8.66201088360596
<A u 1 , A u 1 >_{-1}^0.5 =  0.00045317811048845946
Newton iteration 2
energy =  8.662010780830617
<A u 2 , A u 2 >_{-1}^0.5 =  2.19638334147835e-06
Newton iteration 3
energy =  8.662010780828203
<A u 3 , A u 3 >_{-1}^0.5 =  1.788104356428859e-10
Newton iteration 4
energy =  8.662010780828199
<A u 4 , A u 4 >_{-1}^0.5 =  7.538244187776467e-15
loadstep 34
Newton iteration 0
energy =  8.658308019861213
<A u 0 , A u 0 >_{-1}^0.5 =  0.0051991353649333645
Newton iteration 1
energy =  8.658294791592425
<A u 1 , A u 1 >_{-1}^0.5 =  0.0004150179176989622
Newton iteration 2
energy =  8.658294705400156
<A u 2 , A u 2 >_{-1}^0.5 =  1.846755340029548e-06
Newton iteration 3
energy =  8.658294705398454
<A u 3 , A u 3 >_{-1}^0.5 =  1.2348020655048906e-10
Newton iteration 4
energy =  8.658294705398452
<A u 4 , A u 4 >_{-1}^0.5 =  6.719308611936287e-15
loadstep 35
Newton iteration 0
energy =  8.654565512750693
<A u 0 , A u 0 >_{-1}^0.5 =  0.005084032879567203
Newton iteration 1
energy =  8.654552848053235
<A u 1 , A u 1 >_{-1}^0.5 =  0.0003809758823018789
Newton iteration 2
energy =  8.65455277542366
<A u 2 , A u 2 >_{-1}^0.5 =  1.5577308538415646e-06
Newton iteration 3
energy =  8.654552775422445
<A u 3 , A u 3 >_{-1}^0.5 =  8.582435583692182e-11
Newton iteration 4
energy =  8.654552775422447
<A u 4 , A u 4 >_{-1}^0.5 =  7.446642778422894e-15
loadstep 36
Newton iteration 0
energy =  8.650798291045492
<A u 0 , A u 0 >_{-1}^0.5 =  0.004974906386607149
Newton iteration 1
energy =  8.65078615074773
<A u 1 , A u 1 >_{-1}^0.5 =  0.000350534700096172
Newton iteration 2
energy =  8.650786089263336
<A u 2 , A u 2 >_{-1}^0.5 =  1.3180552667531653e-06
Newton iteration 3
energy =  8.650786089262473
<A u 3 , A u 3 >_{-1}^0.5 =  6.002883994155156e-11
Newton iteration 4
energy =  8.650786089262468
<A u 4 , A u 4 >_{-1}^0.5 =  6.7851137299991706e-15
loadstep 37
Newton iteration 0
energy =  8.647007371261067
<A u 0 , A u 0 >_{-1}^0.5 =  0.0048713371512939755
Newton iteration 1
energy =  8.646995719562854
<A u 1 , A u 1 >_{-1}^0.5 =  0.00032324996633263897
Newton iteration 2
energy =  8.646995667279354
<A u 2 , A u 2 >_{-1}^0.5 =  1.118685791963107e-06
Newton iteration 3
energy =  8.646995667278732
<A u 3 , A u 3 >_{-1}^0.5 =  4.224483693899162e-11
Newton iteration 4
energy =  8.646995667278725
<A u 4 , A u 4 >_{-1}^0.5 =  7.045685717218904e-15
loadstep 38
Newton iteration 0
energy =  8.643193699453732
<A u 0 , A u 0 >_{-1}^0.5 =  0.004772941820972326
Newton iteration 1
energy =  8.643182503605464
<A u 1 , A u 1 >_{-1}^0.5 =  0.0002987388698773248
Newton iteration 2
energy =  8.643182458951868
<A u 2 , A u 2 >_{-1}^0.5 =  9.523366511341637e-07
Newton iteration 3
energy =  8.643182458951417
<A u 3 , A u 3 >_{-1}^0.5 =  2.990904094522291e-11
Newton iteration 4
energy =  8.643182458951413
<A u 4 , A u 4 >_{-1}^0.5 =  7.06928623129662e-15
loadstep 39
Newton iteration 0
energy =  8.639358157519231
<A u 0 , A u 0 >_{-1}^0.5 =  0.0046793690444786205
Newton iteration 1
energy =  8.639347387530593
<A u 1 , A u 1 >_{-1}^0.5 =  0.0002766707891838094
Newton iteration 2
energy =  8.639347349231777
<A u 2 , A u 2 >_{-1}^0.5 =  8.131209673082779e-07
Newton iteration 3
energy =  8.639347349231443
<A u 3 , A u 3 >_{-1}^0.5 =  2.1299165355225385e-11
Newton iteration 4
energy =  8.639347349231445
<A u 4 , A u 4 >_{-1}^0.5 =  7.311178878134377e-15
loadstep 40
Newton iteration 0
energy =  8.635501568821821
<A u 0 , A u 0 >_{-1}^0.5 =  0.004590296436441197
Newton iteration 1
energy =  8.635491197198439
<A u 1 , A u 1 >_{-1}^0.5 =  0.00025675944777195646
Newton iteration 2
energy =  8.635491164214839
<A u 2 , A u 2 >_{-1}^0.5 =  6.962683843321462e-07
Newton iteration 3
energy =  8.6354911642146
<A u 3 , A u 3 >_{-1}^0.5 =  1.5253958070421016e-11
Newton iteration 4
energy =  8.635491164214601
<A u 4 , A u 4 >_{-1}^0.5 =  8.429617510371845e-15
loadstep 41
Newton iteration 0
energy =  8.63162470323478
<A u 0 , A u 0 >_{-1}^0.5 =  0.004505427852051006
Newton iteration 1
energy =  8.63161470474078
<A u 1 , A u 1 >_{-1}^0.5 =  0.00023875635202414797
Newton iteration 2
energy =  8.631614676221284
<A u 2 , A u 2 >_{-1}^0.5 =  5.979020069238808e-07
Newton iteration 3
energy =  8.631614676221107
<A u 3 , A u 3 >_{-1}^0.5 =  1.098554457879852e-11
Newton iteration 4
energy =  8.631614676221107
<A u 4 , A u 4 >_{-1}^0.5 =  8.537668273952902e-15
loadstep 42
Newton iteration 0
energy =  8.62772828166261
<A u 0 , A u 0 >_{-1}^0.5 =  0.004424490940527459
Newton iteration 1
energy =  8.627718633106882
<A u 1 , A u 1 >_{-1}^0.5 =  0.00022244528623171705
Newton iteration 2
energy =  8.627718608351724
<A u 2 , A u 2 >_{-1}^0.5 =  5.148618387562807e-07
Newton iteration 3
energy =  8.627718608351595
<A u 3 , A u 3 >_{-1}^0.5 =  7.954582297448697e-12
Newton iteration 4
energy =  8.627718608351595
<A u 4 , A u 4 >_{-1}^0.5 =  8.41455177582514e-15
loadstep 43
Newton iteration 0
energy =  8.623812980105585
<A u 0 , A u 0 >_{-1}^0.5 =  0.004347234948161413
Newton iteration 1
energy =  8.623803660149642
<A u 1 , A u 1 >_{-1}^0.5 =  0.0002076376817283396
Newton iteration 2
energy =  8.62380363858116
<A u 2 , A u 2 >_{-1}^0.5 =  4.44564703140633e-07
Newton iteration 3
energy =  8.623803638581062
<A u 3 , A u 3 >_{-1}^0.5 =  5.790116323598224e-12
Newton iteration 4
energy =  8.623803638581053
<A u 4 , A u 4 >_{-1}^0.5 =  8.014405594411052e-15
loadstep 44
Newton iteration 0
energy =  8.619879433319866
<A u 0 , A u 0 >_{-1}^0.5 =  0.004273428744420506
Newton iteration 1
energy =  8.61987042230512
<A u 1 , A u 1 >_{-1}^0.5 =  0.00019416871048189563
Newton iteration 2
energy =  8.619870403444583
<A u 2 , A u 2 >_{-1}^0.5 =  3.8489283427125125e-07
Newton iteration 3
energy =  8.619870403444505
<A u 3 , A u 3 >_{-1}^0.5 =  4.237738198777858e-12
Newton iteration 4
energy =  8.619870403444505
<A u 4 , A u 4 >_{-1}^0.5 =  7.410968218630101e-15
loadstep 45
Newton iteration 0
energy =  8.615928238119114
<A u 0 , A u 0 >_{-1}^0.5 =  0.004202859047538383
Newton iteration 1
energy =  8.615919517911799
<A u 1 , A u 1 >_{-1}^0.5 =  0.00018189398111518267
Newton iteration 2
energy =  8.615919501360905
<A u 2 , A u 2 >_{-1}^0.5 =  3.3410505135596243e-07
Newton iteration 3
energy =  8.615919501360851
<A u 3 , A u 3 >_{-1}^0.5 =  3.1146325658813785e-12
Newton iteration 4
energy =  8.615919501360853
<A u 4 , A u 4 >_{-1}^0.5 =  7.608697162447999e-15
loadstep 46
Newton iteration 0
energy =  8.611959956357998
<A u 0 , A u 0 >_{-1}^0.5 =  0.004135328828122952
Newton iteration 1
energy =  8.611951510209744
<A u 1 , A u 1 >_{-1}^0.5 =  0.0001706867369199799
Newton iteration 2
energy =  8.61195149563591
<A u 2 , A u 2 >_{-1}^0.5 =  2.907657480670067e-07
Newton iteration 3
energy =  8.611951495635875
<A u 3 , A u 3 >_{-1}^0.5 =  2.3017316380154344e-12
Newton iteration 4
energy =  8.611951495635868
<A u 4 , A u 4 >_{-1}^0.5 =  7.7519244722715e-15
loadstep 47
Newton iteration 0
energy =  8.607975117632803
<A u 0 , A u 0 >_{-1}^0.5 =  0.004070655871747276
Newton iteration 1
energy =  8.607966930055401
<A u 1 , A u 1 >_{-1}^0.5 =  0.00016043547348505716
Newton iteration 2
energy =  8.60796691717987
<A u 2 , A u 2 >_{-1}^0.5 =  2.536879664627379e-07
Newton iteration 3
energy =  8.607966917179839
<A u 3 , A u 3 >_{-1}^0.5 =  1.7091689596443971e-12
Newton iteration 4
energy =  8.60796691717984
<A u 4 , A u 4 >_{-1}^0.5 =  8.351647256653738e-15
loadstep 48
Newton iteration 0
energy =  8.603974221730011
<A u 0 , A u 0 >_{-1}^0.5 =  0.004008671483565075
Newton iteration 1
energy =  8.60396627838277
<A u 1 , A u 1 >_{-1}^0.5 =  0.00015104190799869772
Newton iteration 2
energy =  8.603966266971087
<A u 2 , A u 2 >_{-1}^0.5 =  2.2188764821543796e-07
Newton iteration 3
energy =  8.603966266971065
<A u 3 , A u 3 >_{-1}^0.5 =  1.2750630331976238e-12
Newton iteration 4
energy =  8.60396626697106
<A u 4 , A u 4 >_{-1}^0.5 =  8.145452488701418e-15
loadstep 49
Newton iteration 0
energy =  8.599957740850005
<A u 0 , A u 0 >_{-1}^0.5 =  0.003949219319745008
Newton iteration 1
energy =  8.599950028438384
<A u 1 , A u 1 >_{-1}^0.5 =  0.0001424192440026098
Newton iteration 2
energy =  8.599950018292665
<A u 2 , A u 2 >_{-1}^0.5 =  1.9454675682980042e-07
Newton iteration 3
energy =  8.599950018292645
<A u 3 , A u 3 >_{-1}^0.5 =  9.553452432879722e-13
Newton iteration 4
energy =  8.599950018292642
<A u 4 , A u 4 >_{-1}^0.5 =  9.022454571021197e-15

Allen-Cahn equation

The Allen-Cahn equations describe the process of phase separation and is the ($L^2$) gradient-flow equation to the energy $$ E(v) = \int_{\Omega} \varepsilon \vert \nabla v \vert^2~+~v^2(1-v^2) ~ dx $$ i.e. the solution to the Allen-Cahn equation solves $$ \partial_t u = \frac{\delta E}{\delta u} $$ 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 minima ($-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 "SymbolicEnergy" feature to formulate the energy minimization problem and combine it with an implicit Euler discretization: $$ M u^{n+1} - M u^n = \Delta t \underbrace{\frac{\delta E}{\delta u}}_{=:A(u)} (u^{n+1}) $$ which we can interpreted as a nonlinear minimization problem again with the energy $$ E^{IE}(v) = \int_{\Omega} \frac{\varepsilon}{2} \vert \nabla v \vert^2~+~v^2(1-v^2) + \frac{1}{2\Delta t} \vert v - u^n \vert^2 ~ dx $$

To solve the nonlinear equation at every time step we again rely on Newton's method.

In [8]:
from ngsolve import *

from netgen.geom2d import *


periodic = SplineGeometry()
pnts = [ (0,0), (1,0), (1,1), (0,1) ]
pnums = [periodic.AppendPoint(*p) for p in pnts]

lright = periodic.Append ( ["line", pnums[0], pnums[1]],bc="periodic")
btop = periodic.Append ( ["line", pnums[1], pnums[2]], bc="periodic")
periodic.Append ( ["line", pnums[3], pnums[2]], leftdomain=0, rightdomain=1, copy=lright, bc="periodic")
periodic.Append ( ["line", pnums[0], pnums[3]], leftdomain=0, rightdomain=1, copy=btop, bc="periodic")

mesh = Mesh (periodic.GenerateMesh(maxh=0.2))

V = Periodic(H1(mesh, order=4, dirichlet=[]))

u = V.TrialFunction()

eps = 4e-3
dt = 1e-1

gfu = GridFunction(V)
gfuold = GridFunction(V)

a = BilinearForm (V, symmetric=False)
a += SymbolicEnergy (eps/2*grad(u)*grad(u)
                     + ((1-u*u)*(1-u*u))
                     + 0.5/dt*(u-gfuold)*(u-gfuold))
In [9]:
from math import pi
gfu = GridFunction(V)
gfu.Set(sin(2*pi*x))
#gfu.Set(sin(1e8*x)) #<- essentially a random function
Draw(gfu,mesh,"u")
SetVisualization (deformation=False)
t = 0
In [10]:
for timestep in range(50):
    gfuold.vec.data = gfu.vec
    SolveNonlinearMinProblem(a,gfu)
    Redraw() 
    t += dt
    print("t = ", t)
Newton iteration 0
energy =  0.41450354570003056
<A u 0 , A u 0 >_{-1}^0.5 =  0.2809418006263589
Newton iteration 1
energy =  0.37689535064656104
<A u 1 , A u 1 >_{-1}^0.5 =  0.019166401392683295
Newton iteration 2
energy =  0.3767110683467797
<A u 2 , A u 2 >_{-1}^0.5 =  9.601123719995534e-05
Newton iteration 3
energy =  0.37671106373762153
<A u 3 , A u 3 >_{-1}^0.5 =  2.484116113499441e-09
Newton iteration 4
energy =  0.37671106373762153
<A u 4 , A u 4 >_{-1}^0.5 =  2.8336600474833743e-16
t =  0.1
Newton iteration 0
energy =  0.34386939448107273
<A u 0 , A u 0 >_{-1}^0.5 =  0.23609731837571457
Newton iteration 1
energy =  0.31708619376448427
<A u 1 , A u 1 >_{-1}^0.5 =  0.013457032696929263
Newton iteration 2
energy =  0.3169954410346041
<A u 2 , A u 2 >_{-1}^0.5 =  4.653655722552664e-05
Newton iteration 3
energy =  0.3169954399517697
<A u 3 , A u 3 >_{-1}^0.5 =  5.72397736374023e-10
Newton iteration 4
energy =  0.31699543995176965
<A u 4 , A u 4 >_{-1}^0.5 =  3.003115492927136e-16
t =  0.2
Newton iteration 0
energy =  0.29546082969012294
<A u 0 , A u 0 >_{-1}^0.5 =  0.18349104829260332
Newton iteration 1
energy =  0.279126739693137
<A u 1 , A u 1 >_{-1}^0.5 =  0.008040069692678977
Newton iteration 2
energy =  0.27909437484420035
<A u 2 , A u 2 >_{-1}^0.5 =  1.6345779336029582e-05
Newton iteration 3
energy =  0.2790943747106079
<A u 3 , A u 3 >_{-1}^0.5 =  6.933309208240612e-11
Newton iteration 4
energy =  0.27909437471060783
<A u 4 , A u 4 >_{-1}^0.5 =  3.233040211616557e-16
t =  0.30000000000000004
Newton iteration 0
energy =  0.2668928978814961
<A u 0 , A u 0 >_{-1}^0.5 =  0.13343667708081725
Newton iteration 1
energy =  0.2581787570164343
<A u 1 , A u 1 >_{-1}^0.5 =  0.0042042945870845415
Newton iteration 2
energy =  0.25816991282176205
<A u 2 , A u 2 >_{-1}^0.5 =  4.4131373857345314e-06
Newton iteration 3
energy =  0.2581699128120243
<A u 3 , A u 3 >_{-1}^0.5 =  4.9766216597183956e-12
Newton iteration 4
energy =  0.2581699128120242
<A u 4 , A u 4 >_{-1}^0.5 =  3.2842851841725025e-16
t =  0.4
Newton iteration 0
energy =  0.2520291333324756
<A u 0 , A u 0 >_{-1}^0.5 =  0.09221063367283885
Newton iteration 1
energy =  0.24783891093518948
<A u 1 , A u 1 >_{-1}^0.5 =  0.001989294166047636
Newton iteration 2
energy =  0.24783693164365403
<A u 2 , A u 2 >_{-1}^0.5 =  9.789086812024262e-07
Newton iteration 3
energy =  0.24783693164317475
<A u 3 , A u 3 >_{-1}^0.5 =  2.4193621376430176e-13
Newton iteration 4
energy =  0.2478369316431749
<A u 4 , A u 4 >_{-1}^0.5 =  3.854440560838975e-16
t =  0.5
Newton iteration 0
energy =  0.24500708756208173
<A u 0 , A u 0 >_{-1}^0.5 =  0.06144143022630788
Newton iteration 1
energy =  0.2431374459069344
<A u 1 , A u 1 >_{-1}^0.5 =  0.0008776112864955041
Newton iteration 2
energy =  0.24313706075097855
<A u 2 , A u 2 >_{-1}^0.5 =  1.8944538694589303e-07
Newton iteration 3
energy =  0.24313706075096056
<A u 3 , A u 3 >_{-1}^0.5 =  9.020333645375404e-15
t =  0.6
Newton iteration 0
energy =  0.24191081877818113
<A u 0 , A u 0 >_{-1}^0.5 =  0.03994121234472034
Newton iteration 1
energy =  0.24111804469287368
<A u 1 , A u 1 >_{-1}^0.5 =  0.00036957135468786866
Newton iteration 2
energy =  0.24111797639726834
<A u 2 , A u 2 >_{-1}^0.5 =  3.353830180721135e-08
Newton iteration 3
energy =  0.24111797639726773
<A u 3 , A u 3 >_{-1}^0.5 =  5.23140090140531e-16
t =  0.7
Newton iteration 0
energy =  0.24060789111544145
<A u 0 , A u 0 >_{-1}^0.5 =  0.025554937179880034
Newton iteration 1
energy =  0.24028263604153172
<A u 1 , A u 1 >_{-1}^0.5 =  0.00015116080994460892
Newton iteration 2
energy =  0.24028262461645436
<A u 2 , A u 2 >_{-1}^0.5 =  5.6318452036926516e-09
Newton iteration 3
energy =  0.2402826246164544
<A u 3 , A u 3 >_{-1}^0.5 =  4.541567848176684e-16
t =  0.7999999999999999
Newton iteration 0
energy =  0.24007578603449625
<A u 0 , A u 0 >_{-1}^0.5 =  0.016198492769705763
Newton iteration 1
energy =  0.2399449143472111
<A u 1 , A u 1 >_{-1}^0.5 =  6.087168970141484e-05
Newton iteration 2
energy =  0.23994491249451125
<A u 2 , A u 2 >_{-1}^0.5 =  9.258024086240321e-10
Newton iteration 3
energy =  0.23994491249451125
<A u 3 , A u 3 >_{-1}^0.5 =  4.490629926076615e-16
t =  0.8999999999999999
Newton iteration 0
energy =  0.23986216214549988
<A u 0 , A u 0 >_{-1}^0.5 =  0.01022982836904621
Newton iteration 1
energy =  0.23980991933218287
<A u 1 , A u 1 >_{-1}^0.5 =  2.4457951902193255e-05
Newton iteration 2
energy =  0.2398099190330859
<A u 2 , A u 2 >_{-1}^0.5 =  1.5483489081447082e-10
Newton iteration 3
energy =  0.2398099190330859
<A u 3 , A u 3 >_{-1}^0.5 =  4.994919035387438e-16
t =  0.9999999999999999
Newton iteration 0
energy =  0.23977686639024626
<A u 0 , A u 0 >_{-1}^0.5 =  0.006479778802045847
Newton iteration 1
energy =  0.23975589366210318
<A u 1 , A u 1 >_{-1}^0.5 =  9.992759785696564e-06
Newton iteration 2
energy =  0.23975589361217542
<A u 2 , A u 2 >_{-1}^0.5 =  2.81419460339624e-11
Newton iteration 3
energy =  0.23975589361217545
<A u 3 , A u 3 >_{-1}^0.5 =  4.714800419767464e-16
t =  1.0999999999999999
Newton iteration 0
energy =  0.23974248948414217
<A u 0 , A u 0 >_{-1}^0.5 =  0.004162502305813227
Newton iteration 1
energy =  0.23973383198887294
<A u 1 , A u 1 >_{-1}^0.5 =  4.2929734588001695e-06
Newton iteration 2
energy =  0.23973383197965822
<A u 2 , A u 2 >_{-1}^0.5 =  6.222348496934564e-12
Newton iteration 3
energy =  0.2397338319796582
<A u 3 , A u 3 >_{-1}^0.5 =  4.797625811163662e-16
t =  1.2
Newton iteration 0
energy =  0.23972814411713092
<A u 0 , A u 0 >_{-1}^0.5 =  0.002767139170121794
Newton iteration 1
energy =  0.23972431734353214
<A u 1 , A u 1 >_{-1}^0.5 =  2.046999522037676e-06
Newton iteration 2
energy =  0.23972431734143698
<A u 2 , A u 2 >_{-1}^0.5 =  1.870083019084669e-12
Newton iteration 3
energy =  0.23972431734143695
<A u 3 , A u 3 >_{-1}^0.5 =  4.610271933674872e-16
t =  1.3
Newton iteration 0
energy =  0.23972165658405464
<A u 0 , A u 0 >_{-1}^0.5 =  0.0019638235407654337
Newton iteration 1
energy =  0.23971972894004928
<A u 1 , A u 1 >_{-1}^0.5 =  1.1469088540108695e-06
Newton iteration 2
energy =  0.23971972893939164
<A u 2 , A u 2 >_{-1}^0.5 =  7.671043236952454e-13
Newton iteration 3
energy =  0.23971972893939164
<A u 3 , A u 3 >_{-1}^0.5 =  4.428227319280622e-16
t =  1.4000000000000001
Newton iteration 0
energy =  0.23971826349460834
<A u 0 , A u 0 >_{-1}^0.5 =  0.0015311125341719721
Newton iteration 1
energy =  0.2397170916501721
<A u 1 , A u 1 >_{-1}^0.5 =  7.691687516004083e-07
Newton iteration 2
energy =  0.23971709164987628
<A u 2 , A u 2 >_{-1}^0.5 =  4.0043235228393734e-13
Newton iteration 3
energy =  0.23971709164987628
<A u 3 , A u 3 >_{-1}^0.5 =  4.473353194020517e-16
t =  1.5000000000000002
Newton iteration 0
energy =  0.23971610787590192
<A u 0 , A u 0 >_{-1}^0.5 =  0.001312677219842964
Newton iteration 1
energy =  0.2397152464885296
<A u 1 , A u 1 >_{-1}^0.5 =  5.987431785273583e-07
Newton iteration 2
energy =  0.23971524648835035
<A u 2 , A u 2 >_{-1}^0.5 =  2.4922426157212525e-13
Newton iteration 3
energy =  0.23971524648835035
<A u 3 , A u 3 >_{-1}^0.5 =  4.533990724359288e-16
t =  1.6000000000000003
Newton iteration 0
energy =  0.23971446625783616
<A u 0 , A u 0 >_{-1}^0.5 =  0.001204066335961214
Newton iteration 1
energy =  0.23971374147971128
<A u 1 , A u 1 >_{-1}^0.5 =  5.144816196940588e-07
Newton iteration 2
energy =  0.23971374147957902
<A u 2 , A u 2 >_{-1}^0.5 =  1.7675381944706104e-13
Newton iteration 3
energy =  0.23971374147957905
<A u 3 , A u 3 >_{-1}^0.5 =  3.885114490663667e-16
t =  1.7000000000000004
Newton iteration 0
energy =  0.2397130559010202
<A u 0 , A u 0 >_{-1}^0.5 =  0.001145980207023418
Newton iteration 1
energy =  0.23971239934086144
<A u 1 , A u 1 >_{-1}^0.5 =  4.674764869767862e-07
Newton iteration 2
energy =  0.23971239934075225
<A u 2 , A u 2 >_{-1}^0.5 =  1.3783572620994282e-13
Newton iteration 3
energy =  0.23971239934075217
<A u 3 , A u 3 >_{-1}^0.5 =  4.352152244959983e-16
t =  1.8000000000000005
Newton iteration 0
energy =  0.23971176525861967
<A u 0 , A u 0 >_{-1}^0.5 =  0.0011097775266942047
Newton iteration 1
energy =  0.23971114951023914
<A u 1 , A u 1 >_{-1}^0.5 =  4.3709973354046637e-07
Newton iteration 2
energy =  0.2397111495101436
<A u 2 , A u 2 >_{-1}^0.5 =  1.146690135792128e-13
Newton iteration 3
energy =  0.2397111495101436
<A u 3 , A u 3 >_{-1}^0.5 =  4.2990622489451e-16
t =  1.9000000000000006
Newton iteration 0
energy =  0.23971054934615202
<A u 0 , A u 0 >_{-1}^0.5 =  0.0010829654582195942
Newton iteration 1
energy =  0.23970996298102198
<A u 1 , A u 1 >_{-1}^0.5 =  4.144933870938856e-07
Newton iteration 2
energy =  0.23970996298093597
<A u 2 , A u 2 >_{-1}^0.5 =  9.927811572602664e-14
t =  2.0000000000000004
Newton iteration 0
energy =  0.23970938915757375
<A u 0 , A u 0 >_{-1}^0.5 =  0.0010603485653323656
Newton iteration 1
energy =  0.2397088270217529
<A u 1 , A u 1 >_{-1}^0.5 =  3.9580437448870235e-07
Newton iteration 2
energy =  0.23970882702167465
<A u 2 , A u 2 >_{-1}^0.5 =  8.800256587262865e-14
t =  2.1000000000000005
Newton iteration 0
energy =  0.23970827591397856
<A u 0 , A u 0 >_{-1}^0.5 =  0.0010397944056922885
Newton iteration 1
energy =  0.23970773535595602
<A u 1 , A u 1 >_{-1}^0.5 =  3.79315227979942e-07
Newton iteration 2
energy =  0.23970773535588405
<A u 2 , A u 2 >_{-1}^0.5 =  7.913191999597614e-14
t =  2.2000000000000006
Newton iteration 0
energy =  0.23970720493583383
<A u 0 , A u 0 >_{-1}^0.5 =  0.0010204180963175008
Newton iteration 1
energy =  0.23970668433359177
<A u 1 , A u 1 >_{-1}^0.5 =  3.642281283472687e-07
Newton iteration 2
energy =  0.23970668433352554
<A u 2 , A u 2 >_{-1}^0.5 =  7.170399975067012e-14
t =  2.3000000000000007
Newton iteration 0
energy =  0.23970617324681906
<A u 0 , A u 0 >_{-1}^0.5 =  0.0010018389828749044
Newton iteration 1
energy =  0.23970567142761337
<A u 1 , A u 1 >_{-1}^0.5 =  3.501500656246095e-07
Newton iteration 2
energy =  0.2397056714275521
<A u 2 , A u 2 >_{-1}^0.5 =  6.531109329653109e-14
t =  2.400000000000001
Newton iteration 0
energy =  0.2397051786273131
<A u 0 , A u 0 >_{-1}^0.5 =  0.0009838814938918326
Newton iteration 1
energy =  0.2397046946352149
<A u 1 , A u 1 >_{-1}^0.5 =  3.3687250805339745e-07
Newton iteration 2
energy =  0.23970469463515814
<A u 2 , A u 2 >_{-1}^0.5 =  5.967551059897697e-14
t =  2.500000000000001
Newton iteration 0
energy =  0.23970421923318302
<A u 0 , A u 0 >_{-1}^0.5 =  0.0009664551776643288
Newton iteration 1
energy =  0.2397037522329452
<A u 1 , A u 1 >_{-1}^0.5 =  3.242748725275859e-07
Newton iteration 2
energy =  0.2397037522328927
<A u 2 , A u 2 >_{-1}^0.5 =  5.4616094900366257e-14
t =  2.600000000000001
Newton iteration 0
energy =  0.23970329343659869
<A u 0 , A u 0 >_{-1}^0.5 =  0.0009495063481339581
Newton iteration 1
energy =  0.2397028426715791
<A u 1 , A u 1 >_{-1}^0.5 =  3.122807467117334e-07
Newton iteration 2
energy =  0.23970284267153041
<A u 2 , A u 2 >_{-1}^0.5 =  5.010606996150444e-14
t =  2.700000000000001
Newton iteration 0
energy =  0.239702399755196
<A u 0 , A u 0 >_{-1}^0.5 =  0.0009329983206874851
Newton iteration 1
energy =  0.23970196452717085
<A u 1 , A u 1 >_{-1}^0.5 =  3.00837166086397e-07
Newton iteration 2
energy =  0.23970196452712556
<A u 2 , A u 2 >_{-1}^0.5 =  4.595080082504402e-14
t =  2.800000000000001
Newton iteration 0
energy =  0.23970153681724213
<A u 0 , A u 0 >_{-1}^0.5 =  0.0009169031159595554
Newton iteration 1
energy =  0.23970111647541684
<A u 1 , A u 1 >_{-1}^0.5 =  2.8990433064007835e-07
Newton iteration 2
energy =  0.23970111647537481
<A u 2 , A u 2 >_{-1}^0.5 =  4.226848896093042e-14
t =  2.9000000000000012
Newton iteration 0
energy =  0.23970070334209428
<A u 0 , A u 0 >_{-1}^0.5 =  0.0009011978137708878
Newton iteration 1
energy =  0.2397002972762277
<A u 1 , A u 1 >_{-1}^0.5 =  2.7945025609160207e-07
Newton iteration 2
energy =  0.2397002972761887
<A u 2 , A u 2 >_{-1}^0.5 =  3.887287355375453e-14
t =  3.0000000000000013
Newton iteration 0
energy =  0.23969989812761514
<A u 0 , A u 0 >_{-1}^0.5 =  0.0008858628303693611
Newton iteration 1
energy =  0.2396995057631614
<A u 1 , A u 1 >_{-1}^0.5 =  2.694478675501693e-07
Newton iteration 2
energy =  0.23969950576312515
<A u 2 , A u 2 >_{-1}^0.5 =  3.574593132630505e-14
t =  3.1000000000000014
Newton iteration 0
energy =  0.23969912004108573
<A u 0 , A u 0 >_{-1}^0.5 =  0.0008708810184505244
Newton iteration 1
energy =  0.23969874083545273
<A u 1 , A u 1 >_{-1}^0.5 =  2.598733589001467e-07
Newton iteration 2
energy =  0.239698740835419
<A u 2 , A u 2 >_{-1}^0.5 =  3.29530869446209e-14
t =  3.2000000000000015
Newton iteration 0
energy =  0.2396983680121051
<A u 0 , A u 0 >_{-1}^0.5 =  0.0008562371386470733
Newton iteration 1
energy =  0.23969800145161105
<A u 1 , A u 1 >_{-1}^0.5 =  2.507052351819906e-07
Newton iteration 2
energy =  0.2396980014515797
<A u 2 , A u 2 >_{-1}^0.5 =  3.038304625717097e-14
t =  3.3000000000000016
Newton iteration 0
energy =  0.23969764102676547
<A u 0 , A u 0 >_{-1}^0.5 =  0.0008419175123928395
Newton iteration 1
energy =  0.23969728662408216
<A u 1 , A u 1 >_{-1}^0.5 =  2.4192373671245644e-07
Newton iteration 2
energy =  0.2396972866240529
<A u 2 , A u 2 >_{-1}^0.5 =  2.8035199548793978e-14
t =  3.4000000000000017
Newton iteration 0
energy =  0.23969693812273196
<A u 0 , A u 0 >_{-1}^0.5 =  0.0008279097726036221
Newton iteration 1
energy =  0.23969659541469313
<A u 1 , A u 1 >_{-1}^0.5 =  2.3351048143020587e-07
Newton iteration 2
energy =  0.23969659541466587
<A u 2 , A u 2 >_{-1}^0.5 =  2.5883975829134154e-14
t =  3.5000000000000018
Newton iteration 0
energy =  0.23969625838501102
<A u 0 , A u 0 >_{-1}^0.5 =  0.0008142026730484948
Newton iteration 1
energy =  0.23969592693070843
<A u 1 , A u 1 >_{-1}^0.5 =  2.2544823640480777e-07
Newton iteration 2
energy =  0.23969592693068303
<A u 2 , A u 2 >_{-1}^0.5 =  2.393300214170106e-14
t =  3.600000000000002
Newton iteration 0
energy =  0.2396956009422648
<A u 0 , A u 0 >_{-1}^0.5 =  0.0008007859364862029
Newton iteration 1
energy =  0.23969528032137838
<A u 1 , A u 1 >_{-1}^0.5 =  2.1772076498810857e-07
Newton iteration 2
energy =  0.2396952803213547
<A u 2 , A u 2 >_{-1}^0.5 =  2.214324876558424e-14
t =  3.700000000000002
Newton iteration 0
energy =  0.2396949649635733
<A u 0 , A u 0 >_{-1}^0.5 =  0.0007876501303892361
Newton iteration 1
energy =  0.239694654774896
<A u 1 , A u 1 >_{-1}^0.5 =  2.103127203369469e-07
Newton iteration 2
energy =  0.23969465477487392
<A u 2 , A u 2 >_{-1}^0.5 =  2.047334129446631e-14
t =  3.800000000000002
Newton iteration 0
energy =  0.23969434965556882
<A u 0 , A u 0 >_{-1}^0.5 =  0.0007747865633636719
Newton iteration 1
energy =  0.2396940495156953
<A u 1 , A u 1 >_{-1}^0.5 =  2.0320956709402674e-07
Newton iteration 2
energy =  0.23969404951567466
<A u 2 , A u 2 >_{-1}^0.5 =  1.903078571484169e-14
t =  3.900000000000002
Newton iteration 0
energy =  0.2396937542598855
<A u 0 , A u 0 >_{-1}^0.5 =  0.0007621871976635306
Newton iteration 1
energy =  0.23969346380203982
<A u 1 , A u 1 >_{-1}^0.5 =  1.9639752076976143e-07
Newton iteration 2
energy =  0.23969346380202056
<A u 2 , A u 2 >_{-1}^0.5 =  1.7630767384622874e-14
t =  4.000000000000002
Newton iteration 0
energy =  0.23969317805087695
<A u 0 , A u 0 >_{-1}^0.5 =  0.0007498445745380407
Newton iteration 1
energy =  0.2396928969238598
<A u 1 , A u 1 >_{-1}^0.5 =  1.8986349753314092e-07
Newton iteration 2
energy =  0.23969289692384177
<A u 2 , A u 2 >_{-1}^0.5 =  1.641059543127418e-14
t =  4.100000000000001
Newton iteration 0
energy =  0.2396926203335637
<A u 0 , A u 0 >_{-1}^0.5 =  0.0007377517500006457
Newton iteration 1
energy =  0.23969234820080332
<A u 1 , A u 1 >_{-1}^0.5 =  1.835950717747799e-07
Newton iteration 2
energy =  0.23969234820078644
<A u 2 , A u 2 >_{-1}^0.5 =  1.5258254823891654e-14
t =  4.200000000000001
Newton iteration 0
energy =  0.23969208044178186
<A u 0 , A u 0 >_{-1}^0.5 =  0.0007259022391836936
Newton iteration 1
energy =  0.2396918169804741
<A u 1 , A u 1 >_{-1}^0.5 =  1.7758043806975958e-07
Newton iteration 2
energy =  0.23969181698045838
<A u 2 , A u 2 >_{-1}^0.5 =  1.4211327613403518e-14
t =  4.300000000000001
Newton iteration 0
energy =  0.23969155773650316
<A u 0 , A u 0 >_{-1}^0.5 =  0.0007142899678501203
Newton iteration 1
energy =  0.23969130263683017
<A u 1 , A u 1 >_{-1}^0.5 =  1.7180837642347525e-07
Newton iteration 2
energy =  0.23969130263681546
<A u 2 , A u 2 >_{-1}^0.5 =  1.3232607472784854e-14
t =  4.4
Newton iteration 0
energy =  0.23969105160430879
<A u 0 , A u 0 >_{-1}^0.5 =  0.0007029092299320886
Newton iteration 1
energy =  0.23969080456872652
<A u 1 , A u 1 >_{-1}^0.5 =  1.6626822048179676e-07
Newton iteration 2
energy =  0.23969080456871275
<A u 2 , A u 2 >_{-1}^0.5 =  1.2317513759111772e-14
t =  4.5
Newton iteration 0
energy =  0.23969056145599413
<A u 0 , A u 0 >_{-1}^0.5 =  0.0006917546501899817
Newton iteration 1
energy =  0.2396903221985808
<A u 1 , A u 1 >_{-1}^0.5 =  1.6094982722533544e-07
Newton iteration 2
energy =  0.23969032219856787
<A u 2 , A u 2 >_{-1}^0.5 =  1.1528507771629332e-14
t =  4.6
Newton iteration 0
energy =  0.2396900867252939
<A u 0 , A u 0 >_{-1}^0.5 =  0.0006808211512559551
Newton iteration 1
energy =  0.23968985497115086
<A u 1 , A u 1 >_{-1}^0.5 =  1.5584354861548654e-07
Newton iteration 2
energy =  0.23968985497113873
<A u 2 , A u 2 >_{-1}^0.5 =  1.0839526525546741e-14
t =  4.699999999999999
Newton iteration 0
energy =  0.23968962686770906
<A u 0 , A u 0 >_{-1}^0.5 =  0.0006701039244583014
Newton iteration 1
energy =  0.23968940235241032
<A u 1 , A u 1 >_{-1}^0.5 =  1.5094020477972445e-07
Newton iteration 2
energy =  0.23968940235239894
<A u 2 , A u 2 >_{-1}^0.5 =  1.0145925896981267e-14
t =  4.799999999999999
Newton iteration 0
energy =  0.23968918135942643
<A u 0 , A u 0 >_{-1}^0.5 =  0.0006595984039260617
Newton iteration 1
energy =  0.23968896382851004
<A u 1 , A u 1 >_{-1}^0.5 =  1.4623105833584508e-07
Newton iteration 2
energy =  0.23968896382849927
<A u 2 , A u 2 >_{-1}^0.5 =  9.515661797164358e-15
t =  4.899999999999999
Newton iteration 0
energy =  0.23968874969632145
<A u 0 , A u 0 >_{-1}^0.5 =  0.0006493002435553305
Newton iteration 1
energy =  0.23968853890481842
<A u 1 , A u 1 >_{-1}^0.5 =  1.4170779033744905e-07
Newton iteration 2
energy =  0.23968853890480835
<A u 2 , A u 2 >_{-1}^0.5 =  8.901312749798415e-15
t =  4.999999999999998