Burgers equation with residual-based adaptive refinement#

Problem setup#

We will solve a Burgers equation:

\[ \frac{\partial u}{\partial t} + u\frac{\partial u}{\partial x} = \nu\frac{\partial^2u}{\partial x^2}, \qquad x \in [-1, 1], \quad t \in [0, 1] \]

with the Dirichlet boundary conditions and initial conditions

\[ u(-1,t)=u(1,t)=0, \quad u(x,0) = - \sin(\pi x). \]

Dimensional Analysis#

Step 1: Assign Dimensions to Variables#

  1. Spatial Coordinate \(x\):

    • The dimension of \(x\) is length:

      \[ [x] = L. \]
  2. Time \(t\):

    • The dimension of time is:

      \[ [t] = T. \]
  3. Velocity \(u\):

    • Velocity has dimensions of length per unit time:

      \[ [u] = L / T. \]
  4. Viscosity \(\nu\):

    • The term \(\nu \frac{\partial^2 u}{\partial x^2}\) involves the second spatial derivative of velocity, which must have the same dimensions as the time derivative \(\frac{\partial u}{\partial t}\).


Step 2: Analyze the Dimensions of Each Term#

  1. Time Derivative Term:

    • The time derivative \(\frac{\partial u}{\partial t}\) has dimensions:

      \[ \left[\frac{\partial u}{\partial t}\right] = \frac{[u]}{[t]} = \frac{L / T}{T} = \frac{L}{T^2}. \]
  2. Advection Term:

    • The advection term \(u \frac{\partial u}{\partial x}\) involves the spatial derivative of velocity:

      \[ \left[u \frac{\partial u}{\partial x}\right] = [u] \cdot \frac{[u]}{[x]} = \frac{L}{T} \cdot \frac{L / T}{L} = \frac{L}{T^2}. \]
  3. Diffusion Term:

    • The diffusion term \(\nu \frac{\partial^2 u}{\partial x^2}\) involves the second spatial derivative of velocity:

      \[ \left[\frac{\partial^2 u}{\partial x^2}\right] = \frac{[u]}{[x]^2} = \frac{L / T}{L^2} = \frac{1}{L T}. \]
    • Therefore, the diffusion term has dimensions:

      \[ \left[\nu \frac{\partial^2 u}{\partial x^2}\right] = [\nu] \cdot \frac{1}{L T} = \frac{L}{T^2}. \]

Step 3: Determine the Dimensions of \(\nu\)#

  • The diffusion term \(\nu \frac{\partial^2 u}{\partial x^2}\) must have the same dimensions as the time derivative \(\frac{\partial u}{\partial t}\):

    \[ [\nu] \cdot \frac{1}{L T} = \frac{L}{T^2} \implies [\nu] = \frac{L^2}{T}. \]
  • Therefore, the viscosity \(\nu\) has dimensions of kinematic viscosity:

    \[ [\nu] = \frac{L^2}{T}. \]

Step 4: Summary of Dimensions#

Variable/Parameter

Physical Meaning

Dimensions

\(x\)

Spatial coordinate

\(L\)

\(t\)

Time

\(T\)

\(u\)

Velocity

\(L / T\)

\(\nu\)

Kinematic viscosity

\(L^2 / T\)


Step 5: Initial and Boundary Conditions#

  1. Boundary Conditions:

    • The boundary conditions \(u(-1,t) = u(1,t) = 0\) are given in meters per second:

      \[ [u(-1,t)] = [u(1,t)] = L / T. \]
  2. Initial Condition:

    • The initial condition \(u(x,0) = -\sin(\pi x)\) is given in meters per second:

      \[ [u(x,0)] = L / T. \]
    • The term \(\sin(\pi x)\) is dimensionless because \(x\) is in meters, and \(\pi\) is a dimensionless constant.

Implementation#

This description goes through the implementation of a solver for the above described Burgers equation step-by-step.

First, import the libraries we need:

import braintools
import brainunit as u
import numpy as np
import jax
import pinnx

We begin by defining a computational geometry and time domain. We can use a built-in class Interval and TimeDomain and we combine both the domains using GeometryXTime as follows:

geomtime = pinnx.geometry.GeometryXTime(
    geometry=pinnx.geometry.Interval(-1., 1.),
    timedomain=pinnx.geometry.TimeDomain(0., 0.99)
).to_dict_point(x=u.meter, t=u.second)

Next, we express the PDE residual of the Burgers equation:

v = 0.01 / u.math.pi * u.meter ** 2 / u.second


def pde(x, y):
    jacobian = approximator.jacobian(x)
    hessian = approximator.hessian(x)
    dy_x = jacobian['y']['x']
    dy_t = jacobian['y']['t']
    dy_xx = hessian['y']['x']['x']
    residual = dy_t + y['y'] * dy_x - v * dy_xx
    return residual

Next, we consider the boundary/initial condition. on_boundary is chosen here to use the whole boundary of the computational domain in considered as the boundary condition. We include the geomtime space, time geometry created above and on_boundary as the BCs in the DirichletBC function of DeepXDE. We also define IC which is the inital condition for the burgers equation and we use the computational domain, initial function, and on_initial to specify the IC.

uy = u.meter / u.second

bc = pinnx.icbc.DirichletBC(lambda x: {'y': 0. * uy})
ic = pinnx.icbc.IC(lambda x: {'y': -u.math.sin(u.math.pi * x['x'] / u.meter) * uy})

Next, we choose the network. Here, we use a fully connected neural network of depth 4 (i.e., 3 hidden layers) and width 20:

approximator = pinnx.nn.Model(
    pinnx.nn.DictToArray(x=u.meter, t=u.second),
    pinnx.nn.FNN(
        [geometry.dim] + [20] * 3 + [1],
        "tanh",
        braintools.init.KaimingUniform()
    ),
    pinnx.nn.ArrayToDict(y=uy)
)

Now, we have specified the geometry, PDE residual, and boundary/initial condition. We then define the TimePDE problem as

problem = pinnx.problem.TimePDE(
    geometry,
    pde,
    [bc, ic],
    approximator,
    num_domain=2540,
    num_boundary=80,
    num_initial=160,
)

The number 2540 is the number of training residual points sampled inside the domain, and the number 80 is the number of training points sampled on the boundary. We also include 160 initial residual points for the initial conditions.

Now, we have the PDE problem and the network. We build a Trainer and choose the optimizer and learning rate:

trainer = pinnx.Trainer(problem)
trainer.compile(braintools.optim.Adam(1e-3)).train(iterations=15000)
Compiling trainer...
'compile' took 0.003058 s

Training trainer...

Step      Train loss                                                       Test loss                                                        Test metric 
0         [2.1140547 * 10.0^0 * ((meter / second) / second) ** 2,          [2.1140547 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 0.09046214 * meter / second}},                    {'ibc0': {'y': 0.09046214 * meter / second}},                               
           {'ibc1': {'y': 0.23645507 * meter / second}}]                    {'ibc1': {'y': 0.23645507 * meter / second}}]                               
1000      [0.05101593 * 10.0^0 * ((meter / second) / second) ** 2,         [0.05101593 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 0.00244636 * meter / second}},                    {'ibc0': {'y': 0.00244636 * meter / second}},                               
           {'ibc1': {'y': 0.06664469 * meter / second}}]                    {'ibc1': {'y': 0.06664469 * meter / second}}]                               
2000      [0.04578441 * 10.0^0 * ((meter / second) / second) ** 2,         [0.04578441 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 0.00104335 * meter / second}},                    {'ibc0': {'y': 0.00104335 * meter / second}},                               
           {'ibc1': {'y': 0.05536607 * meter / second}}]                    {'ibc1': {'y': 0.05536607 * meter / second}}]                               
3000      [0.04083971 * 10.0^0 * ((meter / second) / second) ** 2,         [0.04083971 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 0.00048144 * meter / second}},                    {'ibc0': {'y': 0.00048144 * meter / second}},                               
           {'ibc1': {'y': 0.05146844 * meter / second}}]                    {'ibc1': {'y': 0.05146844 * meter / second}}]                               
4000      [0.03656165 * 10.0^0 * ((meter / second) / second) ** 2,         [0.03656165 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 0.00020483 * meter / second}},                    {'ibc0': {'y': 0.00020483 * meter / second}},                               
           {'ibc1': {'y': 0.04795899 * meter / second}}]                    {'ibc1': {'y': 0.04795899 * meter / second}}]                               
5000      [0.03201985 * 10.0^0 * ((meter / second) / second) ** 2,         [0.03201985 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 5.5738237e-05 * meter / second}},                 {'ibc0': {'y': 5.5738237e-05 * meter / second}},                            
           {'ibc1': {'y': 0.04417896 * meter / second}}]                    {'ibc1': {'y': 0.04417896 * meter / second}}]                               
6000      [0.01897248 * 10.0^0 * ((meter / second) / second) ** 2,         [0.01897248 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 3.411638e-05 * meter / second}},                  {'ibc0': {'y': 3.411638e-05 * meter / second}},                             
           {'ibc1': {'y': 0.02110803 * meter / second}}]                    {'ibc1': {'y': 0.02110803 * meter / second}}]                               
7000      [0.0083445 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0083445 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9857232e-05 * meter / second}},                 {'ibc0': {'y': 1.9857232e-05 * meter / second}},                            
           {'ibc1': {'y': 0.00840012 * meter / second}}]                    {'ibc1': {'y': 0.00840012 * meter / second}}]                               
8000      [0.00405152 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00405152 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 3.13869e-05 * meter / second}},                   {'ibc0': {'y': 3.13869e-05 * meter / second}},                              
           {'ibc1': {'y': 0.0031565 * meter / second}}]                     {'ibc1': {'y': 0.0031565 * meter / second}}]                                
9000      [0.00258377 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00258377 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 2.9788125e-05 * meter / second}},                 {'ibc0': {'y': 2.9788125e-05 * meter / second}},                            
           {'ibc1': {'y': 0.00185996 * meter / second}}]                    {'ibc1': {'y': 0.00185996 * meter / second}}]                               
10000     [0.00182265 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00182265 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.8763618e-05 * meter / second}},                 {'ibc0': {'y': 1.8763618e-05 * meter / second}},                            
           {'ibc1': {'y': 0.00121202 * meter / second}}]                    {'ibc1': {'y': 0.00121202 * meter / second}}]                               
11000     [0.00131502 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00131502 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.1222968e-05 * meter / second}},                 {'ibc0': {'y': 1.1222968e-05 * meter / second}},                            
           {'ibc1': {'y': 0.00087704 * meter / second}}]                    {'ibc1': {'y': 0.00087704 * meter / second}}]                               
12000     [0.00102354 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00102354 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 7.5733656e-06 * meter / second}},                 {'ibc0': {'y': 7.5733656e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00069363 * meter / second}}]                    {'ibc1': {'y': 0.00069363 * meter / second}}]                               
13000     [0.00085795 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00085795 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 6.1193127e-06 * meter / second}},                 {'ibc0': {'y': 6.1193127e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00059203 * meter / second}}]                    {'ibc1': {'y': 0.00059203 * meter / second}}]                               
14000     [0.00075481 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00075481 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 5.336154e-06 * meter / second}},                  {'ibc0': {'y': 5.336154e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00052162 * meter / second}}]                    {'ibc1': {'y': 0.00052162 * meter / second}}]                               
15000     [0.00067973 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00067973 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 4.3045325e-06 * meter / second}},                 {'ibc0': {'y': 4.3045325e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00046943 * meter / second}}]                    {'ibc1': {'y': 0.00046943 * meter / second}}]                               

Best trainer at step 15000:
  train loss: 1.15e-03
  test loss: 1.15e-03
  test metric: []

'train' took 60.923828 s
<pinnx.Trainer at 0x308d237d0>

After we train the network using Adam, we continue to train the network using L-BFGS to achieve a smaller loss:

trainer.compile(braintools.optim.LBFGS(1e-3)).train(2000, display_every=200)
Compiling trainer...
'compile' took 0.023359 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
15000     [0.00067973 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067973 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.3045325e-06 * meter / second}},                  {'ibc0': {'y': 4.3045325e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00046943 * meter / second}}]                     {'ibc1': {'y': 0.00046943 * meter / second}}]                                
15200     [0.00068126 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00068126 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.169301e-06 * meter / second}},                   {'ibc0': {'y': 4.169301e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00046952 * meter / second}}]                     {'ibc1': {'y': 0.00046952 * meter / second}}]                                
15400     [0.00068003 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00068003 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.1923004e-06 * meter / second}},                  {'ibc0': {'y': 4.1923004e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00046954 * meter / second}}]                     {'ibc1': {'y': 0.00046954 * meter / second}}]                                
15600     [0.00067914 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067914 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.2128318e-06 * meter / second}},                  {'ibc0': {'y': 4.2128318e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00046957 * meter / second}}]                     {'ibc1': {'y': 0.00046957 * meter / second}}]                                
15800     [0.00067831 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067831 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.2393303e-06 * meter / second}},                  {'ibc0': {'y': 4.2393303e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0004696 * meter / second}}]                      {'ibc1': {'y': 0.0004696 * meter / second}}]                                 
16000     [0.00067745 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067745 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.397528e-06 * meter / second}},                   {'ibc0': {'y': 4.397528e-06 * meter / second}},                              
           {'ibc1': {'y': 0.0004696 * meter / second}}]                      {'ibc1': {'y': 0.0004696 * meter / second}}]                                 
16200     [0.00067771 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067771 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.1383482e-06 * meter / second}},                  {'ibc0': {'y': 4.1383482e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00046968 * meter / second}}]                     {'ibc1': {'y': 0.00046968 * meter / second}}]                                
16400     [0.00067749 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067749 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.25508e-06 * meter / second}},                    {'ibc0': {'y': 4.25508e-06 * meter / second}},                               
           {'ibc1': {'y': 0.00046969 * meter / second}}]                     {'ibc1': {'y': 0.00046969 * meter / second}}]                                
16600     [0.00067738 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067738 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.3410837e-06 * meter / second}},                  {'ibc0': {'y': 4.3410837e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00046968 * meter / second}}]                     {'ibc1': {'y': 0.00046968 * meter / second}}]                                
16800     [0.0006782 * 10.0^0 * ((meter / second) / second) ** 2,           [0.0006782 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 3.657258e-06 * meter / second}},                   {'ibc0': {'y': 3.657258e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00047006 * meter / second}}]                     {'ibc1': {'y': 0.00047006 * meter / second}}]                                
17000     [0.00067788 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067788 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.8210997e-06 * meter / second}},                  {'ibc0': {'y': 3.8210997e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00046992 * meter / second}}]                     {'ibc1': {'y': 0.00046992 * meter / second}}]                                

Best trainer at step 16600:
  train loss: 1.15e-03
  test loss: 1.15e-03
  test metric: []

'train' took 9.051486 s
<pinnx.Trainer at 0x308d237d0>

Because we only use 2500 residual points for training, the accuracy is low. Next, we improve the accuracy by the residual-based adaptive refinement (RAR) method. Because the Burgers equation has a sharp front, intuitively, we should put more points near the sharp front. First, we randomly generate 100000 points from our domain to calculate the PDE residual.

X = geomtime.random_points(100000)
err = 1

We will repeatedly add points while the mean residual is greater than 0.005. Each iteration, we use our model to generate predictions for inputs in X and compute the absolute values of the errors. We then print the mean residual. Next, we find the points where the residual is greatest and add these new points for training PDE loss. Furthermore, we define a callback function to check whether the network converges. If there is significant improvement in the model’s accuracy, as judged by the callback function, we continue to train the model. As before, after we train the network using Adam, we continue to train the network using L-BFGS to achieve a smaller loss:

while u.get_magnitude(err) > 0.012:
    f = trainer.predict(X, operator=pde)
    err_eq = u.math.absolute(f)
    err = u.math.mean(err_eq)
    print(f"Mean residual: {err:.3f}")

    x_id = u.math.argmax(err_eq)
    new_xs = jax.tree.map(lambda x: x[[x_id]], X)
    print("Adding new point:", new_xs, "\n")
    problem.add_anchors(new_xs)
    early_stopping = pinnx.callbacks.EarlyStopping(min_delta=1e-4, patience=2000)
    trainer.compile(braintools.optim.Adam(1e-3)).train(iterations=10000,
                                                disregard_previous_best=True,
                                                callbacks=[early_stopping])
    trainer.compile(braintools.optim.LBFGS(1e-3)).train(1000, display_every=100)
Mean residual: 0.018 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.31030682], dtype=float32) * second, 'x': ArrayImpl([0.00072277], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.013387 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
17000     [0.00295319 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00067788 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.8210997e-06 * meter / second}},                  {'ibc0': {'y': 3.8210997e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00046992 * meter / second}}]                     {'ibc1': {'y': 0.00046992 * meter / second}}]                                
18000     [0.00108327 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0009432 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 5.890686e-06 * meter / second}},                   {'ibc0': {'y': 5.890686e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00053691 * meter / second}}]                     {'ibc1': {'y': 0.00053691 * meter / second}}]                                
19000     [0.00092558 * 10.0^0 * ((meter / second) / second) ** 2,          [0.000839 * 10.0^0 * ((meter / second) / second) ** 2,            []          
           {'ibc0': {'y': 4.3144605e-06 * meter / second}},                  {'ibc0': {'y': 4.3144605e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00054824 * meter / second}}]                     {'ibc1': {'y': 0.00054824 * meter / second}}]                                
20000     [0.00081564 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00076047 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.5706555e-06 * meter / second}},                  {'ibc0': {'y': 3.5706555e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00053703 * meter / second}}]                     {'ibc1': {'y': 0.00053703 * meter / second}}]                                
21000     [0.00096415 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00090121 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.095076e-06 * meter / second}},                   {'ibc0': {'y': 4.095076e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00050534 * meter / second}}]                     {'ibc1': {'y': 0.00050534 * meter / second}}]                                
22000     [0.00064556 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00062304 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.185172e-06 * meter / second}},                   {'ibc0': {'y': 3.185172e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00046558 * meter / second}}]                     {'ibc1': {'y': 0.00046558 * meter / second}}]                                
23000     [0.00058509 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00056849 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.078764e-06 * meter / second}},                   {'ibc0': {'y': 3.078764e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00042695 * meter / second}}]                     {'ibc1': {'y': 0.00042695 * meter / second}}]                                
24000     [0.00053798 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00052545 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.944127e-06 * meter / second}},                   {'ibc0': {'y': 2.944127e-06 * meter / second}},                              
           {'ibc1': {'y': 0.0003891 * meter / second}}]                      {'ibc1': {'y': 0.0003891 * meter / second}}]                                 
25000     [0.00053603 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00052135 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.57443e-06 * meter / second}},                    {'ibc0': {'y': 3.57443e-06 * meter / second}},                               
           {'ibc1': {'y': 0.00035367 * meter / second}}]                     {'ibc1': {'y': 0.00035367 * meter / second}}]                                
26000     [0.00046754 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046 * 10.0^0 * ((meter / second) / second) ** 2,             []          
           {'ibc0': {'y': 2.5451907e-06 * meter / second}},                  {'ibc0': {'y': 2.5451907e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00032271 * meter / second}}]                     {'ibc1': {'y': 0.00032271 * meter / second}}]                                
27000     [0.00044109 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043435 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.2023457e-06 * meter / second}},                  {'ibc0': {'y': 2.2023457e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029436 * meter / second}}]                     {'ibc1': {'y': 0.00029436 * meter / second}}]                                

Best trainer at step 27000:
  train loss: 7.38e-04
  test loss: 7.31e-04
  test metric: []

'train' took 38.123230 s

Compiling trainer...
'compile' took 0.009922 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
27000     [0.00044109 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043435 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.2023457e-06 * meter / second}},                  {'ibc0': {'y': 2.2023457e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029436 * meter / second}}]                     {'ibc1': {'y': 0.00029436 * meter / second}}]                                
27100     [0.00044241 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043749 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.3348348e-06 * meter / second}},                  {'ibc0': {'y': 2.3348348e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029449 * meter / second}}]                     {'ibc1': {'y': 0.00029449 * meter / second}}]                                
27200     [0.00044184 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043681 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.326817e-06 * meter / second}},                   {'ibc0': {'y': 2.326817e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00029447 * meter / second}}]                     {'ibc1': {'y': 0.00029447 * meter / second}}]                                
27300     [0.00044135 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043622 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.3192913e-06 * meter / second}},                  {'ibc0': {'y': 2.3192913e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029445 * meter / second}}]                     {'ibc1': {'y': 0.00029445 * meter / second}}]                                
27400     [0.00044094 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043571 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.3149416e-06 * meter / second}},                  {'ibc0': {'y': 2.3149416e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029443 * meter / second}}]                     {'ibc1': {'y': 0.00029443 * meter / second}}]                                
27500     [0.00044026 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043484 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.307417e-06 * meter / second}},                   {'ibc0': {'y': 2.307417e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00029437 * meter / second}}]                     {'ibc1': {'y': 0.00029437 * meter / second}}]                                
27600     [0.0004401 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00043462 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.3055607e-06 * meter / second}},                  {'ibc0': {'y': 2.3055607e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029435 * meter / second}}]                     {'ibc1': {'y': 0.00029435 * meter / second}}]                                
27700     [0.00044003 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043452 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.3062646e-06 * meter / second}},                  {'ibc0': {'y': 2.3062646e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029433 * meter / second}}]                     {'ibc1': {'y': 0.00029433 * meter / second}}]                                
27800     [0.00043955 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043361 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.3343398e-06 * meter / second}},                  {'ibc0': {'y': 2.3343398e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029413 * meter / second}}]                     {'ibc1': {'y': 0.00029413 * meter / second}}]                                
27900     [0.00043953 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043358 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.3186947e-06 * meter / second}},                  {'ibc0': {'y': 2.3186947e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029415 * meter / second}}]                     {'ibc1': {'y': 0.00029415 * meter / second}}]                                
28000     [0.00070291 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00070311 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.3909661e-05 * meter / second}},                  {'ibc0': {'y': 1.3909661e-05 * meter / second}},                             
           {'ibc1': {'y': 0.00030785 * meter / second}}]                     {'ibc1': {'y': 0.00030785 * meter / second}}]                                

Best trainer at step 27900:
  train loss: 7.36e-04
  test loss: 7.30e-04
  test metric: []

'train' took 4.621998 s

Mean residual: 0.016 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.98801452], dtype=float32) * second, 'x': ArrayImpl([-0.00032282], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.013920 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
28000     [0.00197229 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00070311 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.3909661e-05 * meter / second}},                  {'ibc0': {'y': 1.3909661e-05 * meter / second}},                             
           {'ibc1': {'y': 0.00030785 * meter / second}}]                     {'ibc1': {'y': 0.00030785 * meter / second}}]                                
29000     [0.00051649 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00050734 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.4825522e-06 * meter / second}},                  {'ibc0': {'y': 2.4825522e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0002885 * meter / second}}]                      {'ibc1': {'y': 0.0002885 * meter / second}}]                                 
30000     [0.00048944 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00048262 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.2519919e-06 * meter / second}},                  {'ibc0': {'y': 2.2519919e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00028214 * meter / second}}]                     {'ibc1': {'y': 0.00028214 * meter / second}}]                                
31000     [0.00046857 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046308 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.1248854e-06 * meter / second}},                  {'ibc0': {'y': 2.1248854e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0002748 * meter / second}}]                      {'ibc1': {'y': 0.0002748 * meter / second}}]                                 
Epoch 31000: early stopping

Best trainer at step 31000:
  train loss: 7.45e-04
  test loss: 7.40e-04
  test metric: []

'train' took 12.569310 s

Compiling trainer...
'compile' took 0.009631 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
31000     [0.00046857 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046308 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.1248854e-06 * meter / second}},                  {'ibc0': {'y': 2.1248854e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0002748 * meter / second}}]                      {'ibc1': {'y': 0.0002748 * meter / second}}]                                 
31100     [0.00046857 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046308 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.1262192e-06 * meter / second}},                  {'ibc0': {'y': 2.1262192e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0002748 * meter / second}}]                      {'ibc1': {'y': 0.0002748 * meter / second}}]                                 
31200     [0.00046849 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046293 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.1473877e-06 * meter / second}},                  {'ibc0': {'y': 2.1473877e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027483 * meter / second}}]                     {'ibc1': {'y': 0.00027483 * meter / second}}]                                
31300     [0.00073493 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0007051 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 6.5290965e-06 * meter / second}},                  {'ibc0': {'y': 6.5290965e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029808 * meter / second}}]                     {'ibc1': {'y': 0.00029808 * meter / second}}]                                
31400     [0.00068256 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00065663 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 5.5905107e-06 * meter / second}},                  {'ibc0': {'y': 5.5905107e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029581 * meter / second}}]                     {'ibc1': {'y': 0.00029581 * meter / second}}]                                
31500     [0.00063919 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00061659 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.833671e-06 * meter / second}},                   {'ibc0': {'y': 4.833671e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00029365 * meter / second}}]                     {'ibc1': {'y': 0.00029365 * meter / second}}]                                
31600     [0.00060404 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00058418 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 4.2318925e-06 * meter / second}},                  {'ibc0': {'y': 4.2318925e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029175 * meter / second}}]                     {'ibc1': {'y': 0.00029175 * meter / second}}]                                
31700     [0.0005764 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00055869 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.7593527e-06 * meter / second}},                  {'ibc0': {'y': 3.7593527e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029007 * meter / second}}]                     {'ibc1': {'y': 0.00029007 * meter / second}}]                                
31800     [0.00055442 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00053848 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.3909535e-06 * meter / second}},                  {'ibc0': {'y': 3.3909535e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00028856 * meter / second}}]                     {'ibc1': {'y': 0.00028856 * meter / second}}]                                
31900     [0.00053654 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00052207 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.0938609e-06 * meter / second}},                  {'ibc0': {'y': 3.0938609e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00028721 * meter / second}}]                     {'ibc1': {'y': 0.00028721 * meter / second}}]                                
32000     [0.00052238 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00050915 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.8530642e-06 * meter / second}},                  {'ibc0': {'y': 2.8530642e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00028593 * meter / second}}]                     {'ibc1': {'y': 0.00028593 * meter / second}}]                                

Best trainer at step 31200:
  train loss: 7.45e-04
  test loss: 7.40e-04
  test metric: []

'train' took 4.693850 s

Mean residual: 0.014 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.40964028], dtype=float32) * second, 'x': ArrayImpl([-0.00796556], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.013628 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
32000     [0.00079346 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00050915 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.8530642e-06 * meter / second}},                  {'ibc0': {'y': 2.8530642e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00028593 * meter / second}}]                     {'ibc1': {'y': 0.00028593 * meter / second}}]                                
33000     [0.00055445 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0004924 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 2.0238429e-06 * meter / second}},                  {'ibc0': {'y': 2.0238429e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029025 * meter / second}}]                     {'ibc1': {'y': 0.00029025 * meter / second}}]                                
34000     [0.00052658 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00047557 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.0058028e-06 * meter / second}},                  {'ibc0': {'y': 2.0058028e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029186 * meter / second}}]                     {'ibc1': {'y': 0.00029186 * meter / second}}]                                
35000     [0.00050164 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045865 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9805689e-06 * meter / second}},                  {'ibc0': {'y': 1.9805689e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0002901 * meter / second}}]                      {'ibc1': {'y': 0.0002901 * meter / second}}]                                 
Epoch 35000: early stopping

Best trainer at step 35000:
  train loss: 7.94e-04
  test loss: 7.51e-04
  test metric: []

'train' took 11.863162 s

Compiling trainer...
'compile' took 0.009882 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
35000     [0.00050164 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045865 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9805689e-06 * meter / second}},                  {'ibc0': {'y': 1.9805689e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0002901 * meter / second}}]                      {'ibc1': {'y': 0.0002901 * meter / second}}]                                 
35100     [0.00050166 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045857 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9694924e-06 * meter / second}},                  {'ibc0': {'y': 1.9694924e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029009 * meter / second}}]                     {'ibc1': {'y': 0.00029009 * meter / second}}]                                
35200     [0.00050164 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045859 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9775282e-06 * meter / second}},                  {'ibc0': {'y': 1.9775282e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0002901 * meter / second}}]                      {'ibc1': {'y': 0.0002901 * meter / second}}]                                 
35300     [0.00050156 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045861 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.0046225e-06 * meter / second}},                  {'ibc0': {'y': 2.0046225e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029016 * meter / second}}]                     {'ibc1': {'y': 0.00029016 * meter / second}}]                                
35400     [0.00050155 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045858 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.0021143e-06 * meter / second}},                  {'ibc0': {'y': 2.0021143e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029016 * meter / second}}]                     {'ibc1': {'y': 0.00029016 * meter / second}}]                                
35500     [0.00050156 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045858 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.0010755e-06 * meter / second}},                  {'ibc0': {'y': 2.0010755e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029016 * meter / second}}]                     {'ibc1': {'y': 0.00029016 * meter / second}}]                                
35600     [0.00050155 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045855 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9991612e-06 * meter / second}},                  {'ibc0': {'y': 1.9991612e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029016 * meter / second}}]                     {'ibc1': {'y': 0.00029016 * meter / second}}]                                
35700     [0.00050155 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045855 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9982401e-06 * meter / second}},                  {'ibc0': {'y': 1.9982401e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029016 * meter / second}}]                     {'ibc1': {'y': 0.00029016 * meter / second}}]                                
35800     [0.00050156 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0004586 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.9993226e-06 * meter / second}},                  {'ibc0': {'y': 1.9993226e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029015 * meter / second}}]                     {'ibc1': {'y': 0.00029015 * meter / second}}]                                
35900     [0.00050156 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0004586 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.9988458e-06 * meter / second}},                  {'ibc0': {'y': 1.9988458e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029015 * meter / second}}]                     {'ibc1': {'y': 0.00029015 * meter / second}}]                                
36000     [0.00050155 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045858 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9998658e-06 * meter / second}},                  {'ibc0': {'y': 1.9998658e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029015 * meter / second}}]                     {'ibc1': {'y': 0.00029015 * meter / second}}]                                

Best trainer at step 36000:
  train loss: 7.94e-04
  test loss: 7.51e-04
  test metric: []

'train' took 4.908738 s

Mean residual: 0.013 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.2315986], dtype=float32) * second, 'x': ArrayImpl([-0.00680643], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.015565 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
36000     [0.00074802 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045858 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9998658e-06 * meter / second}},                  {'ibc0': {'y': 1.9998658e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029015 * meter / second}}]                     {'ibc1': {'y': 0.00029015 * meter / second}}]                                
37000     [0.00059534 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00048061 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9475647e-06 * meter / second}},                  {'ibc0': {'y': 1.9475647e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00031009 * meter / second}}]                     {'ibc1': {'y': 0.00031009 * meter / second}}]                                
38000     [0.0005734 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00047273 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9098984e-06 * meter / second}},                  {'ibc0': {'y': 1.9098984e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00030421 * meter / second}}]                     {'ibc1': {'y': 0.00030421 * meter / second}}]                                
39000     [0.00054813 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046036 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.8778497e-06 * meter / second}},                  {'ibc0': {'y': 1.8778497e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029654 * meter / second}}]                     {'ibc1': {'y': 0.00029654 * meter / second}}]                                
Epoch 39000: early stopping

Best trainer at step 39000:
  train loss: 8.47e-04
  test loss: 7.59e-04
  test metric: []

'train' took 12.797805 s

Compiling trainer...
'compile' took 0.010421 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
39000     [0.00054813 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046036 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.8778497e-06 * meter / second}},                  {'ibc0': {'y': 1.8778497e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029654 * meter / second}}]                     {'ibc1': {'y': 0.00029654 * meter / second}}]                                
39100     [0.00054806 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046043 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.870236e-06 * meter / second}},                   {'ibc0': {'y': 1.870236e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00029661 * meter / second}}]                     {'ibc1': {'y': 0.00029661 * meter / second}}]                                
39200     [0.00054929 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0004634 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 2.0574782e-06 * meter / second}},                  {'ibc0': {'y': 2.0574782e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029533 * meter / second}}]                     {'ibc1': {'y': 0.00029533 * meter / second}}]                                
39300     [0.00054904 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046287 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.0242942e-06 * meter / second}},                  {'ibc0': {'y': 2.0242942e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029551 * meter / second}}]                     {'ibc1': {'y': 0.00029551 * meter / second}}]                                
39400     [0.00054891 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046254 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.004753e-06 * meter / second}},                   {'ibc0': {'y': 2.004753e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00029562 * meter / second}}]                     {'ibc1': {'y': 0.00029562 * meter / second}}]                                
39500     [0.00054882 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0004622 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.994075e-06 * meter / second}},                   {'ibc0': {'y': 1.994075e-06 * meter / second}},                              
           {'ibc1': {'y': 0.0002957 * meter / second}}]                      {'ibc1': {'y': 0.0002957 * meter / second}}]                                 
39600     [0.0005721 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00045579 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.6710437e-06 * meter / second}},                  {'ibc0': {'y': 1.6710437e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00030883 * meter / second}}]                     {'ibc1': {'y': 0.00030883 * meter / second}}]                                
39700     [0.00056654 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045358 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.5904287e-06 * meter / second}},                  {'ibc0': {'y': 1.5904287e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00030726 * meter / second}}]                     {'ibc1': {'y': 0.00030726 * meter / second}}]                                
39800     [0.00056229 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045216 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.5325267e-06 * meter / second}},                  {'ibc0': {'y': 1.5325267e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00030581 * meter / second}}]                     {'ibc1': {'y': 0.00030581 * meter / second}}]                                
39900     [0.0005591 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00045143 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.498971e-06 * meter / second}},                   {'ibc0': {'y': 1.498971e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00030449 * meter / second}}]                     {'ibc1': {'y': 0.00030449 * meter / second}}]                                
40000     [0.00055651 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045115 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.4806845e-06 * meter / second}},                  {'ibc0': {'y': 1.4806845e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00030329 * meter / second}}]                     {'ibc1': {'y': 0.00030329 * meter / second}}]                                

Best trainer at step 39500:
  train loss: 8.47e-04
  test loss: 7.60e-04
  test metric: []

'train' took 4.848265 s

Mean residual: 0.013 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.98284292], dtype=float32) * second, 'x': ArrayImpl([0.00254142], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.014243 s

Training trainer...

Step      Train loss                                                       Test loss                                                         Test metric 
40000     [0.0006681 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00045115 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.4806845e-06 * meter / second}},                 {'ibc0': {'y': 1.4806845e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00030329 * meter / second}}]                    {'ibc1': {'y': 0.00030329 * meter / second}}]                                
41000     [0.00057995 * 10.0^0 * ((meter / second) / second) ** 2,         [0.00048127 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.0367063e-06 * meter / second}},                 {'ibc0': {'y': 2.0367063e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029667 * meter / second}}]                    {'ibc1': {'y': 0.00029667 * meter / second}}]                                
42000     [0.00055732 * 10.0^0 * ((meter / second) / second) ** 2,         [0.000462 * 10.0^0 * ((meter / second) / second) ** 2,            []          
           {'ibc0': {'y': 1.8838784e-06 * meter / second}},                 {'ibc0': {'y': 1.8838784e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0002966 * meter / second}}]                     {'ibc1': {'y': 0.0002966 * meter / second}}]                                 
43000     [0.0005333 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00044418 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.8350134e-06 * meter / second}},                 {'ibc0': {'y': 1.8350134e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00029156 * meter / second}}]                    {'ibc1': {'y': 0.00029156 * meter / second}}]                                
44000     [0.00050091 * 10.0^0 * ((meter / second) / second) ** 2,         [0.0004224 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.826639e-06 * meter / second}},                  {'ibc0': {'y': 1.826639e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00027955 * meter / second}}]                    {'ibc1': {'y': 0.00027955 * meter / second}}]                                
Epoch 44000: early stopping

Best trainer at step 44000:
  train loss: 7.82e-04
  test loss: 7.04e-04
  test metric: []

'train' took 14.967950 s

Compiling trainer...
'compile' took 0.009629 s

Training trainer...

Step      Train loss                                                        Test loss                                                        Test metric 
44000     [0.00050091 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0004224 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.826639e-06 * meter / second}},                   {'ibc0': {'y': 1.826639e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027955 * meter / second}}]                     {'ibc1': {'y': 0.00027955 * meter / second}}]                               
44100     [0.00050114 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00042319 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.8824794e-06 * meter / second}},                  {'ibc0': {'y': 1.8824794e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00027945 * meter / second}}]                     {'ibc1': {'y': 0.00027945 * meter / second}}]                               
44200     [0.00145139 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00122295 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 8.942031e-06 * meter / second}},                   {'ibc0': {'y': 8.942031e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027929 * meter / second}}]                     {'ibc1': {'y': 0.00027929 * meter / second}}]                               
44300     [0.00127814 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00108249 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 7.864425e-06 * meter / second}},                   {'ibc0': {'y': 7.864425e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027888 * meter / second}}]                     {'ibc1': {'y': 0.00027888 * meter / second}}]                               
44400     [0.00113658 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00096735 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 6.9546295e-06 * meter / second}},                  {'ibc0': {'y': 6.9546295e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00027857 * meter / second}}]                     {'ibc1': {'y': 0.00027857 * meter / second}}]                               
44500     [0.00102089 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00087287 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 6.1936867e-06 * meter / second}},                  {'ibc0': {'y': 6.1936867e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00027836 * meter / second}}]                     {'ibc1': {'y': 0.00027836 * meter / second}}]                               
44600     [0.00092632 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00079524 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 5.5573573e-06 * meter / second}},                  {'ibc0': {'y': 5.5573573e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00027821 * meter / second}}]                     {'ibc1': {'y': 0.00027821 * meter / second}}]                               
44700     [0.00084903 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00073138 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 5.0196286e-06 * meter / second}},                  {'ibc0': {'y': 5.0196286e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00027812 * meter / second}}]                     {'ibc1': {'y': 0.00027812 * meter / second}}]                               
44800     [0.0007858 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00067878 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 4.56894e-06 * meter / second}},                    {'ibc0': {'y': 4.56894e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00027808 * meter / second}}]                     {'ibc1': {'y': 0.00027808 * meter / second}}]                               
44900     [0.00073408 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00063543 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 4.191006e-06 * meter / second}},                   {'ibc0': {'y': 4.191006e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027807 * meter / second}}]                     {'ibc1': {'y': 0.00027807 * meter / second}}]                               
45000     [0.00069176 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00059965 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 3.8737767e-06 * meter / second}},                  {'ibc0': {'y': 3.8737767e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00027808 * meter / second}}]                     {'ibc1': {'y': 0.00027808 * meter / second}}]                               

Best trainer at step 44000:
  train loss: 7.82e-04
  test loss: 7.04e-04
  test metric: []

'train' took 4.975001 s

Mean residual: 0.014 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.47824991], dtype=float32) * second, 'x': ArrayImpl([0.00034535], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.013878 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
45000     [0.00086286 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00059965 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 3.8737767e-06 * meter / second}},                  {'ibc0': {'y': 3.8737767e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027808 * meter / second}}]                     {'ibc1': {'y': 0.00027808 * meter / second}}]                                
46000     [0.00051184 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00043078 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.951535e-06 * meter / second}},                   {'ibc0': {'y': 1.951535e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00028326 * meter / second}}]                     {'ibc1': {'y': 0.00028326 * meter / second}}]                                
47000     [0.00049468 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00041779 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.8175754e-06 * meter / second}},                  {'ibc0': {'y': 1.8175754e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027674 * meter / second}}]                     {'ibc1': {'y': 0.00027674 * meter / second}}]                                
48000     [0.00047711 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00040669 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.8042014e-06 * meter / second}},                  {'ibc0': {'y': 1.8042014e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00026785 * meter / second}}]                     {'ibc1': {'y': 0.00026785 * meter / second}}]                                
Epoch 48000: early stopping

Best trainer at step 48000:
  train loss: 7.47e-04
  test loss: 6.76e-04
  test metric: []

'train' took 11.456536 s

Compiling trainer...
'compile' took 0.009981 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
48000     [0.00047711 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00040669 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.8042014e-06 * meter / second}},                  {'ibc0': {'y': 1.8042014e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00026785 * meter / second}}]                     {'ibc1': {'y': 0.00026785 * meter / second}}]                                
48100     [0.00047705 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00040699 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.8382888e-06 * meter / second}},                  {'ibc0': {'y': 1.8382888e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00026787 * meter / second}}]                     {'ibc1': {'y': 0.00026787 * meter / second}}]                                
48200     [0.00047711 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00040684 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.838244e-06 * meter / second}},                   {'ibc0': {'y': 1.838244e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00026778 * meter / second}}]                     {'ibc1': {'y': 0.00026778 * meter / second}}]                                
48300     [0.00055811 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00051886 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 2.0354166e-06 * meter / second}},                  {'ibc0': {'y': 2.0354166e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027301 * meter / second}}]                     {'ibc1': {'y': 0.00027301 * meter / second}}]                                
48400     [0.00054285 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00050191 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.7836052e-06 * meter / second}},                  {'ibc0': {'y': 1.7836052e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027229 * meter / second}}]                     {'ibc1': {'y': 0.00027229 * meter / second}}]                                
48500     [0.00053009 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00048734 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.5927877e-06 * meter / second}},                  {'ibc0': {'y': 1.5927877e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027169 * meter / second}}]                     {'ibc1': {'y': 0.00027169 * meter / second}}]                                
48600     [0.00051951 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0004748 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.4500241e-06 * meter / second}},                  {'ibc0': {'y': 1.4500241e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027117 * meter / second}}]                     {'ibc1': {'y': 0.00027117 * meter / second}}]                                
48700     [0.00051096 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00046426 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.344583e-06 * meter / second}},                   {'ibc0': {'y': 1.344583e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00027073 * meter / second}}]                     {'ibc1': {'y': 0.00027073 * meter / second}}]                                
48800     [0.0005042 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00045563 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.2793502e-06 * meter / second}},                  {'ibc0': {'y': 1.2793502e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027043 * meter / second}}]                     {'ibc1': {'y': 0.00027043 * meter / second}}]                                
48900     [0.00049869 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00044829 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.239052e-06 * meter / second}},                   {'ibc0': {'y': 1.239052e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00027017 * meter / second}}]                     {'ibc1': {'y': 0.00027017 * meter / second}}]                                
49000     [0.00049421 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00044207 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.218723e-06 * meter / second}},                   {'ibc0': {'y': 1.218723e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00026993 * meter / second}}]                     {'ibc1': {'y': 0.00026993 * meter / second}}]                                

Best trainer at step 48200:
  train loss: 7.47e-04
  test loss: 6.76e-04
  test metric: []

'train' took 4.382472 s

Mean residual: 0.013 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.32790023], dtype=float32) * second, 'x': ArrayImpl([-0.00789118], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.013897 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
49000     [0.00057817 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00044207 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.218723e-06 * meter / second}},                   {'ibc0': {'y': 1.218723e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00026993 * meter / second}}]                     {'ibc1': {'y': 0.00026993 * meter / second}}]                                
50000     [0.00050032 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00041502 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.859967e-06 * meter / second}},                   {'ibc0': {'y': 1.859967e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00028114 * meter / second}}]                     {'ibc1': {'y': 0.00028114 * meter / second}}]                                
51000     [0.00047413 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0004074 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.8621943e-06 * meter / second}},                  {'ibc0': {'y': 1.8621943e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00027061 * meter / second}}]                     {'ibc1': {'y': 0.00027061 * meter / second}}]                                
52000     [0.00043118 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00039883 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.9477718e-06 * meter / second}},                  {'ibc0': {'y': 1.9477718e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00025804 * meter / second}}]                     {'ibc1': {'y': 0.00025804 * meter / second}}]                                
53000     [0.00039573 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00037706 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.8887133e-06 * meter / second}},                  {'ibc0': {'y': 1.8887133e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00023655 * meter / second}}]                     {'ibc1': {'y': 0.00023655 * meter / second}}]                                
54000     [0.00036355 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00035133 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.6823096e-06 * meter / second}},                  {'ibc0': {'y': 1.6823096e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00021243 * meter / second}}]                     {'ibc1': {'y': 0.00021243 * meter / second}}]                                
55000     [0.00035543 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0003454 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.3884645e-06 * meter / second}},                  {'ibc0': {'y': 1.3884645e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00019187 * meter / second}}]                     {'ibc1': {'y': 0.00019187 * meter / second}}]                                
Epoch 55000: early stopping

Best trainer at step 55000:
  train loss: 5.49e-04
  test loss: 5.39e-04
  test metric: []

'train' took 28.337766 s

Compiling trainer...
'compile' took 0.010395 s

Training trainer...

Step      Train loss                                                        Test loss                                                        Test metric 
55000     [0.00035543 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0003454 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.3884645e-06 * meter / second}},                  {'ibc0': {'y': 1.3884645e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019187 * meter / second}}]                     {'ibc1': {'y': 0.00019187 * meter / second}}]                               
55100     [0.00038491 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00036448 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 2.1007363e-06 * meter / second}},                  {'ibc0': {'y': 2.1007363e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019324 * meter / second}}]                     {'ibc1': {'y': 0.00019324 * meter / second}}]                               
55200     [0.00037617 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00035767 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 2.0267723e-06 * meter / second}},                  {'ibc0': {'y': 2.0267723e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019314 * meter / second}}]                     {'ibc1': {'y': 0.00019314 * meter / second}}]                               
55300     [0.00036902 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00035212 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.9594597e-06 * meter / second}},                  {'ibc0': {'y': 1.9594597e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019307 * meter / second}}]                     {'ibc1': {'y': 0.00019307 * meter / second}}]                               
55400     [0.00036314 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00034759 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.9019135e-06 * meter / second}},                  {'ibc0': {'y': 1.9019135e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019301 * meter / second}}]                     {'ibc1': {'y': 0.00019301 * meter / second}}]                               
55500     [0.00035832 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00034388 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.8527855e-06 * meter / second}},                  {'ibc0': {'y': 1.8527855e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019295 * meter / second}}]                     {'ibc1': {'y': 0.00019295 * meter / second}}]                               
55600     [0.00035437 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00034088 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.8089495e-06 * meter / second}},                  {'ibc0': {'y': 1.8089495e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019291 * meter / second}}]                     {'ibc1': {'y': 0.00019291 * meter / second}}]                               
55700     [0.00035103 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00033836 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.7687397e-06 * meter / second}},                  {'ibc0': {'y': 1.7687397e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019289 * meter / second}}]                     {'ibc1': {'y': 0.00019289 * meter / second}}]                               
55800     [0.00034844 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00033642 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.7341235e-06 * meter / second}},                  {'ibc0': {'y': 1.7341235e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019286 * meter / second}}]                     {'ibc1': {'y': 0.00019286 * meter / second}}]                               
55900     [0.00034628 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00033482 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.7029475e-06 * meter / second}},                  {'ibc0': {'y': 1.7029475e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019285 * meter / second}}]                     {'ibc1': {'y': 0.00019285 * meter / second}}]                               
56000     [0.00034438 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00033343 * 10.0^0 * ((meter / second) / second) ** 2,         []          
           {'ibc0': {'y': 1.6735721e-06 * meter / second}},                  {'ibc0': {'y': 1.6735721e-06 * meter / second}},                            
           {'ibc1': {'y': 0.00019284 * meter / second}}]                     {'ibc1': {'y': 0.00019284 * meter / second}}]                               

Best trainer at step 56000:
  train loss: 5.39e-04
  test loss: 5.28e-04
  test metric: []

'train' took 5.173902 s

Mean residual: 0.012 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.5695765], dtype=float32) * second, 'x': ArrayImpl([-0.00540644], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.015050 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
56000     [0.00045088 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00033343 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.6735721e-06 * meter / second}},                  {'ibc0': {'y': 1.6735721e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00019284 * meter / second}}]                     {'ibc1': {'y': 0.00019284 * meter / second}}]                                
57000     [0.0003596 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00033415 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.4792597e-06 * meter / second}},                  {'ibc0': {'y': 1.4792597e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00019963 * meter / second}}]                     {'ibc1': {'y': 0.00019963 * meter / second}}]                                
58000     [0.00034447 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0003254 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.3338099e-06 * meter / second}},                  {'ibc0': {'y': 1.3338099e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0001965 * meter / second}}]                      {'ibc1': {'y': 0.0001965 * meter / second}}]                                 
59000     [0.00033271 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031697 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.3009029e-06 * meter / second}},                  {'ibc0': {'y': 1.3009029e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00019046 * meter / second}}]                     {'ibc1': {'y': 0.00019046 * meter / second}}]                                
60000     [0.00031924 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030644 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.2355371e-06 * meter / second}},                  {'ibc0': {'y': 1.2355371e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00018091 * meter / second}}]                     {'ibc1': {'y': 0.00018091 * meter / second}}]                                
Epoch 60000: early stopping

Best trainer at step 60000:
  train loss: 5.01e-04
  test loss: 4.89e-04
  test metric: []

'train' took 16.605614 s

Compiling trainer...
'compile' took 0.009775 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
60000     [0.00031924 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030644 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.2355371e-06 * meter / second}},                  {'ibc0': {'y': 1.2355371e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00018091 * meter / second}}]                     {'ibc1': {'y': 0.00018091 * meter / second}}]                                
60100     [0.00031926 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0003067 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.2158225e-06 * meter / second}},                  {'ibc0': {'y': 1.2158225e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00018093 * meter / second}}]                     {'ibc1': {'y': 0.00018093 * meter / second}}]                                
60200     [0.0003193 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00030668 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.2317463e-06 * meter / second}},                  {'ibc0': {'y': 1.2317463e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00018085 * meter / second}}]                     {'ibc1': {'y': 0.00018085 * meter / second}}]                                
60300     [0.00032016 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030574 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 8.9220623e-07 * meter / second}},                  {'ibc0': {'y': 8.9220623e-07 * meter / second}},                             
           {'ibc1': {'y': 0.0001815 * meter / second}}]                      {'ibc1': {'y': 0.0001815 * meter / second}}]                                 
60400     [0.00031992 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030578 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 9.2139237e-07 * meter / second}},                  {'ibc0': {'y': 9.2139237e-07 * meter / second}},                             
           {'ibc1': {'y': 0.00018143 * meter / second}}]                     {'ibc1': {'y': 0.00018143 * meter / second}}]                                
60500     [0.00031974 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030583 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 9.5220133e-07 * meter / second}},                  {'ibc0': {'y': 9.5220133e-07 * meter / second}},                             
           {'ibc1': {'y': 0.00018136 * meter / second}}]                     {'ibc1': {'y': 0.00018136 * meter / second}}]                                
60600     [0.00031961 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030594 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 9.865097e-07 * meter / second}},                   {'ibc0': {'y': 9.865097e-07 * meter / second}},                              
           {'ibc1': {'y': 0.00018126 * meter / second}}]                     {'ibc1': {'y': 0.00018126 * meter / second}}]                                
60700     [0.00031952 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030598 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.0199747e-06 * meter / second}},                  {'ibc0': {'y': 1.0199747e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00018119 * meter / second}}]                     {'ibc1': {'y': 0.00018119 * meter / second}}]                                
60800     [0.00031941 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030598 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.0453716e-06 * meter / second}},                  {'ibc0': {'y': 1.0453716e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00018118 * meter / second}}]                     {'ibc1': {'y': 0.00018118 * meter / second}}]                                
60900     [0.00031924 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030594 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.0795525e-06 * meter / second}},                  {'ibc0': {'y': 1.0795525e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0001812 * meter / second}}]                      {'ibc1': {'y': 0.0001812 * meter / second}}]                                 
61000     [0.00040084 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00037745 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.2552299e-05 * meter / second}},                  {'ibc0': {'y': 1.2552299e-05 * meter / second}},                             
           {'ibc1': {'y': 0.00017717 * meter / second}}]                     {'ibc1': {'y': 0.00017717 * meter / second}}]                                

Best trainer at step 60200:
  train loss: 5.01e-04
  test loss: 4.89e-04
  test metric: []

'train' took 4.717136 s

Mean residual: 0.012 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.38778442], dtype=float32) * second, 'x': ArrayImpl([-0.0043211], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.015250 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
61000     [0.00046435 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00037745 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.2552299e-05 * meter / second}},                  {'ibc0': {'y': 1.2552299e-05 * meter / second}},                             
           {'ibc1': {'y': 0.00017717 * meter / second}}]                     {'ibc1': {'y': 0.00017717 * meter / second}}]                                
62000     [0.00034305 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031215 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.2617899e-06 * meter / second}},                  {'ibc0': {'y': 1.2617899e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00018198 * meter / second}}]                     {'ibc1': {'y': 0.00018198 * meter / second}}]                                
63000     [0.0003293 * 10.0^0 * ((meter / second) / second) ** 2,           [0.00030744 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1898037e-06 * meter / second}},                  {'ibc0': {'y': 1.1898037e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017979 * meter / second}}]                     {'ibc1': {'y': 0.00017979 * meter / second}}]                                
64000     [0.00032155 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030236 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1578732e-06 * meter / second}},                  {'ibc0': {'y': 1.1578732e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017604 * meter / second}}]                     {'ibc1': {'y': 0.00017604 * meter / second}}]                                
Epoch 64000: early stopping

Best trainer at step 64000:
  train loss: 4.99e-04
  test loss: 4.80e-04
  test metric: []

'train' took 11.294281 s

Compiling trainer...
'compile' took 0.010299 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
64000     [0.00032155 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030236 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1578732e-06 * meter / second}},                  {'ibc0': {'y': 1.1578732e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017604 * meter / second}}]                     {'ibc1': {'y': 0.00017604 * meter / second}}]                                
64100     [0.00032129 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030189 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.2672714e-06 * meter / second}},                  {'ibc0': {'y': 1.2672714e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017607 * meter / second}}]                     {'ibc1': {'y': 0.00017607 * meter / second}}]                                
64200     [0.00032125 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030183 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.230208e-06 * meter / second}},                   {'ibc0': {'y': 1.230208e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00017615 * meter / second}}]                     {'ibc1': {'y': 0.00017615 * meter / second}}]                                
64300     [0.00032105 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0003016 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.1040507e-06 * meter / second}},                  {'ibc0': {'y': 1.1040507e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0001765 * meter / second}}]                      {'ibc1': {'y': 0.0001765 * meter / second}}]                                 
64400     [0.00032116 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030174 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1353521e-06 * meter / second}},                  {'ibc0': {'y': 1.1353521e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017633 * meter / second}}]                     {'ibc1': {'y': 0.00017633 * meter / second}}]                                
64500     [0.00032118 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030177 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1384761e-06 * meter / second}},                  {'ibc0': {'y': 1.1384761e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0001763 * meter / second}}]                      {'ibc1': {'y': 0.0001763 * meter / second}}]                                 
64600     [0.00032113 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030171 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1360961e-06 * meter / second}},                  {'ibc0': {'y': 1.1360961e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017638 * meter / second}}]                     {'ibc1': {'y': 0.00017638 * meter / second}}]                                
64700     [0.00032106 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030168 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1283665e-06 * meter / second}},                  {'ibc0': {'y': 1.1283665e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017646 * meter / second}}]                     {'ibc1': {'y': 0.00017646 * meter / second}}]                                
64800     [0.00032214 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030261 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1278934e-06 * meter / second}},                  {'ibc0': {'y': 1.1278934e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017566 * meter / second}}]                     {'ibc1': {'y': 0.00017566 * meter / second}}]                                
64900     [0.00032201 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0003025 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.1321267e-06 * meter / second}},                  {'ibc0': {'y': 1.1321267e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0001757 * meter / second}}]                      {'ibc1': {'y': 0.0001757 * meter / second}}]                                 
65000     [0.00032184 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030237 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1423148e-06 * meter / second}},                  {'ibc0': {'y': 1.1423148e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017577 * meter / second}}]                     {'ibc1': {'y': 0.00017577 * meter / second}}]                                

Best trainer at step 64500:
  train loss: 4.99e-04
  test loss: 4.79e-04
  test metric: []

'train' took 4.623570 s

Mean residual: 0.012 * (meter / second) / second
Adding new point: {'t': ArrayImpl([0.40250915], dtype=float32) * second, 'x': ArrayImpl([-0.010427], dtype=float32) * meter} 

Compiling trainer...
'compile' took 0.014968 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
65000     [0.00039208 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00030237 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1423148e-06 * meter / second}},                  {'ibc0': {'y': 1.1423148e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017577 * meter / second}}]                     {'ibc1': {'y': 0.00017577 * meter / second}}]                                
66000     [0.00035875 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00032071 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.144454e-06 * meter / second}},                   {'ibc0': {'y': 1.144454e-06 * meter / second}},                              
           {'ibc1': {'y': 0.00018135 * meter / second}}]                     {'ibc1': {'y': 0.00018135 * meter / second}}]                                
67000     [0.00034588 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031595 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.0716824e-06 * meter / second}},                  {'ibc0': {'y': 1.0716824e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017891 * meter / second}}]                     {'ibc1': {'y': 0.00017891 * meter / second}}]                                
Epoch 67001: early stopping

Best trainer at step 67000:
  train loss: 5.26e-04
  test loss: 4.96e-04
  test metric: []

'train' took 7.938136 s

Compiling trainer...
'compile' took 0.014745 s

Training trainer...

Step      Train loss                                                        Test loss                                                         Test metric 
67001     [0.00034587 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031594 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.0716063e-06 * meter / second}},                  {'ibc0': {'y': 1.0716063e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017891 * meter / second}}]                     {'ibc1': {'y': 0.00017891 * meter / second}}]                                
67100     [0.00034577 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031621 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.0872557e-06 * meter / second}},                  {'ibc0': {'y': 1.0872557e-06 * meter / second}},                             
           {'ibc1': {'y': 0.000179 * meter / second}}]                       {'ibc1': {'y': 0.000179 * meter / second}}]                                  
67200     [0.00034568 * 10.0^0 * ((meter / second) / second) ** 2,          [0.000316 * 10.0^0 * ((meter / second) / second) ** 2,            []          
           {'ibc0': {'y': 1.0810584e-06 * meter / second}},                  {'ibc0': {'y': 1.0810584e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017908 * meter / second}}]                     {'ibc1': {'y': 0.00017908 * meter / second}}]                                
67300     [0.00034568 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031598 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.0880661e-06 * meter / second}},                  {'ibc0': {'y': 1.0880661e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017907 * meter / second}}]                     {'ibc1': {'y': 0.00017907 * meter / second}}]                                
67400     [0.00034624 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031566 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1337318e-06 * meter / second}},                  {'ibc0': {'y': 1.1337318e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017865 * meter / second}}]                     {'ibc1': {'y': 0.00017865 * meter / second}}]                                
67500     [0.00034618 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031566 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1352137e-06 * meter / second}},                  {'ibc0': {'y': 1.1352137e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017867 * meter / second}}]                     {'ibc1': {'y': 0.00017867 * meter / second}}]                                
67600     [0.00034612 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031567 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1311693e-06 * meter / second}},                  {'ibc0': {'y': 1.1311693e-06 * meter / second}},                             
           {'ibc1': {'y': 0.0001787 * meter / second}}]                      {'ibc1': {'y': 0.0001787 * meter / second}}]                                 
67700     [0.00034608 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031568 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1283073e-06 * meter / second}},                  {'ibc0': {'y': 1.1283073e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017872 * meter / second}}]                     {'ibc1': {'y': 0.00017872 * meter / second}}]                                
67800     [0.00034614 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031567 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1323336e-06 * meter / second}},                  {'ibc0': {'y': 1.1323336e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017869 * meter / second}}]                     {'ibc1': {'y': 0.00017869 * meter / second}}]                                
67900     [0.00034607 * 10.0^0 * ((meter / second) / second) ** 2,          [0.00031569 * 10.0^0 * ((meter / second) / second) ** 2,          []          
           {'ibc0': {'y': 1.1263944e-06 * meter / second}},                  {'ibc0': {'y': 1.1263944e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017873 * meter / second}}]                     {'ibc1': {'y': 0.00017873 * meter / second}}]                                
68000     [0.00034603 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0003157 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.1240935e-06 * meter / second}},                  {'ibc0': {'y': 1.1240935e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017874 * meter / second}}]                     {'ibc1': {'y': 0.00017874 * meter / second}}]                                
68001     [0.00034604 * 10.0^0 * ((meter / second) / second) ** 2,          [0.0003157 * 10.0^0 * ((meter / second) / second) ** 2,           []          
           {'ibc0': {'y': 1.1240547e-06 * meter / second}},                  {'ibc0': {'y': 1.1240547e-06 * meter / second}},                             
           {'ibc1': {'y': 0.00017874 * meter / second}}]                     {'ibc1': {'y': 0.00017874 * meter / second}}]                                

Best trainer at step 67300:
  train loss: 5.26e-04
  test loss: 4.96e-04
  test metric: []

'train' took 4.620428 s

Let’s visualize and save the data.

trainer.saveplot(issave=True, isplot=True)
Saving loss history to /Users/sichaohe/Documents/GitHub/pinnx/docs/examples-pinn-forward/loss.dat ...
Saving checkpoint into /Users/sichaohe/Documents/GitHub/pinnx/docs/examples-pinn-forward/loss.dat
Saving training data to /Users/sichaohe/Documents/GitHub/pinnx/docs/examples-pinn-forward/train.dat ...
Saving checkpoint into /Users/sichaohe/Documents/GitHub/pinnx/docs/examples-pinn-forward/train.dat
Saving test data to /Users/sichaohe/Documents/GitHub/pinnx/docs/examples-pinn-forward/test.dat ...
Saving checkpoint into /Users/sichaohe/Documents/GitHub/pinnx/docs/examples-pinn-forward/test.dat
../_images/ecae446fd7529c721510e2921e9fd029be40e21cfd8e045b1f645f50268dfd73.png ../_images/3878352fc4afd7a658ca112983878d88e86f7be5ca4d9120f9da7cee0a2fa383.png

We can also test the model with the data:

def gen_testdata():
    data = np.load("../dataset/Burgers.npz")
    t, x, exact = data["t"], data["x"], data["usol"].T
    xx, tt = np.meshgrid(x, t)
    X = {'x': np.ravel(xx) * u.meter, 't': np.ravel(tt) * u.second}
    y = exact.flatten()[:, None]
    return X, y * uy
X, y_true = gen_testdata()
y_pred = trainer.predict(X)
f = pde(X, y_pred)
print("Mean residual:", u.math.mean(u.math.absolute(f)))
print("L2 relative error:", pinnx.metrics.l2_relative_error(y_true, y_pred['y']))
Mean residual: 0.01163746 * (meter / second) / second
L2 relative error: 225.97165