1D Case - Figures 8a and 8c

1D Case - Figures 8a and 8c#

Investigation of the influence of

  • mesh resolution

  • the number of sampling points per element when computing the loss with the trapezoidal rule

The study has been done on fixed and r-adapted meshes.

#%% Libraries import
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 Training funcitons
from neurom.src.Training import Training_1D_FEM_LBFGS
#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
* Executing job in Configuration/config_2D.toml
* WARNING: could not load tikzplotlib
# Load default configuration file (defines dimension, domain, boundary conditions, number of training iterations etc.)
Default_config_file = 'Configurations/config_1D.toml'



with open(Default_config_file, mode="rb") as f:
    config = tomllib.load(f)
# Experiment setting: trapezoidal rule
# Tested variants: 6 mesh resolutions, 3 training sets, fixed and r-adaptive mesh

mesh_resolution = [10,21,41,80,160,324]
training_points = [10,20,30]

setting = ["fixed", "r-adaptive"]
config["solver"]["IntegralMethod"] = "Trapezoidal"

loss_u = numpy.zeros((len(setting),len(mesh_resolution), len(training_points)))
loss_grad = numpy.zeros((len(setting),len(mesh_resolution), len(training_points)))

for t in range(len(training_points)):
    config["training"]["Points_per_element"] = training_points[t]
    for se in range(len(setting)):
        if setting[se] == "fixed":
            config["solver"]["FrozenMesh"] = True
        elif setting[se] == "r-adaptive":
            config["solver"]["FrozenMesh"] = False

        for res in range(len(mesh_resolution)):

            config["interpolation"]["np"] = mesh_resolution[res]
            

            # Load parameters
            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"],
                                        )

            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() 

            # Vtk file not necessary if not using reference element implementation
            if config["solver"]["IntegralMethod"] == "Gaussian_quad":
                Mesh_object.ExportMeshVtk1D()

            # Build the assembly weight matrix if needed
            if config["interpolation"]["dimension"] ==1 and config["solver"]["IntegralMethod"] == "Trapezoidal":
                Mesh_object.AssemblyMatrix()                                            

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

            if config["solver"]["TrainingStrategy"]=="Integral":
                match config["solver"]["IntegralMethod"]:                          
                    case "Gaussian_quad":
                        Model_FEM = MeshNN_1D(Mesh_object, config["interpolation"]["n_integr_points"])  
                    case "Trapezoidal":
                        Model_FEM = MeshNN(Mesh_object)

            if config["solver"]["TrainingStrategy"]=="Mixed":
                if config["solver"]["IntegralMethod"] == "Gaussian_quad":
                    Model_FEM = MeshNN_1D(Mesh_object, config["interpolation"]["n_integr_points"])
                    Model_test = MeshNN_1D(Mesh_object, config["interpolation"]["n_integr_points"])  
                    Model_test.Freeze_Mesh()

            # Default setting
            Model_FEM.Freeze_Mesh()
            Model_FEM.UnFreeze_FEM()

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

            if config["solver"]["TrainingStrategy"]=="Mixed":
                Model_FEM = Training_1D_FEM_LBFGS(Model_FEM, config, Mat, Model_test)
            else:
                Model_FEM = Training_1D_FEM_LBFGS(Model_FEM, config, Mat)

            l2_loss, l2_loss_grad = Pplot.Normalized_error_1D(Model_FEM,config,Mat)

            
            loss_u[se,res, t] = l2_loss
            loss_grad[se,res, t] = l2_loss_grad
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           10
epoch =  1
     loss =  -0.013471980208606512
     loss_decrease =  1.0134719802086065
epoch =  2
     loss =  -0.013471980208606512
     loss_decrease =  0.0
epoch =  3
     loss =  -0.013471980208606512
     loss_decrease =  0.0
epoch =  4
     loss =  -0.013471980208606512
     loss_decrease =  0.0
epoch =  5
     loss =  -0.013471980208606512
     loss_decrease =  0.0
epoch =  6
     loss =  -0.013471980208606512
     loss_decrease =  0.0
* Final training loss: -1.3472e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           21
epoch =  1
     loss =  -0.026277009039676592
     loss_decrease =  1.0262770090396767
epoch =  2
     loss =  -0.02638806789739027
     loss_decrease =  0.00422646495063372
epoch =  3
     loss =  -0.02638806789739027
     loss_decrease =  0.0
epoch =  4
     loss =  -0.02638806789739027
     loss_decrease =  0.0
epoch =  5
     loss =  -0.02638806789739027
     loss_decrease =  0.0
epoch =  6
     loss =  -0.02638806789739027
     loss_decrease =  0.0
epoch =  7
     loss =  -0.02638806789739027
     loss_decrease =  0.0
* Final training loss: -2.6388e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           41
epoch =  1
     loss =  0.29382898522387113
     loss_decrease =  0.7061710147761289
epoch =  2
     loss =  -0.029891531117842502
     loss_decrease =  1.1017310497637522
epoch =  3
     loss =  -0.029929934800869515
     loss_decrease =  0.0012847680125722732
epoch =  4
     loss =  -0.029929934800869515
     loss_decrease =  0.0
epoch =  5
     loss =  -0.029929934800869515
     loss_decrease =  0.0
epoch =  6
     loss =  -0.029929934800869515
     loss_decrease =  0.0
epoch =  7
     loss =  -0.029929934800869515
     loss_decrease =  0.0
epoch =  8
     loss =  -0.029929934800869515
     loss_decrease =  0.0
* Final training loss: -2.993e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           80
epoch =  1
     loss =  0.6227918382287809
     loss_decrease =  0.3772081617712191
epoch =  2
     loss =  0.30879616056450904
     loss_decrease =  0.5041743619461603
epoch =  3
     loss =  -0.030197060299426523
     loss_decrease =  1.0977896235634
epoch =  4
     loss =  -0.03103276235466195
     loss_decrease =  0.027674947393846114
epoch =  5
     loss =  -0.03107986842142716
     loss_decrease =  0.0015179462990387955
epoch =  6
     loss =  -0.03107986842142716
     loss_decrease =  0.0
epoch =  7
     loss =  -0.03107986842142716
     loss_decrease =  0.0
epoch =  8
     loss =  -0.03107986842142716
     loss_decrease =  0.0
epoch =  9
     loss =  -0.03107986842142716
     loss_decrease =  0.0
epoch =  10
     loss =  -0.03107986842142716
     loss_decrease =  0.0
* Final training loss: -3.108e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           160
epoch =  1
     loss =  1.290760703574934
     loss_decrease =  -0.290760703574934
epoch =  2
     loss =  0.6493008386707275
     loss_decrease =  0.4969626539819486
epoch =  3
     loss =  0.43675250071413485
     loss_decrease =  0.32734955092885665
epoch =  4
     loss =  0.31665659575935734
     loss_decrease =  0.27497473914495846
epoch =  5
     loss =  -0.02840862835415424
     loss_decrease =  1.0897143111326295
epoch =  6
     loss =  -0.030461244865180412
     loss_decrease =  0.07225327761120208
epoch =  7
     loss =  -0.03105069333797396
     loss_decrease =  0.01935076768537889
epoch =  8
     loss =  -0.03133508475807802
     loss_decrease =  0.009158939448101255
epoch =  9
     loss =  -0.031397476207245464
     loss_decrease =  0.0019911051669122127
epoch =  10
     loss =  -0.031397788754922946
     loss_decrease =  9.954547792919148e-06
epoch =  11
     loss =  -0.031397788754922946
     loss_decrease =  0.0
epoch =  12
     loss =  -0.031397788754922946
     loss_decrease =  0.0
epoch =  13
     loss =  -0.031397788754922946
     loss_decrease =  0.0
epoch =  14
     loss =  -0.031397788754922946
     loss_decrease =  0.0
epoch =  15
     loss =  -0.031397788754922946
     loss_decrease =  0.0
* Final training loss: -3.1398e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           324
epoch =  1
     loss =  2.748125204951951
     loss_decrease =  -1.748125204951951
epoch =  2
     loss =  1.3741057390135196
     loss_decrease =  0.4999843032852119
epoch =  3
     loss =  0.8877273862848661
     loss_decrease =  0.3539599165620457
epoch =  4
     loss =  0.6697213131100449
     loss_decrease =  0.2455777263864477
epoch =  5
     loss =  0.5364212517570859
     loss_decrease =  0.19903810546799172
epoch =  6
     loss =  0.44582236937656733
     loss_decrease =  0.16889502808428167
epoch =  7
     loss =  0.3701450358802082
     loss_decrease =  0.16974772621253933
epoch =  8
     loss =  0.3212641943100091
     loss_decrease =  0.13205861711466707
epoch =  9
     loss =  0.2570062648805385
     loss_decrease =  0.20001584542429224
epoch =  10
     loss =  -0.028671090696792585
     loss_decrease =  1.1115579447455082
epoch =  11
     loss =  -0.030105200798891833
     loss_decrease =  0.0500193772628148
epoch =  12
     loss =  -0.03055156714347434
     loss_decrease =  0.014826884815162424
epoch =  13
     loss =  -0.030901681755986773
     loss_decrease =  0.011459792254461091
epoch =  14
     loss =  -0.031139344394027053
     loss_decrease =  0.0076909289247416475
epoch =  15
     loss =  -0.031291663103639664
     loss_decrease =  0.004891519477263851
epoch =  16
     loss =  -0.031425570478071214
     loss_decrease =  0.004279330695464873
epoch =  17
     loss =  -0.03146535473768743
     loss_decrease =  0.0012659836881554764
epoch =  18
     loss =  -0.03148162314687937
     loss_decrease =  0.0005170260855966684
epoch =  19
     loss =  -0.03148240189327521
     loss_decrease =  2.4736538907399078e-05
epoch =  20
     loss =  -0.03148242917742829
     loss_decrease =  8.66647759857328e-07
epoch =  21
     loss =  -0.03148242992242362
     loss_decrease =  2.36638453804245e-08
epoch =  22
     loss =  -0.03148243049242144
     loss_decrease =  1.810526764235192e-08
epoch =  23
     loss =  -0.03148243121216179
     loss_decrease =  2.286165138442186e-08
epoch =  24
     loss =  -0.03148243121216179
     loss_decrease =  0.0
epoch =  25
     loss =  -0.03148243121216179
     loss_decrease =  0.0
* Final training loss: -3.1482e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           10
epoch =  1
     loss =  -0.019001305289668015
     loss_decrease =  1.019001305289668
epoch =  2
     loss =  -0.021647487351436574
     loss_decrease =  0.13926317278884123
epoch =  3
     loss =  -0.021925963637317962
     loss_decrease =  0.012864138981141728
epoch =  4
     loss =  -0.021925968109557055
     loss_decrease =  2.0397001321910004e-07
epoch =  5
     loss =  -0.02192596814364243
     loss_decrease =  1.5545664046548572e-09
epoch =  6
     loss =  -0.02192596816247409
     loss_decrease =  8.588748191605143e-10
epoch =  7
     loss =  -0.021925968189333987
     loss_decrease =  1.2250266922118818e-09
epoch =  8
     loss =  -0.021925968189333987
     loss_decrease =  0.0
epoch =  9
     loss =  -0.021925968189333987
     loss_decrease =  0.0
* Final training loss: -2.1926e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           21
epoch =  1
     loss =  -0.02656985401348947
     loss_decrease =  1.0265698540134895
epoch =  2
     loss =  -0.026676602829094623
     loss_decrease =  0.004017666621388169
epoch =  3
     loss =  -0.026676625873327822
     loss_decrease =  8.638368740717215e-07
epoch =  4
     loss =  -0.026676626499851926
     loss_decrease =  2.3485882600217137e-08
epoch =  5
     loss =  -0.026676626505202267
     loss_decrease =  2.005629046646088e-10
epoch =  6
     loss =  -0.026676626510552606
     loss_decrease =  2.0056277456869765e-10
epoch =  7
     loss =  -0.02667662651590293
     loss_decrease =  2.0056225430572957e-10
epoch =  8
     loss =  -0.026676626521253265
     loss_decrease =  2.0056264443256126e-10
* Final training loss: -2.6677e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           41
epoch =  1
     loss =  0.31220338129613834
     loss_decrease =  0.6877966187038617
epoch =  2
     loss =  -0.029893603772666137
     loss_decrease =  1.09575041643867
epoch =  3
     loss =  -0.030324860857347105
     loss_decrease =  0.01442639997373944
epoch =  4
     loss =  -0.0303257319240136
     loss_decrease =  2.872450662155998e-05
epoch =  5
     loss =  -0.030325770009963338
     loss_decrease =  1.25589548285783e-06
epoch =  6
     loss =  -0.030325770009963338
     loss_decrease =  0.0
epoch =  7
     loss =  -0.030325770009963338
     loss_decrease =  0.0
epoch =  8
     loss =  -0.030325770009963338
     loss_decrease =  0.0
epoch =  9
     loss =  -0.030325770009963338
     loss_decrease =  0.0
epoch =  10
     loss =  -0.030325770009963338
     loss_decrease =  0.0
* Final training loss: -3.0326e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           80
epoch =  1
     loss =  0.6868532130420811
     loss_decrease =  0.31314678695791887
epoch =  2
     loss =  0.33258021568764573
     loss_decrease =  0.5157914247577821
epoch =  3
     loss =  -0.030143617946295807
     loss_decrease =  1.0906356317196158
epoch =  4
     loss =  -0.031259937034514976
     loss_decrease =  0.037033347828651995
epoch =  5
     loss =  -0.03125993910246115
     loss_decrease =  6.61532418676022e-08
epoch =  6
     loss =  -0.03125993918539132
     loss_decrease =  2.652921664499861e-09
epoch =  7
     loss =  -0.03125993926832103
     loss_decrease =  2.652907007177523e-09
epoch =  8
     loss =  -0.031259939351250314
     loss_decrease =  2.6528932377513206e-09
epoch =  9
     loss =  -0.03125993943417913
     loss_decrease =  2.6528783584552073e-09
* Final training loss: -3.126e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           160
epoch =  1
     loss =  1.933291485191642
     loss_decrease =  -0.9332914851916421
epoch =  2
     loss =  0.8795092035897054
     loss_decrease =  0.5450715992252343
epoch =  3
     loss =  0.549270765610834
     loss_decrease =  0.37548036635774534
epoch =  4
     loss =  0.38703992005641163
     loss_decrease =  0.29535678159388
epoch =  5
     loss =  0.29122350792790863
     loss_decrease =  0.24756209156548406
epoch =  6
     loss =  -0.02978660777068426
     loss_decrease =  1.1022809181258053
epoch =  7
     loss =  -0.030780834352890807
     loss_decrease =  0.03337830846200142
epoch =  8
     loss =  -0.03123777581233126
     loss_decrease =  0.014844999138158167
epoch =  9
     loss =  -0.031238869387010516
     loss_decrease =  3.500808398863338e-05
epoch =  10
     loss =  -0.031327765653151256
     loss_decrease =  0.002845694094732619
epoch =  11
     loss =  -0.031327826913562576
     loss_decrease =  1.955466980899557e-06
epoch =  12
     loss =  -0.031327826913562576
     loss_decrease =  0.0
epoch =  13
     loss =  -0.031327826913562576
     loss_decrease =  0.0
epoch =  14
     loss =  -0.031327826913562576
     loss_decrease =  0.0
epoch =  15
     loss =  -0.031327826913562576
     loss_decrease =  0.0
epoch =  16
     loss =  -0.031327826913562576
     loss_decrease =  0.0
* Final training loss: -3.1328e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           324
epoch =  1
     loss =  10.209207735244682
     loss_decrease =  -9.209207735244682
epoch =  2
     loss =  10.208962003413127
     loss_decrease =  2.4069627920943993e-05
epoch =  3
     loss =  10.208931474702181
     loss_decrease =  2.9903834430651055e-06
epoch =  4
     loss =  10.208930709429717
     loss_decrease =  7.496107364040436e-08
epoch =  5
     loss =  10.208930693532352
     loss_decrease =  1.5572017926753344e-09
epoch =  6
     loss =  10.208930677634985
     loss_decrease =  1.5572019691004957e-09
epoch =  7
     loss =  10.208930661737613
     loss_decrease =  1.5572024935262264e-09
epoch =  8
     loss =  10.208930645840244
     loss_decrease =  1.557202147950537e-09
* Final training loss: 1.0209e+01
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           10
epoch =  1
     loss =  -0.013542667867031025
     loss_decrease =  1.013542667867031
epoch =  2
     loss =  -0.013542667867031025
     loss_decrease =  0.0
epoch =  3
     loss =  -0.013542667867031025
     loss_decrease =  0.0
epoch =  4
     loss =  -0.013542667867031025
     loss_decrease =  0.0
epoch =  5
     loss =  -0.013542667867031025
     loss_decrease =  0.0
epoch =  6
     loss =  -0.013542667867031025
     loss_decrease =  0.0
* Final training loss: -1.3543e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           21
epoch =  1
     loss =  -0.02635573541256923
     loss_decrease =  1.0263557354125692
epoch =  2
     loss =  -0.026462930467839305
     loss_decrease =  0.004067238253535968
epoch =  3
     loss =  -0.026462930467839305
     loss_decrease =  0.0
epoch =  4
     loss =  -0.026462930467839305
     loss_decrease =  0.0
epoch =  5
     loss =  -0.026462930467839305
     loss_decrease =  0.0
epoch =  6
     loss =  -0.026462930467839305
     loss_decrease =  0.0
epoch =  7
     loss =  -0.026462930467839305
     loss_decrease =  0.0
* Final training loss: -2.6463e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           41
epoch =  1
     loss =  0.29171896271812603
     loss_decrease =  0.708281037281874
epoch =  2
     loss =  -0.0298807432177514
     loss_decrease =  1.1024298967037798
epoch =  3
     loss =  -0.029969800286411295
     loss_decrease =  0.002980416785851136
epoch =  4
     loss =  -0.029969800286411295
     loss_decrease =  0.0
epoch =  5
     loss =  -0.029969800286411295
     loss_decrease =  0.0
epoch =  6
     loss =  -0.029969800286411295
     loss_decrease =  0.0
epoch =  7
     loss =  -0.029969800286411295
     loss_decrease =  0.0
epoch =  8
     loss =  -0.029969800286411295
     loss_decrease =  0.0
* Final training loss: -2.997e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           80
epoch =  1
     loss =  0.6254651974492185
     loss_decrease =  0.37453480255078153
epoch =  2
     loss =  0.30261095817844763
     loss_decrease =  0.5161825799220162
epoch =  3
     loss =  -0.030259656233735104
     loss_decrease =  1.099995242789229
epoch =  4
     loss =  -0.031056634439859836
     loss_decrease =  0.02633797951862446
epoch =  5
     loss =  -0.03110018601033477
     loss_decrease =  0.0014023274337491452
epoch =  6
     loss =  -0.03110018601033477
     loss_decrease =  0.0
epoch =  7
     loss =  -0.03110018601033477
     loss_decrease =  0.0
epoch =  8
     loss =  -0.03110018601033477
     loss_decrease =  0.0
epoch =  9
     loss =  -0.03110018601033477
     loss_decrease =  0.0
epoch =  10
     loss =  -0.03110018601033477
     loss_decrease =  0.0
* Final training loss: -3.1100e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           160
epoch =  1
     loss =  1.2952913177425895
     loss_decrease =  -0.29529131774258954
epoch =  2
     loss =  0.6452367921456259
     loss_decrease =  0.5018597103930774
epoch =  3
     loss =  0.4318772548309303
     loss_decrease =  0.3306685854121934
epoch =  4
     loss =  0.3115412163222917
     loss_decrease =  0.2786348138564216
epoch =  5
     loss =  -0.02913760435272417
     loss_decrease =  1.093527285720619
epoch =  6
     loss =  -0.030558046446821953
     loss_decrease =  0.04874944682832104
epoch =  7
     loss =  -0.031100736377671315
     loss_decrease =  0.01775931363262267
epoch =  8
     loss =  -0.031364509632902424
     loss_decrease =  0.008481254335202307
epoch =  9
     loss =  -0.031407769976179
     loss_decrease =  0.0013792768891625067
epoch =  10
     loss =  -0.031407813659804856
     loss_decrease =  1.3908541067585077e-06
epoch =  11
     loss =  -0.031407813659804856
     loss_decrease =  0.0
epoch =  12
     loss =  -0.031407813659804856
     loss_decrease =  0.0
epoch =  13
     loss =  -0.031407813659804856
     loss_decrease =  0.0
epoch =  14
     loss =  -0.031407813659804856
     loss_decrease =  0.0
epoch =  15
     loss =  -0.031407813659804856
     loss_decrease =  0.0
* Final training loss: -3.1408e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           324
epoch =  1
     loss =  2.7573772079196663
     loss_decrease =  -1.7573772079196663
epoch =  2
     loss =  1.3630908785062368
     loss_decrease =  0.5056567253144753
epoch =  3
     loss =  0.8773318970547981
     loss_decrease =  0.35636580738018353
epoch =  4
     loss =  0.6652499444542499
     loss_decrease =  0.24173514414841976
epoch =  5
     loss =  0.5315996815653323
     loss_decrease =  0.20090232852038797
epoch =  6
     loss =  0.44113937474186943
     loss_decrease =  0.1701662170998602
epoch =  7
     loss =  0.36807265478988255
     loss_decrease =  0.16563182553074415
epoch =  8
     loss =  0.31994356535998325
     loss_decrease =  0.1307597530095633
epoch =  9
     loss =  0.2367833919038301
     loss_decrease =  0.2599213813304412
epoch =  10
     loss =  -0.02872321262511112
     loss_decrease =  1.1213058584648414
epoch =  11
     loss =  -0.030086523022104544
     loss_decrease =  0.047463715663948976
epoch =  12
     loss =  -0.030529937734107355
     loss_decrease =  0.014737984567942067
epoch =  13
     loss =  -0.030888410247896004
     loss_decrease =  0.011741671958543554
epoch =  14
     loss =  -0.031120355555601553
     loss_decrease =  0.007509137111429958
epoch =  15
     loss =  -0.03127995261446018
     loss_decrease =  0.005128381601343782
epoch =  16
     loss =  -0.031421507497365574
     loss_decrease =  0.004525418713069224
epoch =  17
     loss =  -0.03146641081897259
     loss_decrease =  0.0014290632494568401
epoch =  18
     loss =  -0.03148609590489223
     loss_decrease =  0.0006255904441369856
epoch =  19
     loss =  -0.03148704889209841
     loss_decrease =  3.0266921915692053e-05
epoch =  20
     loss =  -0.03148727707357457
     loss_decrease =  7.246835895621246e-06
epoch =  21
     loss =  -0.031487327706681514
     loss_decrease =  1.6080497156041193e-06
epoch =  22
     loss =  -0.03148733944274161
     loss_decrease =  3.7272328110199755e-07
epoch =  23
     loss =  -0.03148734056466741
     loss_decrease =  3.563101303942106e-08
epoch =  24
     loss =  -0.03148734056466741
     loss_decrease =  0.0
epoch =  25
     loss =  -0.03148734056466741
     loss_decrease =  0.0
epoch =  26
     loss =  -0.03148734056466741
     loss_decrease =  0.0
epoch =  27
     loss =  -0.03148734056466741
     loss_decrease =  0.0
* Final training loss: -3.1487e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           10
epoch =  1
     loss =  -0.023207696731171436
     loss_decrease =  1.0232076967311714
epoch =  2
     loss =  -0.023292071253471883
     loss_decrease =  0.0036356267180585778
epoch =  3
     loss =  -0.023292151563880828
     loss_decrease =  3.4479719759842975e-06
epoch =  4
     loss =  -0.023292152957851885
     loss_decrease =  5.984724308602813e-08
epoch =  5
     loss =  -0.0232921530131866
     loss_decrease =  2.3756806026516155e-09
epoch =  6
     loss =  -0.023292153016101512
     loss_decrease =  1.251456387988184e-10
epoch =  7
     loss =  -0.02329215301901643
     loss_decrease =  1.251459366900915e-10
epoch =  8
     loss =  -0.023292153019019126
     loss_decrease =  1.1573684405503675e-13
* Final training loss: -2.3292e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           21
epoch =  1
     loss =  -0.026397244158221582
     loss_decrease =  1.0263972441582216
epoch =  2
     loss =  -0.026635327205662192
     loss_decrease =  0.009019238751347386
epoch =  3
     loss =  -0.02663538877443094
     loss_decrease =  2.311545425032607e-06
epoch =  4
     loss =  -0.026635405537522968
     loss_decrease =  6.293541337435259e-07
epoch =  5
     loss =  -0.026635411305629474
     loss_decrease =  2.1655786311175084e-07
epoch =  6
     loss =  -0.026635411872909878
     loss_decrease =  2.1297977969937705e-08
epoch =  7
     loss =  -0.0266354118729139
     loss_decrease =  1.509677806560962e-13
epoch =  8
     loss =  -0.026635411877558506
     loss_decrease =  1.7437716515664938e-10
epoch =  9
     loss =  -0.02663541188000495
     loss_decrease =  9.184924060869709e-11
epoch =  10
     loss =  -0.026635411880008966
     loss_decrease =  1.5083752368696387e-13
* Final training loss: -2.6635e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           41
epoch =  1
     loss =  0.3055076886980332
     loss_decrease =  0.6944923113019668
epoch =  2
     loss =  -0.030090811977810376
     loss_decrease =  1.0984944506832115
epoch =  3
     loss =  -0.03026462369813123
     loss_decrease =  0.005776238954569489
epoch =  4
     loss =  -0.030264640473316635
     loss_decrease =  5.542836273560684e-07
epoch =  5
     loss =  -0.030264641563091547
     loss_decrease =  3.6008189610985185e-08
epoch =  6
     loss =  -0.03026464156342549
     loss_decrease =  1.1034038097668685e-11
epoch =  7
     loss =  -0.03026464156342549
     loss_decrease =  0.0
epoch =  8
     loss =  -0.03026464156342549
     loss_decrease =  0.0
epoch =  9
     loss =  -0.03026464156342549
     loss_decrease =  0.0
* Final training loss: -3.0265e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           80
epoch =  1
     loss =  12.461084635114837
     loss_decrease =  -11.461084635114837
epoch =  2
     loss =  0.6603159484370842
     loss_decrease =  0.9470097533423102
epoch =  3
     loss =  0.3242398765142742
     loss_decrease =  0.5089625242556621
epoch =  4
     loss =  -0.030010003501493795
     loss_decrease =  1.092554943655034
epoch =  5
     loss =  -0.03108229666309542
     loss_decrease =  0.035731190819363
epoch =  6
     loss =  -0.031082307408197413
     loss_decrease =  3.456984568632848e-07
epoch =  7
     loss =  -0.031082307408378352
     loss_decrease =  5.821273017541983e-12
epoch =  8
     loss =  -0.031082307408559277
     loss_decrease =  5.8208265323863355e-12
epoch =  9
     loss =  -0.03108230740874022
     loss_decrease =  5.82138463875465e-12
epoch =  10
     loss =  -0.031082307408921164
     loss_decrease =  5.821496260001201e-12
epoch =  11
     loss =  -0.03108230740910209
     loss_decrease =  5.820826532284683e-12
* Final training loss: -3.1082e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           160
epoch =  1
     loss =  1.6397814437475833
     loss_decrease =  -0.6397814437475833
epoch =  2
     loss =  0.763293226547608
     loss_decrease =  0.5345152675937318
epoch =  3
     loss =  0.49592376026859253
     loss_decrease =  0.3502840808483699
epoch =  4
     loss =  0.3474249825647802
     loss_decrease =  0.29943872345092987
epoch =  5
     loss =  0.028415802566407185
     loss_decrease =  0.918210249715969
epoch =  6
     loss =  -0.030156605152211753
     loss_decrease =  2.0612617779046127
epoch =  7
     loss =  -0.03089870142286731
     loss_decrease =  0.024608083930864184
epoch =  8
     loss =  -0.031216924978406342
     loss_decrease =  0.010298929757077817
epoch =  9
     loss =  -0.031216925019515694
     loss_decrease =  1.316893065606066e-09
epoch =  10
     loss =  -0.03121692506062479
     loss_decrease =  1.3168848395168241e-09
epoch =  11
     loss =  -0.031216925101733628
     loss_decrease =  1.3168766134276149e-09
epoch =  12
     loss =  -0.031216925142842154
     loss_decrease =  1.3168666090995163e-09
epoch =  13
     loss =  -0.031216925183950438
     loss_decrease =  1.3168588275701066e-09
* Final training loss: -3.1217e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           324
epoch =  1
     loss =  18.211272680906774
     loss_decrease =  -17.211272680906774
epoch =  2
     loss =  4.819815114828993
     loss_decrease =  0.7353389189607694
epoch =  3
     loss =  2.2602514413321804
     loss_decrease =  0.5310501777592823
epoch =  4
     loss =  1.4178653725606714
     loss_decrease =  0.3726957334777812
epoch =  5
     loss =  0.9627597534151244
     loss_decrease =  0.3209794300312336
epoch =  6
     loss =  0.7366928208465717
     loss_decrease =  0.23481136572924105
epoch =  7
     loss =  0.5976304147631619
     loss_decrease =  0.18876579511607838
epoch =  8
     loss =  0.4982904081984846
     loss_decrease =  0.1662231441216815
epoch =  9
     loss =  0.4216335043213912
     loss_decrease =  0.15383981432481952
epoch =  10
     loss =  0.358810569727875
     loss_decrease =  0.14899891481496033
epoch =  11
     loss =  0.3152161247201598
     loss_decrease =  0.12149710372461324
epoch =  12
     loss =  0.22602547980508741
     loss_decrease =  0.2829507690771003
epoch =  13
     loss =  -0.02551325196443344
     loss_decrease =  1.1128777692958987
epoch =  14
     loss =  -0.02957056081487299
     loss_decrease =  0.15902750680687874
epoch =  15
     loss =  -0.03012342171786734
     loss_decrease =  0.018696327961297166
epoch =  16
     loss =  -0.030123440611529877
     loss_decrease =  6.272083800513457e-07
epoch =  17
     loss =  -0.030123442712940013
     loss_decrease =  6.975996411827697e-08
epoch =  18
     loss =  -0.03012344271324667
     loss_decrease =  1.0180027565625704e-11
epoch =  19
     loss =  -0.030123442713553314
     loss_decrease =  1.0179566868252509e-11
epoch =  20
     loss =  -0.030123442713859964
     loss_decrease =  1.0179797216783663e-11
epoch =  21
     loss =  -0.030123442714166643
     loss_decrease =  1.0180718611219141e-11
* Final training loss: -3.0123e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           10
epoch =  1
     loss =  -0.013568297011566404
     loss_decrease =  1.0135682970115665
epoch =  2
     loss =  -0.013568297011566404
     loss_decrease =  0.0
epoch =  3
     loss =  -0.013568297011566404
     loss_decrease =  0.0
epoch =  4
     loss =  -0.013568297011566404
     loss_decrease =  0.0
epoch =  5
     loss =  -0.013568297011566404
     loss_decrease =  0.0
epoch =  6
     loss =  -0.013568297011566404
     loss_decrease =  0.0
* Final training loss: -1.3568e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           21
epoch =  1
     loss =  -0.02638053554840373
     loss_decrease =  1.0263805355484037
epoch =  2
     loss =  -0.026486618557287914
     loss_decrease =  0.004021260625643513
epoch =  3
     loss =  -0.026486618557287914
     loss_decrease =  0.0
epoch =  4
     loss =  -0.026486618557287914
     loss_decrease =  0.0
epoch =  5
     loss =  -0.026486618557287914
     loss_decrease =  0.0
epoch =  6
     loss =  -0.026486618557287914
     loss_decrease =  0.0
epoch =  7
     loss =  -0.026486618557287914
     loss_decrease =  0.0
* Final training loss: -2.6487e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           41
epoch =  1
     loss =  0.29105294413699784
     loss_decrease =  0.7089470558630022
epoch =  2
     loss =  -0.029930544914158044
     loss_decrease =  1.1028353965045954
epoch =  3
     loss =  -0.02998274060732807
     loss_decrease =  0.0017438938489000289
epoch =  4
     loss =  -0.02998274060732807
     loss_decrease =  0.0
epoch =  5
     loss =  -0.02998274060732807
     loss_decrease =  0.0
epoch =  6
     loss =  -0.02998274060732807
     loss_decrease =  0.0
epoch =  7
     loss =  -0.02998274060732807
     loss_decrease =  0.0
epoch =  8
     loss =  -0.02998274060732807
     loss_decrease =  0.0
* Final training loss: -2.9983e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           80
epoch =  1
     loss =  0.6264896111198306
     loss_decrease =  0.3735103888801694
epoch =  2
     loss =  0.3088025677267145
     loss_decrease =  0.5070906807620648
epoch =  3
     loss =  -0.030126534280363704
     loss_decrease =  1.0975592091158557
epoch =  4
     loss =  -0.031043465185332145
     loss_decrease =  0.030435990294645023
epoch =  5
     loss =  -0.03110686700207658
     loss_decrease =  0.0020423563015893797
epoch =  6
     loss =  -0.03110686700207658
     loss_decrease =  0.0
epoch =  7
     loss =  -0.03110686700207658
     loss_decrease =  0.0
epoch =  8
     loss =  -0.03110686700207658
     loss_decrease =  0.0
epoch =  9
     loss =  -0.03110686700207658
     loss_decrease =  0.0
epoch =  10
     loss =  -0.03110686700207658
     loss_decrease =  0.0
* Final training loss: -3.1107e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           160
epoch =  1
     loss =  1.296766994622226
     loss_decrease =  -0.296766994622226
epoch =  2
     loss =  0.6389788552998099
     loss_decrease =  0.5072523761402817
epoch =  3
     loss =  0.4252552593217217
     loss_decrease =  0.3344767893419709
epoch =  4
     loss =  0.31235085921043454
     loss_decrease =  0.2654979512572488
epoch =  5
     loss =  -0.02854930641617909
     loss_decrease =  1.0914014018989622
epoch =  6
     loss =  -0.03051179260764148
     loss_decrease =  0.06874024058077417
epoch =  7
     loss =  -0.03109530516191368
     loss_decrease =  0.01912416493438219
epoch =  8
     loss =  -0.03136107325139721
     loss_decrease =  0.008546887965873728
epoch =  9
     loss =  -0.031410926853987615
     loss_decrease =  0.001589665066331318
epoch =  10
     loss =  -0.03141113348572412
     loss_decrease =  6.578339361538073e-06
epoch =  11
     loss =  -0.03141113348572412
     loss_decrease =  0.0
epoch =  12
     loss =  -0.03141113348572412
     loss_decrease =  0.0
epoch =  13
     loss =  -0.03141113348572412
     loss_decrease =  0.0
epoch =  14
     loss =  -0.03141113348572412
     loss_decrease =  0.0
epoch =  15
     loss =  -0.03141113348572412
     loss_decrease =  0.0
* Final training loss: -3.1411e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           324
epoch =  1
     loss =  2.7604525557468165
     loss_decrease =  -1.7604525557468165
epoch =  2
     loss =  1.352019185782925
     loss_decrease =  0.5102182854154695
epoch =  3
     loss =  0.8844260701945239
     loss_decrease =  0.3458479883313401
epoch =  4
     loss =  0.6662344222574493
     loss_decrease =  0.2467042246833415
epoch =  5
     loss =  0.5358717157236526
     loss_decrease =  0.1956709262966023
epoch =  6
     loss =  0.44441930892813003
     loss_decrease =  0.17066100731221323
epoch =  7
     loss =  0.3685404530694294
     loss_decrease =  0.1707370817026573
epoch =  8
     loss =  0.31934220773091304
     loss_decrease =  0.13349483056408978
epoch =  9
     loss =  0.20423183967789413
     loss_decrease =  0.36046086382046383
epoch =  10
     loss =  -0.02830483115187442
     loss_decrease =  1.1385916671784164
epoch =  11
     loss =  -0.030096656894006944
     loss_decrease =  0.06330459039017679
epoch =  12
     loss =  -0.03049570075148389
     loss_decrease =  0.013258743616684075
epoch =  13
     loss =  -0.03085382899522531
     loss_decrease =  0.011743564991665126
epoch =  14
     loss =  -0.031143820042128297
     loss_decrease =  0.009398867380378024
epoch =  15
     loss =  -0.0312801874387609
     loss_decrease =  0.004378634234597288
epoch =  16
     loss =  -0.03141093010249309
     loss_decrease =  0.004179727630729616
epoch =  17
     loss =  -0.031465294498397293
     loss_decrease =  0.0017307477278392192
epoch =  18
     loss =  -0.03148629400269494
     loss_decrease =  0.0006673862308428623
epoch =  19
     loss =  -0.03148849151221906
     loss_decrease =  6.979257463363733e-05
epoch =  20
     loss =  -0.0314889276517559
     loss_decrease =  1.3850759940998274e-05
epoch =  21
     loss =  -0.031488976943364076
     loss_decrease =  1.565363188045005e-06
epoch =  22
     loss =  -0.031488976943364076
     loss_decrease =  0.0
epoch =  23
     loss =  -0.031488976943364076
     loss_decrease =  0.0
epoch =  24
     loss =  -0.031488976943364076
     loss_decrease =  0.0
epoch =  25
     loss =  -0.031488976943364076
     loss_decrease =  0.0
epoch =  26
     loss =  -0.031488976943364076
     loss_decrease =  0.0
* Final training loss: -3.1489e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           10
epoch =  1
     loss =  -0.022788103024302203
     loss_decrease =  1.0227881030243022
epoch =  2
     loss =  -0.022788169446435094
     loss_decrease =  2.9147723625903417e-06
epoch =  3
     loss =  -0.022788175876572503
     loss_decrease =  2.821699840242167e-07
epoch =  4
     loss =  -0.022788175952014232
     loss_decrease =  3.310564639362596e-09
epoch =  5
     loss =  -0.022788175952444256
     loss_decrease =  1.887049111839217e-11
epoch =  6
     loss =  -0.022788175952444256
     loss_decrease =  0.0
epoch =  7
     loss =  -0.022788175952444256
     loss_decrease =  0.0
epoch =  8
     loss =  -0.022788175952444256
     loss_decrease =  0.0
* Final training loss: -2.2788e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           21
epoch =  1
     loss =  -0.026472253484031667
     loss_decrease =  1.0264722534840316
epoch =  2
     loss =  -0.026570734051182182
     loss_decrease =  0.0037201429492929273
epoch =  3
     loss =  -0.02657073713881506
     loss_decrease =  1.1620427469532804e-07
epoch =  4
     loss =  -0.026570738701584648
     loss_decrease =  5.881543967652577e-08
epoch =  5
     loss =  -0.026570738701584648
     loss_decrease =  0.0
epoch =  6
     loss =  -0.026570738701584648
     loss_decrease =  0.0
epoch =  7
     loss =  -0.026570738701584648
     loss_decrease =  0.0
epoch =  8
     loss =  -0.026570738701584648
     loss_decrease =  0.0
* Final training loss: -2.6571e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           41
epoch =  1
     loss =  0.31695462574144573
     loss_decrease =  0.6830453742585543
epoch =  2
     loss =  -0.030038206742051262
     loss_decrease =  1.0947713152057128
epoch =  3
     loss =  -0.030274581240629466
     loss_decrease =  0.007869128160946348
epoch =  4
     loss =  -0.030275053953108096
     loss_decrease =  1.561417067579926e-05
epoch =  5
     loss =  -0.030275105464998953
     loss_decrease =  1.701463222387257e-06
epoch =  6
     loss =  -0.030275105464998953
     loss_decrease =  0.0
epoch =  7
     loss =  -0.030275105464998953
     loss_decrease =  0.0
epoch =  8
     loss =  -0.030275105464998953
     loss_decrease =  0.0
epoch =  9
     loss =  -0.030275105464998953
     loss_decrease =  0.0
epoch =  10
     loss =  -0.030275105464998953
     loss_decrease =  0.0
* Final training loss: -3.0275e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           80
epoch =  1
     loss =  12.692851873214762
     loss_decrease =  -11.692851873214762
epoch =  2
     loss =  0.6735531310715173
     loss_decrease =  0.9469344527298164
epoch =  3
     loss =  0.31894975318401875
     loss_decrease =  0.5264668242628169
epoch =  4
     loss =  -0.029963942455490257
     loss_decrease =  1.0939456518036637
epoch =  5
     loss =  -0.03065983583056695
     loss_decrease =  0.02322435961524094
epoch =  6
     loss =  -0.0311285566103271
     loss_decrease =  0.01528777852400796
epoch =  7
     loss =  -0.031128564005626188
     loss_decrease =  2.3757282359609576e-07
epoch =  8
     loss =  -0.031128564628445966
     loss_decrease =  2.0007982966293258e-08
epoch =  9
     loss =  -0.031128564632172593
     loss_decrease =  1.1971726581814847e-10
epoch =  10
     loss =  -0.031128564632172593
     loss_decrease =  0.0
epoch =  11
     loss =  -0.031128564632172593
     loss_decrease =  0.0
epoch =  12
     loss =  -0.031128564632172593
     loss_decrease =  0.0
* Final training loss: -3.1129e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           160
epoch =  1
     loss =  1.5749792974477554
     loss_decrease =  -0.5749792974477554
epoch =  2
     loss =  0.7197839659749309
     loss_decrease =  0.5429883001374453
epoch =  3
     loss =  0.47436439959771465
     loss_decrease =  0.34096281381428256
epoch =  4
     loss =  0.3366524769471212
     loss_decrease =  0.2903083004698081
epoch =  5
     loss =  -0.025704552183442586
     loss_decrease =  1.0763533731180004
epoch =  6
     loss =  -0.030227142798530397
     loss_decrease =  0.1759451237590907
epoch =  7
     loss =  -0.030928242850412
     loss_decrease =  0.02319438712929524
epoch =  8
     loss =  -0.03129076652456104
     loss_decrease =  0.011721444244421711
epoch =  9
     loss =  -0.031414069926406184
     loss_decrease =  0.003940568274297825
epoch =  10
     loss =  -0.031414781727759286
     loss_decrease =  2.2658679845366464e-05
epoch =  11
     loss =  -0.03141478172776871
     loss_decrease =  2.9995490667947194e-13
epoch =  12
     loss =  -0.03141478172777812
     loss_decrease =  2.995131468757304e-13
epoch =  13
     loss =  -0.03141478172778751
     loss_decrease =  2.9885050717016363e-13
epoch =  14
     loss =  -0.03141478172779691
     loss_decrease =  2.992922669737256e-13
epoch =  15
     loss =  -0.03141478172780632
     loss_decrease =  2.9951314687546156e-13
* Final training loss: -3.1415e-02
 
 
   _   _            ____   ___  __  __ 
  | \ | | ___ _   _|  _ \ / _ \|  \/  |
  |  \| |/ _ \ | | | |_) | | | | |\/| |
  | |\  |  __/ |_| |  _ <| |_| | |  | |
  |_| \_|\___|\__,_|_| \_\ ___/|_|  |_|

                  2024.09.16

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

 * Dimension of the problem: 1D
 * Elements type:            2-node bar
 * Number of Dofs:           324
epoch =  1
     loss =  4.941238997228815
     loss_decrease =  -3.9412389972288153
epoch =  2
     loss =  2.5996320846828196
     loss_decrease =  0.47389064035543194
epoch =  3
     loss =  1.5387339519881718
     loss_decrease =  0.40809549126029027
epoch =  4
     loss =  1.0641694202446053
     loss_decrease =  0.308412335433549
epoch =  5
     loss =  0.7895379848791466
     loss_decrease =  0.2580711587280276
epoch =  6
     loss =  0.6244529576153954
     loss_decrease =  0.20909067128546133
epoch =  7
     loss =  0.5262480178452726
     loss_decrease =  0.15726555310929896
epoch =  8
     loss =  0.447887587843483
     loss_decrease =  0.14890399078867253
epoch =  9
     loss =  0.3817892950167255
     loss_decrease =  0.14757786243867946
epoch =  10
     loss =  0.3325103704172688
     loss_decrease =  0.1290736153230747
epoch =  11
     loss =  0.29582683008119937
     loss_decrease =  0.1103229962122236
epoch =  12
     loss =  0.0010077934097840113
     loss_decrease =  0.9965932995005646
epoch =  13
     loss =  -0.02814904078423699
     loss_decrease =  28.93136024799949
epoch =  14
     loss =  -0.029965531761661692
     loss_decrease =  0.06453118567514053
epoch =  15
     loss =  -0.030334685516906632
     loss_decrease =  0.012319279303337455
epoch =  16
     loss =  -0.030776050791950255
     loss_decrease =  0.014549854976991055
epoch =  17
     loss =  -0.03098030714189244
     loss_decrease =  0.006636860308133208
epoch =  18
     loss =  -0.03113534333614767
     loss_decrease =  0.005004346585240481
epoch =  19
     loss =  -0.03125344671525692
     loss_decrease =  0.0037932255261862663
epoch =  20
     loss =  -0.03135688316913563
     loss_decrease =  0.003309601491992129
epoch =  21
     loss =  -0.031409856105864026
     loss_decrease =  0.0016893559363876922
epoch =  22
     loss =  -0.03144620777073851
     loss_decrease =  0.0011573330597875338
epoch =  23
     loss =  -0.03144620902021818
     loss_decrease =  3.9733874261578256e-08
epoch =  24
     loss =  -0.03144620939581516
     loss_decrease =  1.1944110141502402e-08
epoch =  25
     loss =  -0.03144620941170953
     loss_decrease =  5.054462671193428e-10
epoch =  26
     loss =  -0.03144620942760351
     loss_decrease =  5.054339099513521e-10
epoch =  27
     loss =  -0.0314462094434972
     loss_decrease =  5.054246420115074e-10
* Final training loss: -3.1446e-02
import matplotlib.pyplot as plt
import matplotlib
plt.rcParams['text.usetex'] = False

# Plot normalized displacement error

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

plt.plot(mesh_resolution, loss_u[0,:,0],'-', color = "blue", label = '10 p./e.')
plt.plot(mesh_resolution, loss_u[0,:,1],'-', color = "gold", label = '20 p./e.')
plt.plot(mesh_resolution, loss_u[0,:,2],'-', color = "green", label = '30 p./e.')

plt.plot(mesh_resolution, loss_u[1,:,0],':', color = "blue", label = '10 p./e.,  r-adaptivity')
plt.plot(mesh_resolution, loss_u[1,:,1],':', color = "gold", label = '20 p./e.,  r-adaptivity')
plt.plot(mesh_resolution, loss_u[1,:,2],':', color = "green", label = '30 p./e.,  r-adaptivity')

ax.set_xscale('log')
ax.set_yscale('log')
ax.set_ylim([0.00008, 29])

plt.xlabel("Number of mesh nodes")
plt.ylabel("Normalized displacement error")
plt.legend(loc="lower left", frameon=False )
plt.show()

# Plot normalized strain error

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

plt.plot(mesh_resolution, loss_grad[0,:,0],'-', color = "blue", label = '10 p./e.')
plt.plot(mesh_resolution, loss_grad[0,:,1],'-', color = "gold", label = '20 p./e.')
plt.plot(mesh_resolution, loss_grad[0,:,2],'-', color = "green", label = '30 p./e.')

plt.plot(mesh_resolution, loss_grad[1,:,0],':', color = "blue", label = '10 p./e.,  r-adaptivity')
plt.plot(mesh_resolution, loss_grad[1,:,1],':', color = "gold", label = '20 p./e.,  r-adaptivity')
plt.plot(mesh_resolution, loss_grad[1,:,2],':', color = "green", label = '30 p./e.,  r-adaptivity')

ax.set_xscale('log')
ax.set_yscale('log')
ax.set_ylim([0.01, 23])

plt.xlabel("Number of mesh nodes")
plt.ylabel("Normalized strain error")
plt.legend(loc="lower left", frameon=False )
plt.show()
../_images/a00b4bd250f7eb3dbf19e44ca70af7129c4b20d712ec8a5680ba493989a46490.svg ../_images/1735a5aff672da5c1a9af7d365d6bf779b5936c1b5902ac2c0932ab58522c688.svg