2D Case - Figures 13#

Convergence to reference solution for training performed L-BFGS.

We investigate the effect of r-adaptivity and rh-adaptivity on the accuracy of displacement and von Mises stress.

#%% Libraries import
# import HiDeNN library
import sys  
# sys.path.append("../neurom/")
from neurom.HiDeNN_PDE import MeshNN, NeuROM, MeshNN_2D, MeshNN_1D
# Import pre-processing functions
import neurom.src.Pre_processing as pre
# Import torch librairies
import torch
import torch.nn as nn
# Import mechanical functions
from neurom.src.PDE_Library import Strain, Stress,VonMises_plain_strain
# Import Training funcitons
from neurom.src.Training import Training_2D_FEM
#Import post processing libraries
import neurom.Post.Plots as Pplot
import time
import os
import torch._dynamo as dynamo
mps_device = torch.device("mps")
from importlib import reload  # Python 3.4+
import tomllib
import numpy as numpy
import argparse
* WARNING: could not load tikzplotlib
Default_config_file = 'Configurations/config_2D.toml'

with open(Default_config_file, mode="rb") as f:
    config = tomllib.load(f)

Training on fixed mesh#

# Prerequisites
mesh_resolution = [44, 144, 484, 1804, 7088 ]

eval_coord_file = "GroundTruth/eval_coordinates.npy"
num_displ_file = "GroundTruth/num_displacement.npy"
num_VM_stress_file = "GroundTruth/num_VM_stress.npy"
eval_coord =  torch.tensor(numpy.load(eval_coord_file), dtype=torch.float64, requires_grad=True)
num_displ = torch.tensor(numpy.load(num_displ_file))
num_VM_stress = torch.tensor(numpy.load(num_VM_stress_file))

# Experiment
element_size = [2.0, 1.0, 0.5, 0.25, 0.125]
config["solver"]["FrozenMesh"] = True
optimizers = ["lbfgs"]

error_u = numpy.zeros((len(element_size),len(optimizers)))
error_v = numpy.zeros((len(element_size),len(optimizers)))
error_stress = numpy.zeros((len(element_size),len(optimizers)))
error_stress_max = numpy.zeros((len(element_size),len(optimizers)))

for e in range(len(element_size)):
    config["interpolation"]["MaxElemSize2D"] = element_size[e]
    for op in range(len(optimizers)):
        config["training"]["optimizer"] = optimizers[op]

        if config["interpolation"]["dimension"] == 1:
            Mat = pre.Material(             flag_lame = True,                               # If True should input lmbda and mu instead of E and nu
                                            coef1     = config["material"]["E"],            # Young Modulus
                                            coef2     = config["geometry"]["A"]             # Section area of the 1D bar
                                )
        elif config["interpolation"]["dimension"] == 2:
            try:
                Mat = pre.Material(         flag_lame = False,                              # If True should input lmbda and mu instead of E and nu
                                            coef1     = config["material"]["E"],            # Young Modulus
                                            coef2     = config["material"]["nu"]            # Poisson's ratio
                                )
            except:
                Mat = pre.Material(         flag_lame = True,                               # If True should input lmbda and mu instead of E and nu
                                            coef1     = config["material"]["lmbda"],        # First Lame's coef
                                            coef2     = config["material"]["mu"]            # Second Lame's coef
                                )

        MaxElemSize = pre.ElementSize(
                                        dimension     = config["interpolation"]["dimension"],
                                        L             = config["geometry"]["L"],
                                        order         = config["interpolation"]["order"],
                                        np            = config["interpolation"]["np"],
                                        MaxElemSize2D = config["interpolation"]["MaxElemSize2D"]
                                    )
        Excluded = []
        Mesh_object = pre.Mesh( 
                                        config["geometry"]["Name"],                 # Create the mesh object
                                        MaxElemSize, 
                                        config["interpolation"]["order"], 
                                        config["interpolation"]["dimension"]
                                )

        Mesh_object.AddBorders(config["Borders"]["Borders"])
        Mesh_object.AddBCs(                                                         # Include Boundary physical domains infos (BCs+volume)
                                        config["geometry"]["Volume_element"],
                                        Excluded,
                                        config["DirichletDictionryList"]
                            )                   

        Mesh_object.MeshGeo()                                                       # Mesh the .geo file if .msh does not exist
        Mesh_object.ReadMesh()                                                      # Parse the .msh file
        Mesh_object.ExportMeshVtk()

        if int(Mesh_object.dim) != int(Mesh_object.dimension):
            raise ValueError("The dimension of the provided geometry does not match the job dimension")

        Model_FEM = MeshNN_2D(Mesh_object, n_components = 2)

        Model_FEM.Freeze_Mesh()
        Model_FEM.UnFreeze_FEM()

        if not config["solver"]["FrozenMesh"]:
            Model_FEM.UnFreeze_Mesh() 

        Model_FEM.RefinementParameters( MaxGeneration = config["training"]["h_adapt_MaxGeneration"], 
                                    Jacobian_threshold = config["training"]["h_adapt_J_thrshld"])

        Model_FEM.TrainingParameters(   loss_decrease_c = config["training"]["loss_decrease_c"], 
                                        Max_epochs = config["training"]["n_epochs"], 
                                        learning_rate = config["training"]["learning_rate"])
        Model_FEM = Training_2D_FEM(Model_FEM, config, Mat)
        
        # evaluation 
        Model_FEM.eval()

        elem_IDs = torch.tensor(Model_FEM.mesh.GetCellIds(eval_coord),dtype=torch.int)


        print()
        print("min = ", min(elem_IDs))
        print("max = ", max(elem_IDs))
        print()

        
        u = Model_FEM(eval_coord, elem_IDs)
        eps =  Strain(u,eval_coord)
        sigma =  torch.stack(Stress(eps, Mat.lmbda, Mat.mu),dim=1)
        sigma_VM = VonMises_plain_strain(sigma, Mat.lmbda, Mat.mu)

        error_u[e,op] = (torch.linalg.vector_norm(num_displ[:,0] - u[0,:])/torch.linalg.vector_norm(num_displ[:,0])).item()
        error_v[e,op] = (torch.linalg.vector_norm(num_displ[:,1] - u[1,:])/torch.linalg.vector_norm(num_displ[:,1])).item()
        error_stress[e,op] = (torch.linalg.vector_norm(num_VM_stress - sigma_VM)/torch.linalg.vector_norm(num_VM_stress)).item()
        error_stress_max[e,op] = (max(sigma_VM)/max(num_VM_stress)).item()

        Pplot.ExportFinalResult_VTK(Model_FEM,Mat,config["postprocess"]["Name_export"]+"_"+str(element_size[e])+"_fixed")
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  []
max_refinement  1

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.411686e-01
epoch 3 loss = 9.410236e-01
epoch 4 loss = 9.410236e-01
*************** END FIRST PHASE ***************

* Training time: 0.05104684829711914s
* Average epoch time: 0.012761712074279785s
***************** END TRAINING ****************

* Training time: 0.05104684829711914s

min =  tensor(0, dtype=torch.int32)
max =  tensor(59, dtype=torch.int32)

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288

refinement_list  []
max_refinement  1

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.828204e-01
epoch 3 loss = 8.719695e-01
epoch 4 loss = 8.717083e-01
epoch 5 loss = 8.717082e-01
*************** END FIRST PHASE ***************

* Training time: 0.0909278392791748s
* Average epoch time: 0.01818556785583496s
***************** END TRAINING ****************

* Training time: 0.0909278392791748s

min =  tensor(0, dtype=torch.int32)
max =  tensor(231, dtype=torch.int32)

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           968

refinement_list  []
max_refinement  1

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 1.461114e+00
epoch 3 loss = 9.725787e-01
epoch 4 loss = 8.443092e-01
epoch 5 loss = 8.422947e-01
epoch 6 loss = 8.419745e-01
epoch 7 loss = 8.419724e-01
epoch 8 loss = 8.419724e-01
*************** END FIRST PHASE ***************

* Training time: 0.2405087947845459s
* Average epoch time: 0.030063599348068237s
***************** END TRAINING ****************

* Training time: 0.2405087947845459s

min =  tensor(0, dtype=torch.int32)
max =  tensor(855, dtype=torch.int32)

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           3608

refinement_list  []
max_refinement  1

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 2.908767e+00
epoch 3 loss = 1.453367e+00
epoch 4 loss = 1.139946e+00
epoch 5 loss = 9.520893e-01
epoch 6 loss = 8.42923e-01
epoch 7 loss = 8.349644e-01
epoch 8 loss = 8.336324e-01
epoch 9 loss = 8.329502e-01
epoch 10 loss = 8.326225e-01
epoch 11 loss = 8.326087e-01
epoch 12 loss = 8.326081e-01
epoch 13 loss = 8.326081e-01
*************** END FIRST PHASE ***************

* Training time: 0.8091378211975098s
* Average epoch time: 0.06224137086134691s
***************** END TRAINING ****************

* Training time: 0.8091378211975098s

min =  tensor(0, dtype=torch.int32)
max =  tensor(3383, dtype=torch.int32)

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           14176

refinement_list  []
max_refinement  1

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 6.797639e+00
epoch 3 loss = 3.100803e+00
epoch 4 loss = 1.788569e+00
epoch 5 loss = 1.473603e+00
epoch 6 loss = 1.299481e+00
epoch 7 loss = 1.1571e+00
epoch 8 loss = 1.054317e+00
epoch 9 loss = 9.723010e-01
epoch 10 loss = 8.678693e-01
epoch 11 loss = 8.407700e-01
epoch 12 loss = 8.344731e-01
epoch 13 loss = 8.325494e-01
epoch 14 loss = 8.317536e-01
epoch 15 loss = 8.311376e-01
epoch 16 loss = 8.307065e-01
epoch 17 loss = 8.304165e-01
epoch 18 loss = 8.301185e-01
epoch 19 loss = 8.300159e-01
epoch 20 loss = 8.300010e-01
epoch 21 loss = 8.299968e-01
epoch 22 loss = 8.29996e-01
epoch 23 loss = 8.299959e-01
epoch 24 loss = 8.299959e-01
*************** END FIRST PHASE ***************

* Training time: 3.24131178855896s
* Average epoch time: 0.13505465785662332s
***************** END TRAINING ****************

* Training time: 3.24131178855896s

min =  tensor(0, dtype=torch.int32)
max =  tensor(13727, dtype=torch.int32)

1.25 1.0
1.25 1.0
print("LBFGS")
print("u = ", error_u)
print("v = ", error_v)
print("s = ", error_stress)
print("s max = ", error_stress_max)
LBFGS
u =  [[0.18588991]
 [0.10080447]
 [0.03665099]
 [0.00976878]
 [0.00170569]]
v =  [[0.02586959]
 [0.01065384]
 [0.00328927]
 [0.00084035]
 [0.00015746]]
s =  [[0.22989806]
 [0.14733525]
 [0.08272104]
 [0.04314683]
 [0.02197674]]
s max =  [[0.65594826]
 [0.77632042]
 [0.93821257]
 [0.95494388]
 [0.99343906]]

Training on r-adaptive mesh#

# Prerequisites
mesh_resolution = [44, 144, 484, 1804, 7088 ]

# eval_coord_file = "../2D_example/eval_coordinates.npy"
# num_displ_file = "../2D_example/num_solution/num_displacement.npy"
# num_VM_stress_file = "../2D_example/num_solution/num_VM_stress.npy"
eval_coord_file = "GroundTruth/eval_coordinates.npy"
num_displ_file = "GroundTruth/num_displacement.npy"
num_VM_stress_file = "GroundTruth/num_VM_stress.npy"

eval_coord =  torch.tensor(numpy.load(eval_coord_file), dtype=torch.float64, requires_grad=True)
num_displ = torch.tensor(numpy.load(num_displ_file))
num_VM_stress = torch.tensor(numpy.load(num_VM_stress_file))

# Experiment
element_size = 2.0
config["solver"]["FrozenMesh"] = False
optimizers = ["lbfgs"]
refinment = [1,2,3,4,5]

config["interpolation"]["MaxElemSize2D"] = element_size

r_adapt_error_u = numpy.zeros((len(refinment),len(optimizers)))
r_adapt_error_v = numpy.zeros((len(refinment),len(optimizers)))
r_adapt_error_stress = numpy.zeros((len(refinment),len(optimizers)))
r_adapt_error_stress_max = numpy.zeros((len(refinment),len(optimizers)))

for e in range(len(refinment)):
    config["training"]["multiscl_max_refinment"] = refinment[e]
    for op in range(len(optimizers)):
        config["training"]["optimizer"] = optimizers[op]

        Mat = pre.Material(             flag_lame = True,                          # If True should input lmbda and mu instead of E and nu
                                        coef1     = config["material"]["lmbda"],        # Young Modulus
                                        coef2     = config["material"]["mu"]        # Poisson's ratio
                            )

        MaxElemSize = pre.ElementSize(
                                        dimension     = config["interpolation"]["dimension"],
                                        L             = config["geometry"]["L"],
                                        order         = config["interpolation"]["order"],
                                        np            = config["interpolation"]["np"],
                                        MaxElemSize2D = config["interpolation"]["MaxElemSize2D"]
                                    )
        Excluded = []
        Mesh_object = pre.Mesh( 
                                        config["geometry"]["Name"],                 # Create the mesh object
                                        MaxElemSize, 
                                        config["interpolation"]["order"], 
                                        config["interpolation"]["dimension"]
                                )

        Mesh_object.AddBorders(config["Borders"]["Borders"])
        Mesh_object.AddBCs(                                                         # Include Boundary physical domains infos (BCs+volume)
                                        config["geometry"]["Volume_element"],
                                        Excluded,
                                        config["DirichletDictionryList"]
                            )                   

        Mesh_object.MeshGeo()                                                       # Mesh the .geo file if .msh does not exist
        Mesh_object.ReadMesh()                                                      # Parse the .msh file
        Mesh_object.ExportMeshVtk()

        if int(Mesh_object.dim) != int(Mesh_object.dimension):
            raise ValueError("The dimension of the provided geometry does not match the job dimension")

        Model_FEM = MeshNN_2D(Mesh_object, n_components = 2)

        Model_FEM.Freeze_Mesh()
        Model_FEM.UnFreeze_FEM()

        if not config["solver"]["FrozenMesh"]:
            Model_FEM.UnFreeze_Mesh() 

        Model_FEM.RefinementParameters( MaxGeneration = config["training"]["h_adapt_MaxGeneration"], 
                                    Jacobian_threshold = config["training"]["h_adapt_J_thrshld"])

        Model_FEM.TrainingParameters(   loss_decrease_c = config["training"]["loss_decrease_c"], 
                                        Max_epochs = config["training"]["n_epochs"], 
                                        learning_rate = config["training"]["learning_rate"])
        Model_FEM = Training_2D_FEM(Model_FEM, config, Mat)
        
        # evaluation 
        Model_FEM.eval()

        # Model_FEM.mesh.Nodes = [[i+1,Model_FEM.coordinates[i][0][0].item(),Model_FEM.coordinates[i][0][1].item(),0] for i in range(len(Model_FEM.coordinates))]
        coordinates_all = torch.ones_like(Model_FEM.coordinates_all)
        coordinates_all[Model_FEM.coord_free] = Model_FEM.coordinates['free']
        coordinates_all[~Model_FEM.coord_free] = Model_FEM.coordinates['imposed']
        Nodes = torch.hstack([torch.linspace(1,coordinates_all.shape[0],coordinates_all.shape[0], dtype = coordinates_all.dtype, device = coordinates_all.device)[:,None],
                                coordinates_all])
        Nodes = torch.hstack([Nodes,torch.zeros(Nodes.shape[0],1, dtype = Nodes.dtype, device = Nodes.device)])
        Model_FEM.mesh.Nodes = Nodes.detach().cpu().numpy()
        Model_FEM.mesh.Connectivity = Model_FEM.connectivity
        Model_FEM.mesh.ExportMeshVtk(flag_update = True)

        elem_IDs = torch.tensor(Model_FEM.mesh.GetCellIds(eval_coord),dtype=torch.int)
        u = Model_FEM(eval_coord, elem_IDs)
        eps =  Strain(u,eval_coord)
        sigma =  torch.stack(Stress(eps, Mat.lmbda, Mat.mu),dim=1)
        sigma_VM = VonMises_plain_strain(sigma, Mat.lmbda, Mat.mu)

        r_adapt_error_u[e,op] = (torch.linalg.vector_norm(num_displ[:,0] - u[0,:])/torch.linalg.vector_norm(num_displ[:,0])).item()
        r_adapt_error_v[e,op] = (torch.linalg.vector_norm(num_displ[:,1] - u[1,:])/torch.linalg.vector_norm(num_displ[:,1])).item()
        r_adapt_error_stress[e,op] = (torch.linalg.vector_norm(num_VM_stress - sigma_VM)/torch.linalg.vector_norm(num_VM_stress)).item()
        r_adapt_error_stress_max[e,op] = (max(sigma_VM)/max(num_VM_stress)).item()

        elem_size = element_size/numpy.pow(config["training"]["multiscl_refinment_cf"],refinment[e]-1)
        Pplot.ExportFinalResult_VTK(Model_FEM,Mat,config["postprocess"]["Name_export"]+"_"+str(elem_size)+"_r_adapt")
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  []
max_refinement  1

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.301233e-01
epoch 7 loss = 9.301228e-01
epoch 8 loss = 9.301228e-01
*************** END FIRST PHASE ***************

* Training time: 0.23752689361572266s
* Average epoch time: 0.029690861701965332s
***************** END TRAINING ****************

* Training time: 0.23752689361572266s

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  [2]
max_refinement  2

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.301233e-01
epoch 7 loss = 9.301228e-01
epoch 8 loss = 9.301228e-01
*************** END FIRST PHASE ***************

* Training time: 0.22825002670288086s
* Average epoch time: 0.028531253337860107s
MaxElemSize  1.0

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288


* Refinement level: 1

**************** START TRAINING ***************

epoch 2 loss = 8.699160e-01
epoch 3 loss = 8.636067e-01
epoch 4 loss = 8.626150e-01
epoch 5 loss = 8.618182e-01
epoch 6 loss = 8.608010e-01
epoch 7 loss = 8.601903e-01
epoch 8 loss = 8.599226e-01
epoch 9 loss = 8.595902e-01
epoch 10 loss = 8.593425e-01
epoch 11 loss = 8.592489e-01
epoch 12 loss = 8.591277e-01
epoch 13 loss = 8.590646e-01
epoch 14 loss = 8.590193e-01
epoch 15 loss = 8.589888e-01
epoch 16 loss = 8.589532e-01
epoch 17 loss = 8.589377e-01
epoch 18 loss = 8.588965e-01
epoch 19 loss = 8.588853e-01
epoch 20 loss = 8.588667e-01
epoch 21 loss = 8.588487e-01
epoch 22 loss = 8.588318e-01
epoch 23 loss = 8.588122e-01
epoch 24 loss = 8.587936e-01
epoch 25 loss = 8.587829e-01
epoch 26 loss = 8.587711e-01
epoch 27 loss = 8.587416e-01
epoch 28 loss = 8.587264e-01
epoch 29 loss = 8.587098e-01
epoch 30 loss = 8.586902e-01
epoch 31 loss = 8.586675e-01
epoch 32 loss = 8.586504e-01
epoch 33 loss = 8.586387e-01
epoch 34 loss = 8.586292e-01
epoch 35 loss = 8.586238e-01
epoch 36 loss = 8.586179e-01
epoch 37 loss = 8.586141e-01
epoch 38 loss = 8.586118e-01
epoch 39 loss = 8.586094e-01
epoch 40 loss = 8.586079e-01
epoch 41 loss = 8.586066e-01
epoch 42 loss = 8.586055e-01
epoch 43 loss = 8.586049e-01
epoch 44 loss = 8.586042e-01
epoch 45 loss = 8.586036e-01
epoch 46 loss = 8.58603e-01
epoch 47 loss = 8.586025e-01
epoch 48 loss = 8.586021e-01
epoch 49 loss = 8.586016e-01
epoch 50 loss = 8.586012e-01
epoch 51 loss = 8.586008e-01
epoch 52 loss = 8.586004e-01
epoch 53 loss = 8.586001e-01
epoch 54 loss = 8.585999e-01
epoch 55 loss = 8.585997e-01
epoch 56 loss = 8.585994e-01
epoch 57 loss = 8.585991e-01
epoch 58 loss = 8.585989e-01
epoch 59 loss = 8.585987e-01
epoch 60 loss = 8.585985e-01
epoch 61 loss = 8.585981e-01
epoch 62 loss = 8.585978e-01
epoch 63 loss = 8.585976e-01
epoch 64 loss = 8.585974e-01
epoch 65 loss = 8.585971e-01
epoch 66 loss = 8.585968e-01
epoch 67 loss = 8.585965e-01
epoch 68 loss = 8.585960e-01
epoch 69 loss = 8.585957e-01
epoch 70 loss = 8.585954e-01
epoch 71 loss = 8.585949e-01
epoch 72 loss = 8.585945e-01
epoch 73 loss = 8.58594e-01
epoch 74 loss = 8.585934e-01
epoch 75 loss = 8.585928e-01
epoch 76 loss = 8.585923e-01
epoch 77 loss = 8.585913e-01
epoch 78 loss = 8.585890e-01
epoch 79 loss = 8.585875e-01
epoch 80 loss = 8.585844e-01
epoch 81 loss = 8.585835e-01
epoch 82 loss = 8.585826e-01
epoch 83 loss = 8.585817e-01
epoch 84 loss = 8.585809e-01
epoch 85 loss = 8.585802e-01
epoch 86 loss = 8.585797e-01
epoch 87 loss = 8.585793e-01
epoch 88 loss = 8.585790e-01
epoch 89 loss = 8.585785e-01
epoch 90 loss = 8.585783e-01
epoch 91 loss = 8.585781e-01
epoch 92 loss = 8.585778e-01
epoch 93 loss = 8.585777e-01
epoch 94 loss = 8.585776e-01
epoch 95 loss = 8.585775e-01
epoch 96 loss = 8.585774e-01
epoch 97 loss = 8.585773e-01
*************** END FIRST PHASE ***************

* Training time: 4.352017879486084s
* Average epoch time: 0.0448661637060421s
***************** END TRAINING ****************

* Training time: 4.580267906188965s

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  [2, 2]
max_refinement  3

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.301233e-01
epoch 7 loss = 9.301228e-01
epoch 8 loss = 9.301228e-01
*************** END FIRST PHASE ***************

* Training time: 0.22433185577392578s
* Average epoch time: 0.028041481971740723s
MaxElemSize  1.0

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288


* Refinement level: 1

**************** START TRAINING ***************

epoch 2 loss = 8.699160e-01
epoch 3 loss = 8.636067e-01
epoch 4 loss = 8.626150e-01
epoch 5 loss = 8.618182e-01
epoch 6 loss = 8.608010e-01
epoch 7 loss = 8.601903e-01
epoch 8 loss = 8.599226e-01
epoch 9 loss = 8.595902e-01
epoch 10 loss = 8.593425e-01
epoch 11 loss = 8.592489e-01
epoch 12 loss = 8.591277e-01
epoch 13 loss = 8.590646e-01
epoch 14 loss = 8.590193e-01
epoch 15 loss = 8.589888e-01
epoch 16 loss = 8.589532e-01
epoch 17 loss = 8.589377e-01
epoch 18 loss = 8.588965e-01
epoch 19 loss = 8.588853e-01
epoch 20 loss = 8.588667e-01
epoch 21 loss = 8.588487e-01
epoch 22 loss = 8.588318e-01
epoch 23 loss = 8.588122e-01
epoch 24 loss = 8.587936e-01
epoch 25 loss = 8.587829e-01
epoch 26 loss = 8.587711e-01
epoch 27 loss = 8.587416e-01
epoch 28 loss = 8.587264e-01
epoch 29 loss = 8.587098e-01
epoch 30 loss = 8.586902e-01
epoch 31 loss = 8.586675e-01
epoch 32 loss = 8.586504e-01
epoch 33 loss = 8.586387e-01
epoch 34 loss = 8.586292e-01
epoch 35 loss = 8.586238e-01
epoch 36 loss = 8.586179e-01
epoch 37 loss = 8.586141e-01
epoch 38 loss = 8.586118e-01
epoch 39 loss = 8.586094e-01
epoch 40 loss = 8.586079e-01
epoch 41 loss = 8.586066e-01
epoch 42 loss = 8.586055e-01
epoch 43 loss = 8.586049e-01
epoch 44 loss = 8.586042e-01
epoch 45 loss = 8.586036e-01
epoch 46 loss = 8.58603e-01
epoch 47 loss = 8.586025e-01
epoch 48 loss = 8.586021e-01
epoch 49 loss = 8.586016e-01
epoch 50 loss = 8.586012e-01
epoch 51 loss = 8.586008e-01
epoch 52 loss = 8.586004e-01
epoch 53 loss = 8.586001e-01
epoch 54 loss = 8.585999e-01
epoch 55 loss = 8.585997e-01
epoch 56 loss = 8.585994e-01
epoch 57 loss = 8.585991e-01
epoch 58 loss = 8.585989e-01
epoch 59 loss = 8.585987e-01
epoch 60 loss = 8.585985e-01
epoch 61 loss = 8.585981e-01
epoch 62 loss = 8.585978e-01
epoch 63 loss = 8.585976e-01
epoch 64 loss = 8.585974e-01
epoch 65 loss = 8.585971e-01
epoch 66 loss = 8.585968e-01
epoch 67 loss = 8.585965e-01
epoch 68 loss = 8.585960e-01
epoch 69 loss = 8.585957e-01
epoch 70 loss = 8.585954e-01
epoch 71 loss = 8.585949e-01
epoch 72 loss = 8.585945e-01
epoch 73 loss = 8.58594e-01
epoch 74 loss = 8.585934e-01
epoch 75 loss = 8.585928e-01
epoch 76 loss = 8.585923e-01
epoch 77 loss = 8.585913e-01
epoch 78 loss = 8.585890e-01
epoch 79 loss = 8.585875e-01
epoch 80 loss = 8.585844e-01
epoch 81 loss = 8.585835e-01
epoch 82 loss = 8.585826e-01
epoch 83 loss = 8.585817e-01
epoch 84 loss = 8.585809e-01
epoch 85 loss = 8.585802e-01
epoch 86 loss = 8.585797e-01
epoch 87 loss = 8.585793e-01
epoch 88 loss = 8.585790e-01
epoch 89 loss = 8.585785e-01
epoch 90 loss = 8.585783e-01
epoch 91 loss = 8.585781e-01
epoch 92 loss = 8.585778e-01
epoch 93 loss = 8.585777e-01
epoch 94 loss = 8.585776e-01
epoch 95 loss = 8.585775e-01
epoch 96 loss = 8.585774e-01
epoch 97 loss = 8.585773e-01
*************** END FIRST PHASE ***************

* Training time: 4.304911136627197s
* Average epoch time: 0.04438052718172368s
MaxElemSize  0.5

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           968


* Refinement level: 2

**************** START TRAINING ***************

epoch 2 loss = 8.417503e-01
epoch 3 loss = 8.408273e-01
epoch 4 loss = 8.402711e-01
epoch 5 loss = 8.399575e-01
epoch 6 loss = 8.396865e-01
epoch 7 loss = 8.394993e-01
epoch 8 loss = 8.393025e-01
epoch 9 loss = 8.391296e-01
epoch 10 loss = 8.389325e-01
epoch 11 loss = 8.387543e-01
epoch 12 loss = 8.386575e-01
epoch 13 loss = 8.385585e-01
epoch 14 loss = 8.384762e-01
epoch 15 loss = 8.383934e-01
epoch 16 loss = 8.383483e-01
epoch 17 loss = 8.382714e-01
epoch 18 loss = 8.382413e-01
epoch 19 loss = 8.381978e-01
epoch 20 loss = 8.381599e-01
epoch 21 loss = 8.381275e-01
epoch 22 loss = 8.381024e-01
epoch 23 loss = 8.380674e-01
epoch 24 loss = 8.380403e-01
epoch 25 loss = 8.38022e-01
epoch 26 loss = 8.379965e-01
epoch 27 loss = 8.379701e-01
epoch 28 loss = 8.379529e-01
epoch 29 loss = 8.379313e-01
epoch 30 loss = 8.379177e-01
epoch 31 loss = 8.379032e-01
epoch 32 loss = 8.378894e-01
epoch 33 loss = 8.378761e-01
epoch 34 loss = 8.378486e-01
epoch 35 loss = 8.378362e-01
epoch 36 loss = 8.378207e-01
epoch 37 loss = 8.378076e-01
epoch 38 loss = 8.377857e-01
epoch 39 loss = 8.377756e-01
epoch 40 loss = 8.377617e-01
epoch 41 loss = 8.377477e-01
epoch 42 loss = 8.377392e-01
epoch 43 loss = 8.377266e-01
epoch 44 loss = 8.377176e-01
epoch 45 loss = 8.377081e-01
epoch 46 loss = 8.377001e-01
epoch 47 loss = 8.376931e-01
epoch 48 loss = 8.376854e-01
epoch 49 loss = 8.376740e-01
epoch 50 loss = 8.376658e-01
epoch 51 loss = 8.376597e-01
epoch 52 loss = 8.376537e-01
epoch 53 loss = 8.376451e-01
epoch 54 loss = 8.376393e-01
epoch 55 loss = 8.376338e-01
epoch 56 loss = 8.376255e-01
epoch 57 loss = 8.376226e-01
epoch 58 loss = 8.376153e-01
epoch 59 loss = 8.37609e-01
epoch 60 loss = 8.376023e-01
epoch 61 loss = 8.375987e-01
epoch 62 loss = 8.375939e-01
epoch 63 loss = 8.375884e-01
epoch 64 loss = 8.375852e-01
epoch 65 loss = 8.37579e-01
epoch 66 loss = 8.375754e-01
epoch 67 loss = 8.375715e-01
epoch 68 loss = 8.375671e-01
epoch 69 loss = 8.375627e-01
epoch 70 loss = 8.375566e-01
epoch 71 loss = 8.375527e-01
epoch 72 loss = 8.375478e-01
epoch 73 loss = 8.375422e-01
epoch 74 loss = 8.375386e-01
epoch 75 loss = 8.375331e-01
epoch 76 loss = 8.375295e-01
epoch 77 loss = 8.375265e-01
epoch 78 loss = 8.375234e-01
epoch 79 loss = 8.375191e-01
epoch 80 loss = 8.375159e-01
epoch 81 loss = 8.375124e-01
epoch 82 loss = 8.375104e-01
epoch 83 loss = 8.37509e-01
epoch 84 loss = 8.375087e-01
epoch 85 loss = 8.375086e-01
*************** END FIRST PHASE ***************

* Training time: 4.592362880706787s
* Average epoch time: 0.054027798596550436s
***************** END TRAINING ****************

* Training time: 9.12160587310791s

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  [2, 2, 2]
max_refinement  4

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.301233e-01
epoch 7 loss = 9.301228e-01
epoch 8 loss = 9.301228e-01
*************** END FIRST PHASE ***************

* Training time: 0.22732281684875488s
* Average epoch time: 0.02841535210609436s
MaxElemSize  1.0

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288


* Refinement level: 1

**************** START TRAINING ***************

epoch 2 loss = 8.699160e-01
epoch 3 loss = 8.636067e-01
epoch 4 loss = 8.626150e-01
epoch 5 loss = 8.618182e-01
epoch 6 loss = 8.608010e-01
epoch 7 loss = 8.601903e-01
epoch 8 loss = 8.599226e-01
epoch 9 loss = 8.595902e-01
epoch 10 loss = 8.593425e-01
epoch 11 loss = 8.592489e-01
epoch 12 loss = 8.591277e-01
epoch 13 loss = 8.590646e-01
epoch 14 loss = 8.590193e-01
epoch 15 loss = 8.589888e-01
epoch 16 loss = 8.589532e-01
epoch 17 loss = 8.589377e-01
epoch 18 loss = 8.588965e-01
epoch 19 loss = 8.588853e-01
epoch 20 loss = 8.588667e-01
epoch 21 loss = 8.588487e-01
epoch 22 loss = 8.588318e-01
epoch 23 loss = 8.588122e-01
epoch 24 loss = 8.587936e-01
epoch 25 loss = 8.587829e-01
epoch 26 loss = 8.587711e-01
epoch 27 loss = 8.587416e-01
epoch 28 loss = 8.587264e-01
epoch 29 loss = 8.587098e-01
epoch 30 loss = 8.586902e-01
epoch 31 loss = 8.586675e-01
epoch 32 loss = 8.586504e-01
epoch 33 loss = 8.586387e-01
epoch 34 loss = 8.586292e-01
epoch 35 loss = 8.586238e-01
epoch 36 loss = 8.586179e-01
epoch 37 loss = 8.586141e-01
epoch 38 loss = 8.586118e-01
epoch 39 loss = 8.586094e-01
epoch 40 loss = 8.586079e-01
epoch 41 loss = 8.586066e-01
epoch 42 loss = 8.586055e-01
epoch 43 loss = 8.586049e-01
epoch 44 loss = 8.586042e-01
epoch 45 loss = 8.586036e-01
epoch 46 loss = 8.58603e-01
epoch 47 loss = 8.586025e-01
epoch 48 loss = 8.586021e-01
epoch 49 loss = 8.586016e-01
epoch 50 loss = 8.586012e-01
epoch 51 loss = 8.586008e-01
epoch 52 loss = 8.586004e-01
epoch 53 loss = 8.586001e-01
epoch 54 loss = 8.585999e-01
epoch 55 loss = 8.585997e-01
epoch 56 loss = 8.585994e-01
epoch 57 loss = 8.585991e-01
epoch 58 loss = 8.585989e-01
epoch 59 loss = 8.585987e-01
epoch 60 loss = 8.585985e-01
epoch 61 loss = 8.585981e-01
epoch 62 loss = 8.585978e-01
epoch 63 loss = 8.585976e-01
epoch 64 loss = 8.585974e-01
epoch 65 loss = 8.585971e-01
epoch 66 loss = 8.585968e-01
epoch 67 loss = 8.585965e-01
epoch 68 loss = 8.585960e-01
epoch 69 loss = 8.585957e-01
epoch 70 loss = 8.585954e-01
epoch 71 loss = 8.585949e-01
epoch 72 loss = 8.585945e-01
epoch 73 loss = 8.58594e-01
epoch 74 loss = 8.585934e-01
epoch 75 loss = 8.585928e-01
epoch 76 loss = 8.585923e-01
epoch 77 loss = 8.585913e-01
epoch 78 loss = 8.585890e-01
epoch 79 loss = 8.585875e-01
epoch 80 loss = 8.585844e-01
epoch 81 loss = 8.585835e-01
epoch 82 loss = 8.585826e-01
epoch 83 loss = 8.585817e-01
epoch 84 loss = 8.585809e-01
epoch 85 loss = 8.585802e-01
epoch 86 loss = 8.585797e-01
epoch 87 loss = 8.585793e-01
epoch 88 loss = 8.585790e-01
epoch 89 loss = 8.585785e-01
epoch 90 loss = 8.585783e-01
epoch 91 loss = 8.585781e-01
epoch 92 loss = 8.585778e-01
epoch 93 loss = 8.585777e-01
epoch 94 loss = 8.585776e-01
epoch 95 loss = 8.585775e-01
epoch 96 loss = 8.585774e-01
epoch 97 loss = 8.585773e-01
*************** END FIRST PHASE ***************

* Training time: 4.472097158432007s
* Average epoch time: 0.046104094416824816s
MaxElemSize  0.5

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           968


* Refinement level: 2

**************** START TRAINING ***************

epoch 2 loss = 8.417503e-01
epoch 3 loss = 8.408273e-01
epoch 4 loss = 8.402711e-01
epoch 5 loss = 8.399575e-01
epoch 6 loss = 8.396865e-01
epoch 7 loss = 8.394993e-01
epoch 8 loss = 8.393025e-01
epoch 9 loss = 8.391296e-01
epoch 10 loss = 8.389325e-01
epoch 11 loss = 8.387543e-01
epoch 12 loss = 8.386575e-01
epoch 13 loss = 8.385585e-01
epoch 14 loss = 8.384762e-01
epoch 15 loss = 8.383934e-01
epoch 16 loss = 8.383483e-01
epoch 17 loss = 8.382714e-01
epoch 18 loss = 8.382413e-01
epoch 19 loss = 8.381978e-01
epoch 20 loss = 8.381599e-01
epoch 21 loss = 8.381275e-01
epoch 22 loss = 8.381024e-01
epoch 23 loss = 8.380674e-01
epoch 24 loss = 8.380403e-01
epoch 25 loss = 8.38022e-01
epoch 26 loss = 8.379965e-01
epoch 27 loss = 8.379701e-01
epoch 28 loss = 8.379529e-01
epoch 29 loss = 8.379313e-01
epoch 30 loss = 8.379177e-01
epoch 31 loss = 8.379032e-01
epoch 32 loss = 8.378894e-01
epoch 33 loss = 8.378761e-01
epoch 34 loss = 8.378486e-01
epoch 35 loss = 8.378362e-01
epoch 36 loss = 8.378207e-01
epoch 37 loss = 8.378076e-01
epoch 38 loss = 8.377857e-01
epoch 39 loss = 8.377756e-01
epoch 40 loss = 8.377617e-01
epoch 41 loss = 8.377477e-01
epoch 42 loss = 8.377392e-01
epoch 43 loss = 8.377266e-01
epoch 44 loss = 8.377176e-01
epoch 45 loss = 8.377081e-01
epoch 46 loss = 8.377001e-01
epoch 47 loss = 8.376931e-01
epoch 48 loss = 8.376854e-01
epoch 49 loss = 8.376740e-01
epoch 50 loss = 8.376658e-01
epoch 51 loss = 8.376597e-01
epoch 52 loss = 8.376537e-01
epoch 53 loss = 8.376451e-01
epoch 54 loss = 8.376393e-01
epoch 55 loss = 8.376338e-01
epoch 56 loss = 8.376255e-01
epoch 57 loss = 8.376226e-01
epoch 58 loss = 8.376153e-01
epoch 59 loss = 8.37609e-01
epoch 60 loss = 8.376023e-01
epoch 61 loss = 8.375987e-01
epoch 62 loss = 8.375939e-01
epoch 63 loss = 8.375884e-01
epoch 64 loss = 8.375852e-01
epoch 65 loss = 8.37579e-01
epoch 66 loss = 8.375754e-01
epoch 67 loss = 8.375715e-01
epoch 68 loss = 8.375671e-01
epoch 69 loss = 8.375627e-01
epoch 70 loss = 8.375566e-01
epoch 71 loss = 8.375527e-01
epoch 72 loss = 8.375478e-01
epoch 73 loss = 8.375422e-01
epoch 74 loss = 8.375386e-01
epoch 75 loss = 8.375331e-01
epoch 76 loss = 8.375295e-01
epoch 77 loss = 8.375265e-01
epoch 78 loss = 8.375234e-01
epoch 79 loss = 8.375191e-01
epoch 80 loss = 8.375159e-01
epoch 81 loss = 8.375124e-01
epoch 82 loss = 8.375104e-01
epoch 83 loss = 8.37509e-01
epoch 84 loss = 8.375087e-01
epoch 85 loss = 8.375086e-01
*************** END FIRST PHASE ***************

* Training time: 4.562218904495239s
* Average epoch time: 0.053673163582296936s
MaxElemSize  0.25

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           3608


* Refinement level: 3

**************** START TRAINING ***************

epoch 2 loss = 8.326095e-01
epoch 3 loss = 8.324578e-01
epoch 4 loss = 8.323358e-01
epoch 5 loss = 8.322699e-01
epoch 6 loss = 8.322001e-01
epoch 7 loss = 8.321327e-01
epoch 8 loss = 8.320827e-01
epoch 9 loss = 8.320359e-01
epoch 10 loss = 8.320102e-01
epoch 11 loss = 8.319577e-01
epoch 12 loss = 8.319378e-01
epoch 13 loss = 8.31909e-01
epoch 14 loss = 8.318919e-01
epoch 15 loss = 8.318703e-01
epoch 16 loss = 8.318497e-01
epoch 17 loss = 8.318319e-01
epoch 18 loss = 8.318175e-01
epoch 19 loss = 8.318041e-01
epoch 20 loss = 8.317913e-01
epoch 21 loss = 8.317783e-01
epoch 22 loss = 8.317637e-01
epoch 23 loss = 8.317556e-01
epoch 24 loss = 8.317431e-01
epoch 25 loss = 8.317353e-01
epoch 26 loss = 8.317224e-01
epoch 27 loss = 8.317121e-01
epoch 28 loss = 8.317033e-01
epoch 29 loss = 8.316955e-01
epoch 30 loss = 8.316864e-01
epoch 31 loss = 8.316799e-01
epoch 32 loss = 8.316737e-01
epoch 33 loss = 8.316676e-01
epoch 34 loss = 8.316624e-01
epoch 35 loss = 8.316549e-01
epoch 36 loss = 8.31651e-01
epoch 37 loss = 8.316422e-01
epoch 38 loss = 8.31638e-01
epoch 39 loss = 8.316337e-01
epoch 40 loss = 8.316257e-01
epoch 41 loss = 8.316214e-01
epoch 42 loss = 8.316163e-01
epoch 43 loss = 8.316119e-01
epoch 44 loss = 8.316056e-01
epoch 45 loss = 8.316013e-01
epoch 46 loss = 8.315969e-01
epoch 47 loss = 8.315924e-01
epoch 48 loss = 8.315886e-01
epoch 49 loss = 8.31582e-01
epoch 50 loss = 8.315778e-01
epoch 51 loss = 8.315744e-01
epoch 52 loss = 8.315715e-01
epoch 53 loss = 8.315684e-01
epoch 54 loss = 8.315644e-01
epoch 55 loss = 8.315609e-01
epoch 56 loss = 8.315574e-01
epoch 57 loss = 8.315553e-01
epoch 58 loss = 8.315514e-01
epoch 59 loss = 8.315487e-01
epoch 60 loss = 8.315459e-01
epoch 61 loss = 8.31542e-01
epoch 62 loss = 8.315403e-01
epoch 63 loss = 8.315365e-01
epoch 64 loss = 8.315334e-01
epoch 65 loss = 8.315306e-01
epoch 66 loss = 8.315280e-01
epoch 67 loss = 8.315258e-01
epoch 68 loss = 8.315227e-01
epoch 69 loss = 8.315204e-01
epoch 70 loss = 8.315182e-01
epoch 71 loss = 8.315153e-01
epoch 72 loss = 8.315133e-01
epoch 73 loss = 8.315104e-01
epoch 74 loss = 8.315087e-01
epoch 75 loss = 8.315054e-01
epoch 76 loss = 8.315027e-01
epoch 77 loss = 8.315010e-01
epoch 78 loss = 8.314982e-01
epoch 79 loss = 8.314962e-01
epoch 80 loss = 8.314942e-01
epoch 81 loss = 8.314923e-01
epoch 82 loss = 8.314898e-01
epoch 83 loss = 8.314881e-01
epoch 84 loss = 8.314863e-01
epoch 85 loss = 8.314827e-01
epoch 86 loss = 8.314805e-01
epoch 87 loss = 8.314790e-01
epoch 88 loss = 8.314761e-01
epoch 89 loss = 8.314742e-01
epoch 90 loss = 8.314725e-01
epoch 91 loss = 8.314707e-01
epoch 92 loss = 8.314694e-01
epoch 93 loss = 8.314667e-01
epoch 94 loss = 8.314649e-01
epoch 95 loss = 8.314631e-01
epoch 96 loss = 8.314611e-01
epoch 97 loss = 8.314594e-01
epoch 98 loss = 8.314575e-01
epoch 99 loss = 8.314561e-01
epoch 100 loss = 8.314546e-01
epoch 101 loss = 8.31453e-01
epoch 102 loss = 8.314515e-01
epoch 103 loss = 8.314498e-01
epoch 104 loss = 8.314487e-01
epoch 105 loss = 8.314472e-01
epoch 106 loss = 8.314458e-01
epoch 107 loss = 8.314441e-01
epoch 108 loss = 8.314426e-01
epoch 109 loss = 8.314415e-01
epoch 110 loss = 8.3144e-01
epoch 111 loss = 8.314385e-01
epoch 112 loss = 8.314364e-01
epoch 113 loss = 8.314345e-01
epoch 114 loss = 8.314337e-01
epoch 115 loss = 8.314320e-01
epoch 116 loss = 8.314308e-01
epoch 117 loss = 8.314300e-01
epoch 118 loss = 8.314285e-01
epoch 119 loss = 8.31427e-01
epoch 120 loss = 8.314261e-01
epoch 121 loss = 8.314246e-01
epoch 122 loss = 8.314235e-01
epoch 123 loss = 8.314220e-01
epoch 124 loss = 8.31421e-01
epoch 125 loss = 8.314198e-01
epoch 126 loss = 8.314182e-01
epoch 127 loss = 8.314173e-01
epoch 128 loss = 8.314163e-01
epoch 129 loss = 8.31415e-01
epoch 130 loss = 8.314139e-01
epoch 131 loss = 8.314126e-01
epoch 132 loss = 8.314116e-01
epoch 133 loss = 8.314108e-01
epoch 134 loss = 8.314096e-01
epoch 135 loss = 8.314086e-01
epoch 136 loss = 8.314075e-01
epoch 137 loss = 8.314066e-01
epoch 138 loss = 8.314051e-01
epoch 139 loss = 8.314038e-01
epoch 140 loss = 8.314030e-01
epoch 141 loss = 8.31402e-01
epoch 142 loss = 8.314014e-01
epoch 143 loss = 8.314007e-01
epoch 144 loss = 8.313993e-01
epoch 145 loss = 8.313985e-01
epoch 146 loss = 8.313979e-01
epoch 147 loss = 8.313971e-01
epoch 148 loss = 8.313966e-01
epoch 149 loss = 8.313956e-01
epoch 150 loss = 8.313945e-01
epoch 151 loss = 8.31394e-01
epoch 152 loss = 8.313933e-01
epoch 153 loss = 8.313921e-01
epoch 154 loss = 8.313915e-01
epoch 155 loss = 8.313906e-01
epoch 156 loss = 8.313901e-01
epoch 157 loss = 8.313893e-01
epoch 158 loss = 8.313885e-01
epoch 159 loss = 8.313879e-01
epoch 160 loss = 8.313871e-01
epoch 161 loss = 8.313863e-01
epoch 162 loss = 8.313857e-01
epoch 163 loss = 8.31385e-01
epoch 164 loss = 8.313842e-01
epoch 165 loss = 8.313835e-01
epoch 166 loss = 8.313828e-01
epoch 167 loss = 8.313823e-01
epoch 168 loss = 8.313814e-01
epoch 169 loss = 8.313806e-01
epoch 170 loss = 8.313802e-01
epoch 171 loss = 8.313796e-01
epoch 172 loss = 8.313784e-01
epoch 173 loss = 8.313778e-01
epoch 174 loss = 8.313773e-01
epoch 175 loss = 8.313764e-01
epoch 176 loss = 8.313758e-01
epoch 177 loss = 8.313752e-01
epoch 178 loss = 8.313743e-01
epoch 179 loss = 8.313737e-01
epoch 180 loss = 8.313732e-01
epoch 181 loss = 8.313725e-01
epoch 182 loss = 8.313720e-01
epoch 183 loss = 8.313715e-01
epoch 184 loss = 8.313708e-01
epoch 185 loss = 8.313704e-01
epoch 186 loss = 8.313699e-01
epoch 187 loss = 8.313692e-01
epoch 188 loss = 8.313684e-01
epoch 189 loss = 8.31368e-01
epoch 190 loss = 8.313674e-01
epoch 191 loss = 8.313667e-01
epoch 192 loss = 8.313662e-01
epoch 193 loss = 8.313656e-01
epoch 194 loss = 8.313651e-01
epoch 195 loss = 8.313645e-01
epoch 196 loss = 8.313639e-01
epoch 197 loss = 8.313634e-01
epoch 198 loss = 8.313629e-01
epoch 199 loss = 8.313623e-01
epoch 200 loss = 8.313618e-01
epoch 201 loss = 8.313614e-01
epoch 202 loss = 8.313611e-01
epoch 203 loss = 8.313606e-01
epoch 204 loss = 8.313603e-01
epoch 205 loss = 8.313602e-01
epoch 206 loss = 8.313601e-01
*************** END FIRST PHASE ***************

* Training time: 19.848695993423462s
* Average epoch time: 0.09635289317195855s
***************** END TRAINING ****************

* Training time: 29.110334873199463s

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  [2, 2, 2, 2]
max_refinement  5

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.301233e-01
epoch 7 loss = 9.301228e-01
epoch 8 loss = 9.301228e-01
*************** END FIRST PHASE ***************

* Training time: 0.24640369415283203s
* Average epoch time: 0.030800461769104004s
MaxElemSize  1.0

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288


* Refinement level: 1

**************** START TRAINING ***************

epoch 2 loss = 8.699160e-01
epoch 3 loss = 8.636067e-01
epoch 4 loss = 8.626150e-01
epoch 5 loss = 8.618182e-01
epoch 6 loss = 8.608010e-01
epoch 7 loss = 8.601903e-01
epoch 8 loss = 8.599226e-01
epoch 9 loss = 8.595902e-01
epoch 10 loss = 8.593425e-01
epoch 11 loss = 8.592489e-01
epoch 12 loss = 8.591277e-01
epoch 13 loss = 8.590646e-01
epoch 14 loss = 8.590193e-01
epoch 15 loss = 8.589888e-01
epoch 16 loss = 8.589532e-01
epoch 17 loss = 8.589377e-01
epoch 18 loss = 8.588965e-01
epoch 19 loss = 8.588853e-01
epoch 20 loss = 8.588667e-01
epoch 21 loss = 8.588487e-01
epoch 22 loss = 8.588318e-01
epoch 23 loss = 8.588122e-01
epoch 24 loss = 8.587936e-01
epoch 25 loss = 8.587829e-01
epoch 26 loss = 8.587711e-01
epoch 27 loss = 8.587416e-01
epoch 28 loss = 8.587264e-01
epoch 29 loss = 8.587098e-01
epoch 30 loss = 8.586902e-01
epoch 31 loss = 8.586675e-01
epoch 32 loss = 8.586504e-01
epoch 33 loss = 8.586387e-01
epoch 34 loss = 8.586292e-01
epoch 35 loss = 8.586238e-01
epoch 36 loss = 8.586179e-01
epoch 37 loss = 8.586141e-01
epoch 38 loss = 8.586118e-01
epoch 39 loss = 8.586094e-01
epoch 40 loss = 8.586079e-01
epoch 41 loss = 8.586066e-01
epoch 42 loss = 8.586055e-01
epoch 43 loss = 8.586049e-01
epoch 44 loss = 8.586042e-01
epoch 45 loss = 8.586036e-01
epoch 46 loss = 8.58603e-01
epoch 47 loss = 8.586025e-01
epoch 48 loss = 8.586021e-01
epoch 49 loss = 8.586016e-01
epoch 50 loss = 8.586012e-01
epoch 51 loss = 8.586008e-01
epoch 52 loss = 8.586004e-01
epoch 53 loss = 8.586001e-01
epoch 54 loss = 8.585999e-01
epoch 55 loss = 8.585997e-01
epoch 56 loss = 8.585994e-01
epoch 57 loss = 8.585991e-01
epoch 58 loss = 8.585989e-01
epoch 59 loss = 8.585987e-01
epoch 60 loss = 8.585985e-01
epoch 61 loss = 8.585981e-01
epoch 62 loss = 8.585978e-01
epoch 63 loss = 8.585976e-01
epoch 64 loss = 8.585974e-01
epoch 65 loss = 8.585971e-01
epoch 66 loss = 8.585968e-01
epoch 67 loss = 8.585965e-01
epoch 68 loss = 8.585960e-01
epoch 69 loss = 8.585957e-01
epoch 70 loss = 8.585954e-01
epoch 71 loss = 8.585949e-01
epoch 72 loss = 8.585945e-01
epoch 73 loss = 8.58594e-01
epoch 74 loss = 8.585934e-01
epoch 75 loss = 8.585928e-01
epoch 76 loss = 8.585923e-01
epoch 77 loss = 8.585913e-01
epoch 78 loss = 8.585890e-01
epoch 79 loss = 8.585875e-01
epoch 80 loss = 8.585844e-01
epoch 81 loss = 8.585835e-01
epoch 82 loss = 8.585826e-01
epoch 83 loss = 8.585817e-01
epoch 84 loss = 8.585809e-01
epoch 85 loss = 8.585802e-01
epoch 86 loss = 8.585797e-01
epoch 87 loss = 8.585793e-01
epoch 88 loss = 8.585790e-01
epoch 89 loss = 8.585785e-01
epoch 90 loss = 8.585783e-01
epoch 91 loss = 8.585781e-01
epoch 92 loss = 8.585778e-01
epoch 93 loss = 8.585777e-01
epoch 94 loss = 8.585776e-01
epoch 95 loss = 8.585775e-01
epoch 96 loss = 8.585774e-01
epoch 97 loss = 8.585773e-01
*************** END FIRST PHASE ***************

* Training time: 4.387638092041016s
* Average epoch time: 0.04523338239217542s
MaxElemSize  0.5

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           968


* Refinement level: 2

**************** START TRAINING ***************

epoch 2 loss = 8.417503e-01
epoch 3 loss = 8.408273e-01
epoch 4 loss = 8.402711e-01
epoch 5 loss = 8.399575e-01
epoch 6 loss = 8.396865e-01
epoch 7 loss = 8.394993e-01
epoch 8 loss = 8.393025e-01
epoch 9 loss = 8.391296e-01
epoch 10 loss = 8.389325e-01
epoch 11 loss = 8.387543e-01
epoch 12 loss = 8.386575e-01
epoch 13 loss = 8.385585e-01
epoch 14 loss = 8.384762e-01
epoch 15 loss = 8.383934e-01
epoch 16 loss = 8.383483e-01
epoch 17 loss = 8.382714e-01
epoch 18 loss = 8.382413e-01
epoch 19 loss = 8.381978e-01
epoch 20 loss = 8.381599e-01
epoch 21 loss = 8.381275e-01
epoch 22 loss = 8.381024e-01
epoch 23 loss = 8.380674e-01
epoch 24 loss = 8.380403e-01
epoch 25 loss = 8.38022e-01
epoch 26 loss = 8.379965e-01
epoch 27 loss = 8.379701e-01
epoch 28 loss = 8.379529e-01
epoch 29 loss = 8.379313e-01
epoch 30 loss = 8.379177e-01
epoch 31 loss = 8.379032e-01
epoch 32 loss = 8.378894e-01
epoch 33 loss = 8.378761e-01
epoch 34 loss = 8.378486e-01
epoch 35 loss = 8.378362e-01
epoch 36 loss = 8.378207e-01
epoch 37 loss = 8.378076e-01
epoch 38 loss = 8.377857e-01
epoch 39 loss = 8.377756e-01
epoch 40 loss = 8.377617e-01
epoch 41 loss = 8.377477e-01
epoch 42 loss = 8.377392e-01
epoch 43 loss = 8.377266e-01
epoch 44 loss = 8.377176e-01
epoch 45 loss = 8.377081e-01
epoch 46 loss = 8.377001e-01
epoch 47 loss = 8.376931e-01
epoch 48 loss = 8.376854e-01
epoch 49 loss = 8.376740e-01
epoch 50 loss = 8.376658e-01
epoch 51 loss = 8.376597e-01
epoch 52 loss = 8.376537e-01
epoch 53 loss = 8.376451e-01
epoch 54 loss = 8.376393e-01
epoch 55 loss = 8.376338e-01
epoch 56 loss = 8.376255e-01
epoch 57 loss = 8.376226e-01
epoch 58 loss = 8.376153e-01
epoch 59 loss = 8.37609e-01
epoch 60 loss = 8.376023e-01
epoch 61 loss = 8.375987e-01
epoch 62 loss = 8.375939e-01
epoch 63 loss = 8.375884e-01
epoch 64 loss = 8.375852e-01
epoch 65 loss = 8.37579e-01
epoch 66 loss = 8.375754e-01
epoch 67 loss = 8.375715e-01
epoch 68 loss = 8.375671e-01
epoch 69 loss = 8.375627e-01
epoch 70 loss = 8.375566e-01
epoch 71 loss = 8.375527e-01
epoch 72 loss = 8.375478e-01
epoch 73 loss = 8.375422e-01
epoch 74 loss = 8.375386e-01
epoch 75 loss = 8.375331e-01
epoch 76 loss = 8.375295e-01
epoch 77 loss = 8.375265e-01
epoch 78 loss = 8.375234e-01
epoch 79 loss = 8.375191e-01
epoch 80 loss = 8.375159e-01
epoch 81 loss = 8.375124e-01
epoch 82 loss = 8.375104e-01
epoch 83 loss = 8.37509e-01
epoch 84 loss = 8.375087e-01
epoch 85 loss = 8.375086e-01
*************** END FIRST PHASE ***************

* Training time: 4.6940038204193115s
* Average epoch time: 0.055223574357874256s
MaxElemSize  0.25

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           3608


* Refinement level: 3

**************** START TRAINING ***************

epoch 2 loss = 8.326095e-01
epoch 3 loss = 8.324578e-01
epoch 4 loss = 8.323358e-01
epoch 5 loss = 8.322699e-01
epoch 6 loss = 8.322001e-01
epoch 7 loss = 8.321327e-01
epoch 8 loss = 8.320827e-01
epoch 9 loss = 8.320359e-01
epoch 10 loss = 8.320102e-01
epoch 11 loss = 8.319577e-01
epoch 12 loss = 8.319378e-01
epoch 13 loss = 8.31909e-01
epoch 14 loss = 8.318919e-01
epoch 15 loss = 8.318703e-01
epoch 16 loss = 8.318497e-01
epoch 17 loss = 8.318319e-01
epoch 18 loss = 8.318175e-01
epoch 19 loss = 8.318041e-01
epoch 20 loss = 8.317913e-01
epoch 21 loss = 8.317783e-01
epoch 22 loss = 8.317637e-01
epoch 23 loss = 8.317556e-01
epoch 24 loss = 8.317431e-01
epoch 25 loss = 8.317353e-01
epoch 26 loss = 8.317224e-01
epoch 27 loss = 8.317121e-01
epoch 28 loss = 8.317033e-01
epoch 29 loss = 8.316955e-01
epoch 30 loss = 8.316864e-01
epoch 31 loss = 8.316799e-01
epoch 32 loss = 8.316737e-01
epoch 33 loss = 8.316676e-01
epoch 34 loss = 8.316624e-01
epoch 35 loss = 8.316549e-01
epoch 36 loss = 8.31651e-01
epoch 37 loss = 8.316422e-01
epoch 38 loss = 8.31638e-01
epoch 39 loss = 8.316337e-01
epoch 40 loss = 8.316257e-01
epoch 41 loss = 8.316214e-01
epoch 42 loss = 8.316163e-01
epoch 43 loss = 8.316119e-01
epoch 44 loss = 8.316056e-01
epoch 45 loss = 8.316013e-01
epoch 46 loss = 8.315969e-01
epoch 47 loss = 8.315924e-01
epoch 48 loss = 8.315886e-01
epoch 49 loss = 8.31582e-01
epoch 50 loss = 8.315778e-01
epoch 51 loss = 8.315744e-01
epoch 52 loss = 8.315715e-01
epoch 53 loss = 8.315684e-01
epoch 54 loss = 8.315644e-01
epoch 55 loss = 8.315609e-01
epoch 56 loss = 8.315574e-01
epoch 57 loss = 8.315553e-01
epoch 58 loss = 8.315514e-01
epoch 59 loss = 8.315487e-01
epoch 60 loss = 8.315459e-01
epoch 61 loss = 8.31542e-01
epoch 62 loss = 8.315403e-01
epoch 63 loss = 8.315365e-01
epoch 64 loss = 8.315334e-01
epoch 65 loss = 8.315306e-01
epoch 66 loss = 8.315280e-01
epoch 67 loss = 8.315258e-01
epoch 68 loss = 8.315227e-01
epoch 69 loss = 8.315204e-01
epoch 70 loss = 8.315182e-01
epoch 71 loss = 8.315153e-01
epoch 72 loss = 8.315133e-01
epoch 73 loss = 8.315104e-01
epoch 74 loss = 8.315087e-01
epoch 75 loss = 8.315054e-01
epoch 76 loss = 8.315027e-01
epoch 77 loss = 8.315010e-01
epoch 78 loss = 8.314982e-01
epoch 79 loss = 8.314962e-01
epoch 80 loss = 8.314942e-01
epoch 81 loss = 8.314923e-01
epoch 82 loss = 8.314898e-01
epoch 83 loss = 8.314881e-01
epoch 84 loss = 8.314863e-01
epoch 85 loss = 8.314827e-01
epoch 86 loss = 8.314805e-01
epoch 87 loss = 8.314790e-01
epoch 88 loss = 8.314761e-01
epoch 89 loss = 8.314742e-01
epoch 90 loss = 8.314725e-01
epoch 91 loss = 8.314707e-01
epoch 92 loss = 8.314694e-01
epoch 93 loss = 8.314667e-01
epoch 94 loss = 8.314649e-01
epoch 95 loss = 8.314631e-01
epoch 96 loss = 8.314611e-01
epoch 97 loss = 8.314594e-01
epoch 98 loss = 8.314575e-01
epoch 99 loss = 8.314561e-01
epoch 100 loss = 8.314546e-01
epoch 101 loss = 8.31453e-01
epoch 102 loss = 8.314515e-01
epoch 103 loss = 8.314498e-01
epoch 104 loss = 8.314487e-01
epoch 105 loss = 8.314472e-01
epoch 106 loss = 8.314458e-01
epoch 107 loss = 8.314441e-01
epoch 108 loss = 8.314426e-01
epoch 109 loss = 8.314415e-01
epoch 110 loss = 8.3144e-01
epoch 111 loss = 8.314385e-01
epoch 112 loss = 8.314364e-01
epoch 113 loss = 8.314345e-01
epoch 114 loss = 8.314337e-01
epoch 115 loss = 8.314320e-01
epoch 116 loss = 8.314308e-01
epoch 117 loss = 8.314300e-01
epoch 118 loss = 8.314285e-01
epoch 119 loss = 8.31427e-01
epoch 120 loss = 8.314261e-01
epoch 121 loss = 8.314246e-01
epoch 122 loss = 8.314235e-01
epoch 123 loss = 8.314220e-01
epoch 124 loss = 8.31421e-01
epoch 125 loss = 8.314198e-01
epoch 126 loss = 8.314182e-01
epoch 127 loss = 8.314173e-01
epoch 128 loss = 8.314163e-01
epoch 129 loss = 8.31415e-01
epoch 130 loss = 8.314139e-01
epoch 131 loss = 8.314126e-01
epoch 132 loss = 8.314116e-01
epoch 133 loss = 8.314108e-01
epoch 134 loss = 8.314096e-01
epoch 135 loss = 8.314086e-01
epoch 136 loss = 8.314075e-01
epoch 137 loss = 8.314066e-01
epoch 138 loss = 8.314051e-01
epoch 139 loss = 8.314038e-01
epoch 140 loss = 8.314030e-01
epoch 141 loss = 8.31402e-01
epoch 142 loss = 8.314014e-01
epoch 143 loss = 8.314007e-01
epoch 144 loss = 8.313993e-01
epoch 145 loss = 8.313985e-01
epoch 146 loss = 8.313979e-01
epoch 147 loss = 8.313971e-01
epoch 148 loss = 8.313966e-01
epoch 149 loss = 8.313956e-01
epoch 150 loss = 8.313945e-01
epoch 151 loss = 8.31394e-01
epoch 152 loss = 8.313933e-01
epoch 153 loss = 8.313921e-01
epoch 154 loss = 8.313915e-01
epoch 155 loss = 8.313906e-01
epoch 156 loss = 8.313901e-01
epoch 157 loss = 8.313893e-01
epoch 158 loss = 8.313885e-01
epoch 159 loss = 8.313879e-01
epoch 160 loss = 8.313871e-01
epoch 161 loss = 8.313863e-01
epoch 162 loss = 8.313857e-01
epoch 163 loss = 8.31385e-01
epoch 164 loss = 8.313842e-01
epoch 165 loss = 8.313835e-01
epoch 166 loss = 8.313828e-01
epoch 167 loss = 8.313823e-01
epoch 168 loss = 8.313814e-01
epoch 169 loss = 8.313806e-01
epoch 170 loss = 8.313802e-01
epoch 171 loss = 8.313796e-01
epoch 172 loss = 8.313784e-01
epoch 173 loss = 8.313778e-01
epoch 174 loss = 8.313773e-01
epoch 175 loss = 8.313764e-01
epoch 176 loss = 8.313758e-01
epoch 177 loss = 8.313752e-01
epoch 178 loss = 8.313743e-01
epoch 179 loss = 8.313737e-01
epoch 180 loss = 8.313732e-01
epoch 181 loss = 8.313725e-01
epoch 182 loss = 8.313720e-01
epoch 183 loss = 8.313715e-01
epoch 184 loss = 8.313708e-01
epoch 185 loss = 8.313704e-01
epoch 186 loss = 8.313699e-01
epoch 187 loss = 8.313692e-01
epoch 188 loss = 8.313684e-01
epoch 189 loss = 8.31368e-01
epoch 190 loss = 8.313674e-01
epoch 191 loss = 8.313667e-01
epoch 192 loss = 8.313662e-01
epoch 193 loss = 8.313656e-01
epoch 194 loss = 8.313651e-01
epoch 195 loss = 8.313645e-01
epoch 196 loss = 8.313639e-01
epoch 197 loss = 8.313634e-01
epoch 198 loss = 8.313629e-01
epoch 199 loss = 8.313623e-01
epoch 200 loss = 8.313618e-01
epoch 201 loss = 8.313614e-01
epoch 202 loss = 8.313611e-01
epoch 203 loss = 8.313606e-01
epoch 204 loss = 8.313603e-01
epoch 205 loss = 8.313602e-01
epoch 206 loss = 8.313601e-01
*************** END FIRST PHASE ***************

* Training time: 21.369102001190186s
* Average epoch time: 0.10373350486014653s
MaxElemSize  0.125

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           14176


* Refinement level: 4

**************** START TRAINING ***************

epoch 2 loss = 8.299975e-01
epoch 3 loss = 8.299804e-01
epoch 4 loss = 8.29952e-01
epoch 5 loss = 8.299363e-01
epoch 6 loss = 8.299271e-01
epoch 7 loss = 8.299135e-01
epoch 8 loss = 8.299038e-01
epoch 9 loss = 8.298975e-01
epoch 10 loss = 8.298887e-01
epoch 11 loss = 8.298812e-01
epoch 12 loss = 8.298752e-01
epoch 13 loss = 8.298713e-01
epoch 14 loss = 8.298669e-01
epoch 15 loss = 8.298594e-01
epoch 16 loss = 8.298555e-01
epoch 17 loss = 8.298518e-01
epoch 18 loss = 8.298482e-01
epoch 19 loss = 8.298443e-01
epoch 20 loss = 8.298396e-01
epoch 21 loss = 8.298363e-01
epoch 22 loss = 8.298336e-01
epoch 23 loss = 8.298299e-01
epoch 24 loss = 8.298269e-01
epoch 25 loss = 8.298247e-01
epoch 26 loss = 8.298226e-01
epoch 27 loss = 8.298199e-01
epoch 28 loss = 8.298175e-01
epoch 29 loss = 8.298156e-01
epoch 30 loss = 8.298139e-01
epoch 31 loss = 8.298116e-01
epoch 32 loss = 8.298097e-01
epoch 33 loss = 8.298085e-01
epoch 34 loss = 8.298068e-01
epoch 35 loss = 8.298048e-01
epoch 36 loss = 8.298029e-01
epoch 37 loss = 8.298014e-01
epoch 38 loss = 8.297999e-01
epoch 39 loss = 8.297988e-01
epoch 40 loss = 8.297966e-01
epoch 41 loss = 8.297952e-01
epoch 42 loss = 8.297943e-01
epoch 43 loss = 8.297935e-01
epoch 44 loss = 8.297922e-01
epoch 45 loss = 8.297901e-01
epoch 46 loss = 8.297887e-01
epoch 47 loss = 8.297878e-01
epoch 48 loss = 8.297869e-01
epoch 49 loss = 8.297852e-01
epoch 50 loss = 8.297839e-01
epoch 51 loss = 8.297830e-01
epoch 52 loss = 8.297821e-01
epoch 53 loss = 8.297813e-01
epoch 54 loss = 8.297804e-01
epoch 55 loss = 8.297795e-01
epoch 56 loss = 8.297783e-01
epoch 57 loss = 8.297772e-01
epoch 58 loss = 8.297761e-01
epoch 59 loss = 8.297754e-01
epoch 60 loss = 8.297747e-01
epoch 61 loss = 8.297739e-01
epoch 62 loss = 8.297728e-01
epoch 63 loss = 8.297718e-01
epoch 64 loss = 8.29771e-01
epoch 65 loss = 8.297703e-01
epoch 66 loss = 8.297697e-01
epoch 67 loss = 8.297689e-01
epoch 68 loss = 8.297681e-01
epoch 69 loss = 8.297672e-01
epoch 70 loss = 8.297663e-01
epoch 71 loss = 8.297655e-01
epoch 72 loss = 8.297648e-01
epoch 73 loss = 8.297642e-01
epoch 74 loss = 8.297637e-01
epoch 75 loss = 8.297630e-01
epoch 76 loss = 8.297619e-01
epoch 77 loss = 8.297613e-01
epoch 78 loss = 8.297609e-01
epoch 79 loss = 8.297602e-01
epoch 80 loss = 8.297595e-01
epoch 81 loss = 8.29759e-01
epoch 82 loss = 8.297583e-01
epoch 83 loss = 8.297577e-01
epoch 84 loss = 8.297572e-01
epoch 85 loss = 8.297565e-01
epoch 86 loss = 8.297561e-01
epoch 87 loss = 8.297556e-01
epoch 88 loss = 8.297551e-01
epoch 89 loss = 8.297544e-01
epoch 90 loss = 8.297538e-01
epoch 91 loss = 8.297533e-01
epoch 92 loss = 8.297529e-01
epoch 93 loss = 8.297524e-01
epoch 94 loss = 8.297516e-01
epoch 95 loss = 8.297511e-01
epoch 96 loss = 8.297508e-01
epoch 97 loss = 8.297504e-01
epoch 98 loss = 8.297498e-01
epoch 99 loss = 8.297492e-01
epoch 100 loss = 8.297487e-01
epoch 101 loss = 8.297483e-01
epoch 102 loss = 8.297480e-01
epoch 103 loss = 8.297477e-01
epoch 104 loss = 8.297471e-01
epoch 105 loss = 8.297465e-01
epoch 106 loss = 8.297461e-01
epoch 107 loss = 8.297457e-01
epoch 108 loss = 8.297452e-01
epoch 109 loss = 8.297448e-01
epoch 110 loss = 8.297445e-01
epoch 111 loss = 8.297442e-01
epoch 112 loss = 8.297436e-01
epoch 113 loss = 8.297431e-01
epoch 114 loss = 8.297427e-01
epoch 115 loss = 8.297425e-01
epoch 116 loss = 8.297422e-01
epoch 117 loss = 8.297418e-01
epoch 118 loss = 8.297414e-01
epoch 119 loss = 8.29741e-01
epoch 120 loss = 8.297406e-01
epoch 121 loss = 8.297403e-01
epoch 122 loss = 8.297400e-01
epoch 123 loss = 8.297396e-01
epoch 124 loss = 8.297393e-01
epoch 125 loss = 8.297389e-01
epoch 126 loss = 8.297385e-01
epoch 127 loss = 8.297382e-01
epoch 128 loss = 8.297378e-01
epoch 129 loss = 8.297374e-01
epoch 130 loss = 8.297369e-01
epoch 131 loss = 8.297367e-01
epoch 132 loss = 8.297364e-01
epoch 133 loss = 8.297362e-01
epoch 134 loss = 8.297358e-01
epoch 135 loss = 8.297355e-01
epoch 136 loss = 8.297352e-01
epoch 137 loss = 8.297349e-01
epoch 138 loss = 8.297346e-01
epoch 139 loss = 8.297344e-01
epoch 140 loss = 8.297340e-01
epoch 141 loss = 8.297337e-01
epoch 142 loss = 8.297335e-01
epoch 143 loss = 8.297332e-01
epoch 144 loss = 8.297330e-01
epoch 145 loss = 8.297328e-01
epoch 146 loss = 8.297326e-01
epoch 147 loss = 8.297324e-01
epoch 148 loss = 8.297321e-01
epoch 149 loss = 8.297317e-01
epoch 150 loss = 8.297314e-01
epoch 151 loss = 8.297312e-01
epoch 152 loss = 8.29731e-01
epoch 153 loss = 8.297306e-01
epoch 154 loss = 8.297303e-01
epoch 155 loss = 8.297300e-01
epoch 156 loss = 8.297297e-01
epoch 157 loss = 8.297294e-01
epoch 158 loss = 8.297292e-01
epoch 159 loss = 8.297289e-01
epoch 160 loss = 8.297285e-01
epoch 161 loss = 8.297282e-01
epoch 162 loss = 8.29728e-01
epoch 163 loss = 8.297277e-01
epoch 164 loss = 8.297274e-01
epoch 165 loss = 8.297271e-01
epoch 166 loss = 8.297267e-01
epoch 167 loss = 8.297265e-01
epoch 168 loss = 8.297263e-01
epoch 169 loss = 8.297261e-01
epoch 170 loss = 8.297259e-01
epoch 171 loss = 8.297256e-01
epoch 172 loss = 8.297253e-01
epoch 173 loss = 8.297251e-01
epoch 174 loss = 8.297248e-01
epoch 175 loss = 8.297246e-01
epoch 176 loss = 8.297243e-01
epoch 177 loss = 8.297240e-01
epoch 178 loss = 8.297238e-01
epoch 179 loss = 8.297235e-01
epoch 180 loss = 8.297233e-01
epoch 181 loss = 8.297229e-01
epoch 182 loss = 8.297226e-01
epoch 183 loss = 8.297223e-01
epoch 184 loss = 8.297222e-01
epoch 185 loss = 8.297219e-01
epoch 186 loss = 8.297218e-01
epoch 187 loss = 8.297215e-01
epoch 188 loss = 8.297214e-01
epoch 189 loss = 8.297211e-01
epoch 190 loss = 8.297209e-01
epoch 191 loss = 8.297207e-01
epoch 192 loss = 8.297205e-01
epoch 193 loss = 8.297203e-01
epoch 194 loss = 8.297201e-01
epoch 195 loss = 8.297199e-01
epoch 196 loss = 8.297197e-01
epoch 197 loss = 8.297194e-01
epoch 198 loss = 8.297192e-01
epoch 199 loss = 8.29719e-01
epoch 200 loss = 8.297187e-01
epoch 201 loss = 8.297185e-01
epoch 202 loss = 8.297183e-01
epoch 203 loss = 8.297182e-01
epoch 204 loss = 8.297181e-01
epoch 205 loss = 8.297178e-01
epoch 206 loss = 8.297176e-01
epoch 207 loss = 8.297174e-01
epoch 208 loss = 8.297172e-01
epoch 209 loss = 8.297170e-01
epoch 210 loss = 8.297168e-01
epoch 211 loss = 8.297166e-01
epoch 212 loss = 8.297164e-01
epoch 213 loss = 8.297162e-01
epoch 214 loss = 8.297161e-01
epoch 215 loss = 8.297159e-01
epoch 216 loss = 8.297158e-01
epoch 217 loss = 8.297156e-01
epoch 218 loss = 8.297154e-01
epoch 219 loss = 8.297152e-01
epoch 220 loss = 8.297150e-01
epoch 221 loss = 8.297149e-01
epoch 222 loss = 8.297147e-01
epoch 223 loss = 8.297146e-01
epoch 224 loss = 8.297144e-01
epoch 225 loss = 8.297142e-01
epoch 226 loss = 8.29714e-01
epoch 227 loss = 8.297138e-01
epoch 228 loss = 8.297136e-01
epoch 229 loss = 8.297135e-01
epoch 230 loss = 8.297133e-01
epoch 231 loss = 8.297131e-01
epoch 232 loss = 8.29713e-01
epoch 233 loss = 8.297129e-01
epoch 234 loss = 8.297127e-01
epoch 235 loss = 8.297127e-01
*************** END FIRST PHASE ***************

* Training time: 53.46204423904419s
* Average epoch time: 0.2274980605916774s
***************** END TRAINING ****************

* Training time: 84.15919184684753s

1.25 1.0
1.25 1.0
print("LBFGS")
print("u = ", r_adapt_error_u)
print("v = ", r_adapt_error_v)
print("s = ", r_adapt_error_stress)
print("s max = ", r_adapt_error_stress_max)
LBFGS
u =  [[0.1964758 ]
 [0.07483696]
 [0.02378997]
 [0.00619278]
 [0.00083231]]
v =  [[0.02515145]
 [0.00827428]
 [0.00241591]
 [0.00058403]
 [0.00012013]]
s =  [[0.2195726 ]
 [0.11374515]
 [0.06448546]
 [0.03514965]
 [0.01992995]]
s max =  [[0.68675181]
 [0.87801194]
 [0.95702206]
 [0.99308209]
 [0.9965984 ]]

Training on rh-adaptive mesh#

# Prerequisites
mesh_resolution = [44, 144, 484, 1804, 7088 ]

# eval_coord_file = "../2D_example/eval_coordinates.npy"
# num_displ_file = "../2D_example/num_solution/num_displacement.npy"
# num_VM_stress_file = "../2D_example/num_solution/num_VM_stress.npy"

eval_coord_file = "GroundTruth/eval_coordinates.npy"
num_displ_file = "GroundTruth/num_displacement.npy"
num_VM_stress_file = "GroundTruth/num_VM_stress.npy"

eval_coord =  torch.tensor(numpy.load(eval_coord_file), dtype=torch.float64, requires_grad=True)
num_displ = torch.tensor(numpy.load(num_displ_file))
num_VM_stress = torch.tensor(numpy.load(num_VM_stress_file))

# Experiment
element_size = 2.0
config["solver"]["FrozenMesh"] = False
optimizer = "lbfgs"
refinment = [1,2,3,4,5]

config["interpolation"]["MaxElemSize2D"] = element_size
config["training"]["optimizer"] = optimizer
config["training"]["h_adapt_MaxGeneration"] = 2

rh_adapt_error_u = numpy.zeros((len(refinment)))
rh_adapt_error_v = numpy.zeros((len(refinment)))
rh_adapt_error_stress = numpy.zeros((len(refinment)))
rh_adapt_error_stress_max = numpy.zeros((len(refinment)))

for e in range(len(refinment)):
    config["training"]["multiscl_max_refinment"] = refinment[e]

    Mat = pre.Material(             flag_lame = True,                          # If True should input lmbda and mu instead of E and nu
                                    coef1     = config["material"]["lmbda"],        # Young Modulus
                                    coef2     = config["material"]["mu"]        # Poisson's ratio
                        )

    MaxElemSize = pre.ElementSize(
                                    dimension     = config["interpolation"]["dimension"],
                                    L             = config["geometry"]["L"],
                                    order         = config["interpolation"]["order"],
                                    np            = config["interpolation"]["np"],
                                    MaxElemSize2D = config["interpolation"]["MaxElemSize2D"]
                                )
    Excluded = []
    Mesh_object = pre.Mesh( 
                                    config["geometry"]["Name"],                 # Create the mesh object
                                    MaxElemSize, 
                                    config["interpolation"]["order"], 
                                    config["interpolation"]["dimension"]
                            )

    Mesh_object.AddBorders(config["Borders"]["Borders"])
    Mesh_object.AddBCs(                                                         # Include Boundary physical domains infos (BCs+volume)
                                    config["geometry"]["Volume_element"],
                                    Excluded,
                                    config["DirichletDictionryList"]
                        )                   

    Mesh_object.MeshGeo()                                                       # Mesh the .geo file if .msh does not exist
    Mesh_object.ReadMesh()                                                      # Parse the .msh file
    Mesh_object.ExportMeshVtk()

    if int(Mesh_object.dim) != int(Mesh_object.dimension):
        raise ValueError("The dimension of the provided geometry does not match the job dimension")

    Model_FEM = MeshNN_2D(Mesh_object, n_components = 2)

    Model_FEM.Freeze_Mesh()
    Model_FEM.UnFreeze_FEM()

    if not config["solver"]["FrozenMesh"]:
        Model_FEM.UnFreeze_Mesh() 

    Model_FEM.RefinementParameters( MaxGeneration = config["training"]["h_adapt_MaxGeneration"], 
                                Jacobian_threshold = config["training"]["h_adapt_J_thrshld"])

    Model_FEM.TrainingParameters(   loss_decrease_c = config["training"]["loss_decrease_c"], 
                                    Max_epochs = config["training"]["n_epochs"], 
                                    learning_rate = config["training"]["learning_rate"])
    Model_FEM = Training_2D_FEM(Model_FEM, config, Mat)
    
    # evaluation 
    Model_FEM.eval()

    # Model_FEM.mesh.Nodes = [[i+1,Model_FEM.coordinates[i][0][0].item(),Model_FEM.coordinates[i][0][1].item(),0] for i in range(len(Model_FEM.coordinates))]
    coordinates_all = torch.ones_like(Model_FEM.coordinates_all)
    coordinates_all[Model_FEM.coord_free] = Model_FEM.coordinates['free']
    coordinates_all[~Model_FEM.coord_free] = Model_FEM.coordinates['imposed']
    Nodes = torch.hstack([torch.linspace(1,coordinates_all.shape[0],coordinates_all.shape[0], dtype = coordinates_all.dtype, device = coordinates_all.device)[:,None],
                            coordinates_all])
    Nodes = torch.hstack([Nodes,torch.zeros(Nodes.shape[0],1, dtype = Nodes.dtype, device = Nodes.device)])
    Model_FEM.mesh.Nodes = Nodes.detach().cpu().numpy()
    Model_FEM.mesh.Connectivity = Model_FEM.connectivity
    Model_FEM.mesh.ExportMeshVtk(flag_update = True)

    elem_IDs = torch.tensor(Model_FEM.mesh.GetCellIds(eval_coord),dtype=torch.int)

    u = Model_FEM(eval_coord, elem_IDs)
    eps =  Strain(u,eval_coord)
    sigma =  torch.stack(Stress(eps, Mat.lmbda, Mat.mu),dim=1)
    sigma_VM = VonMises_plain_strain(sigma, Mat.lmbda, Mat.mu)

    rh_adapt_error_u[e] = (torch.linalg.vector_norm(num_displ[:,0] - u[0,:])/torch.linalg.vector_norm(num_displ[:,0])).item()
    rh_adapt_error_v[e] = (torch.linalg.vector_norm(num_displ[:,1] - u[1,:])/torch.linalg.vector_norm(num_displ[:,1])).item()
    rh_adapt_error_stress[e] = (torch.linalg.vector_norm(num_VM_stress - sigma_VM)/torch.linalg.vector_norm(num_VM_stress)).item()
    rh_adapt_error_stress_max[e] = (max(sigma_VM)/max(num_VM_stress)).item()

    elem_size = element_size/numpy.pow(config["training"]["multiscl_refinment_cf"],refinment[e]-1)
    Pplot.ExportFinalResult_VTK(Model_FEM,Mat,config["postprocess"]["Name_export"]+"_"+str(elem_size)+"_rh_adapt")
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  []
max_refinement  1

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.228394e-01
epoch 7 loss = 9.201543e-01
epoch 8 loss = 9.191933e-01
epoch 9 loss = 9.182173e-01
epoch 10 loss = 9.178054e-01
epoch 11 loss = 9.177280e-01
epoch 12 loss = 9.176661e-01
epoch 13 loss = 9.176588e-01
epoch 14 loss = 9.176573e-01
epoch 15 loss = 9.176560e-01
epoch 16 loss = 9.176556e-01
epoch 17 loss = 9.176554e-01
epoch 18 loss = 9.176554e-01
*************** END FIRST PHASE ***************

* Training time: 0.7057299613952637s
* Average epoch time: 0.03920722007751465s
***************** END TRAINING ****************

* Training time: 0.7057299613952637s

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  [2]
max_refinement  2

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.228394e-01
epoch 7 loss = 9.201543e-01
epoch 8 loss = 9.191933e-01
epoch 9 loss = 9.182173e-01
epoch 10 loss = 9.178054e-01
epoch 11 loss = 9.177280e-01
epoch 12 loss = 9.176661e-01
epoch 13 loss = 9.176588e-01
epoch 14 loss = 9.176573e-01
epoch 15 loss = 9.176560e-01
epoch 16 loss = 9.176556e-01
epoch 17 loss = 9.176554e-01
epoch 18 loss = 9.176554e-01
*************** END FIRST PHASE ***************

* Training time: 0.6642313003540039s
* Average epoch time: 0.036901738908555776s
MaxElemSize  1.0

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288


* Refinement level: 1

**************** START TRAINING ***************

epoch 2 loss = 8.695052e-01
epoch 3 loss = 8.635700e-01
epoch 4 loss = 8.62577e-01
epoch 5 loss = 8.603355e-01
epoch 6 loss = 8.59372e-01
epoch 7 loss = 8.590744e-01
epoch 8 loss = 8.586749e-01
epoch 9 loss = 8.583085e-01
epoch 10 loss = 8.579921e-01
epoch 11 loss = 8.577341e-01
epoch 12 loss = 8.57506e-01
epoch 13 loss = 8.572058e-01
epoch 14 loss = 8.568156e-01
epoch 15 loss = 8.567132e-01
epoch 16 loss = 8.566005e-01
epoch 17 loss = 8.564941e-01
epoch 18 loss = 8.564208e-01
epoch 19 loss = 8.561745e-01
epoch 20 loss = 8.5574e-01
epoch 21 loss = 8.554015e-01
epoch 22 loss = 8.550869e-01
epoch 23 loss = 8.549649e-01
epoch 24 loss = 8.548110e-01
epoch 25 loss = 8.547096e-01
epoch 26 loss = 8.546175e-01
epoch 27 loss = 8.545337e-01
epoch 28 loss = 8.544917e-01
epoch 29 loss = 8.544008e-01
epoch 30 loss = 8.543176e-01
epoch 31 loss = 8.542525e-01
epoch 32 loss = 8.542035e-01
epoch 33 loss = 8.541729e-01
epoch 34 loss = 8.541479e-01
epoch 35 loss = 8.541317e-01
epoch 36 loss = 8.540842e-01
epoch 37 loss = 8.540491e-01
epoch 38 loss = 8.539881e-01
epoch 39 loss = 8.539308e-01
epoch 40 loss = 8.538889e-01
epoch 41 loss = 8.538704e-01
epoch 42 loss = 8.538465e-01
epoch 43 loss = 8.538223e-01
epoch 44 loss = 8.538002e-01
epoch 45 loss = 8.537797e-01
epoch 46 loss = 8.537454e-01
epoch 47 loss = 8.537242e-01
epoch 48 loss = 8.536884e-01
epoch 49 loss = 8.536722e-01
epoch 50 loss = 8.536447e-01
epoch 51 loss = 8.535793e-01
epoch 52 loss = 8.535140e-01
epoch 53 loss = 8.534661e-01
epoch 54 loss = 8.534404e-01
epoch 55 loss = 8.533833e-01
epoch 56 loss = 8.533674e-01
epoch 57 loss = 8.531649e-01
epoch 58 loss = 8.530858e-01
epoch 59 loss = 8.529728e-01
epoch 60 loss = 8.529489e-01
epoch 61 loss = 8.529000e-01
epoch 62 loss = 8.528631e-01
epoch 63 loss = 8.528269e-01
epoch 64 loss = 8.528056e-01
epoch 65 loss = 8.527741e-01
epoch 66 loss = 8.527561e-01
epoch 67 loss = 8.527417e-01
epoch 68 loss = 8.526271e-01
epoch 69 loss = 8.525868e-01
epoch 70 loss = 8.525449e-01
epoch 71 loss = 8.525142e-01
epoch 72 loss = 8.524923e-01
epoch 73 loss = 8.524700e-01
epoch 74 loss = 8.524559e-01
epoch 75 loss = 8.524384e-01
epoch 76 loss = 8.524247e-01
epoch 77 loss = 8.524104e-01
epoch 78 loss = 8.524041e-01
epoch 79 loss = 8.523936e-01
epoch 80 loss = 8.523847e-01
epoch 81 loss = 8.523756e-01
epoch 82 loss = 8.52366e-01
epoch 83 loss = 8.523567e-01
epoch 84 loss = 8.523446e-01
epoch 85 loss = 8.523366e-01
epoch 86 loss = 8.523204e-01
epoch 87 loss = 8.523047e-01
epoch 88 loss = 8.522931e-01
epoch 89 loss = 8.522801e-01
epoch 90 loss = 8.522722e-01
epoch 91 loss = 8.522657e-01
epoch 92 loss = 8.522539e-01
epoch 93 loss = 8.522443e-01
epoch 94 loss = 8.522384e-01
epoch 95 loss = 8.522304e-01
epoch 96 loss = 8.522188e-01
epoch 97 loss = 8.522128e-01
epoch 98 loss = 8.522017e-01
epoch 99 loss = 8.521905e-01
epoch 100 loss = 8.521558e-01
epoch 101 loss = 8.521340e-01
epoch 102 loss = 8.521036e-01
epoch 103 loss = 8.520936e-01
epoch 104 loss = 8.520848e-01
epoch 105 loss = 8.520772e-01
epoch 106 loss = 8.520700e-01
epoch 107 loss = 8.520673e-01
epoch 108 loss = 8.520565e-01
epoch 109 loss = 8.520541e-01
epoch 110 loss = 8.520487e-01
epoch 111 loss = 8.520427e-01
epoch 112 loss = 8.520336e-01
epoch 113 loss = 8.520266e-01
epoch 114 loss = 8.520205e-01
epoch 115 loss = 8.520114e-01
epoch 116 loss = 8.520008e-01
epoch 117 loss = 8.519926e-01
epoch 118 loss = 8.519863e-01
epoch 119 loss = 8.519831e-01
epoch 120 loss = 8.519776e-01
epoch 121 loss = 8.519740e-01
epoch 122 loss = 8.519688e-01
epoch 123 loss = 8.519657e-01
epoch 124 loss = 8.519634e-01
epoch 125 loss = 8.519587e-01
epoch 126 loss = 8.519538e-01
epoch 127 loss = 8.519456e-01
epoch 128 loss = 8.519412e-01
epoch 129 loss = 8.519336e-01
epoch 130 loss = 8.519308e-01
epoch 131 loss = 8.519275e-01
epoch 132 loss = 8.519242e-01
epoch 133 loss = 8.519216e-01
epoch 134 loss = 8.519183e-01
epoch 135 loss = 8.519153e-01
epoch 136 loss = 8.519115e-01
epoch 137 loss = 8.519064e-01
epoch 138 loss = 8.518991e-01
epoch 139 loss = 8.518957e-01
epoch 140 loss = 8.518931e-01
epoch 141 loss = 8.518893e-01
epoch 142 loss = 8.518877e-01
epoch 143 loss = 8.518845e-01
epoch 144 loss = 8.518818e-01
epoch 145 loss = 8.518783e-01
epoch 146 loss = 8.518757e-01
epoch 147 loss = 8.518689e-01
epoch 148 loss = 8.518644e-01
epoch 149 loss = 8.518591e-01
epoch 150 loss = 8.518561e-01
epoch 151 loss = 8.518474e-01
epoch 152 loss = 8.51845e-01
epoch 153 loss = 8.518293e-01
epoch 154 loss = 8.518237e-01
epoch 155 loss = 8.518193e-01
epoch 156 loss = 8.518153e-01
epoch 157 loss = 8.518140e-01
epoch 158 loss = 8.518125e-01
epoch 159 loss = 8.518106e-01
epoch 160 loss = 8.518083e-01
epoch 161 loss = 8.51806e-01
epoch 162 loss = 8.518027e-01
epoch 163 loss = 8.517994e-01
epoch 164 loss = 8.517984e-01
epoch 165 loss = 8.517970e-01
epoch 166 loss = 8.517961e-01
epoch 167 loss = 8.517955e-01
epoch 168 loss = 8.517947e-01
epoch 169 loss = 8.517938e-01
epoch 170 loss = 8.517921e-01
epoch 171 loss = 8.517906e-01
epoch 172 loss = 8.517896e-01
epoch 173 loss = 8.517887e-01
epoch 174 loss = 8.517881e-01
epoch 175 loss = 8.517870e-01
epoch 176 loss = 8.517859e-01
epoch 177 loss = 8.517853e-01
epoch 178 loss = 8.517842e-01
epoch 179 loss = 8.517825e-01
epoch 180 loss = 8.517813e-01
epoch 181 loss = 8.517792e-01
epoch 182 loss = 8.517776e-01
epoch 183 loss = 8.51751e-01
epoch 184 loss = 8.517501e-01
epoch 185 loss = 8.517484e-01
epoch 186 loss = 8.517471e-01
epoch 187 loss = 8.517453e-01
epoch 188 loss = 8.517448e-01
epoch 189 loss = 8.517436e-01
epoch 190 loss = 8.517425e-01
epoch 191 loss = 8.517413e-01
epoch 192 loss = 8.517399e-01
epoch 193 loss = 8.517395e-01
epoch 194 loss = 8.517391e-01
epoch 195 loss = 8.517376e-01
epoch 196 loss = 8.517369e-01
epoch 197 loss = 8.517357e-01
epoch 198 loss = 8.517348e-01
epoch 199 loss = 8.517342e-01
epoch 200 loss = 8.517333e-01
epoch 201 loss = 8.517321e-01
epoch 202 loss = 8.517316e-01
epoch 203 loss = 8.517316e-01
*************** END FIRST PHASE ***************

* Training time: 9.13507604598999s
* Average epoch time: 0.04500037461078813s
***************** END TRAINING ****************

* Training time: 9.799307346343994s

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  [2, 2]
max_refinement  3

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.228394e-01
epoch 7 loss = 9.201543e-01
epoch 8 loss = 9.191933e-01
epoch 9 loss = 9.182173e-01
epoch 10 loss = 9.178054e-01
epoch 11 loss = 9.177280e-01
epoch 12 loss = 9.176661e-01
epoch 13 loss = 9.176588e-01
epoch 14 loss = 9.176573e-01
epoch 15 loss = 9.176560e-01
epoch 16 loss = 9.176556e-01
epoch 17 loss = 9.176554e-01
epoch 18 loss = 9.176554e-01
*************** END FIRST PHASE ***************

* Training time: 0.6529519557952881s
* Average epoch time: 0.036275108655293785s
MaxElemSize  1.0

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288


* Refinement level: 1

**************** START TRAINING ***************

epoch 2 loss = 8.695052e-01
epoch 3 loss = 8.635700e-01
epoch 4 loss = 8.62577e-01
epoch 5 loss = 8.603355e-01
epoch 6 loss = 8.59372e-01
epoch 7 loss = 8.590744e-01
epoch 8 loss = 8.586749e-01
epoch 9 loss = 8.583085e-01
epoch 10 loss = 8.579921e-01
epoch 11 loss = 8.577341e-01
epoch 12 loss = 8.57506e-01
epoch 13 loss = 8.572058e-01
epoch 14 loss = 8.568156e-01
epoch 15 loss = 8.567132e-01
epoch 16 loss = 8.566005e-01
epoch 17 loss = 8.564941e-01
epoch 18 loss = 8.564208e-01
epoch 19 loss = 8.561745e-01
epoch 20 loss = 8.5574e-01
epoch 21 loss = 8.554015e-01
epoch 22 loss = 8.550869e-01
epoch 23 loss = 8.549649e-01
epoch 24 loss = 8.548110e-01
epoch 25 loss = 8.547096e-01
epoch 26 loss = 8.546175e-01
epoch 27 loss = 8.545337e-01
epoch 28 loss = 8.544917e-01
epoch 29 loss = 8.544008e-01
epoch 30 loss = 8.543176e-01
epoch 31 loss = 8.542525e-01
epoch 32 loss = 8.542035e-01
epoch 33 loss = 8.541729e-01
epoch 34 loss = 8.541479e-01
epoch 35 loss = 8.541317e-01
epoch 36 loss = 8.540842e-01
epoch 37 loss = 8.540491e-01
epoch 38 loss = 8.539881e-01
epoch 39 loss = 8.539308e-01
epoch 40 loss = 8.538889e-01
epoch 41 loss = 8.538704e-01
epoch 42 loss = 8.538465e-01
epoch 43 loss = 8.538223e-01
epoch 44 loss = 8.538002e-01
epoch 45 loss = 8.537797e-01
epoch 46 loss = 8.537454e-01
epoch 47 loss = 8.537242e-01
epoch 48 loss = 8.536884e-01
epoch 49 loss = 8.536722e-01
epoch 50 loss = 8.536447e-01
epoch 51 loss = 8.535793e-01
epoch 52 loss = 8.535140e-01
epoch 53 loss = 8.534661e-01
epoch 54 loss = 8.534404e-01
epoch 55 loss = 8.533833e-01
epoch 56 loss = 8.533674e-01
epoch 57 loss = 8.531649e-01
epoch 58 loss = 8.530858e-01
epoch 59 loss = 8.529728e-01
epoch 60 loss = 8.529489e-01
epoch 61 loss = 8.529000e-01
epoch 62 loss = 8.528631e-01
epoch 63 loss = 8.528269e-01
epoch 64 loss = 8.528056e-01
epoch 65 loss = 8.527741e-01
epoch 66 loss = 8.527561e-01
epoch 67 loss = 8.527417e-01
epoch 68 loss = 8.526271e-01
epoch 69 loss = 8.525868e-01
epoch 70 loss = 8.525449e-01
epoch 71 loss = 8.525142e-01
epoch 72 loss = 8.524923e-01
epoch 73 loss = 8.524700e-01
epoch 74 loss = 8.524559e-01
epoch 75 loss = 8.524384e-01
epoch 76 loss = 8.524247e-01
epoch 77 loss = 8.524104e-01
epoch 78 loss = 8.524041e-01
epoch 79 loss = 8.523936e-01
epoch 80 loss = 8.523847e-01
epoch 81 loss = 8.523756e-01
epoch 82 loss = 8.52366e-01
epoch 83 loss = 8.523567e-01
epoch 84 loss = 8.523446e-01
epoch 85 loss = 8.523366e-01
epoch 86 loss = 8.523204e-01
epoch 87 loss = 8.523047e-01
epoch 88 loss = 8.522931e-01
epoch 89 loss = 8.522801e-01
epoch 90 loss = 8.522722e-01
epoch 91 loss = 8.522657e-01
epoch 92 loss = 8.522539e-01
epoch 93 loss = 8.522443e-01
epoch 94 loss = 8.522384e-01
epoch 95 loss = 8.522304e-01
epoch 96 loss = 8.522188e-01
epoch 97 loss = 8.522128e-01
epoch 98 loss = 8.522017e-01
epoch 99 loss = 8.521905e-01
epoch 100 loss = 8.521558e-01
epoch 101 loss = 8.521340e-01
epoch 102 loss = 8.521036e-01
epoch 103 loss = 8.520936e-01
epoch 104 loss = 8.520848e-01
epoch 105 loss = 8.520772e-01
epoch 106 loss = 8.520700e-01
epoch 107 loss = 8.520673e-01
epoch 108 loss = 8.520565e-01
epoch 109 loss = 8.520541e-01
epoch 110 loss = 8.520487e-01
epoch 111 loss = 8.520427e-01
epoch 112 loss = 8.520336e-01
epoch 113 loss = 8.520266e-01
epoch 114 loss = 8.520205e-01
epoch 115 loss = 8.520114e-01
epoch 116 loss = 8.520008e-01
epoch 117 loss = 8.519926e-01
epoch 118 loss = 8.519863e-01
epoch 119 loss = 8.519831e-01
epoch 120 loss = 8.519776e-01
epoch 121 loss = 8.519740e-01
epoch 122 loss = 8.519688e-01
epoch 123 loss = 8.519657e-01
epoch 124 loss = 8.519634e-01
epoch 125 loss = 8.519587e-01
epoch 126 loss = 8.519538e-01
epoch 127 loss = 8.519456e-01
epoch 128 loss = 8.519412e-01
epoch 129 loss = 8.519336e-01
epoch 130 loss = 8.519308e-01
epoch 131 loss = 8.519275e-01
epoch 132 loss = 8.519242e-01
epoch 133 loss = 8.519216e-01
epoch 134 loss = 8.519183e-01
epoch 135 loss = 8.519153e-01
epoch 136 loss = 8.519115e-01
epoch 137 loss = 8.519064e-01
epoch 138 loss = 8.518991e-01
epoch 139 loss = 8.518957e-01
epoch 140 loss = 8.518931e-01
epoch 141 loss = 8.518893e-01
epoch 142 loss = 8.518877e-01
epoch 143 loss = 8.518845e-01
epoch 144 loss = 8.518818e-01
epoch 145 loss = 8.518783e-01
epoch 146 loss = 8.518757e-01
epoch 147 loss = 8.518689e-01
epoch 148 loss = 8.518644e-01
epoch 149 loss = 8.518591e-01
epoch 150 loss = 8.518561e-01
epoch 151 loss = 8.518474e-01
epoch 152 loss = 8.51845e-01
epoch 153 loss = 8.518293e-01
epoch 154 loss = 8.518237e-01
epoch 155 loss = 8.518193e-01
epoch 156 loss = 8.518153e-01
epoch 157 loss = 8.518140e-01
epoch 158 loss = 8.518125e-01
epoch 159 loss = 8.518106e-01
epoch 160 loss = 8.518083e-01
epoch 161 loss = 8.51806e-01
epoch 162 loss = 8.518027e-01
epoch 163 loss = 8.517994e-01
epoch 164 loss = 8.517984e-01
epoch 165 loss = 8.517970e-01
epoch 166 loss = 8.517961e-01
epoch 167 loss = 8.517955e-01
epoch 168 loss = 8.517947e-01
epoch 169 loss = 8.517938e-01
epoch 170 loss = 8.517921e-01
epoch 171 loss = 8.517906e-01
epoch 172 loss = 8.517896e-01
epoch 173 loss = 8.517887e-01
epoch 174 loss = 8.517881e-01
epoch 175 loss = 8.517870e-01
epoch 176 loss = 8.517859e-01
epoch 177 loss = 8.517853e-01
epoch 178 loss = 8.517842e-01
epoch 179 loss = 8.517825e-01
epoch 180 loss = 8.517813e-01
epoch 181 loss = 8.517792e-01
epoch 182 loss = 8.517776e-01
epoch 183 loss = 8.51751e-01
epoch 184 loss = 8.517501e-01
epoch 185 loss = 8.517484e-01
epoch 186 loss = 8.517471e-01
epoch 187 loss = 8.517453e-01
epoch 188 loss = 8.517448e-01
epoch 189 loss = 8.517436e-01
epoch 190 loss = 8.517425e-01
epoch 191 loss = 8.517413e-01
epoch 192 loss = 8.517399e-01
epoch 193 loss = 8.517395e-01
epoch 194 loss = 8.517391e-01
epoch 195 loss = 8.517376e-01
epoch 196 loss = 8.517369e-01
epoch 197 loss = 8.517357e-01
epoch 198 loss = 8.517348e-01
epoch 199 loss = 8.517342e-01
epoch 200 loss = 8.517333e-01
epoch 201 loss = 8.517321e-01
epoch 202 loss = 8.517316e-01
epoch 203 loss = 8.517316e-01
*************** END FIRST PHASE ***************

* Training time: 8.9014310836792s
* Average epoch time: 0.04384941420531625s
MaxElemSize  0.5

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           968


* Refinement level: 2

**************** START TRAINING ***************

epoch 2 loss = 8.415999e-01
epoch 3 loss = 8.407315e-01
epoch 4 loss = 8.40278e-01
epoch 5 loss = 8.400137e-01
epoch 6 loss = 8.398222e-01
epoch 7 loss = 8.393927e-01
epoch 8 loss = 8.392722e-01
epoch 9 loss = 8.390688e-01
epoch 10 loss = 8.389818e-01
epoch 11 loss = 8.38764e-01
epoch 12 loss = 8.386736e-01
epoch 13 loss = 8.385501e-01
epoch 14 loss = 8.384564e-01
epoch 15 loss = 8.38433e-01
epoch 16 loss = 8.383423e-01
epoch 17 loss = 8.382858e-01
epoch 18 loss = 8.382151e-01
epoch 19 loss = 8.381489e-01
epoch 20 loss = 8.380855e-01
epoch 21 loss = 8.380164e-01
epoch 22 loss = 8.379771e-01
epoch 23 loss = 8.379299e-01
epoch 24 loss = 8.378895e-01
epoch 25 loss = 8.378777e-01
epoch 26 loss = 8.378421e-01
epoch 27 loss = 8.378131e-01
epoch 28 loss = 8.377704e-01
epoch 29 loss = 8.377449e-01
epoch 30 loss = 8.377121e-01
epoch 31 loss = 8.376752e-01
epoch 32 loss = 8.376287e-01
epoch 33 loss = 8.375926e-01
epoch 34 loss = 8.375636e-01
epoch 35 loss = 8.375426e-01
epoch 36 loss = 8.375202e-01
epoch 37 loss = 8.375021e-01
epoch 38 loss = 8.374759e-01
epoch 39 loss = 8.37463e-01
epoch 40 loss = 8.374552e-01
epoch 41 loss = 8.374441e-01
epoch 42 loss = 8.374297e-01
epoch 43 loss = 8.374202e-01
epoch 44 loss = 8.374076e-01
epoch 45 loss = 8.373868e-01
epoch 46 loss = 8.373702e-01
epoch 47 loss = 8.373566e-01
epoch 48 loss = 8.373394e-01
epoch 49 loss = 8.373293e-01
epoch 50 loss = 8.373152e-01
epoch 51 loss = 8.373067e-01
epoch 52 loss = 8.372996e-01
epoch 53 loss = 8.372835e-01
epoch 54 loss = 8.372635e-01
epoch 55 loss = 8.372555e-01
epoch 56 loss = 8.372413e-01
epoch 57 loss = 8.372331e-01
epoch 58 loss = 8.371737e-01
epoch 59 loss = 8.371635e-01
epoch 60 loss = 8.371469e-01
epoch 61 loss = 8.371272e-01
epoch 62 loss = 8.371142e-01
epoch 63 loss = 8.370983e-01
epoch 64 loss = 8.370918e-01
epoch 65 loss = 8.370889e-01
epoch 66 loss = 8.370859e-01
epoch 67 loss = 8.370746e-01
epoch 68 loss = 8.370679e-01
epoch 69 loss = 8.37033e-01
epoch 70 loss = 8.370315e-01
epoch 71 loss = 8.370274e-01
epoch 72 loss = 8.370261e-01
epoch 73 loss = 8.370222e-01
epoch 74 loss = 8.370136e-01
epoch 75 loss = 8.370063e-01
epoch 76 loss = 8.369848e-01
epoch 77 loss = 8.369789e-01
epoch 78 loss = 8.36976e-01
epoch 79 loss = 8.369718e-01
epoch 80 loss = 8.369656e-01
epoch 81 loss = 8.369616e-01
epoch 82 loss = 8.36955e-01
epoch 83 loss = 8.369454e-01
epoch 84 loss = 8.369366e-01
epoch 85 loss = 8.369338e-01
epoch 86 loss = 8.369311e-01
epoch 87 loss = 8.369281e-01
epoch 88 loss = 8.369219e-01
epoch 89 loss = 8.369150e-01
epoch 90 loss = 8.369056e-01
epoch 91 loss = 8.36897e-01
epoch 92 loss = 8.368698e-01
epoch 93 loss = 8.368635e-01
epoch 94 loss = 8.368552e-01
epoch 95 loss = 8.368477e-01
epoch 96 loss = 8.368415e-01
epoch 97 loss = 8.368334e-01
epoch 98 loss = 8.368267e-01
epoch 99 loss = 8.368230e-01
epoch 100 loss = 8.368207e-01
epoch 101 loss = 8.368193e-01
epoch 102 loss = 8.368174e-01
epoch 103 loss = 8.368139e-01
epoch 104 loss = 8.36809e-01
epoch 105 loss = 8.367998e-01
epoch 106 loss = 8.367942e-01
epoch 107 loss = 8.367925e-01
epoch 108 loss = 8.367883e-01
epoch 109 loss = 8.367808e-01
epoch 110 loss = 8.367755e-01
epoch 111 loss = 8.36766e-01
epoch 112 loss = 8.367621e-01
epoch 113 loss = 8.367597e-01
epoch 114 loss = 8.367586e-01
epoch 115 loss = 8.367577e-01
epoch 116 loss = 8.367576e-01
epoch 117 loss = 8.367576e-01
*************** END FIRST PHASE ***************

* Training time: 5.739258289337158s
* Average epoch time: 0.049053489652454346s
***************** END TRAINING ****************

* Training time: 15.293641328811646s

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  [2, 2, 2]
max_refinement  4

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.228394e-01
epoch 7 loss = 9.201543e-01
epoch 8 loss = 9.191933e-01
epoch 9 loss = 9.182173e-01
epoch 10 loss = 9.178054e-01
epoch 11 loss = 9.177280e-01
epoch 12 loss = 9.176661e-01
epoch 13 loss = 9.176588e-01
epoch 14 loss = 9.176573e-01
epoch 15 loss = 9.176560e-01
epoch 16 loss = 9.176556e-01
epoch 17 loss = 9.176554e-01
epoch 18 loss = 9.176554e-01
*************** END FIRST PHASE ***************

* Training time: 0.6497950553894043s
* Average epoch time: 0.03609972529941135s
MaxElemSize  1.0

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288


* Refinement level: 1

**************** START TRAINING ***************

epoch 2 loss = 8.695052e-01
epoch 3 loss = 8.635700e-01
epoch 4 loss = 8.62577e-01
epoch 5 loss = 8.603355e-01
epoch 6 loss = 8.59372e-01
epoch 7 loss = 8.590744e-01
epoch 8 loss = 8.586749e-01
epoch 9 loss = 8.583085e-01
epoch 10 loss = 8.579921e-01
epoch 11 loss = 8.577341e-01
epoch 12 loss = 8.57506e-01
epoch 13 loss = 8.572058e-01
epoch 14 loss = 8.568156e-01
epoch 15 loss = 8.567132e-01
epoch 16 loss = 8.566005e-01
epoch 17 loss = 8.564941e-01
epoch 18 loss = 8.564208e-01
epoch 19 loss = 8.561745e-01
epoch 20 loss = 8.5574e-01
epoch 21 loss = 8.554015e-01
epoch 22 loss = 8.550869e-01
epoch 23 loss = 8.549649e-01
epoch 24 loss = 8.548110e-01
epoch 25 loss = 8.547096e-01
epoch 26 loss = 8.546175e-01
epoch 27 loss = 8.545337e-01
epoch 28 loss = 8.544917e-01
epoch 29 loss = 8.544008e-01
epoch 30 loss = 8.543176e-01
epoch 31 loss = 8.542525e-01
epoch 32 loss = 8.542035e-01
epoch 33 loss = 8.541729e-01
epoch 34 loss = 8.541479e-01
epoch 35 loss = 8.541317e-01
epoch 36 loss = 8.540842e-01
epoch 37 loss = 8.540491e-01
epoch 38 loss = 8.539881e-01
epoch 39 loss = 8.539308e-01
epoch 40 loss = 8.538889e-01
epoch 41 loss = 8.538704e-01
epoch 42 loss = 8.538465e-01
epoch 43 loss = 8.538223e-01
epoch 44 loss = 8.538002e-01
epoch 45 loss = 8.537797e-01
epoch 46 loss = 8.537454e-01
epoch 47 loss = 8.537242e-01
epoch 48 loss = 8.536884e-01
epoch 49 loss = 8.536722e-01
epoch 50 loss = 8.536447e-01
epoch 51 loss = 8.535793e-01
epoch 52 loss = 8.535140e-01
epoch 53 loss = 8.534661e-01
epoch 54 loss = 8.534404e-01
epoch 55 loss = 8.533833e-01
epoch 56 loss = 8.533674e-01
epoch 57 loss = 8.531649e-01
epoch 58 loss = 8.530858e-01
epoch 59 loss = 8.529728e-01
epoch 60 loss = 8.529489e-01
epoch 61 loss = 8.529000e-01
epoch 62 loss = 8.528631e-01
epoch 63 loss = 8.528269e-01
epoch 64 loss = 8.528056e-01
epoch 65 loss = 8.527741e-01
epoch 66 loss = 8.527561e-01
epoch 67 loss = 8.527417e-01
epoch 68 loss = 8.526271e-01
epoch 69 loss = 8.525868e-01
epoch 70 loss = 8.525449e-01
epoch 71 loss = 8.525142e-01
epoch 72 loss = 8.524923e-01
epoch 73 loss = 8.524700e-01
epoch 74 loss = 8.524559e-01
epoch 75 loss = 8.524384e-01
epoch 76 loss = 8.524247e-01
epoch 77 loss = 8.524104e-01
epoch 78 loss = 8.524041e-01
epoch 79 loss = 8.523936e-01
epoch 80 loss = 8.523847e-01
epoch 81 loss = 8.523756e-01
epoch 82 loss = 8.52366e-01
epoch 83 loss = 8.523567e-01
epoch 84 loss = 8.523446e-01
epoch 85 loss = 8.523366e-01
epoch 86 loss = 8.523204e-01
epoch 87 loss = 8.523047e-01
epoch 88 loss = 8.522931e-01
epoch 89 loss = 8.522801e-01
epoch 90 loss = 8.522722e-01
epoch 91 loss = 8.522657e-01
epoch 92 loss = 8.522539e-01
epoch 93 loss = 8.522443e-01
epoch 94 loss = 8.522384e-01
epoch 95 loss = 8.522304e-01
epoch 96 loss = 8.522188e-01
epoch 97 loss = 8.522128e-01
epoch 98 loss = 8.522017e-01
epoch 99 loss = 8.521905e-01
epoch 100 loss = 8.521558e-01
epoch 101 loss = 8.521340e-01
epoch 102 loss = 8.521036e-01
epoch 103 loss = 8.520936e-01
epoch 104 loss = 8.520848e-01
epoch 105 loss = 8.520772e-01
epoch 106 loss = 8.520700e-01
epoch 107 loss = 8.520673e-01
epoch 108 loss = 8.520565e-01
epoch 109 loss = 8.520541e-01
epoch 110 loss = 8.520487e-01
epoch 111 loss = 8.520427e-01
epoch 112 loss = 8.520336e-01
epoch 113 loss = 8.520266e-01
epoch 114 loss = 8.520205e-01
epoch 115 loss = 8.520114e-01
epoch 116 loss = 8.520008e-01
epoch 117 loss = 8.519926e-01
epoch 118 loss = 8.519863e-01
epoch 119 loss = 8.519831e-01
epoch 120 loss = 8.519776e-01
epoch 121 loss = 8.519740e-01
epoch 122 loss = 8.519688e-01
epoch 123 loss = 8.519657e-01
epoch 124 loss = 8.519634e-01
epoch 125 loss = 8.519587e-01
epoch 126 loss = 8.519538e-01
epoch 127 loss = 8.519456e-01
epoch 128 loss = 8.519412e-01
epoch 129 loss = 8.519336e-01
epoch 130 loss = 8.519308e-01
epoch 131 loss = 8.519275e-01
epoch 132 loss = 8.519242e-01
epoch 133 loss = 8.519216e-01
epoch 134 loss = 8.519183e-01
epoch 135 loss = 8.519153e-01
epoch 136 loss = 8.519115e-01
epoch 137 loss = 8.519064e-01
epoch 138 loss = 8.518991e-01
epoch 139 loss = 8.518957e-01
epoch 140 loss = 8.518931e-01
epoch 141 loss = 8.518893e-01
epoch 142 loss = 8.518877e-01
epoch 143 loss = 8.518845e-01
epoch 144 loss = 8.518818e-01
epoch 145 loss = 8.518783e-01
epoch 146 loss = 8.518757e-01
epoch 147 loss = 8.518689e-01
epoch 148 loss = 8.518644e-01
epoch 149 loss = 8.518591e-01
epoch 150 loss = 8.518561e-01
epoch 151 loss = 8.518474e-01
epoch 152 loss = 8.51845e-01
epoch 153 loss = 8.518293e-01
epoch 154 loss = 8.518237e-01
epoch 155 loss = 8.518193e-01
epoch 156 loss = 8.518153e-01
epoch 157 loss = 8.518140e-01
epoch 158 loss = 8.518125e-01
epoch 159 loss = 8.518106e-01
epoch 160 loss = 8.518083e-01
epoch 161 loss = 8.51806e-01
epoch 162 loss = 8.518027e-01
epoch 163 loss = 8.517994e-01
epoch 164 loss = 8.517984e-01
epoch 165 loss = 8.517970e-01
epoch 166 loss = 8.517961e-01
epoch 167 loss = 8.517955e-01
epoch 168 loss = 8.517947e-01
epoch 169 loss = 8.517938e-01
epoch 170 loss = 8.517921e-01
epoch 171 loss = 8.517906e-01
epoch 172 loss = 8.517896e-01
epoch 173 loss = 8.517887e-01
epoch 174 loss = 8.517881e-01
epoch 175 loss = 8.517870e-01
epoch 176 loss = 8.517859e-01
epoch 177 loss = 8.517853e-01
epoch 178 loss = 8.517842e-01
epoch 179 loss = 8.517825e-01
epoch 180 loss = 8.517813e-01
epoch 181 loss = 8.517792e-01
epoch 182 loss = 8.517776e-01
epoch 183 loss = 8.51751e-01
epoch 184 loss = 8.517501e-01
epoch 185 loss = 8.517484e-01
epoch 186 loss = 8.517471e-01
epoch 187 loss = 8.517453e-01
epoch 188 loss = 8.517448e-01
epoch 189 loss = 8.517436e-01
epoch 190 loss = 8.517425e-01
epoch 191 loss = 8.517413e-01
epoch 192 loss = 8.517399e-01
epoch 193 loss = 8.517395e-01
epoch 194 loss = 8.517391e-01
epoch 195 loss = 8.517376e-01
epoch 196 loss = 8.517369e-01
epoch 197 loss = 8.517357e-01
epoch 198 loss = 8.517348e-01
epoch 199 loss = 8.517342e-01
epoch 200 loss = 8.517333e-01
epoch 201 loss = 8.517321e-01
epoch 202 loss = 8.517316e-01
epoch 203 loss = 8.517316e-01
*************** END FIRST PHASE ***************

* Training time: 9.551944017410278s
* Average epoch time: 0.04705391141581418s
MaxElemSize  0.5

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           968


* Refinement level: 2

**************** START TRAINING ***************

epoch 2 loss = 8.415999e-01
epoch 3 loss = 8.407315e-01
epoch 4 loss = 8.40278e-01
epoch 5 loss = 8.400137e-01
epoch 6 loss = 8.398222e-01
epoch 7 loss = 8.393927e-01
epoch 8 loss = 8.392722e-01
epoch 9 loss = 8.390688e-01
epoch 10 loss = 8.389818e-01
epoch 11 loss = 8.38764e-01
epoch 12 loss = 8.386736e-01
epoch 13 loss = 8.385501e-01
epoch 14 loss = 8.384564e-01
epoch 15 loss = 8.38433e-01
epoch 16 loss = 8.383423e-01
epoch 17 loss = 8.382858e-01
epoch 18 loss = 8.382151e-01
epoch 19 loss = 8.381489e-01
epoch 20 loss = 8.380855e-01
epoch 21 loss = 8.380164e-01
epoch 22 loss = 8.379771e-01
epoch 23 loss = 8.379299e-01
epoch 24 loss = 8.378895e-01
epoch 25 loss = 8.378777e-01
epoch 26 loss = 8.378421e-01
epoch 27 loss = 8.378131e-01
epoch 28 loss = 8.377704e-01
epoch 29 loss = 8.377449e-01
epoch 30 loss = 8.377121e-01
epoch 31 loss = 8.376752e-01
epoch 32 loss = 8.376287e-01
epoch 33 loss = 8.375926e-01
epoch 34 loss = 8.375636e-01
epoch 35 loss = 8.375426e-01
epoch 36 loss = 8.375202e-01
epoch 37 loss = 8.375021e-01
epoch 38 loss = 8.374759e-01
epoch 39 loss = 8.37463e-01
epoch 40 loss = 8.374552e-01
epoch 41 loss = 8.374441e-01
epoch 42 loss = 8.374297e-01
epoch 43 loss = 8.374202e-01
epoch 44 loss = 8.374076e-01
epoch 45 loss = 8.373868e-01
epoch 46 loss = 8.373702e-01
epoch 47 loss = 8.373566e-01
epoch 48 loss = 8.373394e-01
epoch 49 loss = 8.373293e-01
epoch 50 loss = 8.373152e-01
epoch 51 loss = 8.373067e-01
epoch 52 loss = 8.372996e-01
epoch 53 loss = 8.372835e-01
epoch 54 loss = 8.372635e-01
epoch 55 loss = 8.372555e-01
epoch 56 loss = 8.372413e-01
epoch 57 loss = 8.372331e-01
epoch 58 loss = 8.371737e-01
epoch 59 loss = 8.371635e-01
epoch 60 loss = 8.371469e-01
epoch 61 loss = 8.371272e-01
epoch 62 loss = 8.371142e-01
epoch 63 loss = 8.370983e-01
epoch 64 loss = 8.370918e-01
epoch 65 loss = 8.370889e-01
epoch 66 loss = 8.370859e-01
epoch 67 loss = 8.370746e-01
epoch 68 loss = 8.370679e-01
epoch 69 loss = 8.37033e-01
epoch 70 loss = 8.370315e-01
epoch 71 loss = 8.370274e-01
epoch 72 loss = 8.370261e-01
epoch 73 loss = 8.370222e-01
epoch 74 loss = 8.370136e-01
epoch 75 loss = 8.370063e-01
epoch 76 loss = 8.369848e-01
epoch 77 loss = 8.369789e-01
epoch 78 loss = 8.36976e-01
epoch 79 loss = 8.369718e-01
epoch 80 loss = 8.369656e-01
epoch 81 loss = 8.369616e-01
epoch 82 loss = 8.36955e-01
epoch 83 loss = 8.369454e-01
epoch 84 loss = 8.369366e-01
epoch 85 loss = 8.369338e-01
epoch 86 loss = 8.369311e-01
epoch 87 loss = 8.369281e-01
epoch 88 loss = 8.369219e-01
epoch 89 loss = 8.369150e-01
epoch 90 loss = 8.369056e-01
epoch 91 loss = 8.36897e-01
epoch 92 loss = 8.368698e-01
epoch 93 loss = 8.368635e-01
epoch 94 loss = 8.368552e-01
epoch 95 loss = 8.368477e-01
epoch 96 loss = 8.368415e-01
epoch 97 loss = 8.368334e-01
epoch 98 loss = 8.368267e-01
epoch 99 loss = 8.368230e-01
epoch 100 loss = 8.368207e-01
epoch 101 loss = 8.368193e-01
epoch 102 loss = 8.368174e-01
epoch 103 loss = 8.368139e-01
epoch 104 loss = 8.36809e-01
epoch 105 loss = 8.367998e-01
epoch 106 loss = 8.367942e-01
epoch 107 loss = 8.367925e-01
epoch 108 loss = 8.367883e-01
epoch 109 loss = 8.367808e-01
epoch 110 loss = 8.367755e-01
epoch 111 loss = 8.36766e-01
epoch 112 loss = 8.367621e-01
epoch 113 loss = 8.367597e-01
epoch 114 loss = 8.367586e-01
epoch 115 loss = 8.367577e-01
epoch 116 loss = 8.367576e-01
epoch 117 loss = 8.367576e-01
*************** END FIRST PHASE ***************

* Training time: 6.143487930297852s
* Average epoch time: 0.052508443848699585s
MaxElemSize  0.25

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           3608


* Refinement level: 3

**************** START TRAINING ***************

epoch 2 loss = 8.32593e-01
epoch 3 loss = 8.324259e-01
epoch 4 loss = 8.323171e-01
epoch 5 loss = 8.322460e-01
epoch 6 loss = 8.32209e-01
epoch 7 loss = 8.321875e-01
epoch 8 loss = 8.321347e-01
epoch 9 loss = 8.320842e-01
epoch 10 loss = 8.320482e-01
epoch 11 loss = 8.319900e-01
epoch 12 loss = 8.319748e-01
epoch 13 loss = 8.319444e-01
epoch 14 loss = 8.319118e-01
epoch 15 loss = 8.318939e-01
epoch 16 loss = 8.318711e-01
epoch 17 loss = 8.318534e-01
epoch 18 loss = 8.318456e-01
epoch 19 loss = 8.318276e-01
epoch 20 loss = 8.31817e-01
epoch 21 loss = 8.318043e-01
epoch 22 loss = 8.317040e-01
epoch 23 loss = 8.31681e-01
epoch 24 loss = 8.3167e-01
epoch 25 loss = 8.316479e-01
epoch 26 loss = 8.316341e-01
epoch 27 loss = 8.316264e-01
epoch 28 loss = 8.316138e-01
epoch 29 loss = 8.315773e-01
epoch 30 loss = 8.315676e-01
epoch 31 loss = 8.315564e-01
epoch 32 loss = 8.315484e-01
epoch 33 loss = 8.315414e-01
epoch 34 loss = 8.315341e-01
epoch 35 loss = 8.315295e-01
epoch 36 loss = 8.315213e-01
epoch 37 loss = 8.315105e-01
epoch 38 loss = 8.314961e-01
epoch 39 loss = 8.314881e-01
epoch 40 loss = 8.314835e-01
epoch 41 loss = 8.314782e-01
epoch 42 loss = 8.314733e-01
epoch 43 loss = 8.314664e-01
epoch 44 loss = 8.314609e-01
epoch 45 loss = 8.314565e-01
epoch 46 loss = 8.314498e-01
epoch 47 loss = 8.314456e-01
epoch 48 loss = 8.314430e-01
epoch 49 loss = 8.314380e-01
epoch 50 loss = 8.314279e-01
epoch 51 loss = 8.314209e-01
epoch 52 loss = 8.314177e-01
epoch 53 loss = 8.314136e-01
epoch 54 loss = 8.314107e-01
epoch 55 loss = 8.314077e-01
epoch 56 loss = 8.314015e-01
epoch 57 loss = 8.313968e-01
epoch 58 loss = 8.313934e-01
epoch 59 loss = 8.313906e-01
epoch 60 loss = 8.313873e-01
epoch 61 loss = 8.313847e-01
epoch 62 loss = 8.313806e-01
epoch 63 loss = 8.313777e-01
epoch 64 loss = 8.313738e-01
epoch 65 loss = 8.313709e-01
epoch 66 loss = 8.313684e-01
epoch 67 loss = 8.313611e-01
epoch 68 loss = 8.313542e-01
epoch 69 loss = 8.313476e-01
epoch 70 loss = 8.313426e-01
epoch 71 loss = 8.313395e-01
epoch 72 loss = 8.313356e-01
epoch 73 loss = 8.313329e-01
epoch 74 loss = 8.313286e-01
epoch 75 loss = 8.313259e-01
epoch 76 loss = 8.313237e-01
epoch 77 loss = 8.313212e-01
epoch 78 loss = 8.313179e-01
epoch 79 loss = 8.313144e-01
epoch 80 loss = 8.313130e-01
epoch 81 loss = 8.313116e-01
epoch 82 loss = 8.31309e-01
epoch 83 loss = 8.313047e-01
epoch 84 loss = 8.313021e-01
epoch 85 loss = 8.312998e-01
epoch 86 loss = 8.312985e-01
epoch 87 loss = 8.312958e-01
epoch 88 loss = 8.312906e-01
epoch 89 loss = 8.312885e-01
epoch 90 loss = 8.312870e-01
epoch 91 loss = 8.312808e-01
epoch 92 loss = 8.312741e-01
epoch 93 loss = 8.31272e-01
epoch 94 loss = 8.312696e-01
epoch 95 loss = 8.312678e-01
epoch 96 loss = 8.312642e-01
epoch 97 loss = 8.312612e-01
epoch 98 loss = 8.312589e-01
epoch 99 loss = 8.312566e-01
epoch 100 loss = 8.312548e-01
epoch 101 loss = 8.31251e-01
epoch 102 loss = 8.31248e-01
epoch 103 loss = 8.312460e-01
epoch 104 loss = 8.312444e-01
epoch 105 loss = 8.312429e-01
epoch 106 loss = 8.312404e-01
epoch 107 loss = 8.312385e-01
epoch 108 loss = 8.312363e-01
epoch 109 loss = 8.312335e-01
epoch 110 loss = 8.312314e-01
epoch 111 loss = 8.3123e-01
epoch 112 loss = 8.31228e-01
epoch 113 loss = 8.312266e-01
epoch 114 loss = 8.312231e-01
epoch 115 loss = 8.312215e-01
epoch 116 loss = 8.312200e-01
epoch 117 loss = 8.312191e-01
epoch 118 loss = 8.312160e-01
epoch 119 loss = 8.312134e-01
epoch 120 loss = 8.312097e-01
epoch 121 loss = 8.312078e-01
epoch 122 loss = 8.312053e-01
epoch 123 loss = 8.312038e-01
epoch 124 loss = 8.312024e-01
epoch 125 loss = 8.312009e-01
epoch 126 loss = 8.311992e-01
epoch 127 loss = 8.311962e-01
epoch 128 loss = 8.311918e-01
epoch 129 loss = 8.311903e-01
epoch 130 loss = 8.311891e-01
epoch 131 loss = 8.311878e-01
epoch 132 loss = 8.311858e-01
epoch 133 loss = 8.311845e-01
epoch 134 loss = 8.311809e-01
epoch 135 loss = 8.311756e-01
epoch 136 loss = 8.311727e-01
epoch 137 loss = 8.311707e-01
epoch 138 loss = 8.311685e-01
epoch 139 loss = 8.311674e-01
epoch 140 loss = 8.311667e-01
epoch 141 loss = 8.311630e-01
epoch 142 loss = 8.311599e-01
epoch 143 loss = 8.311569e-01
epoch 144 loss = 8.311549e-01
epoch 145 loss = 8.311534e-01
epoch 146 loss = 8.311523e-01
epoch 147 loss = 8.311507e-01
epoch 148 loss = 8.311488e-01
epoch 149 loss = 8.311469e-01
epoch 150 loss = 8.311439e-01
epoch 151 loss = 8.311369e-01
epoch 152 loss = 8.31135e-01
epoch 153 loss = 8.311337e-01
epoch 154 loss = 8.311321e-01
epoch 155 loss = 8.311305e-01
epoch 156 loss = 8.311294e-01
epoch 157 loss = 8.311266e-01
epoch 158 loss = 8.311222e-01
epoch 159 loss = 8.311205e-01
epoch 160 loss = 8.311189e-01
epoch 161 loss = 8.311168e-01
epoch 162 loss = 8.311146e-01
epoch 163 loss = 8.311132e-01
epoch 164 loss = 8.311105e-01
epoch 165 loss = 8.311085e-01
epoch 166 loss = 8.311075e-01
epoch 167 loss = 8.311064e-01
epoch 168 loss = 8.311056e-01
epoch 169 loss = 8.311050e-01
epoch 170 loss = 8.311040e-01
epoch 171 loss = 8.311030e-01
epoch 172 loss = 8.311023e-01
epoch 173 loss = 8.311015e-01
epoch 174 loss = 8.311004e-01
epoch 175 loss = 8.310979e-01
epoch 176 loss = 8.310963e-01
epoch 177 loss = 8.310956e-01
epoch 178 loss = 8.31095e-01
epoch 179 loss = 8.310943e-01
epoch 180 loss = 8.310934e-01
epoch 181 loss = 8.310925e-01
epoch 182 loss = 8.310920e-01
epoch 183 loss = 8.310916e-01
epoch 184 loss = 8.310911e-01
epoch 185 loss = 8.310909e-01
epoch 186 loss = 8.310905e-01
epoch 187 loss = 8.310899e-01
epoch 188 loss = 8.310892e-01
epoch 189 loss = 8.310887e-01
epoch 190 loss = 8.310881e-01
epoch 191 loss = 8.310866e-01
epoch 192 loss = 8.310847e-01
epoch 193 loss = 8.310803e-01
epoch 194 loss = 8.310795e-01
epoch 195 loss = 8.310778e-01
epoch 196 loss = 8.310769e-01
epoch 197 loss = 8.310761e-01
epoch 198 loss = 8.310752e-01
epoch 199 loss = 8.310744e-01
epoch 200 loss = 8.310739e-01
epoch 201 loss = 8.310735e-01
epoch 202 loss = 8.310729e-01
epoch 203 loss = 8.310722e-01
epoch 204 loss = 8.310711e-01
epoch 205 loss = 8.310697e-01
epoch 206 loss = 8.310686e-01
epoch 207 loss = 8.310677e-01
epoch 208 loss = 8.31067e-01
epoch 209 loss = 8.310659e-01
epoch 210 loss = 8.310639e-01
epoch 211 loss = 8.310593e-01
epoch 212 loss = 8.310549e-01
epoch 213 loss = 8.310541e-01
epoch 214 loss = 8.310532e-01
epoch 215 loss = 8.310525e-01
epoch 216 loss = 8.310515e-01
epoch 217 loss = 8.310507e-01
epoch 218 loss = 8.310494e-01
epoch 219 loss = 8.310482e-01
epoch 220 loss = 8.310474e-01
epoch 221 loss = 8.31047e-01
epoch 222 loss = 8.310463e-01
epoch 223 loss = 8.310458e-01
epoch 224 loss = 8.31045e-01
epoch 225 loss = 8.310432e-01
epoch 226 loss = 8.310417e-01
epoch 227 loss = 8.310411e-01
epoch 228 loss = 8.310394e-01
epoch 229 loss = 8.310387e-01
epoch 230 loss = 8.310378e-01
epoch 231 loss = 8.310371e-01
epoch 232 loss = 8.310366e-01
epoch 233 loss = 8.310360e-01
epoch 234 loss = 8.310348e-01
epoch 235 loss = 8.310338e-01
epoch 236 loss = 8.310333e-01
epoch 237 loss = 8.310328e-01
epoch 238 loss = 8.310319e-01
epoch 239 loss = 8.310314e-01
epoch 240 loss = 8.310307e-01
epoch 241 loss = 8.310289e-01
epoch 242 loss = 8.310279e-01
epoch 243 loss = 8.310264e-01
epoch 244 loss = 8.310245e-01
epoch 245 loss = 8.310214e-01
epoch 246 loss = 8.310193e-01
epoch 247 loss = 8.310179e-01
epoch 248 loss = 8.310172e-01
epoch 249 loss = 8.310156e-01
epoch 250 loss = 8.310147e-01
epoch 251 loss = 8.310138e-01
epoch 252 loss = 8.310126e-01
epoch 253 loss = 8.310117e-01
epoch 254 loss = 8.310109e-01
epoch 255 loss = 8.310102e-01
epoch 256 loss = 8.310096e-01
epoch 257 loss = 8.310091e-01
epoch 258 loss = 8.310083e-01
epoch 259 loss = 8.310077e-01
epoch 260 loss = 8.310073e-01
epoch 261 loss = 8.310066e-01
epoch 262 loss = 8.310058e-01
epoch 263 loss = 8.310053e-01
epoch 264 loss = 8.310048e-01
epoch 265 loss = 8.310042e-01
epoch 266 loss = 8.310034e-01
epoch 267 loss = 8.310031e-01
epoch 268 loss = 8.310027e-01
epoch 269 loss = 8.310024e-01
epoch 270 loss = 8.310023e-01
epoch 271 loss = 8.310021e-01
epoch 272 loss = 8.310014e-01
epoch 273 loss = 8.310003e-01
epoch 274 loss = 8.30999e-01
epoch 275 loss = 8.309976e-01
epoch 276 loss = 8.309965e-01
epoch 277 loss = 8.309955e-01
epoch 278 loss = 8.309952e-01
epoch 279 loss = 8.309949e-01
epoch 280 loss = 8.309946e-01
epoch 281 loss = 8.309942e-01
epoch 282 loss = 8.309928e-01
epoch 283 loss = 8.309919e-01
epoch 284 loss = 8.309905e-01
epoch 285 loss = 8.309893e-01
epoch 286 loss = 8.309882e-01
epoch 287 loss = 8.309877e-01
epoch 288 loss = 8.309871e-01
epoch 289 loss = 8.309866e-01
epoch 290 loss = 8.309860e-01
epoch 291 loss = 8.309855e-01
epoch 292 loss = 8.30985e-01
epoch 293 loss = 8.309844e-01
epoch 294 loss = 8.309837e-01
epoch 295 loss = 8.309831e-01
epoch 296 loss = 8.309828e-01
epoch 297 loss = 8.309824e-01
epoch 298 loss = 8.309814e-01
epoch 299 loss = 8.309805e-01
epoch 300 loss = 8.309803e-01
epoch 301 loss = 8.309795e-01
epoch 302 loss = 8.309786e-01
epoch 303 loss = 8.309772e-01
epoch 304 loss = 8.309743e-01
epoch 305 loss = 8.309735e-01
epoch 306 loss = 8.30973e-01
epoch 307 loss = 8.309725e-01
epoch 308 loss = 8.309716e-01
epoch 309 loss = 8.309705e-01
epoch 310 loss = 8.309699e-01
epoch 311 loss = 8.309690e-01
epoch 312 loss = 8.309684e-01
epoch 313 loss = 8.309678e-01
epoch 314 loss = 8.309672e-01
epoch 315 loss = 8.309664e-01
epoch 316 loss = 8.30966e-01
epoch 317 loss = 8.309653e-01
epoch 318 loss = 8.309647e-01
epoch 319 loss = 8.309646e-01
epoch 320 loss = 8.309643e-01
epoch 321 loss = 8.309639e-01
epoch 322 loss = 8.309627e-01
epoch 323 loss = 8.309609e-01
epoch 324 loss = 8.309603e-01
epoch 325 loss = 8.309597e-01
epoch 326 loss = 8.309591e-01
epoch 327 loss = 8.309585e-01
epoch 328 loss = 8.309575e-01
epoch 329 loss = 8.309568e-01
epoch 330 loss = 8.309563e-01
epoch 331 loss = 8.309559e-01
epoch 332 loss = 8.309557e-01
epoch 333 loss = 8.309554e-01
epoch 334 loss = 8.309551e-01
epoch 335 loss = 8.309545e-01
epoch 336 loss = 8.309540e-01
epoch 337 loss = 8.309538e-01
epoch 338 loss = 8.309534e-01
epoch 339 loss = 8.309530e-01
epoch 340 loss = 8.309526e-01
epoch 341 loss = 8.309523e-01
epoch 342 loss = 8.309521e-01
epoch 343 loss = 8.309518e-01
epoch 344 loss = 8.309513e-01
epoch 345 loss = 8.309511e-01
epoch 346 loss = 8.309508e-01
epoch 347 loss = 8.309505e-01
epoch 348 loss = 8.309502e-01
epoch 349 loss = 8.309499e-01
epoch 350 loss = 8.309497e-01
epoch 351 loss = 8.309494e-01
epoch 352 loss = 8.309491e-01
epoch 353 loss = 8.309486e-01
epoch 354 loss = 8.309485e-01
epoch 355 loss = 8.309482e-01
epoch 356 loss = 8.30948e-01
epoch 357 loss = 8.309478e-01
epoch 358 loss = 8.309476e-01
epoch 359 loss = 8.309474e-01
epoch 360 loss = 8.30947e-01
epoch 361 loss = 8.309467e-01
epoch 362 loss = 8.309463e-01
epoch 363 loss = 8.309459e-01
epoch 364 loss = 8.309458e-01
epoch 365 loss = 8.309455e-01
epoch 366 loss = 8.309449e-01
epoch 367 loss = 8.309441e-01
epoch 368 loss = 8.309436e-01
epoch 369 loss = 8.309430e-01
epoch 370 loss = 8.30942e-01
epoch 371 loss = 8.309414e-01
epoch 372 loss = 8.309409e-01
epoch 373 loss = 8.309407e-01
epoch 374 loss = 8.309404e-01
epoch 375 loss = 8.309401e-01
epoch 376 loss = 8.309394e-01
epoch 377 loss = 8.309393e-01
epoch 378 loss = 8.309391e-01
epoch 379 loss = 8.309388e-01
epoch 380 loss = 8.309386e-01
epoch 381 loss = 8.309384e-01
epoch 382 loss = 8.309381e-01
epoch 383 loss = 8.309377e-01
epoch 384 loss = 8.30937e-01
epoch 385 loss = 8.309364e-01
epoch 386 loss = 8.309361e-01
epoch 387 loss = 8.309358e-01
epoch 388 loss = 8.309356e-01
epoch 389 loss = 8.309353e-01
epoch 390 loss = 8.309351e-01
epoch 391 loss = 8.30935e-01
epoch 392 loss = 8.309347e-01
epoch 393 loss = 8.309344e-01
epoch 394 loss = 8.309341e-01
epoch 395 loss = 8.309339e-01
epoch 396 loss = 8.309337e-01
epoch 397 loss = 8.309332e-01
epoch 398 loss = 8.309329e-01
epoch 399 loss = 8.309326e-01
epoch 400 loss = 8.309317e-01
epoch 401 loss = 8.309310e-01
epoch 402 loss = 8.309304e-01
epoch 403 loss = 8.309298e-01
epoch 404 loss = 8.309295e-01
epoch 405 loss = 8.309292e-01
epoch 406 loss = 8.309289e-01
epoch 407 loss = 8.309286e-01
epoch 408 loss = 8.309282e-01
epoch 409 loss = 8.309279e-01
epoch 410 loss = 8.309276e-01
epoch 411 loss = 8.309274e-01
epoch 412 loss = 8.309272e-01
epoch 413 loss = 8.309269e-01
epoch 414 loss = 8.309262e-01
epoch 415 loss = 8.309252e-01
epoch 416 loss = 8.309249e-01
epoch 417 loss = 8.309246e-01
epoch 418 loss = 8.309242e-01
epoch 419 loss = 8.309238e-01
epoch 420 loss = 8.309231e-01
epoch 421 loss = 8.30923e-01
epoch 422 loss = 8.309228e-01
epoch 423 loss = 8.309226e-01
epoch 424 loss = 8.309225e-01
epoch 425 loss = 8.309223e-01
epoch 426 loss = 8.309221e-01
epoch 427 loss = 8.309215e-01
epoch 428 loss = 8.30921e-01
epoch 429 loss = 8.309204e-01
epoch 430 loss = 8.3092e-01
epoch 431 loss = 8.309197e-01
epoch 432 loss = 8.309194e-01
epoch 433 loss = 8.309193e-01
epoch 434 loss = 8.309191e-01
epoch 435 loss = 8.309191e-01
*************** END FIRST PHASE ***************

* Training time: 43.55688786506653s
* Average epoch time: 0.10013077670130237s
***************** END TRAINING ****************

* Training time: 59.90211486816406s

1.25 1.0
1.25 1.0
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.18

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           88

refinement_list  [2, 2, 2, 2]
max_refinement  5

* Refinement level: 0

**************** START TRAINING ***************

epoch 2 loss = 9.409293e-01
epoch 3 loss = 9.326742e-01
epoch 4 loss = 9.302162e-01
epoch 5 loss = 9.301275e-01
epoch 6 loss = 9.228394e-01
epoch 7 loss = 9.201543e-01
epoch 8 loss = 9.191933e-01
epoch 9 loss = 9.182173e-01
epoch 10 loss = 9.178054e-01
epoch 11 loss = 9.177280e-01
epoch 12 loss = 9.176661e-01
epoch 13 loss = 9.176588e-01
epoch 14 loss = 9.176573e-01
epoch 15 loss = 9.176560e-01
epoch 16 loss = 9.176556e-01
epoch 17 loss = 9.176554e-01
epoch 18 loss = 9.176554e-01
*************** END FIRST PHASE ***************

* Training time: 0.7432348728179932s
* Average epoch time: 0.04129082626766629s
MaxElemSize  1.0

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           288


* Refinement level: 1

**************** START TRAINING ***************

epoch 2 loss = 8.695052e-01
epoch 3 loss = 8.635700e-01
epoch 4 loss = 8.62577e-01
epoch 5 loss = 8.603355e-01
epoch 6 loss = 8.59372e-01
epoch 7 loss = 8.590744e-01
epoch 8 loss = 8.586749e-01
epoch 9 loss = 8.583085e-01
epoch 10 loss = 8.579921e-01
epoch 11 loss = 8.577341e-01
epoch 12 loss = 8.57506e-01
epoch 13 loss = 8.572058e-01
epoch 14 loss = 8.568156e-01
epoch 15 loss = 8.567132e-01
epoch 16 loss = 8.566005e-01
epoch 17 loss = 8.564941e-01
epoch 18 loss = 8.564208e-01
epoch 19 loss = 8.561745e-01
epoch 20 loss = 8.5574e-01
epoch 21 loss = 8.554015e-01
epoch 22 loss = 8.550869e-01
epoch 23 loss = 8.549649e-01
epoch 24 loss = 8.548110e-01
epoch 25 loss = 8.547096e-01
epoch 26 loss = 8.546175e-01
epoch 27 loss = 8.545337e-01
epoch 28 loss = 8.544917e-01
epoch 29 loss = 8.544008e-01
epoch 30 loss = 8.543176e-01
epoch 31 loss = 8.542525e-01
epoch 32 loss = 8.542035e-01
epoch 33 loss = 8.541729e-01
epoch 34 loss = 8.541479e-01
epoch 35 loss = 8.541317e-01
epoch 36 loss = 8.540842e-01
epoch 37 loss = 8.540491e-01
epoch 38 loss = 8.539881e-01
epoch 39 loss = 8.539308e-01
epoch 40 loss = 8.538889e-01
epoch 41 loss = 8.538704e-01
epoch 42 loss = 8.538465e-01
epoch 43 loss = 8.538223e-01
epoch 44 loss = 8.538002e-01
epoch 45 loss = 8.537797e-01
epoch 46 loss = 8.537454e-01
epoch 47 loss = 8.537242e-01
epoch 48 loss = 8.536884e-01
epoch 49 loss = 8.536722e-01
epoch 50 loss = 8.536447e-01
epoch 51 loss = 8.535793e-01
epoch 52 loss = 8.535140e-01
epoch 53 loss = 8.534661e-01
epoch 54 loss = 8.534404e-01
epoch 55 loss = 8.533833e-01
epoch 56 loss = 8.533674e-01
epoch 57 loss = 8.531649e-01
epoch 58 loss = 8.530858e-01
epoch 59 loss = 8.529728e-01
epoch 60 loss = 8.529489e-01
epoch 61 loss = 8.529000e-01
epoch 62 loss = 8.528631e-01
epoch 63 loss = 8.528269e-01
epoch 64 loss = 8.528056e-01
epoch 65 loss = 8.527741e-01
epoch 66 loss = 8.527561e-01
epoch 67 loss = 8.527417e-01
epoch 68 loss = 8.526271e-01
epoch 69 loss = 8.525868e-01
epoch 70 loss = 8.525449e-01
epoch 71 loss = 8.525142e-01
epoch 72 loss = 8.524923e-01
epoch 73 loss = 8.524700e-01
epoch 74 loss = 8.524559e-01
epoch 75 loss = 8.524384e-01
epoch 76 loss = 8.524247e-01
epoch 77 loss = 8.524104e-01
epoch 78 loss = 8.524041e-01
epoch 79 loss = 8.523936e-01
epoch 80 loss = 8.523847e-01
epoch 81 loss = 8.523756e-01
epoch 82 loss = 8.52366e-01
epoch 83 loss = 8.523567e-01
epoch 84 loss = 8.523446e-01
epoch 85 loss = 8.523366e-01
epoch 86 loss = 8.523204e-01
epoch 87 loss = 8.523047e-01
epoch 88 loss = 8.522931e-01
epoch 89 loss = 8.522801e-01
epoch 90 loss = 8.522722e-01
epoch 91 loss = 8.522657e-01
epoch 92 loss = 8.522539e-01
epoch 93 loss = 8.522443e-01
epoch 94 loss = 8.522384e-01
epoch 95 loss = 8.522304e-01
epoch 96 loss = 8.522188e-01
epoch 97 loss = 8.522128e-01
epoch 98 loss = 8.522017e-01
epoch 99 loss = 8.521905e-01
epoch 100 loss = 8.521558e-01
epoch 101 loss = 8.521340e-01
epoch 102 loss = 8.521036e-01
epoch 103 loss = 8.520936e-01
epoch 104 loss = 8.520848e-01
epoch 105 loss = 8.520772e-01
epoch 106 loss = 8.520700e-01
epoch 107 loss = 8.520673e-01
epoch 108 loss = 8.520565e-01
epoch 109 loss = 8.520541e-01
epoch 110 loss = 8.520487e-01
epoch 111 loss = 8.520427e-01
epoch 112 loss = 8.520336e-01
epoch 113 loss = 8.520266e-01
epoch 114 loss = 8.520205e-01
epoch 115 loss = 8.520114e-01
epoch 116 loss = 8.520008e-01
epoch 117 loss = 8.519926e-01
epoch 118 loss = 8.519863e-01
epoch 119 loss = 8.519831e-01
epoch 120 loss = 8.519776e-01
epoch 121 loss = 8.519740e-01
epoch 122 loss = 8.519688e-01
epoch 123 loss = 8.519657e-01
epoch 124 loss = 8.519634e-01
epoch 125 loss = 8.519587e-01
epoch 126 loss = 8.519538e-01
epoch 127 loss = 8.519456e-01
epoch 128 loss = 8.519412e-01
epoch 129 loss = 8.519336e-01
epoch 130 loss = 8.519308e-01
epoch 131 loss = 8.519275e-01
epoch 132 loss = 8.519242e-01
epoch 133 loss = 8.519216e-01
epoch 134 loss = 8.519183e-01
epoch 135 loss = 8.519153e-01
epoch 136 loss = 8.519115e-01
epoch 137 loss = 8.519064e-01
epoch 138 loss = 8.518991e-01
epoch 139 loss = 8.518957e-01
epoch 140 loss = 8.518931e-01
epoch 141 loss = 8.518893e-01
epoch 142 loss = 8.518877e-01
epoch 143 loss = 8.518845e-01
epoch 144 loss = 8.518818e-01
epoch 145 loss = 8.518783e-01
epoch 146 loss = 8.518757e-01
epoch 147 loss = 8.518689e-01
epoch 148 loss = 8.518644e-01
epoch 149 loss = 8.518591e-01
epoch 150 loss = 8.518561e-01
epoch 151 loss = 8.518474e-01
epoch 152 loss = 8.51845e-01
epoch 153 loss = 8.518293e-01
epoch 154 loss = 8.518237e-01
epoch 155 loss = 8.518193e-01
epoch 156 loss = 8.518153e-01
epoch 157 loss = 8.518140e-01
epoch 158 loss = 8.518125e-01
epoch 159 loss = 8.518106e-01
epoch 160 loss = 8.518083e-01
epoch 161 loss = 8.51806e-01
epoch 162 loss = 8.518027e-01
epoch 163 loss = 8.517994e-01
epoch 164 loss = 8.517984e-01
epoch 165 loss = 8.517970e-01
epoch 166 loss = 8.517961e-01
epoch 167 loss = 8.517955e-01
epoch 168 loss = 8.517947e-01
epoch 169 loss = 8.517938e-01
epoch 170 loss = 8.517921e-01
epoch 171 loss = 8.517906e-01
epoch 172 loss = 8.517896e-01
epoch 173 loss = 8.517887e-01
epoch 174 loss = 8.517881e-01
epoch 175 loss = 8.517870e-01
epoch 176 loss = 8.517859e-01
epoch 177 loss = 8.517853e-01
epoch 178 loss = 8.517842e-01
epoch 179 loss = 8.517825e-01
epoch 180 loss = 8.517813e-01
epoch 181 loss = 8.517792e-01
epoch 182 loss = 8.517776e-01
epoch 183 loss = 8.51751e-01
epoch 184 loss = 8.517501e-01
epoch 185 loss = 8.517484e-01
epoch 186 loss = 8.517471e-01
epoch 187 loss = 8.517453e-01
epoch 188 loss = 8.517448e-01
epoch 189 loss = 8.517436e-01
epoch 190 loss = 8.517425e-01
epoch 191 loss = 8.517413e-01
epoch 192 loss = 8.517399e-01
epoch 193 loss = 8.517395e-01
epoch 194 loss = 8.517391e-01
epoch 195 loss = 8.517376e-01
epoch 196 loss = 8.517369e-01
epoch 197 loss = 8.517357e-01
epoch 198 loss = 8.517348e-01
epoch 199 loss = 8.517342e-01
epoch 200 loss = 8.517333e-01
epoch 201 loss = 8.517321e-01
epoch 202 loss = 8.517316e-01
epoch 203 loss = 8.517316e-01
*************** END FIRST PHASE ***************

* Training time: 9.502088069915771s
* Average epoch time: 0.04680831561534863s
MaxElemSize  0.5

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           968


* Refinement level: 2

**************** START TRAINING ***************

epoch 2 loss = 8.415999e-01
epoch 3 loss = 8.407315e-01
epoch 4 loss = 8.40278e-01
epoch 5 loss = 8.400137e-01
epoch 6 loss = 8.398222e-01
epoch 7 loss = 8.393927e-01
epoch 8 loss = 8.392722e-01
epoch 9 loss = 8.390688e-01
epoch 10 loss = 8.389818e-01
epoch 11 loss = 8.38764e-01
epoch 12 loss = 8.386736e-01
epoch 13 loss = 8.385501e-01
epoch 14 loss = 8.384564e-01
epoch 15 loss = 8.38433e-01
epoch 16 loss = 8.383423e-01
epoch 17 loss = 8.382858e-01
epoch 18 loss = 8.382151e-01
epoch 19 loss = 8.381489e-01
epoch 20 loss = 8.380855e-01
epoch 21 loss = 8.380164e-01
epoch 22 loss = 8.379771e-01
epoch 23 loss = 8.379299e-01
epoch 24 loss = 8.378895e-01
epoch 25 loss = 8.378777e-01
epoch 26 loss = 8.378421e-01
epoch 27 loss = 8.378131e-01
epoch 28 loss = 8.377704e-01
epoch 29 loss = 8.377449e-01
epoch 30 loss = 8.377121e-01
epoch 31 loss = 8.376752e-01
epoch 32 loss = 8.376287e-01
epoch 33 loss = 8.375926e-01
epoch 34 loss = 8.375636e-01
epoch 35 loss = 8.375426e-01
epoch 36 loss = 8.375202e-01
epoch 37 loss = 8.375021e-01
epoch 38 loss = 8.374759e-01
epoch 39 loss = 8.37463e-01
epoch 40 loss = 8.374552e-01
epoch 41 loss = 8.374441e-01
epoch 42 loss = 8.374297e-01
epoch 43 loss = 8.374202e-01
epoch 44 loss = 8.374076e-01
epoch 45 loss = 8.373868e-01
epoch 46 loss = 8.373702e-01
epoch 47 loss = 8.373566e-01
epoch 48 loss = 8.373394e-01
epoch 49 loss = 8.373293e-01
epoch 50 loss = 8.373152e-01
epoch 51 loss = 8.373067e-01
epoch 52 loss = 8.372996e-01
epoch 53 loss = 8.372835e-01
epoch 54 loss = 8.372635e-01
epoch 55 loss = 8.372555e-01
epoch 56 loss = 8.372413e-01
epoch 57 loss = 8.372331e-01
epoch 58 loss = 8.371737e-01
epoch 59 loss = 8.371635e-01
epoch 60 loss = 8.371469e-01
epoch 61 loss = 8.371272e-01
epoch 62 loss = 8.371142e-01
epoch 63 loss = 8.370983e-01
epoch 64 loss = 8.370918e-01
epoch 65 loss = 8.370889e-01
epoch 66 loss = 8.370859e-01
epoch 67 loss = 8.370746e-01
epoch 68 loss = 8.370679e-01
epoch 69 loss = 8.37033e-01
epoch 70 loss = 8.370315e-01
epoch 71 loss = 8.370274e-01
epoch 72 loss = 8.370261e-01
epoch 73 loss = 8.370222e-01
epoch 74 loss = 8.370136e-01
epoch 75 loss = 8.370063e-01
epoch 76 loss = 8.369848e-01
epoch 77 loss = 8.369789e-01
epoch 78 loss = 8.36976e-01
epoch 79 loss = 8.369718e-01
epoch 80 loss = 8.369656e-01
epoch 81 loss = 8.369616e-01
epoch 82 loss = 8.36955e-01
epoch 83 loss = 8.369454e-01
epoch 84 loss = 8.369366e-01
epoch 85 loss = 8.369338e-01
epoch 86 loss = 8.369311e-01
epoch 87 loss = 8.369281e-01
epoch 88 loss = 8.369219e-01
epoch 89 loss = 8.369150e-01
epoch 90 loss = 8.369056e-01
epoch 91 loss = 8.36897e-01
epoch 92 loss = 8.368698e-01
epoch 93 loss = 8.368635e-01
epoch 94 loss = 8.368552e-01
epoch 95 loss = 8.368477e-01
epoch 96 loss = 8.368415e-01
epoch 97 loss = 8.368334e-01
epoch 98 loss = 8.368267e-01
epoch 99 loss = 8.368230e-01
epoch 100 loss = 8.368207e-01
epoch 101 loss = 8.368193e-01
epoch 102 loss = 8.368174e-01
epoch 103 loss = 8.368139e-01
epoch 104 loss = 8.36809e-01
epoch 105 loss = 8.367998e-01
epoch 106 loss = 8.367942e-01
epoch 107 loss = 8.367925e-01
epoch 108 loss = 8.367883e-01
epoch 109 loss = 8.367808e-01
epoch 110 loss = 8.367755e-01
epoch 111 loss = 8.36766e-01
epoch 112 loss = 8.367621e-01
epoch 113 loss = 8.367597e-01
epoch 114 loss = 8.367586e-01
epoch 115 loss = 8.367577e-01
epoch 116 loss = 8.367576e-01
epoch 117 loss = 8.367576e-01
*************** END FIRST PHASE ***************

* Training time: 6.4739768505096436s
* Average epoch time: 0.055333135474441394s
MaxElemSize  0.25

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           3608


* Refinement level: 3

**************** START TRAINING ***************

epoch 2 loss = 8.32593e-01
epoch 3 loss = 8.324259e-01
epoch 4 loss = 8.323171e-01
epoch 5 loss = 8.322460e-01
epoch 6 loss = 8.32209e-01
epoch 7 loss = 8.321875e-01
epoch 8 loss = 8.321347e-01
epoch 9 loss = 8.320842e-01
epoch 10 loss = 8.320482e-01
epoch 11 loss = 8.319900e-01
epoch 12 loss = 8.319748e-01
epoch 13 loss = 8.319444e-01
epoch 14 loss = 8.319118e-01
epoch 15 loss = 8.318939e-01
epoch 16 loss = 8.318711e-01
epoch 17 loss = 8.318534e-01
epoch 18 loss = 8.318456e-01
epoch 19 loss = 8.318276e-01
epoch 20 loss = 8.31817e-01
epoch 21 loss = 8.318043e-01
epoch 22 loss = 8.317040e-01
epoch 23 loss = 8.31681e-01
epoch 24 loss = 8.3167e-01
epoch 25 loss = 8.316479e-01
epoch 26 loss = 8.316341e-01
epoch 27 loss = 8.316264e-01
epoch 28 loss = 8.316138e-01
epoch 29 loss = 8.315773e-01
epoch 30 loss = 8.315676e-01
epoch 31 loss = 8.315564e-01
epoch 32 loss = 8.315484e-01
epoch 33 loss = 8.315414e-01
epoch 34 loss = 8.315341e-01
epoch 35 loss = 8.315295e-01
epoch 36 loss = 8.315213e-01
epoch 37 loss = 8.315105e-01
epoch 38 loss = 8.314961e-01
epoch 39 loss = 8.314881e-01
epoch 40 loss = 8.314835e-01
epoch 41 loss = 8.314782e-01
epoch 42 loss = 8.314733e-01
epoch 43 loss = 8.314664e-01
epoch 44 loss = 8.314609e-01
epoch 45 loss = 8.314565e-01
epoch 46 loss = 8.314498e-01
epoch 47 loss = 8.314456e-01
epoch 48 loss = 8.314430e-01
epoch 49 loss = 8.314380e-01
epoch 50 loss = 8.314279e-01
epoch 51 loss = 8.314209e-01
epoch 52 loss = 8.314177e-01
epoch 53 loss = 8.314136e-01
epoch 54 loss = 8.314107e-01
epoch 55 loss = 8.314077e-01
epoch 56 loss = 8.314015e-01
epoch 57 loss = 8.313968e-01
epoch 58 loss = 8.313934e-01
epoch 59 loss = 8.313906e-01
epoch 60 loss = 8.313873e-01
epoch 61 loss = 8.313847e-01
epoch 62 loss = 8.313806e-01
epoch 63 loss = 8.313777e-01
epoch 64 loss = 8.313738e-01
epoch 65 loss = 8.313709e-01
epoch 66 loss = 8.313684e-01
epoch 67 loss = 8.313611e-01
epoch 68 loss = 8.313542e-01
epoch 69 loss = 8.313476e-01
epoch 70 loss = 8.313426e-01
epoch 71 loss = 8.313395e-01
epoch 72 loss = 8.313356e-01
epoch 73 loss = 8.313329e-01
epoch 74 loss = 8.313286e-01
epoch 75 loss = 8.313259e-01
epoch 76 loss = 8.313237e-01
epoch 77 loss = 8.313212e-01
epoch 78 loss = 8.313179e-01
epoch 79 loss = 8.313144e-01
epoch 80 loss = 8.313130e-01
epoch 81 loss = 8.313116e-01
epoch 82 loss = 8.31309e-01
epoch 83 loss = 8.313047e-01
epoch 84 loss = 8.313021e-01
epoch 85 loss = 8.312998e-01
epoch 86 loss = 8.312985e-01
epoch 87 loss = 8.312958e-01
epoch 88 loss = 8.312906e-01
epoch 89 loss = 8.312885e-01
epoch 90 loss = 8.312870e-01
epoch 91 loss = 8.312808e-01
epoch 92 loss = 8.312741e-01
epoch 93 loss = 8.31272e-01
epoch 94 loss = 8.312696e-01
epoch 95 loss = 8.312678e-01
epoch 96 loss = 8.312642e-01
epoch 97 loss = 8.312612e-01
epoch 98 loss = 8.312589e-01
epoch 99 loss = 8.312566e-01
epoch 100 loss = 8.312548e-01
epoch 101 loss = 8.31251e-01
epoch 102 loss = 8.31248e-01
epoch 103 loss = 8.312460e-01
epoch 104 loss = 8.312444e-01
epoch 105 loss = 8.312429e-01
epoch 106 loss = 8.312404e-01
epoch 107 loss = 8.312385e-01
epoch 108 loss = 8.312363e-01
epoch 109 loss = 8.312335e-01
epoch 110 loss = 8.312314e-01
epoch 111 loss = 8.3123e-01
epoch 112 loss = 8.31228e-01
epoch 113 loss = 8.312266e-01
epoch 114 loss = 8.312231e-01
epoch 115 loss = 8.312215e-01
epoch 116 loss = 8.312200e-01
epoch 117 loss = 8.312191e-01
epoch 118 loss = 8.312160e-01
epoch 119 loss = 8.312134e-01
epoch 120 loss = 8.312097e-01
epoch 121 loss = 8.312078e-01
epoch 122 loss = 8.312053e-01
epoch 123 loss = 8.312038e-01
epoch 124 loss = 8.312024e-01
epoch 125 loss = 8.312009e-01
epoch 126 loss = 8.311992e-01
epoch 127 loss = 8.311962e-01
epoch 128 loss = 8.311918e-01
epoch 129 loss = 8.311903e-01
epoch 130 loss = 8.311891e-01
epoch 131 loss = 8.311878e-01
epoch 132 loss = 8.311858e-01
epoch 133 loss = 8.311845e-01
epoch 134 loss = 8.311809e-01
epoch 135 loss = 8.311756e-01
epoch 136 loss = 8.311727e-01
epoch 137 loss = 8.311707e-01
epoch 138 loss = 8.311685e-01
epoch 139 loss = 8.311674e-01
epoch 140 loss = 8.311667e-01
epoch 141 loss = 8.311630e-01
epoch 142 loss = 8.311599e-01
epoch 143 loss = 8.311569e-01
epoch 144 loss = 8.311549e-01
epoch 145 loss = 8.311534e-01
epoch 146 loss = 8.311523e-01
epoch 147 loss = 8.311507e-01
epoch 148 loss = 8.311488e-01
epoch 149 loss = 8.311469e-01
epoch 150 loss = 8.311439e-01
epoch 151 loss = 8.311369e-01
epoch 152 loss = 8.31135e-01
epoch 153 loss = 8.311337e-01
epoch 154 loss = 8.311321e-01
epoch 155 loss = 8.311305e-01
epoch 156 loss = 8.311294e-01
epoch 157 loss = 8.311266e-01
epoch 158 loss = 8.311222e-01
epoch 159 loss = 8.311205e-01
epoch 160 loss = 8.311189e-01
epoch 161 loss = 8.311168e-01
epoch 162 loss = 8.311146e-01
epoch 163 loss = 8.311132e-01
epoch 164 loss = 8.311105e-01
epoch 165 loss = 8.311085e-01
epoch 166 loss = 8.311075e-01
epoch 167 loss = 8.311064e-01
epoch 168 loss = 8.311056e-01
epoch 169 loss = 8.311050e-01
epoch 170 loss = 8.311040e-01
epoch 171 loss = 8.311030e-01
epoch 172 loss = 8.311023e-01
epoch 173 loss = 8.311015e-01
epoch 174 loss = 8.311004e-01
epoch 175 loss = 8.310979e-01
epoch 176 loss = 8.310963e-01
epoch 177 loss = 8.310956e-01
epoch 178 loss = 8.31095e-01
epoch 179 loss = 8.310943e-01
epoch 180 loss = 8.310934e-01
epoch 181 loss = 8.310925e-01
epoch 182 loss = 8.310920e-01
epoch 183 loss = 8.310916e-01
epoch 184 loss = 8.310911e-01
epoch 185 loss = 8.310909e-01
epoch 186 loss = 8.310905e-01
epoch 187 loss = 8.310899e-01
epoch 188 loss = 8.310892e-01
epoch 189 loss = 8.310887e-01
epoch 190 loss = 8.310881e-01
epoch 191 loss = 8.310866e-01
epoch 192 loss = 8.310847e-01
epoch 193 loss = 8.310803e-01
epoch 194 loss = 8.310795e-01
epoch 195 loss = 8.310778e-01
epoch 196 loss = 8.310769e-01
epoch 197 loss = 8.310761e-01
epoch 198 loss = 8.310752e-01
epoch 199 loss = 8.310744e-01
epoch 200 loss = 8.310739e-01
epoch 201 loss = 8.310735e-01
epoch 202 loss = 8.310729e-01
epoch 203 loss = 8.310722e-01
epoch 204 loss = 8.310711e-01
epoch 205 loss = 8.310697e-01
epoch 206 loss = 8.310686e-01
epoch 207 loss = 8.310677e-01
epoch 208 loss = 8.31067e-01
epoch 209 loss = 8.310659e-01
epoch 210 loss = 8.310639e-01
epoch 211 loss = 8.310593e-01
epoch 212 loss = 8.310549e-01
epoch 213 loss = 8.310541e-01
epoch 214 loss = 8.310532e-01
epoch 215 loss = 8.310525e-01
epoch 216 loss = 8.310515e-01
epoch 217 loss = 8.310507e-01
epoch 218 loss = 8.310494e-01
epoch 219 loss = 8.310482e-01
epoch 220 loss = 8.310474e-01
epoch 221 loss = 8.31047e-01
epoch 222 loss = 8.310463e-01
epoch 223 loss = 8.310458e-01
epoch 224 loss = 8.31045e-01
epoch 225 loss = 8.310432e-01
epoch 226 loss = 8.310417e-01
epoch 227 loss = 8.310411e-01
epoch 228 loss = 8.310394e-01
epoch 229 loss = 8.310387e-01
epoch 230 loss = 8.310378e-01
epoch 231 loss = 8.310371e-01
epoch 232 loss = 8.310366e-01
epoch 233 loss = 8.310360e-01
epoch 234 loss = 8.310348e-01
epoch 235 loss = 8.310338e-01
epoch 236 loss = 8.310333e-01
epoch 237 loss = 8.310328e-01
epoch 238 loss = 8.310319e-01
epoch 239 loss = 8.310314e-01
epoch 240 loss = 8.310307e-01
epoch 241 loss = 8.310289e-01
epoch 242 loss = 8.310279e-01
epoch 243 loss = 8.310264e-01
epoch 244 loss = 8.310245e-01
epoch 245 loss = 8.310214e-01
epoch 246 loss = 8.310193e-01
epoch 247 loss = 8.310179e-01
epoch 248 loss = 8.310172e-01
epoch 249 loss = 8.310156e-01
epoch 250 loss = 8.310147e-01
epoch 251 loss = 8.310138e-01
epoch 252 loss = 8.310126e-01
epoch 253 loss = 8.310117e-01
epoch 254 loss = 8.310109e-01
epoch 255 loss = 8.310102e-01
epoch 256 loss = 8.310096e-01
epoch 257 loss = 8.310091e-01
epoch 258 loss = 8.310083e-01
epoch 259 loss = 8.310077e-01
epoch 260 loss = 8.310073e-01
epoch 261 loss = 8.310066e-01
epoch 262 loss = 8.310058e-01
epoch 263 loss = 8.310053e-01
epoch 264 loss = 8.310048e-01
epoch 265 loss = 8.310042e-01
epoch 266 loss = 8.310034e-01
epoch 267 loss = 8.310031e-01
epoch 268 loss = 8.310027e-01
epoch 269 loss = 8.310024e-01
epoch 270 loss = 8.310023e-01
epoch 271 loss = 8.310021e-01
epoch 272 loss = 8.310014e-01
epoch 273 loss = 8.310003e-01
epoch 274 loss = 8.30999e-01
epoch 275 loss = 8.309976e-01
epoch 276 loss = 8.309965e-01
epoch 277 loss = 8.309955e-01
epoch 278 loss = 8.309952e-01
epoch 279 loss = 8.309949e-01
epoch 280 loss = 8.309946e-01
epoch 281 loss = 8.309942e-01
epoch 282 loss = 8.309928e-01
epoch 283 loss = 8.309919e-01
epoch 284 loss = 8.309905e-01
epoch 285 loss = 8.309893e-01
epoch 286 loss = 8.309882e-01
epoch 287 loss = 8.309877e-01
epoch 288 loss = 8.309871e-01
epoch 289 loss = 8.309866e-01
epoch 290 loss = 8.309860e-01
epoch 291 loss = 8.309855e-01
epoch 292 loss = 8.30985e-01
epoch 293 loss = 8.309844e-01
epoch 294 loss = 8.309837e-01
epoch 295 loss = 8.309831e-01
epoch 296 loss = 8.309828e-01
epoch 297 loss = 8.309824e-01
epoch 298 loss = 8.309814e-01
epoch 299 loss = 8.309805e-01
epoch 300 loss = 8.309803e-01
epoch 301 loss = 8.309795e-01
epoch 302 loss = 8.309786e-01
epoch 303 loss = 8.309772e-01
epoch 304 loss = 8.309743e-01
epoch 305 loss = 8.309735e-01
epoch 306 loss = 8.30973e-01
epoch 307 loss = 8.309725e-01
epoch 308 loss = 8.309716e-01
epoch 309 loss = 8.309705e-01
epoch 310 loss = 8.309699e-01
epoch 311 loss = 8.309690e-01
epoch 312 loss = 8.309684e-01
epoch 313 loss = 8.309678e-01
epoch 314 loss = 8.309672e-01
epoch 315 loss = 8.309664e-01
epoch 316 loss = 8.30966e-01
epoch 317 loss = 8.309653e-01
epoch 318 loss = 8.309647e-01
epoch 319 loss = 8.309646e-01
epoch 320 loss = 8.309643e-01
epoch 321 loss = 8.309639e-01
epoch 322 loss = 8.309627e-01
epoch 323 loss = 8.309609e-01
epoch 324 loss = 8.309603e-01
epoch 325 loss = 8.309597e-01
epoch 326 loss = 8.309591e-01
epoch 327 loss = 8.309585e-01
epoch 328 loss = 8.309575e-01
epoch 329 loss = 8.309568e-01
epoch 330 loss = 8.309563e-01
epoch 331 loss = 8.309559e-01
epoch 332 loss = 8.309557e-01
epoch 333 loss = 8.309554e-01
epoch 334 loss = 8.309551e-01
epoch 335 loss = 8.309545e-01
epoch 336 loss = 8.309540e-01
epoch 337 loss = 8.309538e-01
epoch 338 loss = 8.309534e-01
epoch 339 loss = 8.309530e-01
epoch 340 loss = 8.309526e-01
epoch 341 loss = 8.309523e-01
epoch 342 loss = 8.309521e-01
epoch 343 loss = 8.309518e-01
epoch 344 loss = 8.309513e-01
epoch 345 loss = 8.309511e-01
epoch 346 loss = 8.309508e-01
epoch 347 loss = 8.309505e-01
epoch 348 loss = 8.309502e-01
epoch 349 loss = 8.309499e-01
epoch 350 loss = 8.309497e-01
epoch 351 loss = 8.309494e-01
epoch 352 loss = 8.309491e-01
epoch 353 loss = 8.309486e-01
epoch 354 loss = 8.309485e-01
epoch 355 loss = 8.309482e-01
epoch 356 loss = 8.30948e-01
epoch 357 loss = 8.309478e-01
epoch 358 loss = 8.309476e-01
epoch 359 loss = 8.309474e-01
epoch 360 loss = 8.30947e-01
epoch 361 loss = 8.309467e-01
epoch 362 loss = 8.309463e-01
epoch 363 loss = 8.309459e-01
epoch 364 loss = 8.309458e-01
epoch 365 loss = 8.309455e-01
epoch 366 loss = 8.309449e-01
epoch 367 loss = 8.309441e-01
epoch 368 loss = 8.309436e-01
epoch 369 loss = 8.309430e-01
epoch 370 loss = 8.30942e-01
epoch 371 loss = 8.309414e-01
epoch 372 loss = 8.309409e-01
epoch 373 loss = 8.309407e-01
epoch 374 loss = 8.309404e-01
epoch 375 loss = 8.309401e-01
epoch 376 loss = 8.309394e-01
epoch 377 loss = 8.309393e-01
epoch 378 loss = 8.309391e-01
epoch 379 loss = 8.309388e-01
epoch 380 loss = 8.309386e-01
epoch 381 loss = 8.309384e-01
epoch 382 loss = 8.309381e-01
epoch 383 loss = 8.309377e-01
epoch 384 loss = 8.30937e-01
epoch 385 loss = 8.309364e-01
epoch 386 loss = 8.309361e-01
epoch 387 loss = 8.309358e-01
epoch 388 loss = 8.309356e-01
epoch 389 loss = 8.309353e-01
epoch 390 loss = 8.309351e-01
epoch 391 loss = 8.30935e-01
epoch 392 loss = 8.309347e-01
epoch 393 loss = 8.309344e-01
epoch 394 loss = 8.309341e-01
epoch 395 loss = 8.309339e-01
epoch 396 loss = 8.309337e-01
epoch 397 loss = 8.309332e-01
epoch 398 loss = 8.309329e-01
epoch 399 loss = 8.309326e-01
epoch 400 loss = 8.309317e-01
epoch 401 loss = 8.309310e-01
epoch 402 loss = 8.309304e-01
epoch 403 loss = 8.309298e-01
epoch 404 loss = 8.309295e-01
epoch 405 loss = 8.309292e-01
epoch 406 loss = 8.309289e-01
epoch 407 loss = 8.309286e-01
epoch 408 loss = 8.309282e-01
epoch 409 loss = 8.309279e-01
epoch 410 loss = 8.309276e-01
epoch 411 loss = 8.309274e-01
epoch 412 loss = 8.309272e-01
epoch 413 loss = 8.309269e-01
epoch 414 loss = 8.309262e-01
epoch 415 loss = 8.309252e-01
epoch 416 loss = 8.309249e-01
epoch 417 loss = 8.309246e-01
epoch 418 loss = 8.309242e-01
epoch 419 loss = 8.309238e-01
epoch 420 loss = 8.309231e-01
epoch 421 loss = 8.30923e-01
epoch 422 loss = 8.309228e-01
epoch 423 loss = 8.309226e-01
epoch 424 loss = 8.309225e-01
epoch 425 loss = 8.309223e-01
epoch 426 loss = 8.309221e-01
epoch 427 loss = 8.309215e-01
epoch 428 loss = 8.30921e-01
epoch 429 loss = 8.309204e-01
epoch 430 loss = 8.3092e-01
epoch 431 loss = 8.309197e-01
epoch 432 loss = 8.309194e-01
epoch 433 loss = 8.309193e-01
epoch 434 loss = 8.309191e-01
epoch 435 loss = 8.309191e-01
*************** END FIRST PHASE ***************

* Training time: 47.943723917007446s
* Average epoch time: 0.1102154572804769s
MaxElemSize  0.125

************ MESH READING COMPLETE ************

 * Dimension of the problem: 2D
 * Elements type:            t3: 3-node triangle
 * Number of Dofs:           14176


* Refinement level: 4

**************** START TRAINING ***************

epoch 2 loss = 8.299940e-01
epoch 3 loss = 8.299648e-01
epoch 4 loss = 8.299441e-01
epoch 5 loss = 8.299322e-01
epoch 6 loss = 8.299217e-01
epoch 7 loss = 8.299159e-01
epoch 8 loss = 8.299133e-01
epoch 9 loss = 8.299052e-01
epoch 10 loss = 8.298983e-01
epoch 11 loss = 8.298909e-01
epoch 12 loss = 8.298810e-01
epoch 13 loss = 8.298767e-01
epoch 14 loss = 8.298742e-01
epoch 15 loss = 8.298728e-01
epoch 16 loss = 8.298687e-01
epoch 17 loss = 8.298667e-01
epoch 18 loss = 8.298647e-01
epoch 19 loss = 8.298636e-01
epoch 20 loss = 8.298613e-01
epoch 21 loss = 8.298597e-01
epoch 22 loss = 8.298521e-01
epoch 23 loss = 8.298452e-01
epoch 24 loss = 8.298366e-01
epoch 25 loss = 8.298334e-01
epoch 26 loss = 8.298211e-01
epoch 27 loss = 8.298193e-01
epoch 28 loss = 8.298155e-01
epoch 29 loss = 8.298129e-01
epoch 30 loss = 8.297908e-01
epoch 31 loss = 8.297791e-01
epoch 32 loss = 8.297722e-01
epoch 33 loss = 8.297693e-01
epoch 34 loss = 8.297639e-01
epoch 35 loss = 8.29762e-01
epoch 36 loss = 8.297597e-01
epoch 37 loss = 8.297578e-01
epoch 38 loss = 8.29756e-01
epoch 39 loss = 8.297549e-01
epoch 40 loss = 8.297540e-01
epoch 41 loss = 8.297515e-01
epoch 42 loss = 8.297504e-01
epoch 43 loss = 8.297493e-01
epoch 44 loss = 8.297482e-01
epoch 45 loss = 8.29747e-01
epoch 46 loss = 8.297456e-01
epoch 47 loss = 8.297447e-01
epoch 48 loss = 8.297436e-01
epoch 49 loss = 8.297431e-01
epoch 50 loss = 8.297415e-01
epoch 51 loss = 8.297403e-01
epoch 52 loss = 8.297389e-01
epoch 53 loss = 8.297380e-01
epoch 54 loss = 8.297364e-01
epoch 55 loss = 8.297358e-01
epoch 56 loss = 8.297285e-01
epoch 57 loss = 8.297253e-01
epoch 58 loss = 8.297250e-01
epoch 59 loss = 8.297247e-01
epoch 60 loss = 8.297239e-01
epoch 61 loss = 8.297225e-01
epoch 62 loss = 8.297212e-01
epoch 63 loss = 8.297209e-01
epoch 64 loss = 8.297203e-01
epoch 65 loss = 8.297194e-01
epoch 66 loss = 8.297184e-01
epoch 67 loss = 8.297179e-01
epoch 68 loss = 8.297176e-01
epoch 69 loss = 8.297176e-01
*************** END FIRST PHASE ***************

* Training time: 12.162372827529907s
* Average epoch time: 0.1762662728627523s
***************** END TRAINING ****************

* Training time: 76.82539653778076s

1.25 1.0
1.25 1.0
print("LBFGS")
print("u = ", rh_adapt_error_u[:])
print("v = ", rh_adapt_error_v[:])
print("s = ", rh_adapt_error_stress[:])
print("s max = ", rh_adapt_error_stress_max[:])
LBFGS
u =  [0.1613041  0.05543183 0.02019657 0.00428556 0.0009745 ]
v =  [0.02091463 0.00601936 0.0020075  0.00044092 0.00012973]
s =  [0.20231483 0.09395327 0.06183964 0.03117634 0.02013201]
s max =  [0.85569806 0.97563867 1.00978807 1.00608271 0.98011422]
# Plot normalized displacement error
import matplotlib.pyplot as plt
import matplotlib

fig = matplotlib.pyplot.gcf()
ax = plt.gca()

print(rh_adapt_error_u.shape)

plt.plot(mesh_resolution, error_u,'-', color = "darkblue", label = r'$\| e_{u_x}\|_2$'+ ", fixed mesh")
plt.plot(mesh_resolution, error_v,'-', color = "purple", label = r'$\| e_{u_y}\|_2$'+ ", fixed mesh")
plt.plot(mesh_resolution, error_stress,'-', color = "green", label = r'$\| e_{\sigma_{VM}}\|_2$'+ ", fixed mesh")

plt.plot(mesh_resolution, r_adapt_error_u,'--', color = "darkblue", label = r'$\| e_{u_x}\|_2$'+ ", r-adaptivity")
plt.plot(mesh_resolution, r_adapt_error_v,'--', color = "purple", label = r'$\| e_{u_y}\|_2$'+ ", r-adaptivity")
plt.plot(mesh_resolution, r_adapt_error_stress,'--', color = "green", label = r'$\| e_{\sigma_{VM}}\|_2$'+ ", r-adaptivity")

plt.plot(mesh_resolution, rh_adapt_error_u,':', color = "darkblue", label = r'$\| e_{u_x}\|_2$'+ ", rh-adaptivity")
plt.plot(mesh_resolution, rh_adapt_error_v,':', color = "purple", label = r'$\| e_{u_y}\|_2$'+ ", rh-adaptivity")
plt.plot(mesh_resolution, rh_adapt_error_stress,':', color = "green", label = r'$\| e_{\sigma_{VM}}\|_2$'+ ", rh-adaptivity")


ax.set_xscale('log')
ax.set_yscale('log')
ax.set_ylim([0.00003, 0.3])

plt.xlabel("Number of mesh nodes")
plt.ylabel("Normalized displacement error")
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5),frameon=False )

plt.show()

# Plot maximal stress

fig = matplotlib.pyplot.gcf()
ax = plt.gca()

plt.plot(mesh_resolution, error_stress_max,'-', color = "lightblue", label = "fixed mesh")
plt.plot(mesh_resolution, r_adapt_error_stress_max,'--', color = "lightblue", label =  "r-adaptivity")
plt.plot(mesh_resolution, rh_adapt_error_stress_max,':', color = "lightblue", label =  "rh-adaptivity")

ax.set_xscale('log')
ax.set_yscale('log')

plt.xlabel("Number of mesh nodes")
# plt.ylabel(r'$\sigma^{max}_{VM}$')
plt.ylabel(r'$\frac{\sigma_{VM}^{max}}{\sigma_{VM, ref}^{max}}$')
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5),frameon=False )

plt.show()
(5,)
../_images/b582270a4d4d7e19ce7a9598c4cba1ee9f625c244c34e3f16e1e5d4a7e302e0d.svg ../_images/5f4dd769dfcd6b773f6603d10a94ee9365aefb5a2fb0c33fc2b999bbbf3f2be9.svg