From a82908908ee5f5011073652a73012fe95339b41f Mon Sep 17 00:00:00 2001 From: Prakhar Sharma <1915438@swansea.ac.uk> Date: Mon, 11 Mar 2024 17:02:29 +0000 Subject: [PATCH 1/3] training timer implemented --- DeepINN/model.py | 22 +++++++++++----- DeepINN/utils/__init__.py | 11 +------- DeepINN/utils/user_fun.py | 13 ++++++++++ Tutorials/5. FCNN/3. model.ipynb | 43 ++++++++++++++++---------------- docs/requirements.txt | 1 + 5 files changed, 53 insertions(+), 37 deletions(-) diff --git a/DeepINN/model.py b/DeepINN/model.py index a205c3d..3faf280 100644 --- a/DeepINN/model.py +++ b/DeepINN/model.py @@ -1,7 +1,8 @@ import torch import sys from .backend import loss_metric, choose_optimiser -from .config import Config +from .config import Config +from .utils import timer class Model(): """ @@ -46,8 +47,7 @@ def compile_network(self): ) print("Network compiled", file=sys.stderr, flush=True) - def train(self, iterations : int = None, display_every : int = None): - + def initialise_training(self, iterations : int = None): if self.iter == 0: # We are running a fresh training self.training_history = [] # Initialize an empty list for storing loss values self.iterations = iterations @@ -65,6 +65,18 @@ def train(self, iterations : int = None, display_every : int = None): # Set requires_grad=True for self.collocation_point_sample self.collocation_point_sample.requires_grad = True + def train(self, iterations : int = None, display_every : int = 1): + """_summary_ + + Args: + iterations (int): _description_. Number of iterations. + display_every (int, optional): _description_. Display the loss every display_every iterations. Defaults to 1. + """ + self.initialise_training(iterations) + self.trainer() + + @timer + def trainer(self): # implement training loop while self.iter <= self.iterations: @@ -93,6 +105,4 @@ def train(self, iterations : int = None, display_every : int = None): self.iter = self.iter + 1 else: print('Training finished') - #elapsed = time.time() - start_time - #print('Training time: %.2f' % (elapsed)) - #print(f"Final loss: {total_loss}") \ No newline at end of file + diff --git a/DeepINN/utils/__init__.py b/DeepINN/utils/__init__.py index 9536e21..59cae11 100644 --- a/DeepINN/utils/__init__.py +++ b/DeepINN/utils/__init__.py @@ -1,12 +1,3 @@ -"""Useful helper methods for the definition and evaluation of a problem. - -For the creation of conditions, some differential operators are implemented under -torchphysics.utils.differentialoperators. - -For the evaluation of the trained model, some plot and animation functionalities are provided. -They can give you a rough overview of the determined solution. These lay under -torchphysics.utils.plotting -""" from .differentialoperators import (laplacian, grad, div, @@ -20,7 +11,7 @@ from .data import PointsDataset, PointsDataLoader, DeepONetDataLoader -from .user_fun import UserFunction, tensor2numpy +from .user_fun import UserFunction, tensor2numpy, timer from .plotting import plot, animate, scatter from .evaluation import compute_min_and_max diff --git a/DeepINN/utils/user_fun.py b/DeepINN/utils/user_fun.py index 66aeb09..22a37e0 100644 --- a/DeepINN/utils/user_fun.py +++ b/DeepINN/utils/user_fun.py @@ -5,6 +5,8 @@ import inspect import copy import torch +import functools +import time from ..geometry.spaces.points import Points @@ -317,3 +319,14 @@ def tensor2numpy(tensor_list): Converts a list of torch.tensors to numpy arrays. """ return [tensor.detach().cpu().numpy() for tensor in tensor_list] + +def timer(func): + """Print the runtime of the decorated function""" + @functools.wraps(func) + def wrapper_timer(*args, **kwargs): + start_time = time.perf_counter() + func(*args, **kwargs) # execute the decorated function + end_time = time.perf_counter() + run_time = end_time - start_time + print(f"Time taken: {func.__name__!r} in {run_time:.4f} secs") + return wrapper_timer diff --git a/Tutorials/5. FCNN/3. model.ipynb b/Tutorials/5. FCNN/3. model.ipynb index 0ec7bcc..85416dd 100644 --- a/Tutorials/5. FCNN/3. model.ipynb +++ b/Tutorials/5. FCNN/3. model.ipynb @@ -198,18 +198,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "Iteration: 1 \t BC Loss: 0.4149\t PDE Loss: 0.0000 \t Loss: 0.4149\n", - "Iteration: 51 \t BC Loss: 0.3126\t PDE Loss: 0.0000 \t Loss: 0.3126\n", - "Iteration: 101 \t BC Loss: 0.2269\t PDE Loss: 0.0000 \t Loss: 0.2269\n", - "Iteration: 151 \t BC Loss: 0.1661\t PDE Loss: 0.0000 \t Loss: 0.1661\n", - "Iteration: 201 \t BC Loss: 0.1287\t PDE Loss: 0.0000 \t Loss: 0.1287\n", - "Iteration: 251 \t BC Loss: 0.1055\t PDE Loss: 0.0000 \t Loss: 0.1055\n", - "Iteration: 301 \t BC Loss: 0.0878\t PDE Loss: 0.0000 \t Loss: 0.0878\n", - "Iteration: 351 \t BC Loss: 0.0716\t PDE Loss: 0.0000 \t Loss: 0.0716\n", - "Iteration: 401 \t BC Loss: 0.0561\t PDE Loss: 0.0000 \t Loss: 0.0561\n", - "Iteration: 451 \t BC Loss: 0.0420\t PDE Loss: 0.0000 \t Loss: 0.0420\n", - "Iteration: 501 \t BC Loss: 0.0298\t PDE Loss: 0.0000 \t Loss: 0.0298\n", - "Training finished\n" + "Iteration: 1 \t BC Loss: 0.4354\t PDE Loss: 0.0000 \t Loss: 0.4354\n", + "Iteration: 51 \t BC Loss: 0.2866\t PDE Loss: 0.0000 \t Loss: 0.2866\n", + "Iteration: 101 \t BC Loss: 0.1963\t PDE Loss: 0.0000 \t Loss: 0.1963\n", + "Iteration: 151 \t BC Loss: 0.1437\t PDE Loss: 0.0000 \t Loss: 0.1437\n", + "Iteration: 201 \t BC Loss: 0.1102\t PDE Loss: 0.0000 \t Loss: 0.1102\n", + "Iteration: 251 \t BC Loss: 0.0852\t PDE Loss: 0.0000 \t Loss: 0.0852\n", + "Iteration: 301 \t BC Loss: 0.0650\t PDE Loss: 0.0000 \t Loss: 0.0650\n", + "Iteration: 351 \t BC Loss: 0.0485\t PDE Loss: 0.0000 \t Loss: 0.0485\n", + "Iteration: 401 \t BC Loss: 0.0352\t PDE Loss: 0.0000 \t Loss: 0.0352\n", + "Iteration: 451 \t BC Loss: 0.0249\t PDE Loss: 0.0000 \t Loss: 0.0249\n", + "Iteration: 501 \t BC Loss: 0.0172\t PDE Loss: 0.0000 \t Loss: 0.0172\n", + "Training finished\n", + "Time taken: 'trainer' in 4.2741 secs\n" ] } ], @@ -255,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -265,7 +266,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -274,7 +275,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -283,12 +284,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [ { "data": { - "image/png": "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AADYijACAABsldVhJD8/X83NzcrPz7d7KhmNOluHWluDOluDOlsjFeqcFjewAgCAzJXVZ0YAAID9CCMAAMBWhBEAAGArwggAALBVxoeRTZs2qbS0VAUFBSovL9f+/fsn7P/zn/9c119/vQoKCnTzzTdr165dFs00vcVT5y1btqiyslJXXnmlrrzySlVXV1/yfxecF+9nOmzHjh1yOBy66667kjvBDBFvnf/85z9r9erVcrlcys/P17XXXst/PyYh3jq3tLTouuuu0+WXXy6v16sHH3xQn332mUWzTU9vvfWWlixZotmzZ8vhcOi///u/L3lMR0eHvva1ryk/P19f+cpX9MILLyR3kkYG27Fjh5GXl2ds27bN+N3vfmesWrXKuOKKK4z+/v6Y/d9++23D6XQazz77rPH+++8bjz32mJGbm2u89957Fs88vcRb52XLlhmbNm0y3n33XePw4cPGP/zDPxhf/OIXjRMnTlg88/QTb63DPvroI8PtdhuVlZVGTU2NNZNNY/HWeXh42Jg/f77xzW9+09i7d6/x0UcfGR0dHcahQ4csnnl6ibfOL7/8spGfn2+8/PLLxkcffWS89tprhsvlMh588EGLZ55edu3aZTz66KNGIBAwJBm/+MUvJux/7Ngxo7Cw0PD7/cb7779v/PjHPzacTqexe/fupM0xo8PIggULjNWrV49th0IhY/bs2cb69etj9v/2t79t3HnnnRFt5eXlxj/90z8ldZ7pLt46X+zzzz83ZsyYYbz44ovJmmLGmEqtP//8c+PWW281fvrTnxorV64kjExCvHX+yU9+Ylx99dXGyMiIVVPMCPHWefXq1cbf/M3fRLT5/X7jtttuS+o8M8lkwshDDz1k3HjjjRFtS5cuNRYvXpy0eWXsZZqRkREdOHBA1dXVY205OTmqrq5WV1dXzGO6uroi+kvS4sWLx+2PqdX5YkNDQwoGg7rqqquSNc2MMNVaP/nkk5o1a5a++93vWjHNtDeVOv/yl79URUWFVq9ereLiYt10001at26dQqGQVdNOO1Op86233qoDBw6MXco5duyYdu3apW9+85uWzDlb2PFvYVq8KG8qzpw5o1AopOLi4oj24uJiffDBBzGP6evri9m/r68vafNMd1Op88UefvhhzZ49O+rDj0hTqfXevXu1detWHTp0yIIZZoap1PnYsWN6/fXXdffdd2vXrl06evSoHnjgAQWDQTU3N1sx7bQzlTovW7ZMZ86c0e233y7DMPT555/re9/7nr7//e9bMeWsMd6/hQMDA/q///s/XX755Qn/nRl7ZgTp4ZlnntGOHTv0i1/8QgUFBXZPJ6OcO3dOy5cv15YtWzRz5ky7p5PRRkdHNWvWLP3Hf/yH5s2bp6VLl+rRRx/V5s2b7Z5aRuno6NC6dev0/PPP6+DBgwoEAnr11Vf11FNP2T01TFPGnhmZOXOmnE6n+vv7I9r7+/tVUlIS85iSkpK4+mNqdQ7bsGGDnnnmGf3617/WLbfcksxpZoR4a/2HP/xBH3/8sZYsWTLWNjo6Kkm67LLLdOTIEV1zzTXJnXQamspn2uVyKTc3V06nc6zthhtuUF9fn0ZGRpSXl5fUOaejqdT58ccf1/Lly3XvvfdKkm6++WYNDg7qvvvu06OPPqqcHP7/dSKM929hUVFRUs6KSBl8ZiQvL0/z5s1Te3v7WNvo6Kja29tVUVER85iKioqI/pLU1tY2bn9Mrc6S9Oyzz+qpp57S7t27NX/+fCummvbirfX111+v9957T4cOHRr7+ta3vqU77rhDhw4dktfrtXL6aWMqn+nbbrtNR48eHQt7kvThhx/K5XIRRMYxlToPDQ1FBY5wADR4zVrC2PJvYdJujU0BO3bsMPLz840XXnjBeP/994377rvPuOKKK4y+vj7DMAxj+fLlxiOPPDLW/+233zYuu+wyY8OGDcbhw4eN5uZmHu2dhHjr/Mwzzxh5eXlGa2ur0dvbO/Z17tw5u/6EtBFvrS/G0zSTE2+djx8/bsyYMcOor683jhw5YvzP//yPMWvWLOPpp5+2609IC/HWubm52ZgxY4bxyiuvGMeOHTP27NljXHPNNca3v/1tu/6EtHDu3Dnj3XffNd59911DkrFx40bj3XffNT755BPDMAzjkUceMZYvXz7WP/xo77/8y78Yhw8fNjZt2sSjvdP14x//2Pjrv/5rIy8vz1iwYIHxm9/8ZmzfN77xDWPlypUR/f/rv/7LuPbaa428vDzjxhtvNF599VWLZ5ye4qnzl7/8ZUNS1Fdzc7P1E09D8X6mL0QYmbx467xv3z6jvLzcyM/PN66++mrjBz/4gfH5559bPOv0E0+dg8Gg8cQTTxjXXHONUVBQYHi9XuOBBx4w/vSnP1k/8TTyxhtvxPxvbri2K1euNL7xjW9EHVNWVmbk5eUZV199tfGf//mfSZ2jwzA4twUAAOyTsfeMAACA9EAYAQAAtiKMAAAAWxFGAACArQgjAADAVoQRAABgK8IIAACwFWEEAADYijACAABsRRgBAAC2IowAAABbEUYAAICt/j+6RqLRkmH71AAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -306,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -315,13 +316,13 @@ "Text(0, 0.5, 'Loss')" ] }, - "execution_count": 23, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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WSyWZkdycrLzusu1s4FztmDBAsPX19d4+eWXje3btxu33nqrER4ebhQVFZldmttYvHixcf/99xvvvfeeIclYuHBhs+uPP/64ERYWZrz//vvG5s2bjWuuucbo1auXceLECec9l19+uZGSkmJ89dVXxurVq42kpCRjypQpHfxNXNv48eONV155xdi2bZuxadMm48orrzR69OhhVFVVOe+57bbbjISEBCMrK8vYsGGDcd555xmjR492Xm9sbDQGDx5sZGZmGhs3bjQWL15sREZGGjNnzjTjK7mkDz/80Pj444+NPXv2GLt37zb++Mc/Gj4+Psa2bdsMw6CN28O6deuMxMREY+jQocY999zjPE9bt41Zs2YZgwYNMgoLC53H0aNHndddrZ0JN21g1KhRxp133un8s91uN+Li4ozZs2ebWJX7+m64cTgcRmxsrPG3v/3Nea6srMzw8/Mz/vvf/xqGYRg7duwwJBnr16933vPJJ58YFovFOHz4cIfV7m6Ki4sNScaqVasMw2hqVx8fH+Ptt9923rNz505DkpGdnW0YRlMQtVqths1mc97z/PPPG6GhoUZdXV3HfgE3EhERYfzzn/+kjdtBZWWl0bdvX2PZsmXG2LFjneGGtm47s2bNMlJSUk57zRXbmW6pc1RfX6+cnBxlZmY6z1mtVmVmZio7O9vEyjzHgQMHZLPZmrVxWFiY0tPTnW2cnZ2t8PBwjRgxwnlPZmamrFar1q5d2+E1u4vy8nJJUpcuXSRJOTk5amhoaNbWycnJ6tGjR7O2HjJkiHP/N0kaP368KioqtH379g6s3j3Y7XYtWLBA1dXVysjIoI3bwZ133qkJEyY0a1OJf89tbe/evYqLi1Pv3r11ww03KD8/X5JrtrPpG2e6u5KSEtnt9mZ/YZIUExOjXbt2mVSVZ7HZbJJ02jY+dc1msyk6OrrZdW9vb3Xp0sV5D5pzOByaPn26zj//fOfGszabTb6+vgoPD29273fb+nR/F6euocnWrVuVkZGh2tpaBQcHa+HChRo4cKA2bdpEG7ehBQsWKDc3V+vXr//eNf49t5309HS9+uqr6t+/vwoLC/Xwww/rwgsv1LZt21yynQk3QCd15513atu2bVqzZo3ZpXik/v37a9OmTSovL9c777yjm266SatWrTK7LI9SUFCge+65R8uWLZO/v7/Z5Xi0K664wvn7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b9+uxMREJSUlNTu+G2i+LScnRw6HQ0899ZTOO+889evXT0eOHPnRz/uuAQMGqKCgQAUFBc5zO3bsUFlZmQYOHHjG381isej888/Xww8/rI0bN8rX11cLFy4849cDaB+EGwDtKjExUWvXrlVeXp5KSkrkcDh05513qrS0VFOmTNH69eu1b98+ffrpp5o2bVqLwSQpKUkNDQ2aO3eu9u/frzfeeMM50Pjbn1dVVaWsrCyVlJSctrsqMzNTQ4YM0Q033KDc3FytW7dOU6dO1dixYzVixIgz+l5r167VY489pg0bNig/P1/vvfeejh49qgEDBpxdAwFoc4QbAO3q3nvvlZeXlwYOHKioqCjl5+crLi5OX3zxhex2uy677DINGTJE06dPV3h4uKzWH/7PUkpKip5++mn99a9/1eDBg/Xvf/9bs2fPbnbP6NGjddttt2ny5MmKior63oBkqemJywcffKCIiAiNGTNGmZmZ6t27t958880z/l6hoaH6/PPPdeWVV6pfv37605/+pKeeekpXXHHFmTcOgHZhMZi3CAAAPAhPbgAAgEch3AAAAI9CuAEAAB6FcAMAADwK4QYAAHgUwg0AAPAohBsAAOBRCDcAAMCjEG4AAIBHIdwAAACPQrgBAAAe5f8DiN6PiryAMWoAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -354,7 +355,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.9.16" }, "orig_nbformat": 4 }, diff --git a/docs/requirements.txt b/docs/requirements.txt index 7e821e4..5235316 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,3 +1,4 @@ jupyter-book matplotlib numpy +ghp-import From 15853e15252dcfb405ceefcb891cab1d9b87f0fc Mon Sep 17 00:00:00 2001 From: Prakhar Sharma <1915438@swansea.ac.uk> Date: Mon, 11 Mar 2024 17:43:27 +0000 Subject: [PATCH 2/3] NN refactor --- DeepINN/config.py | 4 + DeepINN/model.py | 8 +- DeepINN/nn/FCNN.py | 6 +- DeepINN/nn/base.py | 5 +- Tutorials/5. FCNN/3. model.ipynb | 28 +- .../6. 2D heat conduction/1. model.ipynb | 404 ++++++++++++++++++ 6 files changed, 432 insertions(+), 23 deletions(-) create mode 100644 Tutorials/6. 2D heat conduction/1. model.ipynb diff --git a/DeepINN/config.py b/DeepINN/config.py index e2a694e..1f9330d 100644 --- a/DeepINN/config.py +++ b/DeepINN/config.py @@ -11,6 +11,10 @@ def __init__(self, float_type=torch.float32, random_seed=42, device = 'cuda'): self.device = device # Add more configuration parameters as needed + self.apply_seeds() + self.apply_float_type() + self.default_device() + def apply_seeds(self): torch.manual_seed(self.random_seed) diff --git a/DeepINN/model.py b/DeepINN/model.py index 3faf280..091c57c 100644 --- a/DeepINN/model.py +++ b/DeepINN/model.py @@ -52,9 +52,9 @@ def initialise_training(self, iterations : int = None): self.training_history = [] # Initialize an empty list for storing loss values self.iterations = iterations # Load all the seeds, data types, devices etc. - self.config.apply_seeds() - self.config.apply_float_type() - self.config.default_device() + # self.config.apply_seeds() + # self.config.apply_float_type() + # self.config.default_device() # In 1D problem we need to combine the BCs as there is only one point for each BC, which returns an undefined feature scaling because the ub and lb are same in the denominator, so we get infinity # For problem with multiple points on each boundary, we don't need to combine them. @@ -74,7 +74,7 @@ def train(self, iterations : int = None, display_every : int = 1): """ self.initialise_training(iterations) self.trainer() - + @timer def trainer(self): # implement training loop diff --git a/DeepINN/nn/FCNN.py b/DeepINN/nn/FCNN.py index be354e9..a87d58c 100644 --- a/DeepINN/nn/FCNN.py +++ b/DeepINN/nn/FCNN.py @@ -1,7 +1,7 @@ import torch from .base import BaseNetwork -class FullyConnected(BaseNetwork, torch.nn.Module): +class FullyConnected(BaseNetwork): """ Implementation of Fully Connected neural network """ @@ -28,10 +28,10 @@ def __init__(self, self.linears = torch.nn.ModuleList([torch.nn.Linear(self.layer_size[i], self.layer_size[i+1]) for i in range(0,len(self.layer_size)-1)]) # initialise the weights - self.init() + self.weight_init() - def init(self): + def weight_init(self): # weight initialisation for i in range(len(self.layer_size)-1): diff --git a/DeepINN/nn/base.py b/DeepINN/nn/base.py index 682bb62..30a962a 100644 --- a/DeepINN/nn/base.py +++ b/DeepINN/nn/base.py @@ -1,12 +1,13 @@ from abc import ABC, abstractmethod from .utils import activation, initialiser +import torch -class BaseNetwork(): +class BaseNetwork(torch.nn.Module): """ Base class for all neural networks """ def __init__(self) -> None: - super().__init__() # intialise all methods from nn.Module + super().__init__() # initialise all methods from nn.Module self.activation_function = activation self.initialiser_function = initialiser diff --git a/Tutorials/5. FCNN/3. model.ipynb b/Tutorials/5. FCNN/3. model.ipynb index 85416dd..6ceb093 100644 --- a/Tutorials/5. FCNN/3. model.ipynb +++ b/Tutorials/5. FCNN/3. model.ipynb @@ -198,19 +198,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "Iteration: 1 \t BC Loss: 0.4354\t PDE Loss: 0.0000 \t Loss: 0.4354\n", - "Iteration: 51 \t BC Loss: 0.2866\t PDE Loss: 0.0000 \t Loss: 0.2866\n", - "Iteration: 101 \t BC Loss: 0.1963\t PDE Loss: 0.0000 \t Loss: 0.1963\n", - "Iteration: 151 \t BC Loss: 0.1437\t PDE Loss: 0.0000 \t Loss: 0.1437\n", - "Iteration: 201 \t BC Loss: 0.1102\t PDE Loss: 0.0000 \t Loss: 0.1102\n", - "Iteration: 251 \t BC Loss: 0.0852\t PDE Loss: 0.0000 \t Loss: 0.0852\n", - "Iteration: 301 \t BC Loss: 0.0650\t PDE Loss: 0.0000 \t Loss: 0.0650\n", - "Iteration: 351 \t BC Loss: 0.0485\t PDE Loss: 0.0000 \t Loss: 0.0485\n", - "Iteration: 401 \t BC Loss: 0.0352\t PDE Loss: 0.0000 \t Loss: 0.0352\n", - "Iteration: 451 \t BC Loss: 0.0249\t PDE Loss: 0.0000 \t Loss: 0.0249\n", - "Iteration: 501 \t BC Loss: 0.0172\t PDE Loss: 0.0000 \t Loss: 0.0172\n", + "Iteration: 1 \t BC Loss: 1.1904\t PDE Loss: 0.0000 \t Loss: 1.1904\n", + "Iteration: 51 \t BC Loss: 0.8801\t PDE Loss: 0.0000 \t Loss: 0.8801\n", + "Iteration: 101 \t BC Loss: 0.6463\t PDE Loss: 0.0000 \t Loss: 0.6463\n", + "Iteration: 151 \t BC Loss: 0.4837\t PDE Loss: 0.0000 \t Loss: 0.4837\n", + "Iteration: 201 \t BC Loss: 0.3789\t PDE Loss: 0.0000 \t Loss: 0.3789\n", + "Iteration: 251 \t BC Loss: 0.3130\t PDE Loss: 0.0000 \t Loss: 0.3130\n", + "Iteration: 301 \t BC Loss: 0.2686\t PDE Loss: 0.0000 \t Loss: 0.2686\n", + "Iteration: 351 \t BC Loss: 0.2344\t PDE Loss: 0.0000 \t Loss: 0.2344\n", + "Iteration: 401 \t BC Loss: 0.2047\t PDE Loss: 0.0000 \t Loss: 0.2047\n", + "Iteration: 451 \t BC Loss: 0.1773\t PDE Loss: 0.0000 \t Loss: 0.1773\n", + "Iteration: 501 \t BC Loss: 0.1516\t PDE Loss: 0.0000 \t Loss: 0.1516\n", "Training finished\n", - "Time taken: 'trainer' in 4.2741 secs\n" + "Time taken: 'trainer' in 3.2072 secs\n" ] } ], @@ -289,7 +289,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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dpu3LkvRoSW0XV/PeiwAkAYILHA2v19qaJCKiiLbvV6znXVYACAtsHAcnM/vlyoqWOkWANIYgQXpwe2WyspSPQsAQJJwSggAANgegQUAANgegQUAANgegQUAANgegQUAANgegQUAANgegQUAANge67DAesFg9CJvAACcA4EF1goEpOpqqb39bJvXaz4TiJVpAQDD4JQQrBMISJWVkWFFkjo6pIULUzMnAIAjEFhgjWDQPLJiGNH7BrcFg9bNCQDgGAQWWKO5OfrIymCh0NLSYs18AACOQmCBNTo7R9avqyu58wAAOBKBBdbweEbWr7AwufMAADgSgQXWKC017wZyuWLvD7WXlFg3JwCAYxBYYA2327x1WYoOLYO3ubUZABADgQXW8fulhgapqCiy3euVfv7z1MwJAOAILBwHa/n9UkVF9Eq3AwPS1q2pnh0AwKYILLCe2y2VlUW2DQykZCoAAGfglBAAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALA9Fo7D8ILB6BVpedYPACAFCCyILRCQqqul9vazbV6v+QBDvz918wIAjEmcEkK0QECqrIwMK5LU0WG2BwKpmRcAYMwisCBSMGgeWTGM6H2htpoasx8AABYhsCBSc3P0kZXBDENqazP7AQBgkVEFlnXr1qm4uFg5OTmaNWuW9uzZM6L3bd68WS6XS7fffntE+z333COXyxXxuvnmm0czNZyvzs7E9gMAIAHiDiwvv/yyamtrVVdXp3379umaa67RvHnz9MEHH5zzfUePHtUPfvADlZaWxtx/8803q7OzM/x66aWX4p0aEsHjSWw/AAASIO7AsnbtWi1evFiLFi3StGnTtH79euXm5mrjxo3DvicYDOrOO+/UypUrNXny5Jh9srOzVVhYGH5NmDAh3qkhEUpLzbuBXK7Y+10uyecz+wEAYJG4bmvu6+vT3r17tXz58nBbRkaGysvL1dLSMuz7Vq1apYkTJ+ree+9V8zDXPjQ1NWnixImaMGGCvvWtb+nxxx/Xn/3Zn8Xs29vbq97e3vB2T0+PJKm/v1/9/f3xfKSvFBov0ePa2nPPSQsXmt8Pvvg2FGLq66WBAfOVIGOyzilAna1Dra1Bna2RrDrHM15cgeXEiRMKBoMqKCiIaC8oKNC7774b8z27du3S888/r/379w877s033yy/369LL71Uhw4d0iOPPKLvfOc7amlpkTvGQmVr1qzRypUro9p37Nih3NzceD7SiO3cuTMp49qS2y29+OK5+2zdmpQfPabqnELU2TrU2hrU2RqJrvOZM2dG3DepC8edOnVKCxcu1IYNG5Sfnz9sv+9///vh76+++mpNnz5dU6ZMUVNTk7797W9H9V++fLlqa2vD2z09PfL5fJo7d67y8vIS+hn6+/u1c+dOzZkzR5mZmQkd2/aCQamlRerqkgoLpZKSpK10O6brbCHqbB1qbQ3qbI1k1Tl0hmQk4gos+fn5crvd6u7ujmjv7u5WYWFhVP9Dhw7p6NGjuu2228JtA///NMIFF1yggwcPasqUKVHvmzx5svLz89Xa2hozsGRnZys7OzuqPTMzM2m/sMkc27YyM6WbbrL4R47BOqcAdbYOtbYGdbZGouscz1hxXXSblZWlmTNnqrGxMdw2MDCgxsZGlZSURPW/4oor9NZbb2n//v3h13e/+13ddNNN2r9/v3w+X8yf097ero8++kge7kQBAAAaxSmh2tpa3X333br22mt13XXXqb6+XqdPn9aiRYskSXfddZeKioq0Zs0a5eTk6Otf/3rE+y+66CJJCrd/9tlnWrlypf76r/9ahYWFOnTokB566CFddtllmjdv3nl+PAAAkA7iDizz58/Xhx9+qBUrVqirq0szZszQtm3bwhfiHjt2TBkZIz9w43a79Yc//EGbNm3SyZMnNWnSJM2dO1erV6+OedoHAACMPaO66LaqqkpVVVUx9zU1NZ3zvS+88ELE9rhx47R9+/bRTAMAAIwRPEsIAADYHoEFAADYHoEFAADYHoEFAADYXlJXuoWFgkGpuVnq7DSfpFxamrRVaQEAsBqBJR0EAlJ1tdTefrbN6zUfYuj3p25eAAAkCKeEnC4QkCorI8OKJHV0mO2BQGrmBQBAAhFYnCwYNI+sGEb0vlBbTY3ZDwAAByOwOFlzc/SRlcEMQ2prM/sBAOBgBBYn6+xMbD8AAGyKwOJkI32aNU+9BgA4HIHFyUpLzbuBXK7Y+10uyecz+wEA4GAEFidzu81bl6Xo0BLarq9nPRYAgOMRWJzO75caGqSiosh2r9dsZx0WAEAaYOG4dOD3SxUVrHQLAEhbBJZ04XZLZWWpngUAAEnBKSEAAGB7BBYAAGB7BBYAAGB7BBYAAGB7BBYAAGB7BBYAAGB7BBYAAGB7BBYAAGB7BJZzCAalXbvM73ftMrcTMmhTk/TSS+bXhAwKAEB6I7AMIxCQioulW281t2+91dwOBBIw6E03SQsWmF/Pe1AAANIfgSWGQECqrJTa2yPbOzrM9lHli6QMCgDA2EBgGSIYlKqrJcOI3hdqq6mJ80xOUgYFAGDsILAM0dwcfRBkMMOQ2trMfqkdFACAsYPAMkRnZ2L7JW9QAADGDgLLEB5PYvslb1AAAMYOAssQpaWS1yu5XLH3u1ySz2f2S+2gAACMHQSWIdxu6bnnzO+H5ovQdn292S+1gwIAMHYQWGLw+6WGBqmoKLLd6zXb/X67DAoAwNhwQaonYFd+v1RRIf3ud1JPj7Rli/SXf3meB0FCgzY3mxfYejzmaSCOrAAAcE4ElnNwu6UbbpC2bjW/JiRXuN1SWVkCBgIAYOzglBAAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALA9AgsAALC9tFjp1jAMSVJPT0/Cx+7v79eZM2fU09OjzMzMhI8PE3W2BnW2DrW2BnW2RrLqHPq7Hfo7fi5pEVhOnTolSfL5fCmeCQAAiNepU6d04YUXnrOPyxhJrLG5gYEBHT9+XOPHj5fL5Uro2D09PfL5fGpra1NeXl5Cx8ZZ1Nka1Nk61Noa1NkayaqzYRg6deqUJk2apIyMc1+lkhZHWDIyMuT1epP6M/Ly8viXwQLU2RrU2TrU2hrU2RrJqPNXHVkJ4aJbAABgewQWAABgewSWr5Cdna26ujplZ2eneippjTpbgzpbh1pbgzpbww51TouLbgEAQHrjCAsAALA9AgsAALA9AgsAALA9AgsAALA9AoukdevWqbi4WDk5OZo1a5b27Nlzzv7/9V//pSuuuEI5OTm6+uqrtXXrVotm6mzx1HnDhg0qLS3VhAkTNGHCBJWXl3/lPxeY4v19Dtm8ebNcLpduv/325E4wTcRb55MnT2rp0qXyeDzKzs7W1KlT+W/HCMVb6/r6el1++eUaN26cfD6fHnzwQX3xxRcWzdZ5fve73+m2227TpEmT5HK59Morr3zle5qamvTNb35T2dnZuuyyy/TCCy8kfZ4yxrjNmzcbWVlZxsaNG423337bWLx4sXHRRRcZ3d3dMfv//ve/N9xut/HUU08Z77zzjvGjH/3IyMzMNN566y2LZ+4s8dZ5wYIFxrp164w333zTOHDggHHPPfcYF154odHe3m7xzJ0l3jqHHDlyxCgqKjJKS0uNiooKaybrYPHWube317j22muNW265xdi1a5dx5MgRo6mpydi/f7/FM3eeeGv9i1/8wsjOzjZ+8YtfGEeOHDG2b99ueDwe48EHH7R45s6xdetW49FHHzUCgYAhyfjlL395zv6HDx82cnNzjdraWuOdd94xfvKTnxhut9vYtm1bUuc55gPLddddZyxdujS8HQwGjUmTJhlr1qyJ2f973/ueceutt0a0zZo1y/i7v/u7pM7T6eKt81BffvmlMX78eGPTpk3JmmJaGE2dv/zyS+P66683/v3f/924++67CSwjEG+d//Vf/9WYPHmy0dfXZ9UU00a8tV66dKnxrW99K6KttrbWmD17dlLnmS5GElgeeugh46qrropomz9/vjFv3rwkzswwxvQpob6+Pu3du1fl5eXhtoyMDJWXl6ulpSXme1paWiL6S9K8efOG7Y/R1XmoM2fOqL+/X3/6p3+arGk63mjrvGrVKk2cOFH33nuvFdN0vNHU+dVXX1VJSYmWLl2qgoICff3rX9cTTzyhYDBo1bQdaTS1vv7667V3797waaPDhw9r69atuuWWWyyZ81iQqr+DafHww9E6ceKEgsGgCgoKItoLCgr07rvvxnxPV1dXzP5dXV1Jm6fTjabOQy1btkyTJk2K+pcEZ42mzrt27dLzzz+v/fv3WzDD9DCaOh8+fFi/+c1vdOedd2rr1q1qbW3VAw88oP7+ftXV1VkxbUcaTa0XLFigEydO6IYbbpBhGPryyy/193//93rkkUesmPKYMNzfwZ6eHn3++ecaN25cUn7umD7CAmd48skntXnzZv3yl79UTk5OqqeTNk6dOqWFCxdqw4YNys/PT/V00trAwIAmTpyon/70p5o5c6bmz5+vRx99VOvXr0/11NJOU1OTnnjiCf3Lv/yL9u3bp0AgoC1btmj16tWpnhrO05g+wpKfny+3263u7u6I9u7ubhUWFsZ8T2FhYVz9Mbo6hzzzzDN68skn9etf/1rTp09P5jQdL946Hzp0SEePHtVtt90WbhsYGJAkXXDBBTp48KCmTJmS3Ek70Gh+nz0ejzIzM+V2u8NtV155pbq6utTX16esrKykztmpRlPrH//4x1q4cKHuu+8+SdLVV1+t06dP6/7779ejjz6qjAz+P/18Dfd3MC8vL2lHV6QxfoQlKytLM2fOVGNjY7htYGBAjY2NKikpifmekpKSiP6StHPnzmH7Y3R1lqSnnnpKq1ev1rZt23TttddaMVVHi7fOV1xxhd566y3t378//Prud7+rm266Sfv375fP57Ny+o4xmt/n2bNnq7W1NRwIJem9996Tx+MhrJzDaGp95syZqFASCooGj85LiJT9HUzqJb0OsHnzZiM7O9t44YUXjHfeece4//77jYsuusjo6uoyDMMwFi5caDz88MPh/r///e+NCy64wHjmmWeMAwcOGHV1ddzWPALx1vnJJ580srKyjIaGBqOzszP8OnXqVKo+giPEW+ehuEtoZOKt87Fjx4zx48cbVVVVxsGDB43/+Z//MSZOnGg8/vjjqfoIjhFvrevq6ozx48cbL730knH48GFjx44dxpQpU4zvfe97qfoItnfq1CnjzTffNN58801DkrF27VrjzTffNN5//33DMAzj4YcfNhYuXBjuH7qt+Yc//KFx4MABY926ddzWbJWf/OQnxte+9jUjKyvLuO6664zXX389vO/GG2807r777oj+//mf/2lMnTrVyMrKMq666ipjy5YtFs/YmeKp8yWXXGJIinrV1dVZP3GHiff3eTACy8jFW+fdu3cbs2bNMrKzs43Jkycb//iP/2h8+eWXFs/ameKpdX9/v/HYY48ZU6ZMMXJycgyfz2c88MADxieffGL9xB3it7/9bcz/3obqevfddxs33nhj1HtmzJhhZGVlGZMnTzZ+9rOfJX2eLsPgGBkAALC3MX0NCwAAcAYCCwAAsD0CCwAAsD0CCwAAsD0CCwAAsD0CCwAAsD0CCwAAsD0CCwAAsD0CCwAAsD0CCwAAsD0CCwAAsD0CCwAAsL3/B2RlpZqjVnCpAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -322,7 +322,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABEM0lEQVR4nO3deXhU9d3+8Xsm+55ANhICAQKENYEAMaigEkXFhdKnUrSi1Mc+rpVS20qtorWKteoPBauVunfBFRdEBMMiaGRJ2HeBkACZhBCyk23m/P4IjEYxQkhyZibv13WdCzjnzMxnvlBz93w3i2EYhgAAADyE1ewCAAAA2hLhBgAAeBTCDQAA8CiEGwAA4FEINwAAwKMQbgAAgEch3AAAAI/ibXYBHc3hcOjIkSMKCQmRxWIxuxwAAHAGDMNQZWWl4uLiZLW2/Gym04WbI0eOKCEhwewyAABAKxQUFKh79+4t3tPpwk1ISIikpsYJDQ01uRoAAHAmKioqlJCQ4Pw53pJOF25OdUWFhoYSbgAAcDNnMqSEAcUAAMCjEG4AAIBHIdwAAACPQrgBAAAehXADAAA8CuEGAAB4FMINAADwKIQbAADgUQg3AADAoxBuAACARyHcAAAAj0K4AQAAHoVw04ZKquq0s7DC7DIAAOjUCDdtZMk2m0Y9+plmvrfV7FIAAOjUCDdtZHiPcBmSNhWUqbD8hNnlAADQaRFu2kh0qL/SekRIkpZuLzK5GgAAOi/CTRu6fHCspKYuKgAAYA7CTRsaP6gp3KzLK1Vpdb3J1QAA0DkRbtpQQpdADewWKrvD0Gc76ZoCAMAMhJs2dqpr6lO6pgAAMAXhpo2dCjer95aoqq7R5GoAAOh8CDdtrG90sHpHBqne7tCKXcVmlwMAQKdDuGljFotF40/NmtpO1xQAAB2NcNMOTs2aWrmrWLUNdpOrAQCgcyHctIOh8WHqFuav6nq7vvi6xOxyAADoVAg37cBqtTif3rCgHwAAHYtw005OhZtlO4vUaHeYXA0AAJ0H4aadjEyMUJcgX5XVNGjdgVKzywEAoNMg3LQTby+rMgdES2LWFAAAHYlw045OLei3dHuRHA7D5GoAAOgcCDftaHSfSAX7ectWUavNh8rMLgcAgE6BcNOO/H28dHEyXVMAAHQkwk07u3zQNxtpGgZdUwAAtDfCTTu7qH+UfL2tyjtWo122SrPLAQDA4xFu2lmQn7fG9ouSJC3eWmhyNQAAeD7CTQe4amg3SdLHWwvpmgIAoJ0RbjrAuAEx8vW2av/RarqmAABoZ4SbDhDs562L6JoCAKBDEG46yIRTXVNb6JoCAKA9uUS4ee6555SYmCh/f3+lp6dr3bp1Z/S6BQsWyGKxaOLEie1bYBtwdk2V0DUFAEB7Mj3cvPnmm5oxY4ZmzZql3NxcpaSkaPz48SouLm7xdXl5ebr33nt14YUXdlCl5+bbXVMfb6FrCgCA9mJ6uHn66ad16623atq0aRo4cKBeeOEFBQYG6uWXX/7B19jtdt1www16+OGH1bt37xbfv66uThUVFc0Os5zqmlrMrCkAANqNqeGmvr5eOTk5yszMdJ6zWq3KzMxUdnb2D77uz3/+s6Kjo3XLLbf86GfMnj1bYWFhziMhIaFNam+Nb3dN7SykawoAgPZgargpKSmR3W5XTExMs/MxMTGy2U6/F9OaNWv00ksvaf78+Wf0GTNnzlR5ebnzKCgoOOe6WyvYz1sX92fWFAAA7cn0bqmzUVlZqRtvvFHz589XZGTkGb3Gz89PoaGhzQ4zXTmEBf0AAGhP3mZ+eGRkpLy8vFRUVNTsfFFRkWJjY793/759+5SXl6err77aec7hcEiSvL29tXv3bvXp06d9iz5H4wbEyM/bqgMnu6YGxpkbtgAA8DSmPrnx9fVVWlqasrKynOccDoeysrKUkZHxvfuTk5O1detWbdq0yXlcc801uvjii7Vp0yZTx9OcqaauqWhJ0sdbj5hcDQAAnsfUJzeSNGPGDN10000aMWKERo0apTlz5qi6ulrTpk2TJE2dOlXx8fGaPXu2/P39NXjw4GavDw8Pl6TvnXdlVw7tpiXbbVq81aZ7L+svi8VidkkAAHgM08PN5MmTdfToUT344IOy2WxKTU3VkiVLnIOM8/PzZbW61dCgHzUuOdrZNbWjsEKD4sLMLgkAAI9hMTrZqNaKigqFhYWpvLzc1MHFt72RoyXbbbrjoj76/eXJptUBAIA7OJuf3571SMSNXJXSNGvqoy1HmDUFAEAbItyYZFxyjIJ8vVRQekIbC8rMLgcAAI9BuDFJgK+XLh3YNK7ow03MmgIAoK0Qbkx0bWq8JGnRlkI12h0mVwMAgGcg3Jjogr6Rigj0UUlVnb7aX2p2OQAAeATCjYl8vKy64uR2DB9uPmxyNQAAeAbCjcmuTYmTJH2yzaa6RrvJ1QAA4P4INyYbmdhF3cL8VVnbqJW7j5pdDgAAbo9wYzKr1aKrTz69YdYUAADnjnDjAq45GW4+21mkqrpGk6sBAMC9EW5cwKC4UPWODFJdo0PLdtjMLgcAALdGuHEBFotF16Q2Pb35gK4pAADOCeHGRZzqmlq9t0THqupMrgYAAPdFuHERvaOCNTg+VHaHocXb6JoCAKC1CDcu5NqUpu0YPqJrCgCAViPcuJCrUrrJYpHW5ZWqoLTG7HIAAHBLhBsX0i0sQBm9u0qSPtjEdgwAALQG4cbFTBreXZL0Xu5hGYZhcjUAALgfwo2LuXxwrAJ8vLS/pFqbCsrMLgcAALdDuHExwX7eunxwrKSmpzcAAODsEG5c0KThJ2dNbTnCTuEAAJwlwo0LGt0nUjGhfiqradCKXewUDgDA2SDcuCAvq0UThzU9vXkv95DJ1QAA4F4INy5q0rCmWVMrdhertLre5GoAAHAfhBsX1T82RIPjQ9VgN7RoCysWAwBwpgg3LuzU0xtmTQEAcOYINy7smtQ4eVkt2lRQpn1Hq8wuBwAAt0C4cWGRwX4a2y9KkrSQpzcAAJwRwo2LO7XmzcKNh+VwsB0DAAA/hnDj4jIHxCjE31uHy07oqwPHzC4HAACXR7hxcf4+XrpqaJwk6Z0NrHkDAMCPIdy4getGNM2aWrytUBW1DSZXAwCAayPcuIHUhHD1jQ5WbYNDH21mzRsAAFpCuHEDFotFk0cmSJLeomsKAIAWEW7cxMRh8fK2WrS5oEy7bZVmlwMAgMsi3LiJyGA/ZQ6IkSS9taHA5GoAAHBdhBs3ct3IpoHFCzceVn2jw+RqAABwTYQbNzKmb5RiQv1UWl2vz3YWmV0OAAAuiXDjRry9rPrp8KanN3RNAQBweoQbN3PdiKZZU5/vOarC8hMmVwMAgOsh3LiZxMggjerVRQ5DejeHaeEAAHwX4cYNTR7xzZo3bKYJAEBzhBs3dOWQbgrx91Z+aY2+2FdidjkAALgUwo0bCvD10qRh8ZKkf3+Vb3I1AAC4FsKNm7o+vackadnOIhVX1JpcDQAAroNw46b6x4YorWeE7A6DaeEAAHwL4caNXT+qhyTpv+sKZGdgMQAAkgg3bm3C0G4KC/DR4bIT+nzvUbPLAQDAJRBu3Ji/j5dzxWIGFgMA0IRw4+auT29a82b5riJWLAYAQIQbt5cUHeJcsfjN9QwsBgCAcOMBbkhvGlj85voCNdodJlcDAIC5CDce4PLBsYoI9FFhea1W7GZgMQCgcyPceAA/by/nbuGvZ+eZWwwAACYj3HiIX5zXUxaLtHpvifYdrTK7HAAATEO48RAJXQI1LjlakvRG9kGTqwEAwDyEGw8yNSNRkvRuziFV1TWaWwwAACYh3HiQC5Ii1TsySJV1jVq48bDZ5QAAYArCjQexWi26MaNpt/DXv8yTYbDfFACg8yHceJj/SeuuIF8v7S2uUva+Y2aXAwBAhyPceJgQfx9NOrnf1GtMCwcAdEKEGw809WTX1LIdRTpcxn5TAIDOhXDjgfrGhGh0n65yGNK/v2JaOACgcyHceKibRidKkv67Ll+1DXZziwEAoAMRbjxU5oAYdY8I0PGaBr2Xy7RwAEDnQbjxUF5Wi6ad30uS9PIXB+RwMC0cANA5EG482HUjuivEz1tfF1dp1V52CwcAdA6EGw8W4u+jySObdgt/afUBk6sBAKBjEG483M3nJ8pqkdZ8XaKdhRVmlwMAQLtziXDz3HPPKTExUf7+/kpPT9e6det+8N733ntPI0aMUHh4uIKCgpSamqo33nijA6t1L90jAnXFkG6SpJfX8PQGAOD5TA83b775pmbMmKFZs2YpNzdXKSkpGj9+vIqLi097f5cuXXT//fcrOztbW7Zs0bRp0zRt2jR9+umnHVy5+/jfC5oGFn+w6YiKK2tNrgYAgPZlMUzeXTE9PV0jR47UvHnzJEkOh0MJCQm6++67dd99953RewwfPlwTJkzQI4888qP3VlRUKCwsTOXl5QoNDT2n2t3JpL9/odz8Mv36kiTNuKy/2eUAAHBWzubnt6lPburr65WTk6PMzEznOavVqszMTGVnZ//o6w3DUFZWlnbv3q0xY8ac9p66ujpVVFQ0Ozqj/72wtyTpX2tZ1A8A4NlMDTclJSWy2+2KiYlpdj4mJkY2m+0HX1deXq7g4GD5+vpqwoQJmjt3ri699NLT3jt79myFhYU5j4SEhDb9Du7isoFNi/qVVtfr3dxDZpcDAEC7MX3MTWuEhIRo06ZNWr9+vR599FHNmDFDK1euPO29M2fOVHl5ufMoKCjo2GJdhLeXVb88uajf/M/3y86ifgAAD+Vt5odHRkbKy8tLRUVFzc4XFRUpNjb2B19ntVqVlJQkSUpNTdXOnTs1e/ZsXXTRRd+718/PT35+fm1at7v6+agEPbt8r/KO1WjJNpsmDO1mdkkAALQ5U5/c+Pr6Ki0tTVlZWc5zDodDWVlZysjIOOP3cTgcqqura48SPUqgr7duykiUJD2/6muZPJYcAIB2YXq31IwZMzR//ny99tpr2rlzp26//XZVV1dr2rRpkqSpU6dq5syZzvtnz56tZcuWaf/+/dq5c6eeeuopvfHGG/rFL35h1ldwKzeNTlSAj5e2Ha7Qmq9LzC4HAIA2Z2q3lCRNnjxZR48e1YMPPiibzabU1FQtWbLEOcg4Pz9fVus3Gay6ulp33HGHDh06pICAACUnJ+tf//qXJk+ebNZXcCtdgnz181EJeuWLPL2wap8u7BtldkkAALQp09e56WiddZ2bbztcdkJjn1ihRoehD+48XykJ4WaXBABAi9xmnRuYIz48QNekxkmSXli1z+RqAABoW4SbTuq2sX0kSUu227T/aJXJ1QAA0HYIN51Uv5gQZQ6IkWFIL36+3+xyAABoM4SbTuz2i5q2ZHg395COlJ0wuRoAANoG4aYTS+vZRRm9u6rBbjD2BgDgMQg3ndyvx/WVJC1YVyBbea3J1QAAcO4IN53ceb27aFRiF9XbHfrH5zy9AQC4P8JNJ2exWJxPb/6zNl/FlTy9AQC4N8INdH5SVw3vEa66RofmM3MKAODmCDdo9vTmX1/lq6SKTUgBAO6LcANJ0th+UUrpHqYTDXb9c/UBs8sBAKDVCDeQ1PzpzevZeSqtrje5IgAAWodwA6dLkqM1KC5UNfV2zV/N2BsAgHsi3MDJYrFoemY/SdKrX+QxcwoA4JYIN2gmc0C0UhLCdaLBrr+vYN0bAID7IdygGYvFot9d1l9S07o3h9lzCgDgZgg3+J7zk7rqvN5NqxbPzdprdjkAAJwVwg2+x2Kx6Hfjm57evJ1zSAdKqk2uCACAM0e4wWml9eyii/tHye4wNOezPWaXAwDAGSPc4Af99uTYmw83H9FuW6XJ1QAAcGYIN/hBg+PDdOWQWBmG9NTS3WaXAwDAGSHcoEUzLu0nq0VauqNIOQePm10OAAA/inCDFiVFh+hnaQmSpNmLd8owDJMrAgCgZYQb/KjfXNpP/j5WbTh4XJ9uLzK7HAAAWkS4wY+KDfPXrRf2liQ9sWSXGuwOkysCAOCHEW5wRn41pre6Bvlqf0m1FqwvMLscAAB+EOEGZyTE30f3ZPaVJD3z2R5V1TWaXBEAAKdHuMEZmzKqh3pFBqmkql4vfr7f7HIAADgtwg3OmI+XVX+4vGlhv/mf71dRRa3JFQEA8H2EG5yV8YNildYzQica7HryUxb2AwC4HsINzorFYtGfJgyQJL2Te0hbDpWZWxAAAN9BuMFZG9YjQpOGxcswpIc+3M7CfgAAl0K4Qav8/vJkBfp6KTe/TB9uPmJ2OQAAOBFu0CqxYf668+IkSdLsxbtUU8/UcACAayDcoNVuuaCXEroEyFZRqxdW7jO7HAAAJBFucA78fbx0/5UDJUn/+Hy/CkprTK4IAADCDc7R+EExGt2nq+oaHXps8U6zywEAgHCDc2OxWPTg1QNltUifbLNp9d6jZpcEAOjkCDc4Z8mxobppdKIk6YH3t6m2wW5uQQCATo1wgzYx49J+ig7xU96xGvadAgCYinCDNhHi76MHrmoaXDxvxdc6eKza5IoAAJ1Vq8JNQUGBDh065PzzunXrNH36dL344ottVhjcz1VDu+mCpEjVNzr04AesXAwAMEerws3111+vFStWSJJsNpsuvfRSrVu3Tvfff7/+/Oc/t2mBcB8Wi0V/vnaQfL2sWrXnqJZss5ldEgCgE2pVuNm2bZtGjRolSXrrrbc0ePBgffnll/r3v/+tV199tS3rg5vpHRWs28b2liQ9/NEOVdWxcjEAoGO1Ktw0NDTIz89PkvTZZ5/pmmuukSQlJyersLCw7aqDW7rj4iT16BIoW0Wtnl66x+xyAACdTKvCzaBBg/TCCy9o9erVWrZsmS6//HJJ0pEjR9S1a9c2LRDux9/HS49MHCxJeuXLA9qYf9zkigAAnUmrws1f//pX/eMf/9BFF12kKVOmKCUlRZL04YcfOrur0LmN7RelScPiZRjSfe9uVX2jw+ySAACdhMVo5ZQWu92uiooKRUREOM/l5eUpMDBQ0dHRbVZgW6uoqFBYWJjKy8sVGhpqdjke7Xh1vTKfXqVj1fX6TWY/3ZPZ1+ySAABu6mx+frfqyc2JEydUV1fnDDYHDx7UnDlztHv3bpcONuhYEUG+euiaQZKkeSv2ak9RpckVAQA6g1aFm2uvvVavv/66JKmsrEzp6el66qmnNHHiRD3//PNtWiDc21VDuylzQLQa7Ib+8O4W2R2sfQMAaF+tCje5ubm68MILJUnvvPOOYmJidPDgQb3++ut69tln27RAuDeLxaJHJg5WsJ+3NuaX6fXsPLNLAgB4uFaFm5qaGoWEhEiSli5dqkmTJslqteq8887TwYMH27RAuL9uYQGaeWWyJOmJJbuVV8LWDACA9tOqcJOUlKT3339fBQUF+vTTT3XZZZdJkoqLixmki9OaMrKHMnp31YkGu+59ezPdUwCAdtOqcPPggw/q3nvvVWJiokaNGqWMjAxJTU9xhg0b1qYFwjNYrRY98T9DFeznrQ0Hj+ufq9k5HADQPlo9Fdxms6mwsFApKSmyWpsy0rp16xQaGqrk5OQ2LbItMRXcXG+uz9cf3t0qXy+rPrr7AvWPDTG7JACAG2j3qeCSFBsbq2HDhunIkSPOHcJHjRrl0sEG5rtuRIIuSY5Wvd2hGW9tYnE/AECba1W4cTgc+vOf/6ywsDD17NlTPXv2VHh4uB555BE5HPywwg+zWCx6fNIQhQf6aPuRCs1bvtfskgAAHqZV4eb+++/XvHnz9Pjjj2vjxo3auHGjHnvsMc2dO1cPPPBAW9cIDxMd6q9Hrm3ae+q5lfu0qaDM3IIAAB6lVWNu4uLi9MILLzh3Az/lgw8+0B133KHDhw+3WYFtjTE3ruOu/+Rq0ZZCJXYN1KJfX6hgP2+zSwIAuKh2H3NTWlp62rE1ycnJKi0tbc1bohN6dOIQxYX5K+9YjWZ9sN3scgAAHqJV4SYlJUXz5s373vl58+Zp6NCh51wUOoewQB/N+fkwWS3Su7mH9MEm133iBwBwH63qB3jiiSc0YcIEffbZZ841brKzs1VQUKDFixe3aYHwbKN6ddFdFyfp2eVf608Lt2l4jwgldAk0uywAgBtr1ZObsWPHas+ePfrJT36isrIylZWVadKkSdq+fbveeOONtq4RHu7X4/oqrWeEKusadc+CjWq0M+MOANB6rV7E73Q2b96s4cOHy263t9VbtjkGFLumgtIaXfnMalXWNeruS5L028v6m10SAMCFdMgifkBbSugSqEcnDZEkzVvxtdbsLTG5IgCAuyLcwGVckxKnn49MkGFI9yzYKFt5rdklAQDcEOEGLuWhawZpQLdQHauu113/yVUD428AAGfprGZLTZo0qcXrZWVl51ILIH8fLz1/w3BdPXeNNhw8rieW7NL9EwaaXRYAwI2cVbgJCwv70etTp049p4KAxMgg/e1nQ3Xbv3I1f/UBjUjsovGDYs0uCwDgJtp0tlRrPffcc/rb3/4mm82mlJQUzZ07V6NGjTrtvfPnz9frr7+ubdu2SZLS0tL02GOP/eD938VsKffxyKIdemnNAYX4e2vR3ReoZ9cgs0sCAJjErWZLvfnmm5oxY4ZmzZql3NxcpaSkaPz48SouLj7t/StXrtSUKVO0YsUKZWdnKyEhQZdddplL72eF1rnvimQN7xGuytpG/d8bOaquazS7JACAGzD9yU16erpGjhzp3M7B4XAoISFBd999t+67774ffb3dbldERITmzZt3Rl1iPLlxL7byWl01d41Kqup05ZBYPXf9cFksFrPLAgB0MLd5clNfX6+cnBxlZmY6z1mtVmVmZio7O/uM3qOmpkYNDQ3q0qXLaa/X1dWpoqKi2QH3ERvmrxd+MVw+XhYt3mrT31fuM7skAICLMzXclJSUyG63KyYmptn5mJgY2Wy2M3qPP/zhD4qLi2sWkL5t9uzZCgsLcx4JCQnnXDc61ojELnr4msGSpCeX7tbyXUUmVwQAcGWmj7k5F48//rgWLFighQsXyt/f/7T3zJw5U+Xl5c6joKCgg6tEW7g+vYduSO/RtMDffzdp39Eqs0sCALgoU8NNZGSkvLy8VFTU/P+JFxUVKTa25am/Tz75pB5//HEtXbpUQ4cO/cH7/Pz8FBoa2uyAe5p19SCNTGzaYPPW1zeovKbB7JIAAC7I1HDj6+urtLQ0ZWVlOc85HA5lZWUpIyPjB1/3xBNP6JFHHtGSJUs0YsSIjigVLsDX26q/35CmbmH+2n+0Wnf8J4cVjAEA32N6t9SMGTM0f/58vfbaa9q5c6duv/12VVdXa9q0aZKkqVOnaubMmc77//rXv+qBBx7Qyy+/rMTERNlsNtlsNlVV0U3RGUSF+Omlm0YqyNdLX3x9TH9auE0usFQTAMCFmB5uJk+erCeffFIPPvigUlNTtWnTJi1ZssQ5yDg/P1+FhYXO+59//nnV19frf/7nf9StWzfn8eSTT5r1FdDBBsaFau71w2S1SG9uKNCLn+83uyQAgAsxfZ2bjsY6N57jlS8O6OGPdshikZ6/YbguH9zN7JIAAO3Ebda5Ac7FzaMTNTWjpwxDmv7mJm0uKDO7JACACyDcwG1ZLBY9eNVAXdQ/SrUNDk17db32M0UcADo9wg3cmreXVfOuH64h8WEqra7X1JfXqbii1uyyAAAmItzA7QX7eeuVaSOV2DVQh46f0NSX16miljVwAKCzItzAI0QG++n1X6YrMthPu2yVuvW1DaptsJtdFgDABIQbeIweXQP16rSRCvbz1toDpfrNm5tkd3SqyYAAABFu4GEGx4fpxRvT5Otl1SfbbHrgAxb5A4DOhnADjzM6KVL/b3KqLBbpP2vz9djinQQcAOhECDfwSBOGdtNjPxkiSZq/+oCeXrbH5IoAAB2FcAOPNWVUDz109UBJ0tzlX2ve8r0mVwQA6AiEG3i0m8/vpZlXJEuSnly6R/9czT5UAODpCDfweP83to9+k9lPkvSXj3fqjew8cwsCALQrwg06hV+PS9LtF/WRJD3wwXb966uDJlcEAGgvhBt0ChaLRb8f31+3XNBLkvSn97fplS8OmFwVAKA9EG7QaVgsFv1pwgD935jekqSHP9qhf6zaZ3JVAIC2RrhBp2KxWHTfFcn69SVJkqTZn+zS3CxmUQGAJyHcoNOxWCyacVl//fbSpkHGTy3bo6eW7mahPwDwEIQbdFp3j+urP17ZNE187vKv9ejHO+VgLyoAcHuEG3RqvxrTx7nQ3z/XHNDv3tmiBrvD5KoAAOeCcINO7+bze+nJn6XIy2rRu7mH9H9v5OhEvd3ssgAArUS4AST9T1p3vXhjmvx9rFq+q1i/eGmtymrqzS4LANAKhBvgpHEDYvSvW9IV6u+tnIPHdd0/smUrrzW7LADAWSLcAN8yIrGL3r5ttGJC/bSnqEo/ff5L7SmqNLssAMBZINwA39E/NkTv3j5avaOCdLjshH769y+1Zm+J2WUBAM4Q4QY4je4RgXr3ttEaldhFlXWNuvmVdVqwLt/ssgAAZ4BwA/yAiCBfvfG/ozQxNU6NDkP3vbdVf12yi7VwAMDFEW6AFvh5e+n/TU7V9My+kqTnV+7T3f/dqNoGpooDgKsi3AA/wmKxaHpmP/2/ySny8bLo462Fuu4f2SosP2F2aQCA0yDcAGfoJ8O661+3pCsi0EdbDpXr6rlfaENeqdllAQC+g3ADnIX03l314V0XKDk2RCVVdZoy/yv9e+1Bs8sCAHwL4QY4SwldAvXeHaM1YWg3NdgN3b9wm+5fuFX1jexJBQCugHADtEKgr7fmTRmm343vL4tF+vfafF0//ytWNAYAF0C4AVrJYrHozouT9NJNIxTi560NB49rwrOrWfAPAExGuAHO0SXJMfro7gs0oFuojlXX68aX12rOZ3tkZz0cADAF4QZoA4mRQVp4x2j9fGSCDEOa89le3fzKOh2rqjO7NADodAg3QBvx9/HS4z8dqqd+lqIAHy+t3luiCc+uYbo4AHQwwg3Qxn6a1l0f3HW++kQFyVZRq8kvfqV5y/fSTQUAHYRwA7SDfjEh+vCuC3RtapzsDkNPLt2jKfO/0uEyVjUGgPZGuAHaSZCft+ZMTtVTP0tRkK+X1h0o1RVzPteiLUfMLg0APBrhBmhHFotFP03rrsX3XKjUhHBV1Dbqrv9s1G/f2qyqukazywMAj0S4ATpAz65Bevu2DP36kiRZLdK7uYd05TOrlXPwuNmlAYDHIdwAHcTHy6oZl/XXgl9lKD48QPmlNfrZC19q9uKdqm2wm10eAHgMwg3QwUb16qLF91yoScPj5TCkf3y+X1fNXaNNBWVmlwYAHoFwA5ggLMBHT1+XqvlTRygqxE9fF1dp0t+/0BNLdqmukac4AHAuCDeAiS4dGKOl08fo2tQ4OQzp7yv36eq5a7T1ULnZpQGA2yLcACaLCPLVMz8fphd+MVxdg3y1p6hK1z63Ro9+vEM19cyoAoCzRbgBXMTlg7tp6W/G6Kqh3eQwpPmrD+jSpz/Xit3FZpcGAG6FcAO4kK7Bfpp3/XC9cvNIxYcH6HDZCU17Zb3u/u9GHa1kE04AOBOEG8AFXZwcraW/GaP/vaCXrBbpo81HlPn0Kr25Pl+GwR5VANASwg3gooL8vPWnqwbqgzsv0KC4UJWfaNAf3t2qn7/4lXbbKs0uDwBcFuEGcHFDuofpgzvP1/1XDlCAj5fWHijVlc+u1iOLdqiitsHs8gDA5RBuADfg7WXVrWN6a+lvxmj8oBjZHYZeWnNAlzy5Su/mHJLDQVcVAJxiMTpZB35FRYXCwsJUXl6u0NBQs8sBWmXVnqN6+MPt2l9SLUlK6xmhP187SIPiwkyuDADax9n8/CbcAG6qvtGhl9Yc0Nzle1VTb5fVIt2Q3lMzLu2niCBfs8sDgDZFuGkB4QaeprD8hB79eKcWbSmUJIX6e+vuS/pq6uie8vP2Mrk6AGgbhJsWEG7gqb7cV6JHFu3UzsIKSVKPLoG674pkXTE4VhaLxeTqAODcEG5aQLiBJ7M7DL2be0hPfrpbxScX/RvRM0L3TxigYT0iTK4OAFqPcNMCwg06g+q6Rv3j8/168fN9qm1wSJKuSYnT7y/vr+4RgSZXBwBnj3DTAsINOhNbea2eXLpb7+YekmFIvt5W3ZTRU3dclMSgYwBuhXDTAsINOqNth8v16Mc7lb3/mCQpxM9bt47prVsu6KUgP2+TqwOAH0e4aQHhBp2VYRhaueeonliy2znoODLYV3denKTr03swswqASyPctIBwg87O4TC0aGuhnlq6WweP1UiS4sMD9JtL++knw+LlZWVmFQDXQ7hpAeEGaNJgd+itDQV6NmuviiqaZlb1jQ7Wby7tp8sHxcpKyAHgQgg3LSDcAM3VNtj12pd5+vvKfSo/0bQRZ3JsiO4Z11fjCTkAXAThpgWEG+D0yk806KU1B/TKmgOqrGuUJPWPCdE9mX15kgPAdISbFhBugJaV1zTopS8IOQBcC+GmBYQb4MwQcgC4EsJNCwg3wNk5XchJig7WbWP76NrUOPl4WU2uEEBnQLhpAeEGaJ3ThZz48ADdemEvTR7ZQwG+rJMDoP0QblpAuAHOTUVtg/79Vb5eWnNAJVVNU8i7Bvlq2vmJujEjUWEBPiZXCMATnc3Pb9OfJz/33HNKTEyUv7+/0tPTtW7duh+8d/v27frpT3+qxMREWSwWzZkzp+MKBSBJCvX30e0X9dGaP1ysRyYOVveIAB2rrteTS/fo/MeXa/YnO1VcUWt2mQA6MVPDzZtvvqkZM2Zo1qxZys3NVUpKisaPH6/i4uLT3l9TU6PevXvr8ccfV2xsbAdXC+Db/H28dON5PbXy3os0Z3Kq+seEqKquUf9YtV8XPLFCf1y4VXkl1WaXCaATMrVbKj09XSNHjtS8efMkSQ6HQwkJCbr77rt13333tfjaxMRETZ8+XdOnT2/xvrq6OtXV1Tn/XFFRoYSEBLqlgDbmcBhavqtYf1/5tXLzyyRJFot06YAY/e+FvTUyMUIWCzOsALSOW3RL1dfXKycnR5mZmd8UY7UqMzNT2dnZbfY5s2fPVlhYmPNISEhos/cG8A2r1aLMgTF69/bRWvCr83Rx/ygZhrR0R5Gu+0e2Jj73hT7afESNdofZpQLwcKaFm5KSEtntdsXExDQ7HxMTI5vN1mafM3PmTJWXlzuPgoKCNntvAN9nsVh0Xu+uemXaKH02Y4ymjEqQr7dVmw+V6+7/btTYv63UP1fvV2Vtg9mlAvBQpg8obm9+fn4KDQ1tdgDoGEnRIZo9aai+vO8STc/sq65BvjpcdkJ/+XinMmYv118W7dDhshNmlwnAw5gWbiIjI+Xl5aWioqJm54uKihgsDHiYyGA/Tc/spy/uu0SPTxqipOhgVdU16p9rDmjMEyt0+79y9NX+Y+pkK1MAaCemhRtfX1+lpaUpKyvLec7hcCgrK0sZGRlmlQWgHfn7eOnno3po6fQxemXaSF2QFCm7w9An22z6+Ytf6YpnVuu/6/JVU99odqkA3Ji3mR8+Y8YM3XTTTRoxYoRGjRqlOXPmqLq6WtOmTZMkTZ06VfHx8Zo9e7akpkHIO3bscP7+8OHD2rRpk4KDg5WUlGTa9wBwdqxWiy7uH62L+0drt61Sr2XnaWHuYe2yVWrme1s1e/FOTR6ZoBvPS1SProFmlwvAzZi+QvG8efP0t7/9TTabTampqXr22WeVnp4uSbrooouUmJioV199VZKUl5enXr16fe89xo4dq5UrV57R57FCMeCaymsa9HZOgV7PPqj80hpJTVPJL+kfrZtGJ+qCpEg26wQ6MbZfaAHhBnBtDoehlXuK9eqXB/X5nqPO872jgjT1vJ6alNZdof5s8QB0NoSbFhBuAPex/2iVXs8+qHdyDqnq5Gad/j5WXT00Tten91BqQjgLAwKdBOGmBYQbwP1U1TXqvdxD+tdXB7WnqMp5fmC3UF2f3kPXpsYphKc5gEcj3LSAcAO4L8MwlHPwuP6zNl+LthaqvrFpteNAXy9dmxqn60f11JDuYSZXCaA9EG5aQLgBPENZTb3ezT2s/6w9qH1Hv9mgc0h8mK5P76FrUuIU5GfqhFAAbYhw0wLCDeBZDMPQugOl+s+6fH2y1ab6k3tXBft565rUOE0ekaCh3cMYmwO4OcJNCwg3gOcqra7XOzkF+u+6Ah0o+eZpTr+YYF03IkETh8UrMtjPxAoBtBbhpgWEG8DzGYah7H3H9NaGAn2yzaa6k2NzvK0WjRsQretGJGhsvyh5e3n89nqAxyDctIBwA3Qu5Sca9NHmI3o755A2F5Q5z0eF+GnS8Hj9LC1BSdHB5hUI4IwQblpAuAE6r922Sr29oUALNx7Wsep65/m0nhG6bkR3XTmkG1PKARdFuGkB4QZAfaNDy3cV652cAq3YfVR2R9N/Bv19rLp0YKwmDYvXhX0j6bYCXAjhpgWEGwDfVlxRq/c2HtZbGwq0/1tTyiODfXXV0DhNGh6vIfHMtgLMRrhpAeEGwOkYhqGth8v1Xu5hfbT5SLNuqz5RQZo0vLuuTY1T9wh2KQfMQLhpAeEGwI9psDu0eu9RLdx4REu3fzPbSpJG9eqiScPidcWQbgoLYHwO0FEINy0g3AA4G5W1Dfpkm00Lcw/rqwPHdOq/mL7eVl06IEZXp3TTRf2j5e/jZW6hgIcj3LSAcAOgtY6UndD7mw5rYe5h7S3+ZgPPYD9vXTYwRlenxOn8pEj5ejMQGWhrhJsWEG4AnCvDMLT9SIU+3HxEizYf0ZHyWue18EAfXT4oVlenxOm83l3lZWUgMtAWCDctINwAaEsOh6Hc/ONatKVQi7YUqqSqznktMthPE4Y0BZ3hPSJkJegArUa4aQHhBkB7sTsMrd1/TB9tOaJPttlUVtPgvNYtzF9XDe2mq4bGsZEn0AqEmxYQbgB0hAa7Q2u+LtFHm49o6fYiVdU1Oq/Fhwdo/KBYXTEkVmk80QHOCOGmBYQbAB2ttsGulbuPatGWI1q+q1g19XbntagQP40fFKMrBndTeq8urIoM/ADCTQsINwDMVNtg1+d7juqTbTZ9trNIlbXfPNGJCPTRpQObgs7opK7y82Z6OXAK4aYFhBsArqK+0aEv9pVoyVablu6w6fi3xuiE+Hlr3IBoXT64m8b2i1KAL0EHnRvhpgWEGwCuqNHu0LoDpfpkm02fbrepuPKbWVd+3lZd2DdSlw6M0SXJMYoK8TOxUsAchJsWEG4AuLpT08s/2WbTkm02HS474bxmsUjDEsKVOTBGlw2MUZ+oYGZeoVMg3LSAcAPAnRiGoV22Si3bUaTPdhZpy6HyZtcTuwbq0oExyhwQo7SeEQxIhsci3LSAcAPAnRWWn1DWzmIt21Gk7H3HVG//ZlPPiEAfXZwcrUsHxOiCvpEK8WdjT3gOwk0LCDcAPEVVXaM+33NUn+0o0vLdxc0WDfS2WjQysYsuTo7Sxf2jlRRN9xXcG+GmBYQbAJ6o0e7QhoPHtWxHkVbsKtb+kupm17tHBOji/tG6ODlKGb0jmX0Ft0O4aQHhBkBnkFdSrRW7i7Vi91F9tf+Y6hu/6b7y9bYqo3dXXdw/ShcnR6tn1yATKwXODOGmBYQbAJ1NTX2jsvcdawo7u442m30lSb0jgzSmX5TG9ItUeq+uCvLzNqlS4IcRblpAuAHQmRmGoa+Lq7R8V7FW7C7WhrzjanR882PAx8ui4T0iNKZflC5IitTg+DB5sfcVXADhpgWEGwD4RkVtg77YW6LP95Zo9d6jOnS8+VOd8EAfnZ8UqTF9I3VB3yjFhweYVCk6O8JNCwg3AHB6hmHo4LEard57VKv3lih73zFVfms3c0nqHRWkMX2bnuqc16ergunCQgch3LSAcAMAZ6bB7tDmgjKtPvlUZ1NBmb7VgyVvq0VDu4cpo09XZfSOVFrPCGZhod0QblpAuAGA1ik/0aDsfce0eu9Rrfm6RAeP1TS77utlVWqPcGX07qqMPl01rEc4O5ujzRBuWkC4AYC2UVBao+z9x/TVvmP6ct8x2Spqm13387YqrWeEMnp31eikrhraPVw+bA+BViLctIBwAwBtzzAM5R2rUfa+Y8ref0zZ+46ppKqu2T2Bvl4akdhF6b26aFSvLhraPYwnOzhjhJsWEG4AoP0ZhqF9R6uahZ3j39oeQmpaTDC1e7hGJEZoZK8uSusZoVD2w8IPINy0gHADAB3P4TC0u6hS2fuOaX1eqdbnlaqkqr7ZPVaLlBwbqpEnw86oxC6KDvU3qWK4GsJNCwg3AGA+wzB0oKRaG/KOa93JsPPdAcqS1LNroEb07KJRvSI0vEeE+kQFy8qigp0S4aYFhBsAcE3FFbVan3fc+WRnZ2FFs6nnkhTi763UhHAN7xGhYT3CNSwhQmGBdGV1BoSbFhBuAMA9VNQ2KPfgcW04GXi2HCrXiQb79+7rExV0MuxEaHjPcPWNDmHLCA9EuGkB4QYA3FOj3aFdtkptLCjTxoPHlZt/XHmn6coK9vNWSkKYhiVEKDUhXEO7hzF2xwMQblpAuAEAz1FaXa+N+ce1Mb9MufnHtbmgTNX133+6ExvqryHdwzQ0PkxDE8I1JD5MXYJ8TagYrUW4aQHhBgA8l91haE9RpTPsbDlUpr3FVTrdT7ruEQFK6R7uDD2Du4cxFd2FEW5aQLgBgM6luq5R249UaMuhMm05VK6th8t1oKT6tPf2jgzSkO5hGhIfpkFxYRrYLZQByy6CcNMCwg0AoPxEg7YdLj8Zdsq0uaBch8tOnPbe+PAADYoL1cC4UA3s1vRrfHiALBYGLXckwk0LCDcAgNM5VlWnrc7AU64dRyp+MPCE+ntrYFyo8+nOwLhQJUUHs3dWOyLctIBwAwA4U+U1DdpRWNF0HGn6dW9RpRq/uwCPmnZF7xsTrOTYUPWPDVb/2FD1jwlRTKgfT3naAOGmBYQbAMC5qGu06+viKu04UqHtJwPPziMVqqxrPO39of7e6h8bon4xIUo++Wv/2BCFBzJb62wQblpAuAEAtDXDMHTo+AltP1Kh3bZK7Smq1O6iSh0oqZb9NE95JCk6xE/9Y0PUPyZE/U6Gnj5RQQphxtZpEW5aQLgBAHSUuka79hVXO8POHluldtkqf3AsjyTFhPqpT1SwkqKD1Sfq5BEdpNhQ/07dvUW4aQHhBgBgtsraBu0trnKGnT1FldpTVKWSqroffE2Qr5f6nAw8TcEnSH2igtWza5B8vT1/IDPhpgWEGwCAqyqvadC+kirtK67SvqPV+rq4SvuPVulgac0Pdm95WS3q2SVQiZFBSuwapMTIwKZfuwYpLtxf3h4yg4tw0wLCDQDA3dQ3OpRf2hR29h2t1r7iKn19tCkEnW67iVN8vCxKiPCM4HM2P7+9O6gmAADQSr7eViVFhygpOqTZecMwVFRRp31Hq3SgpFoHj1XrQEmNDh6r1sHSGtU3OrS/pFr7T7Mi87eDT48ugeoeEaCELoFKiAhUQpcAtx7YTLgBAMBNWSwWxYb5KzbMX+cnRTa75nAYKqyoVV5JtfKOVZ/8tUZ5JT8efCQpPNDHGXS6RwQqISJA3U+Gn+4RAfL38eqIr9gqdEsBANDJnAo+B0uqdeBYtQpKT6jgeI0Oldao4PgJlVbX/+h7RIf4NXvaExceoPiIAMWHNx0Bvm0bfhhz0wLCDQAALauqa9Sh4zVNoae0pin4HG/6/aHjJ1T1AwsWntI3OljLZoxt05oYcwMAAFot2M9bybGhSo79fogwDENlNQ0qOBV+jtfo8PETOlx2wvlrfESACVV/g3ADAADOmMViUUSQryKCfDW0e/j3rhuGobpGR8cX9i3uMwcMAAC4PIvFYvpgY8INAADwKIQbAADgUQg3AADAoxBuAACARyHcAAAAj0K4AQAAHoVwAwAAPIpLhJvnnntOiYmJ8vf3V3p6utatW9fi/W+//baSk5Pl7++vIUOGaPHixR1UKQAAcHWmh5s333xTM2bM0KxZs5Sbm6uUlBSNHz9excXFp73/yy+/1JQpU3TLLbdo48aNmjhxoiZOnKht27Z1cOUAAMAVmb5xZnp6ukaOHKl58+ZJkhwOhxISEnT33Xfrvvvu+979kydPVnV1tRYtWuQ8d9555yk1NVUvvPDCj34eG2cCAOB+zubnt6lPburr65WTk6PMzEznOavVqszMTGVnZ5/2NdnZ2c3ul6Tx48f/4P11dXWqqKhodgAAAM9largpKSmR3W5XTExMs/MxMTGy2WynfY3NZjur+2fPnq2wsDDnkZCQ0DbFAwAAl2T6mJv2NnPmTJWXlzuPgoICs0sCAADtyNvMD4+MjJSXl5eKioqanS8qKlJsbOxpXxMbG3tW9/v5+cnPz8/551NDjOieAgDAfZz6uX0mQ4VNDTe+vr5KS0tTVlaWJk6cKKlpQHFWVpbuuuuu074mIyNDWVlZmj59uvPcsmXLlJGRcUafWVlZKUl0TwEA4IYqKysVFhbW4j2mhhtJmjFjhm666SaNGDFCo0aN0pw5c1RdXa1p06ZJkqZOnar4+HjNnj1bknTPPfdo7NixeuqppzRhwgQtWLBAGzZs0IsvvnhGnxcXF6eCggKFhITIYrG06XepqKhQQkKCCgoKmInVjmjnjkE7dwzauePQ1h2jvdrZMAxVVlYqLi7uR+81PdxMnjxZR48e1YMPPiibzabU1FQtWbLEOWg4Pz9fVus3Q4NGjx6t//znP/rTn/6kP/7xj+rbt6/ef/99DR48+Iw+z2q1qnv37u3yXU4JDQ3lfzgdgHbuGLRzx6CdOw5t3THao51/7InNKaavc+NJWEOnY9DOHYN27hi0c8ehrTuGK7Szx8+WAgAAnQvhpg35+flp1qxZzWZnoe3Rzh2Ddu4YtHPHoa07hiu0M91SAADAo/DkBgAAeBTCDQAA8CiEGwAA4FEINwAAwKMQbtrIc889p8TERPn7+ys9PV3r1q0zuyS38vnnn+vqq69WXFycLBaL3n///WbXDcPQgw8+qG7duikgIECZmZnau3dvs3tKS0t1ww03KDQ0VOHh4brllltUVVXVgd/C9c2ePVsjR45USEiIoqOjNXHiRO3evbvZPbW1tbrzzjvVtWtXBQcH66c//en39nPLz8/XhAkTFBgYqOjoaP3ud79TY2NjR34Vl/b8889r6NChzkXMMjIy9Mknnziv08bt4/HHH5fFYmm2PQ9t3TYeeughWSyWZkdycrLzusu1s4FztmDBAsPX19d4+eWXje3btxu33nqrER4ebhQVFZldmttYvHixcf/99xvvvfeeIclYuHBhs+uPP/64ERYWZrz//vvG5s2bjWuuucbo1auXceLECec9l19+uZGSkmJ89dVXxurVq42kpCRjypQpHfxNXNv48eONV155xdi2bZuxadMm48orrzR69OhhVFVVOe+57bbbjISEBCMrK8vYsGGDcd555xmjR492Xm9sbDQGDx5sZGZmGhs3bjQWL15sREZGGjNnzjTjK7mkDz/80Pj444+NPXv2GLt37zb++Mc/Gj4+Psa2bdsMw6CN28O6deuMxMREY+jQocY999zjPE9bt41Zs2YZgwYNMgoLC53H0aNHndddrZ0JN21g1KhRxp133un8s91uN+Li4ozZs2ebWJX7+m64cTgcRmxsrPG3v/3Nea6srMzw8/Mz/vvf/xqGYRg7duwwJBnr16933vPJJ58YFovFOHz4cIfV7m6Ki4sNScaqVasMw2hqVx8fH+Ptt9923rNz505DkpGdnW0YRlMQtVqths1mc97z/PPPG6GhoUZdXV3HfgE3EhERYfzzn/+kjdtBZWWl0bdvX2PZsmXG2LFjneGGtm47s2bNMlJSUk57zRXbmW6pc1RfX6+cnBxlZmY6z1mtVmVmZio7O9vEyjzHgQMHZLPZmrVxWFiY0tPTnW2cnZ2t8PBwjRgxwnlPZmamrFar1q5d2+E1u4vy8nJJUpcuXSRJOTk5amhoaNbWycnJ6tGjR7O2HjJkiHP/N0kaP368KioqtH379g6s3j3Y7XYtWLBA1dXVysjIoI3bwZ133qkJEyY0a1OJf89tbe/evYqLi1Pv3r11ww03KD8/X5JrtrPpG2e6u5KSEtnt9mZ/YZIUExOjXbt2mVSVZ7HZbJJ02jY+dc1msyk6OrrZdW9vb3Xp0sV5D5pzOByaPn26zj//fOfGszabTb6+vgoPD29273fb+nR/F6euocnWrVuVkZGh2tpaBQcHa+HChRo4cKA2bdpEG7ehBQsWKDc3V+vXr//eNf49t5309HS9+uqr6t+/vwoLC/Xwww/rwgsv1LZt21yynQk3QCd15513atu2bVqzZo3ZpXik/v37a9OmTSovL9c777yjm266SatWrTK7LI9SUFCge+65R8uWLZO/v7/Z5Xi0K664wvn7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b9+uxMREJSUlNTu+G2i+LScnRw6HQ0899ZTOO+889evXT0eOHPnRz/uuAQMGqKCgQAUFBc5zO3bsUFlZmQYOHHjG381isej888/Xww8/rI0bN8rX11cLFy4849cDaB+EGwDtKjExUWvXrlVeXp5KSkrkcDh05513qrS0VFOmTNH69eu1b98+ffrpp5o2bVqLwSQpKUkNDQ2aO3eu9u/frzfeeMM50Pjbn1dVVaWsrCyVlJSctrsqMzNTQ4YM0Q033KDc3FytW7dOU6dO1dixYzVixIgz+l5r167VY489pg0bNig/P1/vvfeejh49qgEDBpxdAwFoc4QbAO3q3nvvlZeXlwYOHKioqCjl5+crLi5OX3zxhex2uy677DINGTJE06dPV3h4uKzWH/7PUkpKip5++mn99a9/1eDBg/Xvf/9bs2fPbnbP6NGjddttt2ny5MmKior63oBkqemJywcffKCIiAiNGTNGmZmZ6t27t958880z/l6hoaH6/PPPdeWVV6pfv37605/+pKeeekpXXHHFmTcOgHZhMZi3CAAAPAhPbgAAgEch3AAAAI9CuAEAAB6FcAMAADwK4QYAAHgUwg0AAPAohBsAAOBRCDcAAMCjEG4AAIBHIdwAAACPQrgBAAAe5f8DiN6PiryAMWoAAAAASUVORK5CYII=", + "image/png": "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Xz9NmzbNse3tt99WdHS0du/erS5dukiSOnfurOeff77W7/nz8TuxsbH6+9//rgkTJui1116Tt7e3AgMDZbFYan3eLyUnJ2vr1q06cOCAoqOjJUnvv/++evbsqXXr1mngwIGSakrQu+++q4CAAEnSzTffrOTkZD3zzDPKyspSVVWVrr32WsXExEiSevfufR5nC0BD4coNgCa3efNmff/99/L393e8unXrJqnmaskp8fHxpx27ePFiXXbZZYqKilJAQIBuvvlmHT16VGVlZWf8+ampqYqOjnYUG0nq0aOHgoKClJqa6tgWGxvrKDaSFBERodzcXElSXFycLrvsMvXu3Vt//OMf9eabb+rYsWNnfhIANBrKDYAmV1JSotGjRyslJaXWa8+ePbrooosc+7Vs2bLWcWlpafrd736nPn366L///a82bNigWbNmSaoZcNzQvLy8av3aYrHIbrdLkjw8PLRo0SJ9++236tGjh1599VV17dpVBw4caPAcAM4O5QZAo/L29lZ1dXWtbf3799f27dsVGxurTp061Xr9stD83IYNG2S32/Xiiy9q8ODB6tKlizIzM3/z836pe/fuysjIUEZGhmPbjh07VFBQoB49epzxd7NYLBo6dKieeuopbdq0Sd7e3po7d+4ZHw+gcVBuADSq2NhYrVmzRmlpacrLy5PdbtfEiROVn5+v66+/XuvWrdO+ffu0cOFCjR8/vt5i0qlTJ1VWVurVV1/V/v379cEHHzgGGv/880pKSpScnKy8vLw6b1clJSWpd+/euvHGG7Vx40atXbtW48aN08UXX6wBAwac0fdas2aNpk2bpvXr1ys9PV1ffPGFjhw5ou7du5/dCQLQ4Cg3ABrVQw89JA8PD/Xo0UNt2rRRenq6IiMjtWrVKlVXV2v48OHq3bu3Jk2apKCgIFmtv/7XUlxcnF566SU999xz6tWrlz788ENNnz691j5DhgzRhAkTNHbsWLVp0+a0AclSzRWXL7/8UsHBwbrooouUlJSkDh066JNPPjnj72Wz2bR8+XJdeeWV6tKlix577DG9+OKLGjly5JmfHACNwmLw3CIAAHAjXLkBAABuhXIDAADcCuUGAAC4FcoNAABwK5QbAADgVig3AADArVBuAACAW6HcAAAAt0K5AQAAboVyAwAA3ArlBgAAuJX/D+szUHOYAt76AAAAAElFTkSuQmCC", "text/plain": [ "
" ] diff --git a/Tutorials/6. 2D heat conduction/1. model.ipynb b/Tutorials/6. 2D heat conduction/1. model.ipynb new file mode 100644 index 0000000..e727a90 --- /dev/null +++ b/Tutorials/6. 2D heat conduction/1. model.ipynb @@ -0,0 +1,404 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# FCNN training" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using default backend: PyTorch\n", + "Using Pytorch: 2.0.1+cu117\n" + ] + } + ], + "source": [ + "# This is only valid when the package is not installed\n", + "import sys\n", + "sys.path.append('../../') # two folders up\n", + "import DeepINN as dp\n", + "import torch" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Geometry" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# A simple 1D geometry\n", + "X = dp.spaces.R2('x')\n", + "Rect = dp.domains.Parallelogram(X, [0,0], [1,0], [0,1]) # unit square" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "left_bc = dp.constraint.DirichletBC(geom = Rect,\n", + " function = lambda X: torch.tensor([0.0]),\n", + " sampling_strategy = \"grid\",\n", + " no_points = 10, \n", + " filter_fn = lambda x: x[:, 0] == 0.0)\n", + "right_bc = dp.constraint.DirichletBC(geom = Rect,\n", + " function = lambda X: torch.tensor([1.0]),\n", + " sampling_strategy = \"grid\",\n", + " no_points = 10, # you can use more points. there are conditions to deal with stupid conditions. \n", + " filter_fn = lambda x: x[:, 0] == 1.0)\n", + "\n", + "interior_points = dp.constraint.PDE(geom = Rect,\n", + " sampling_strategy= \"LatinHypercube\",\n", + " no_points = 30)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAARsAAADXCAYAAAAqcPVaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAexAAAHsQEGxWGGAAAPm0lEQVR4nO3db2yTdb/H8c82ItMx/kREIp0j5r6Nks0sQX1wQgzhgdXIckYzl0EZE7Op0w604BhyTAzEDJAsNvx3mOHGDKLMkwUINcZJEB8gBnUtiok6oKJoudkYvQ84tus8OKHHOTCwi/2utnu/HnH9yrV90oQPv/bXfZdmWZYlABhm6U4HADAyUDYAjKBsABhB2QAwYpST39zj8Wjq1KlORlBXV5fGjx/vaIahSMbcZDYjUTJ3dnaqtbU1fm2rbH788Ue9/vrr6u7u1gcffBBfD4VCqqurkyQtX75ceXl5V71/6tSpqq+vtxPBtlAodM18iSwZc5PZjETJ7Pf7B1zbehl1zz336O233x60HggEtHHjRm3atEnr16+38y0ApIhheRnV3d0d38b19PQMejwYDCoYDCocDisUCg1HhOsWjUYdzzAUyZibzGYkauZhKZtx48apu7tbaWlpys7OHvS42+2W2+2W3+93fLuXKFvOG5WMuclsRqJmtlU2Z8+e1YoVK3T06FHV1dXp2LFjam5u1uLFi1VdXS1JqqmpuSlBASQ3W2Vz++23a8uWLYPW8/Ly1NTUZOdLI4X83nNJVTu+1P2ZXXrt4HltKZuuiWNGOx0LhvE5Gwy7qh1f6siJc+q5eFlHTpzTc81fOh0JDqBsMOx+67n4t9cYGSgbDLtJ2Zl/e42RgbLBsNtSNl0P5k5QduYoPZg7QVvKpjsdCQ5w9McVMDJMHDNaH1T9R8IeycIMdjYAjKBsABhB2QAwgrIBYARlA8AIygaAEZQNACMoGwBGUDYAjKBsABhB2QAwgrIBYARlA8AIygaAEZQNACMoGwy733suqXjz53rvi5Mq3vy5ohcuOR0JDqBsMOwYeA6JsoEBDDyHRNnAAAaeQ6JsYAADzyEx8BwGMPAcEjsbAIZQNgCMsFU2sVhM5eXlqqysVEtLS3x93759KikpUUlJiT766CPbIQEkP1tl09raquLiYjU0NKitrS2+3t7ervr6egUCAe3bt892SADJz9YbxJFIRPn5+ZKkjIyM+HppaamefPJJWZalt956y15CACnBVtm4XC5FIhEVFBSov78/vl5XV6cDBw5Ikp566im9++67A+4LBoMKBoMKh8MKhUJ2ItgWjUYdzzAUyZibzGYkamZbZePxeOTz+bR3714VFhaqrKxMzc3N8ng8qqiokCQ99thjg+5zu91yu93y+/2OH4Um63FsMuYmsxmJmtlW2WRlZamxsTF+7fV6JUnz5s3TvHnz7CUDkFI4+gZgBGUDwAjKBoARlA0AIygbAEZQNgCMoGwAGEHZYNgx8BwSZQMDGHgOibKBAQw8h0TZwAAGnkOibGAAA88hMfAcBjDwHBI7GwCGUDYAjKBsABhB2QAwgrIBYARlA8AIygaAEZQNACMoGwBGUDYAjKBsABhB2QAwgrIBYARlA8AIygaAEZQNhh0DzyHZLJtYLKby8nJVVlaqpaUlvv7LL79o0aJFqq6u1qFDh2yHRHJj4Dkkm2XT2tqq4uJiNTQ0qK2tLb6+bt06ZWdnKz09XS6Xy3ZIJDcGnkOyORY0EokoPz9fkpSRkRFfD4fDCgQCmjRpkl5++WVt27ZtwH3BYFDBYFDhcFihUMhOBNui0ajjGYYimXI/PuWyzmT36R9jLRXl9unOsZeTJnsyPc9XJGpmW2XjcrkUiURUUFCg/v7+AesTJkzQmDFjdPHi4P/F3G633G63/H6/4zNpk3UubjLlnjz1n3qu+Utl/9GliMbrv/5zuiaOGe10rOuSTM/zFYma2VbZeDwe+Xw+7d27V4WFhSorK1Nzc7P8fr9qamqUlpamqqqqm5UVSYqB55Bslk1WVpYaGxvj116vV5I0bdo0bd++3VYwAKmFo28ARlA2AIygbAAYQdkAMIKyAWAEZQPACMoGgBGUDQAjKBsARlA2AIygbAAYQdkAMOKqZROLxXTo0CFZliVJ6ujoMBoKQOq5atlUVFToiy++0IIFC3T+/Hlt3rzZdC4AKeaqIybGjRunF198UWfOnJHP51NfX5/pXEghv/dcUtWOL3V/ZpdeO3heW8qSZ3gWbp6r7mzGjh0rSbrzzjtVV1en48ePGw2F1MLAc0jXKJu1a9fG/zxlyhQdOXJEkrRr1y4zqZBSGHgO6QZPo7777rvhyoEUNuG2W/72GiMDR98AjLhm2axevVqWZemPP/5QbW2tJGn0aN7Uw4079+8//vYaI8M1B54/9NBDKi0tVXp6umpqaiRJy5YtMxYMqWNSdqZO/ut/Blxj5LnmzubYsWOaNGmSRo0apV9//dVkJqSYLWXT9WDuBGVnjtKDuRO0pWy605HggGvubHJyclRdXS1JCgQCevzxx42FQmrh90ZB+pudTVFRUfzPixcvNpEFQArjNAqAEZQNACMoGwBGUDYAjKBsABhhq2xisZjKy8tVWVmplpaWAY91dHRo0qRJunDhgq2AAFKDrbJpbW1VcXGxGhoa1NbWFl/v7e3Vtm3b+GwOgLhrfqjvekQiEeXn50uSMjIy4uvr1q3TokWLtGrVqqveFwwGFQwGFQ6HFQqF7ESwLRqNOp5hKJIxN5nNSNTMtsrG5XIpEomooKBA/f398fWvvvpKZ86c0eHDh7V161YtWbJkwH1ut1tut1t+v9/xT5Qm66dakzE3mc1I1My2XkZ5PB7t3r1bVVVVKiwsVFlZmSTpvffe05tvvqmHH35Yzz777E0JCiC52drZZGVlqbGxMX7t9XoHPL59+3Y7Xx5ACuHoG8Pu955LKt78ud774qSKN3+u6IVLTkeCAygbDDsGnkOibGAAA88hUTYw4K+T+ZjUNzJRNhh2TOqDZPM0CrgeTOqDxM4GgCGUDQAjKBsARlA2AIygbAAYQdkAMIKyAWAEZQPACMoGgBGUDQAjKBsARlA2AIygbAAYQdkAMIKyAWAEZYNhx8BzSJQNDGDgOSTKBgYw8BwSZQMDGHgOibKBAQw8h8TAcxjAwHNI7GwAGGJrZxOLxfT888/rlltu0cyZM+X1eiVJq1ev1k8//aRoNKpAICCXy3VTwgJIXrZ2Nq2trSouLlZDQ4Pa2tri67W1tdq6davmz5+v9vZ22yEBJD9bZROJRJSTkyNJysjIGPDYhQsXtGvXLhUVFdn5FgBShK2XUS6XS5FIRAUFBerv74+vnz9/Xi+88ILWrl2r7OzsQfcFg0EFg0GFw2GFQiE7EWyLRqOOZxiKZMxNZjMSNXOaZVnWUG+OxWLy+XzKzMzUjBkztH//fjU3N8vj8ai3t1dTpkxRSUmJZs2addX7/X6/6uvrhxz+ZkjWE5JkzE1mMxIl81//fdva2WRlZamxsTF+feUN4tbWVjtfFkAK4ugbgBGUDQAjKBsARlA2AIygbAAYQdkAMIKyAWAEZQPACMoGw46B55AoGxjAwHNIlA0MYOA5JMoGBjDwHBJlAwMYeA6JgecwgIHnkNjZADCEsgFgBGUDwAjKBoARlA0AIygbAEZQNgCMoGwAGEHZADCCsgFgBGUDwAjKBoARlA0AIygbAEZQNgCMsFU2sVhM5eXlqqysVEtLS3w9FArJ6/XK6/UqFArZDonkxsBzSDbLprW1VcXFxWpoaFBbW1t8PRAIaOPGjdq0aZPWr19vOySSGwPPIdmc1BeJRJSfny9JysjIiK93d3dr/PjxkqSenp5B9wWDQQWDQYXDYcd3PtFo1PEMQ5FMue/P7JIrt0//GGupKLdP2ZldSZM9mZ7nKxI1s62ycblcikQiKigoUH9/f3x93Lhx6u7uVlpamrKzswfd53a75Xa75ff7HR8TmayjKpMp92sHz+vIiXMqyu3Tf5/I0IO545MmezI9z1ckamZbL6M8Ho92796tqqoqFRYWqqysTJK0ePFiVVdXy+fzqbq6+qYERfJi4DkkmzubrKwsNTY2xq+9Xq8kKS8vT01NTfaSIWUw8BwSR98ADKFsABhB2QAwgrIBYARlA8AIR3/9bmdnp/x+v5MR1NnZqalTpzqaYSiSMTeZzUiUzJ2dnQMXrBHupZdecjrCkCRjbjKbkaiZR/zLKLfb7XSEIUnG3GQ2I1Ezp1mWZTkdAkDqG/E7GwBmjKiyOX36tLxerxYsWKD29vYBj7W3t6u8vFxer1enT5+WJPX39+uJJ57Qhg0bnIgbdyO5P/vsM1VUVGj+/PnGf2TkRuYb1dbWatGiRaqtrTWa8a+uN/Px48f19NNPa+HChVqzZo2Dif/Pjc6Seu6557R06VInov4/p980MmnlypXWN998Y/X19Vlz584d8FhJSYnV19dndXR0WCtXrrQsy7ICgYC1ceNGa/369U7EjbvR3Fd4PB6TMa2mpiarra0tnuuKiooK69y5c1ZXV5f1zDPPWCdOnLD8fr9lWZa1dOlS6+TJk0Zz/tn1Zv6zOXPmGM14NTeS+/3337e2bdtmLVmyxJGsVzh69D2cOjo6tHz58gFrd9xxh3JycpSePnhDZ1mW0tPTlZubq0gkonA4rL6+Pj3wwANGZ4PYzX3FG2+8oYULFw573j+73vlGP//8s3JyciRJd999tyKRSPzatBudybRz5049+uijRjNezfXmPnPmjI4eParKykp9++23TkSNS9myyc/P1549ewasrVq1SpFIRGPHjh3099PT09Xf36+TJ0/K5XLp448/1g8//KBDhw7p7NmzKi0t1cSJExM+tyTV19dr8uTJmj179rDn/bPrnW80ZcqUeDGeOnVKRUVFRnP+2Y3MZNq5c6dOnDihZcuWORU37npzHzhwQL/99ptWrlypr7/+Wt9//73uvfdeRzKPqNOo06dPq7a2VqNGjdL8+fM1a9YslZWVqbm5WZ988ol27Nih3t5erVmzRnfddZck6dNPP1UoFJLP50uK3EeOHNHSpUs1a9Ys5eTkaMWKFcZyxmIx+Xw+ZWZmasaMGdq/f7+am5sVCoW0du1aSVJNTY3y8vK0fPlyXbp0SaNHj1ZdXZ2xjEPN3Nvbq8LCQs2ePVu33Xab6uvrHct8I7mvjPTo7OzUhg0btG7dOscyj6iyAeCcEXUaBcA5lA0AIygbAEZQNjCqqalJjzzyyKATN6S+lD36hnM+/PBDnTp1StOmTdPhw4f1yiuvxB9bsGDBgKNajByUDW66OXPmyOfz6eDBg9q5c6fTcZAgeBmFm86yLHV1dSk9PV2XL192Og4SBDsb3HSBQEBz587V5MmT9eqrr8Y/ZCZJe/bs0TvvvKNbb71VY8aM0cyZM50LCqP4UB8AI9jZYFitXr1aFy9elCTdd999Ki0tdTgRnMLOBoARvEEMwAjKBoARlA0AI/4XxKL+Vg2+NMMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dp.utils.scatter(X, interior_points.sampler_object(), dpi = 50) # collocation points\n", + "dp.utils.scatter(X, left_bc.sampler_object(), dpi = 50)\n", + "dp.utils.scatter(X, right_bc.sampler_object(), dpi = 50)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PDE" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "def laplace(X,y):\n", + " \"\"\"\n", + " 2D Laplace equation.\n", + " u__x + u__y = 0\n", + " i is always zero because output to the NN is always 1D\n", + " \"\"\"\n", + " dy_x = dp.constraint.Jacobian(X, y)(i=0, j=0)\n", + " dy_xx = dp.constraint.Jacobian(X, dy_x)(i = 0, j = 0)\n", + "\n", + " dy_y = dp.constraint.Jacobian(X, y)(i=0, j=1)\n", + " dy_yy = dp.constraint.Jacobian(X, dy_y)(i = 0, j = 1)\n", + "\n", + " return dy_xx + dy_yy" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "domain = dp.domain.Generic(laplace,\n", + " interior_points,\n", + " [left_bc, right_bc])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Network" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "activation = \"tanh\"\n", + "initialiser = \"Xavier normal\"\n", + "layer_size = [1] + [2] * 1 + [1]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "__init__() missing 1 required positional argument: 'self'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[8], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m net \u001b[38;5;241m=\u001b[39m \u001b[43mdp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mFullyConnected\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlayer_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mactivation\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minitialiser\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m model \u001b[38;5;241m=\u001b[39m dp\u001b[38;5;241m.\u001b[39mModel(domain, net)\n", + "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/nn/FCNN.py:13\u001b[0m, in \u001b[0;36mFullyConnected.__init__\u001b[0;34m(self, layer_size, activation, initialiser)\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, \n\u001b[1;32m 9\u001b[0m layer_size : \u001b[38;5;28mlist\u001b[39m,\n\u001b[1;32m 10\u001b[0m activation : \u001b[38;5;28mstr\u001b[39m,\n\u001b[1;32m 11\u001b[0m initialiser : \u001b[38;5;28mstr\u001b[39m,\n\u001b[1;32m 12\u001b[0m ):\n\u001b[0;32m---> 13\u001b[0m \u001b[43mBaseNetwork\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;66;03m# Validate the types of the attributes\u001b[39;00m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(layer_size, \u001b[38;5;28mlist\u001b[39m):\n", + "\u001b[0;31mTypeError\u001b[0m: __init__() missing 1 required positional argument: 'self'" + ] + } + ], + "source": [ + "net = dp.nn.FullyConnected(layer_size, activation, initialiser)\n", + "model = dp.Model(domain, net)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Domain compiled\n", + "Network compiled\n" + ] + } + ], + "source": [ + "optimiser = \"adam\"\n", + "lr=0.001\n", + "metrics=\"MSE\"\n", + "\n", + "model.compile(optimiser, lr, metrics, device = \"cuda\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(torch.optim.adam.Adam, 0.001, MSELoss())" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.optimiser_function, model.lr, model.metric" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "max(): argument 'input' (position 1) must be Tensor, not list", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[30], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[43miterations\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m500\u001b[39;49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/model.py:76\u001b[0m, in \u001b[0;36mModel.train\u001b[0;34m(self, iterations, display_every)\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"_summary_\u001b[39;00m\n\u001b[1;32m 70\u001b[0m \n\u001b[1;32m 71\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;124;03m iterations (int): _description_. Number of iterations.\u001b[39;00m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;124;03m display_every (int, optional): _description_. Display the loss every display_every iterations. Defaults to 1. \u001b[39;00m\n\u001b[1;32m 74\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 75\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minitialise_training(iterations)\n\u001b[0;32m---> 76\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrainer\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/utils/user_fun.py:328\u001b[0m, in \u001b[0;36mtimer..wrapper_timer\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 325\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 326\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrapper_timer\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 327\u001b[0m start_time \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mperf_counter()\n\u001b[0;32m--> 328\u001b[0m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# execute the decorated function\u001b[39;00m\n\u001b[1;32m 329\u001b[0m end_time \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mperf_counter()\n\u001b[1;32m 330\u001b[0m run_time \u001b[38;5;241m=\u001b[39m end_time \u001b[38;5;241m-\u001b[39m start_time\n", + "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/model.py:83\u001b[0m, in \u001b[0;36mModel.trainer\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 78\u001b[0m \u001b[38;5;129m@timer\u001b[39m\n\u001b[1;32m 79\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mtrainer\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 80\u001b[0m \u001b[38;5;66;03m# implement training loop\u001b[39;00m\n\u001b[1;32m 81\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39miter \u001b[38;5;241m<\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39miterations:\n\u001b[0;32m---> 83\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mBC_forward \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnetwork\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mforward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mboundary_point_sample\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 84\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mBC_loss \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmetric(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mBC_forward, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mboundary_point_labels)\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcollocation_forward \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnetwork\u001b[38;5;241m.\u001b[39mforward(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcollocation_point_sample)\n", + "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/nn/FCNN.py:51\u001b[0m, in \u001b[0;36mFullyConnected.forward\u001b[0;34m(self, input)\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;28minput\u001b[39m):\n\u001b[1;32m 46\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;124;03m Implementation of forward for the Fully Connected network.\u001b[39;00m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;124;03m All we need is the inputs tensor and rest of the things are already in the class.\u001b[39;00m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mub \u001b[38;5;241m=\u001b[39m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmax\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlb \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mmin(\u001b[38;5;28minput\u001b[39m)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;66;03m# Preprocessing input : feature scaling\u001b[39;00m\n", + "\u001b[0;31mTypeError\u001b[0m: max(): argument 'input' (position 1) must be Tensor, not list" + ] + } + ], + "source": [ + "model.train(iterations = 500)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# model.iter = 1\n", + "# model.train(iterations = 2000)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "FullyConnected(\n", + " (activation): Tanh()\n", + " (linears): ModuleList(\n", + " (0): Linear(in_features=1, out_features=2, bias=True)\n", + " (1): Linear(in_features=2, out_features=1, bias=True)\n", + " )\n", + ")" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.network" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "coordinates_list = dp.utils.tensor2numpy([model.collocation_point_sample, model.boundary_point_sample])\n", + "solution_list = dp.utils.tensor2numpy([model.collocation_forward, model.BC_forward])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "history = model.training_history" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(1)\n", + "plt.scatter(coordinates_list[0], solution_list[0], label = \"collocation points\", color = \"red\")\n", + "plt.scatter(coordinates_list[1], solution_list[1], label = \"boundary points\", color = \"blue\")\n", + "plt.grid('minor')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Loss')" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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WSyWZkdycrLzusu1s4FztmDBAsPX19d4+eWXje3btxu33nqrER4ebhQVFZldmttYvHixcf/99xvvvfeeIclYuHBhs+uPP/64ERYWZrz//vvG5s2bjWuuucbo1auXceLECec9l19+uZGSkmJ89dVXxurVq42kpCRjypQpHfxNXNv48eONV155xdi2bZuxadMm48orrzR69OhhVFVVOe+57bbbjISEBCMrK8vYsGGDcd555xmjR492Xm9sbDQGDx5sZGZmGhs3bjQWL15sREZGGjNnzjTjK7mkDz/80Pj444+NPXv2GLt37zb++Mc/Gj4+Psa2bdsMw6CN28O6deuMxMREY+jQocY999zjPE9bt41Zs2YZgwYNMgoLC53H0aNHndddrZ0JN21g1KhRxp133un8s91uN+Li4ozZs2ebWJX7+m64cTgcRmxsrPG3v/3Nea6srMzw8/Mz/vvf/xqGYRg7duwwJBnr16933vPJJ58YFovFOHz4cIfV7m6Ki4sNScaqVasMw2hqVx8fH+Ptt9923rNz505DkpGdnW0YRlMQtVqths1mc97z/PPPG6GhoUZdXV3HfgE3EhERYfzzn/+kjdtBZWWl0bdvX2PZsmXG2LFjneGGtm47s2bNMlJSUk57zRXbmW6pc1RfX6+cnBxlZmY6z1mtVmVmZio7O9vEyjzHgQMHZLPZmrVxWFiY0tPTnW2cnZ2t8PBwjRgxwnlPZmamrFar1q5d2+E1u4vy8nJJUpcuXSRJOTk5amhoaNbWycnJ6tGjR7O2HjJkiHP/N0kaP368KioqtH379g6s3j3Y7XYtWLBA1dXVysjIoI3bwZ133qkJEyY0a1OJf89tbe/evYqLi1Pv3r11ww03KD8/X5JrtrPpG2e6u5KSEtnt9mZ/YZIUExOjXbt2mVSVZ7HZbJJ02jY+dc1msyk6OrrZdW9vb3Xp0sV5D5pzOByaPn26zj//fOfGszabTb6+vgoPD29273fb+nR/F6euocnWrVuVkZGh2tpaBQcHa+HChRo4cKA2bdpEG7ehBQsWKDc3V+vXr//eNf49t5309HS9+uqr6t+/vwoLC/Xwww/rwgsv1LZt21yynQk3QCd15513atu2bVqzZo3ZpXik/v37a9OmTSovL9c777yjm266SatWrTK7LI9SUFCge+65R8uWLZO/v7/Z5Xi0K664wvn7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b9+uxMREJSUlNTu+G2i+LScnRw6HQ0899ZTOO+889evXT0eOHPnRz/uuAQMGqKCgQAUFBc5zO3bsUFlZmQYOHHjG381isej888/Xww8/rI0bN8rX11cLFy4849cDaB+EGwDtKjExUWvXrlVeXp5KSkrkcDh05513qrS0VFOmTNH69eu1b98+ffrpp5o2bVqLwSQpKUkNDQ2aO3eu9u/frzfeeMM50Pjbn1dVVaWsrCyVlJSctrsqMzNTQ4YM0Q033KDc3FytW7dOU6dO1dixYzVixIgz+l5r167VY489pg0bNig/P1/vvfeejh49qgEDBpxdAwFoc4QbAO3q3nvvlZeXlwYOHKioqCjl5+crLi5OX3zxhex2uy677DINGTJE06dPV3h4uKzWH/7PUkpKip5++mn99a9/1eDBg/Xvf/9bs2fPbnbP6NGjddttt2ny5MmKior63oBkqemJywcffKCIiAiNGTNGmZmZ6t27t958880z/l6hoaH6/PPPdeWVV6pfv37605/+pKeeekpXXHHFmTcOgHZhMZi3CAAAPAhPbgAAgEch3AAAAI9CuAEAAB6FcAMAADwK4QYAAHgUwg0AAPAohBsAAOBRCDcAAMCjEG4AAIBHIdwAAACPQrgBAAAe5f8DiN6PiryAMWoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(2)\n", + "plt.plot(history)\n", + "plt.xlabel(\"Iterations\")\n", + "plt.ylabel(\"Loss\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} From b6b9fc324f4c07452c822cd81e4361b7fd3661c5 Mon Sep 17 00:00:00 2001 From: Prakhar Sharma <1915438@swansea.ac.uk> Date: Mon, 11 Mar 2024 19:08:28 +0000 Subject: [PATCH 3/3] 2d example --- DeepINN/domain/standard.py | 5 +- DeepINN/model.py | 7 +- .../6. 2D heat conduction/1. model.ipynb | 99 +++++++++---------- 3 files changed, 53 insertions(+), 58 deletions(-) diff --git a/DeepINN/domain/standard.py b/DeepINN/domain/standard.py index 2c7e78b..7b27113 100644 --- a/DeepINN/domain/standard.py +++ b/DeepINN/domain/standard.py @@ -16,10 +16,9 @@ def __init__(self, pde_equation, collocation_object, bc_object) -> None: super().__init__() self.pde = pde_equation - self.pde_sampler = collocation_object + self.pde_sampler = collocation_object # class of the PDE # if the bcs is not list, then make it a list - self.bc_sampler = bc_object if isinstance(bc_object, (list)) else [bc_object] - + self.bc_sampler = bc_object if isinstance(bc_object, (list)) else [bc_object] # class of the boundary condition self.bc_list_len = len(self.bc_sampler) def sample_collocation_points(self): diff --git a/DeepINN/model.py b/DeepINN/model.py index 091c57c..15467fa 100644 --- a/DeepINN/model.py +++ b/DeepINN/model.py @@ -28,10 +28,10 @@ def compile(self, optimiser_string : str, lr : float, metrics_string : str, devi def compile_domain(self): # sample collocation points - self.collocation_point_sample, self.collocation_point_labels = self.domain.sample_collocation_labels() + self.collocation_point_sample, self.collocation_point_labels = self.domain.sample_collocation_labels() # list of collocation points and their labels both as tensors # sample boundary points - self.boundary_point_sample, self.boundary_point_labels = self.domain.sample_boundary_labels() + self.boundary_point_sample, self.boundary_point_labels = self.domain.sample_boundary_labels() # list of boundary points and their labels both as tensors print("Domain compiled", file=sys.stderr, flush=True) def compile_network(self): @@ -61,6 +61,9 @@ def initialise_training(self, iterations : int = None): if self.boundary_point_sample[0].size()[0] == 1: # if row is 1 in the particular boundary tensor self.boundary_point_sample = torch.cat(self.boundary_point_sample, dim=0) self.boundary_point_labels = torch.cat(self.boundary_point_labels, dim=0) + else: + self.boundary_point_sample = torch.cat(self.boundary_point_sample, dim=0) + self.boundary_point_labels = torch.cat(self.boundary_point_labels, dim=0) # Set requires_grad=True for self.collocation_point_sample self.collocation_point_sample.requires_grad = True diff --git a/Tutorials/6. 2D heat conduction/1. model.ipynb b/Tutorials/6. 2D heat conduction/1. model.ipynb index e727a90..4802121 100644 --- a/Tutorials/6. 2D heat conduction/1. model.ipynb +++ b/Tutorials/6. 2D heat conduction/1. model.ipynb @@ -26,7 +26,8 @@ "import sys\n", "sys.path.append('../../') # two folders up\n", "import DeepINN as dp\n", - "import torch" + "import torch\n", + "import numpy as np" ] }, { @@ -54,19 +55,19 @@ "outputs": [], "source": [ "left_bc = dp.constraint.DirichletBC(geom = Rect,\n", - " function = lambda X: torch.tensor([0.0]),\n", + " function = lambda X: X[:,0]*torch.tensor([0.0]), # this is a bug. We need to somehow involved X in the lambda otherwise it will give shape error.\n", " sampling_strategy = \"grid\",\n", " no_points = 10, \n", " filter_fn = lambda x: x[:, 0] == 0.0)\n", "right_bc = dp.constraint.DirichletBC(geom = Rect,\n", - " function = lambda X: torch.tensor([1.0]),\n", + " function = lambda X: X[:,0]*torch.tensor([1.0]), # this is a bug. We need to somehow involved X in the lambda otherwise it will give shape error.\n", " sampling_strategy = \"grid\",\n", " no_points = 10, # you can use more points. there are conditions to deal with stupid conditions. \n", " filter_fn = lambda x: x[:, 0] == 1.0)\n", "\n", "interior_points = dp.constraint.PDE(geom = Rect,\n", " sampling_strategy= \"LatinHypercube\",\n", - " no_points = 30)" + " no_points = 100)" ] }, { @@ -76,7 +77,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -86,7 +87,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -96,7 +97,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -165,27 +166,14 @@ "source": [ "activation = \"tanh\"\n", "initialiser = \"Xavier normal\"\n", - "layer_size = [1] + [2] * 1 + [1]" + "layer_size = [2] + [2] * 1 + [1]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "__init__() missing 1 required positional argument: 'self'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[8], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m net \u001b[38;5;241m=\u001b[39m \u001b[43mdp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mFullyConnected\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlayer_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mactivation\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minitialiser\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m model \u001b[38;5;241m=\u001b[39m dp\u001b[38;5;241m.\u001b[39mModel(domain, net)\n", - "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/nn/FCNN.py:13\u001b[0m, in \u001b[0;36mFullyConnected.__init__\u001b[0;34m(self, layer_size, activation, initialiser)\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, \n\u001b[1;32m 9\u001b[0m layer_size : \u001b[38;5;28mlist\u001b[39m,\n\u001b[1;32m 10\u001b[0m activation : \u001b[38;5;28mstr\u001b[39m,\n\u001b[1;32m 11\u001b[0m initialiser : \u001b[38;5;28mstr\u001b[39m,\n\u001b[1;32m 12\u001b[0m ):\n\u001b[0;32m---> 13\u001b[0m \u001b[43mBaseNetwork\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;66;03m# Validate the types of the attributes\u001b[39;00m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(layer_size, \u001b[38;5;28mlist\u001b[39m):\n", - "\u001b[0;31mTypeError\u001b[0m: __init__() missing 1 required positional argument: 'self'" - ] - } - ], + "outputs": [], "source": [ "net = dp.nn.FullyConnected(layer_size, activation, initialiser)\n", "model = dp.Model(domain, net)" @@ -193,7 +181,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -215,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -224,7 +212,7 @@ "(torch.optim.adam.Adam, 0.001, MSELoss())" ] }, - "execution_count": 29, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -235,32 +223,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [ { - "ename": "TypeError", - "evalue": "max(): argument 'input' (position 1) must be Tensor, not list", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[30], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[43miterations\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m500\u001b[39;49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/model.py:76\u001b[0m, in \u001b[0;36mModel.train\u001b[0;34m(self, iterations, display_every)\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"_summary_\u001b[39;00m\n\u001b[1;32m 70\u001b[0m \n\u001b[1;32m 71\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;124;03m iterations (int): _description_. Number of iterations.\u001b[39;00m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;124;03m display_every (int, optional): _description_. Display the loss every display_every iterations. Defaults to 1. \u001b[39;00m\n\u001b[1;32m 74\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 75\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minitialise_training(iterations)\n\u001b[0;32m---> 76\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrainer\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/utils/user_fun.py:328\u001b[0m, in \u001b[0;36mtimer..wrapper_timer\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 325\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 326\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrapper_timer\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 327\u001b[0m start_time \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mperf_counter()\n\u001b[0;32m--> 328\u001b[0m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# execute the decorated function\u001b[39;00m\n\u001b[1;32m 329\u001b[0m end_time \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mperf_counter()\n\u001b[1;32m 330\u001b[0m run_time \u001b[38;5;241m=\u001b[39m end_time \u001b[38;5;241m-\u001b[39m start_time\n", - "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/model.py:83\u001b[0m, in \u001b[0;36mModel.trainer\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 78\u001b[0m \u001b[38;5;129m@timer\u001b[39m\n\u001b[1;32m 79\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mtrainer\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 80\u001b[0m \u001b[38;5;66;03m# implement training loop\u001b[39;00m\n\u001b[1;32m 81\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39miter \u001b[38;5;241m<\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39miterations:\n\u001b[0;32m---> 83\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mBC_forward \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnetwork\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mforward\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mboundary_point_sample\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 84\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mBC_loss \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmetric(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mBC_forward, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mboundary_point_labels)\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcollocation_forward \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnetwork\u001b[38;5;241m.\u001b[39mforward(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcollocation_point_sample)\n", - "File \u001b[0;32m~/Desktop/repos/DeepINN/Tutorials/6. 2D heat conduction/../../DeepINN/nn/FCNN.py:51\u001b[0m, in \u001b[0;36mFullyConnected.forward\u001b[0;34m(self, input)\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mforward\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;28minput\u001b[39m):\n\u001b[1;32m 46\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;124;03m Implementation of forward for the Fully Connected network.\u001b[39;00m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;124;03m All we need is the inputs tensor and rest of the things are already in the class.\u001b[39;00m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mub \u001b[38;5;241m=\u001b[39m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmax\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlb \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mmin(\u001b[38;5;28minput\u001b[39m)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;66;03m# Preprocessing input : feature scaling\u001b[39;00m\n", - "\u001b[0;31mTypeError\u001b[0m: max(): argument 'input' (position 1) must be Tensor, not list" + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 1 \t BC Loss: 0.4289\t PDE Loss: 0.1653 \t Loss: 0.5942\n", + "Iteration: 501 \t BC Loss: 0.0210\t PDE Loss: 0.0000 \t Loss: 0.0210\n", + "Iteration: 1001 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Iteration: 1501 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Iteration: 2001 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Iteration: 2501 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Iteration: 3001 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Iteration: 3501 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Iteration: 4001 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Iteration: 4501 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Iteration: 5001 \t BC Loss: 0.0000\t PDE Loss: 0.0000 \t Loss: 0.0000\n", + "Training finished\n", + "Time taken: 'trainer' in 29.4198 secs\n" ] } ], "source": [ - "model.train(iterations = 500)" + "model.train(iterations = 5000)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -270,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -279,7 +271,7 @@ "FullyConnected(\n", " (activation): Tanh()\n", " (linears): ModuleList(\n", - " (0): Linear(in_features=1, out_features=2, bias=True)\n", + " (0): Linear(in_features=2, out_features=2, bias=True)\n", " (1): Linear(in_features=2, out_features=1, bias=True)\n", " )\n", ")" @@ -296,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -306,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -315,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -324,14 +316,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -340,14 +332,15 @@ ], "source": [ "plt.figure(1)\n", - "plt.scatter(coordinates_list[0], solution_list[0], label = \"collocation points\", color = \"red\")\n", - "plt.scatter(coordinates_list[1], solution_list[1], label = \"boundary points\", color = \"blue\")\n", + "plt.scatter(coordinates_list[0][:,0], coordinates_list[0][:,1], c=solution_list[0][:,0], label = \"collocation points\", cmap=plt.get_cmap('plasma', 10))\n", + "plt.scatter(coordinates_list[1][:,0], coordinates_list[1][:,1], c=solution_list[1], label = \"boundary points\", cmap=plt.get_cmap('plasma', 10))\n", + "plt.colorbar()\n", "plt.grid('minor')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -356,13 +349,13 @@ "Text(0, 0.5, 'Loss')" ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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WSyWZkdycrLzusu1s4FztmDBAsPX19d4+eWXje3btxu33nqrER4ebhQVFZldmttYvHixcf/99xvvvfeeIclYuHBhs+uPP/64ERYWZrz//vvG5s2bjWuuucbo1auXceLECec9l19+uZGSkmJ89dVXxurVq42kpCRjypQpHfxNXNv48eONV155xdi2bZuxadMm48orrzR69OhhVFVVOe+57bbbjISEBCMrK8vYsGGDcd555xmjR492Xm9sbDQGDx5sZGZmGhs3bjQWL15sREZGGjNnzjTjK7mkDz/80Pj444+NPXv2GLt37zb++Mc/Gj4+Psa2bdsMw6CN28O6deuMxMREY+jQocY999zjPE9bt41Zs2YZgwYNMgoLC53H0aNHndddrZ0JN21g1KhRxp133un8s91uN+Li4ozZs2ebWJX7+m64cTgcRmxsrPG3v/3Nea6srMzw8/Mz/vvf/xqGYRg7duwwJBnr16933vPJJ58YFovFOHz4cIfV7m6Ki4sNScaqVasMw2hqVx8fH+Ptt9923rNz505DkpGdnW0YRlMQtVqths1mc97z/PPPG6GhoUZdXV3HfgE3EhERYfzzn/+kjdtBZWWl0bdvX2PZsmXG2LFjneGGtm47s2bNMlJSUk57zRXbmW6pc1RfX6+cnBxlZmY6z1mtVmVmZio7O9vEyjzHgQMHZLPZmrVxWFiY0tPTnW2cnZ2t8PBwjRgxwnlPZmamrFar1q5d2+E1u4vy8nJJUpcuXSRJOTk5amhoaNbWycnJ6tGjR7O2HjJkiHP/N0kaP368KioqtH379g6s3j3Y7XYtWLBA1dXVysjIoI3bwZ133qkJEyY0a1OJf89tbe/evYqLi1Pv3r11ww03KD8/X5JrtrPpG2e6u5KSEtnt9mZ/YZIUExOjXbt2mVSVZ7HZbJJ02jY+dc1msyk6OrrZdW9vb3Xp0sV5D5pzOByaPn26zj//fOfGszabTb6+vgoPD29273fb+nR/F6euocnWrVuVkZGh2tpaBQcHa+HChRo4cKA2bdpEG7ehBQsWKDc3V+vXr//eNf49t5309HS9+uqr6t+/vwoLC/Xwww/rwgsv1LZt21yynQk3QCd15513atu2bVqzZo3ZpXik/v37a9OmTSovL9c777yjm266SatWrTK7LI9SUFCge+65R8uWLZO/v7/Z5Xi0K664wvn7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b9+uxMREJSUlNTu+G2i+LScnRw6HQ0899ZTOO+889evXT0eOHPnRz/uuAQMGqKCgQAUFBc5zO3bsUFlZmQYOHHjG381isej888/Xww8/rI0bN8rX11cLFy4849cDaB+EGwDtKjExUWvXrlVeXp5KSkrkcDh05513qrS0VFOmTNH69eu1b98+ffrpp5o2bVqLwSQpKUkNDQ2aO3eu9u/frzfeeMM50Pjbn1dVVaWsrCyVlJSctrsqMzNTQ4YM0Q033KDc3FytW7dOU6dO1dixYzVixIgz+l5r167VY489pg0bNig/P1/vvfeejh49qgEDBpxdAwFoc4QbAO3q3nvvlZeXlwYOHKioqCjl5+crLi5OX3zxhex2uy677DINGTJE06dPV3h4uKzWH/7PUkpKip5++mn99a9/1eDBg/Xvf/9bs2fPbnbP6NGjddttt2ny5MmKior63oBkqemJywcffKCIiAiNGTNGmZmZ6t27t958880z/l6hoaH6/PPPdeWVV6pfv37605/+pKeeekpXXHHFmTcOgHZhMZi3CAAAPAhPbgAAgEch3AAAAI9CuAEAAB6FcAMAADwK4QYAAHgUwg0AAPAohBsAAOBRCDcAAMCjEG4AAIBHIdwAAACPQrgBAAAe5f8DiN6PiryAMWoAAAAASUVORK5CYII=", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA33klEQVR4nO3de3RU1f338c/MJDNJgFwwkEAYjIiACCQQIAR/3kqUWqq29JJalti0pY8CPtpoq9QWtFaDN35UpcRiEWproVpvj0UsRsCqKZFAFBBRFEgEkhAgFwIkkDnPHyEjU0ADnJmdTN6vtWZVzuwz851dWz7ru/c5x2FZliUAAIAw4TRdAAAAgJ0INwAAIKwQbgAAQFgh3AAAgLBCuAEAAGGFcAMAAMIK4QYAAISVCNMFhJrP59OuXbvUrVs3ORwO0+UAAIA2sCxL9fX16t27t5zOL+/NdLpws2vXLnm9XtNlAACAM1BeXq4+ffp86ZhOF266desmqWVyYmNjDVcDAADaoq6uTl6v1//3+JfpdOGmdSkqNjaWcAMAQAfTli0lbCgGAABhhXADAADCCuEGAACEFcINAAAIK4QbAAAQVgg3AAAgrBBuAABAWDEebubNm6fU1FRFRUUpMzNTxcXFXzq+pqZG06ZNU69eveTxeDRgwAAtW7YsRNUCAID2zuhN/JYuXaq8vDwVFBQoMzNTc+fO1fjx47Vlyxb17NnzhPFNTU268sor1bNnTz3//PNKSUnRjh07FB8fH/riAQBAu+SwLMsy9eWZmZkaNWqUnnjiCUktD7X0er265ZZbdNddd50wvqCgQA8//LA++ugjRUZGntF31tXVKS4uTrW1tdyhGACADuJ0/v42tizV1NSkkpISZWdnf1GM06ns7GwVFRWd9JxXXnlFWVlZmjZtmpKSkjRkyBA98MADam5uPuX3NDY2qq6uLuAFAADCl7FwU11drebmZiUlJQUcT0pKUkVFxUnP+eyzz/T888+rublZy5Yt029+8xs9+uij+t3vfnfK78nPz1dcXJz/xRPBAQAIb8Y3FJ8On8+nnj176o9//KMyMjKUk5Oju+++WwUFBac8Z8aMGaqtrfW/ysvLg1Jb49Fm7aw5pN21h4Ly+QAAoG2MbShOTEyUy+VSZWVlwPHKykolJyef9JxevXopMjJSLpfLf+zCCy9URUWFmpqa5Ha7TzjH4/HI4/HYW/xJbNxZq+/ML1Lf7jF665dXBP37AADAyRnr3LjdbmVkZKiwsNB/zOfzqbCwUFlZWSc95+KLL9bWrVvl8/n8xz7++GP16tXrpMEmlJzHHsHuM7c/GwAAyPCyVF5enhYsWKDFixdr8+bNuvnmm9XQ0KDc3FxJ0uTJkzVjxgz/+Jtvvln79u3Trbfeqo8//lj//Oc/9cADD2jatGmmfoKfP9z4CDcAAJhk9D43OTk52rNnj2bOnKmKigqlp6dr+fLl/k3GZWVlcjq/yF9er1evv/66fv7zn2vYsGFKSUnRrbfeqjvvvNPUT/BzOVvCTTOdGwAAjDJ6nxsTgnWfmw931ekbj/1biV09Wvvr7K8+AQAAtFmHuM9NuGnt3HSyrAgAQLtDuLHJsWzDshQAAIYRbmzibN1zw4ZiAACMItzYxMXVUgAAtAuEG5u07rkh2wAAYBbhxiZOLgUHAKBdINzYpHVDMctSAACYRbixSeueGzo3AACYRbixidN/nxvudQMAgEmEG5u0dm4kNhUDAGAS4cYmzuPCDfe6AQDAHMKNTY57vqd8LEsBAGAM4cYmrfe5kejcAABgEuHGJs6APTeEGwAATCHc2CQg3PgMFgIAQCdHuLFJwLIUnRsAAIwh3NjkuGzDnhsAAAwi3NjE4XD4Aw438QMAwBzCjY1cPDwTAADjCDc2crQ+X4plKQAAjCHc2Kj1EQxcLQUAgDmEGxu1LktxnxsAAMwh3NiodUMxe24AADCHcGMjZ2vnhj03AAAYQ7ixUeueGzo3AACYQ7ix0RedG8OFAADQiRFubOS/WorODQAAxhBubOS/iR97bgAAMIZwYyMHV0sBAGAc4cZGrZ0bni0FAIA5hBsb+a+WYkMxAADGEG5s5GTPDQAAxhFubNR6h2KulgIAwBzCjY2cXAoOAIBxhBsbcSk4AADmEW5sxFPBAQAwj3BjIydXSwEAYBzhxkZsKAYAwDzCjY38y1LsuQEAwBjCjY38y1J0bgAAMIZwYyOulgIAwDzCjY24zw0AAOYRbmzk9O+5MVwIAACdGOHGRq5jV0ux5wYAAHMINzbiaikAAMwj3NjIwdVSAAAY1y7Czbx585SamqqoqChlZmaquLj4lGMXLVokh8MR8IqKigphtafm8m8oNlwIAACdmPFws3TpUuXl5WnWrFlat26d0tLSNH78eFVVVZ3ynNjYWO3evdv/2rFjRwgrPjWWpQAAMM94uJkzZ46mTJmi3NxcDR48WAUFBYqJidHChQtPeY7D4VBycrL/lZSUdMqxjY2NqqurC3gFi5P73AAAYJzRcNPU1KSSkhJlZ2f7jzmdTmVnZ6uoqOiU5x04cEDnnnuuvF6vrrvuOm3atOmUY/Pz8xUXF+d/eb1eW3/D8Vw8WwoAAOOMhpvq6mo1Nzef0HlJSkpSRUXFSc8ZOHCgFi5cqJdffll/+ctf5PP5NHbsWH3++ecnHT9jxgzV1tb6X+Xl5bb/jlbcxA8AAPMiTBdwurKyspSVleX/89ixY3XhhRfqySef1H333XfCeI/HI4/HE5LavliWCsnXAQCAkzDauUlMTJTL5VJlZWXA8crKSiUnJ7fpMyIjIzV8+HBt3bo1GCWeFhedGwAAjDMabtxutzIyMlRYWOg/5vP5VFhYGNCd+TLNzc3asGGDevXqFawy24wNxQAAmGd8WSovL0833nijRo4cqdGjR2vu3LlqaGhQbm6uJGny5MlKSUlRfn6+JOm3v/2txowZo/79+6umpkYPP/ywduzYoZ/+9Kcmf4YkycmGYgAAjDMebnJycrRnzx7NnDlTFRUVSk9P1/Lly/2bjMvKyuR0ftFg2r9/v6ZMmaKKigolJCQoIyND7777rgYPHmzqJ/hxnxsAAMxzWFbnajPU1dUpLi5OtbW1io2NtfWz73llkxa9u13Trjhfvxg/yNbPBgCgMzudv7+N38QvnLi4WgoAAOMINzZqDTedrBkGAEC7Qrix0bErwblaCgAAgwg3Nmq9z00znRsAAIwh3NiIq6UAADCPcGMjJ50bAACMI9zYKIKrpQAAMI5wYyOXqzXckG4AADCFcGOj1s7NUfbcAABgDOHGRq5jj4k42ky4AQDAFMKNjSJ4KjgAAMYRbmwU4WpdlmLPDQAAphBubETnBgAA8wg3NvLvuSHcAABgDOHGRv6rpdhQDACAMYQbG7mc7LkBAMA0wo2N2HMDAIB5hBsbubiJHwAAxhFubBTpaplOOjcAAJhDuLGRiw3FAAAYR7ixUQQbigEAMI5wYyP23AAAYB7hxkatj19gzw0AAOYQbmzEU8EBADCPcGMj7nMDAIB5hBsb8VRwAADMI9zYKIINxQAAGEe4sVHrnptm9twAAGAM4cZGdG4AADCPcGMjFxuKAQAwjnBjI+5QDACAeYQbG0Uce3Cmz5J8dG8AADCCcGOj1mUpiX03AACYQrixUcRx4YZ9NwAAmEG4sVFg54Z9NwAAmEC4sRGdGwAAzCPc2Oj4zs0RbuQHAIARhBsbORwOHp4JAIBhhBububjXDQAARhFubEbnBgAAswg3NnPxfCkAAIwi3Nis9S7FdG4AADCDcGOz1s7NkWb23AAAYALhxmbsuQEAwCzCjc0iXK2dG8INAAAmtItwM2/ePKWmpioqKkqZmZkqLi5u03lLliyRw+HQt771reAWeBoij+25YVkKAAAzjIebpUuXKi8vT7NmzdK6deuUlpam8ePHq6qq6kvP2759u+644w5dcsklIaq0bdyEGwAAjDIebubMmaMpU6YoNzdXgwcPVkFBgWJiYrRw4cJTntPc3KxJkybp3nvvVb9+/UJY7VdzR7RMadNRwg0AACYYDTdNTU0qKSlRdna2/5jT6VR2draKiopOed5vf/tb9ezZUz/5yU++8jsaGxtVV1cX8AomOjcAAJhlNNxUV1erublZSUlJAceTkpJUUVFx0nPefvtt/elPf9KCBQva9B35+fmKi4vzv7xe71nX/WVa99w00rkBAMAI48tSp6O+vl433HCDFixYoMTExDadM2PGDNXW1vpf5eXlQa2xdVmKq6UAADAjwuSXJyYmyuVyqbKyMuB4ZWWlkpOTTxj/6aefavv27brmmmv8x3zHHlAZERGhLVu26Pzzzw84x+PxyOPxBKH6k2vt3LDnBgAAM4x2btxutzIyMlRYWOg/5vP5VFhYqKysrBPGDxo0SBs2bFBpaan/de211+qKK65QaWlp0Jec2sITwZ4bAABMMtq5kaS8vDzdeOONGjlypEaPHq25c+eqoaFBubm5kqTJkycrJSVF+fn5ioqK0pAhQwLOj4+Pl6QTjpsSeewmfnRuAAAww3i4ycnJ0Z49ezRz5kxVVFQoPT1dy5cv928yLisrk9PZcbYG+S8Fp3MDAIARxsONJE2fPl3Tp08/6XurVq360nMXLVpkf0FngT03AACY1XFaIh2Emz03AAAYRbixGXcoBgDALMKNzbhDMQAAZhFubNYabthQDACAGYQbm0X6l6W4QzEAACYQbmxG5wYAALMINzZr7dwcYUMxAABGEG5s5qFzAwCAUYQbm0VGtDx+gaulAAAwg3BjM7fLJUlqZFkKAAAjCDc2i4psmdLGI82GKwEAoHMi3Ngs2t3SuTlEuAEAwAjCjc2iI1vCzcEmwg0AACYQbmzW2rk5TOcGAAAjCDc2a+3cHKJzAwCAEYQbm/nDzZFmWRaPYAAAINQINzZrXZbyWdzIDwAAEwg3Nos61rmRpMNNhBsAAEKNcGOzSJdTka6WuxQfPHLUcDUAAHQ+hJsgiGJTMQAAxhBuguD4TcUAACC0CDdBEMO9bgAAMIZwEwRfLEuxoRgAgFAj3ARBa+emoYkNxQAAhBrhJgi6RUVKkuoPE24AAAg1wk0QxEa3hJu6Q0cMVwIAQOdDuAmCblERkujcAABgAuEmCFrDTd1hOjcAAIQa4SYIYv17bgg3AACEGuEmCGJbOzeHWJYCACDUCDdB0LqhuL6Rzg0AAKFGuAmCbnRuAAAwhnATBOy5AQDAHMJNELTexK+OS8EBAAg5wk0QfHGfmyOyLMtwNQAAdC6EmyCIO7ah+EizpUM8GRwAgJAi3ARBjNulSJdDklRzkH03AACEEuEmCBwOh+Jj3JKk/QebDFcDAEDnQrgJkoSYlqUpOjcAAIQW4SZI4qNbOjeEGwAAQuuMwk15ebk+//xz/5+Li4t122236Y9//KNthXV08cc6NyxLAQAQWmcUbn74wx9q5cqVkqSKigpdeeWVKi4u1t13363f/va3thbYUSXEtHZuCDcAAITSGYWbjRs3avTo0ZKkv//97xoyZIjeffdd/fWvf9WiRYvsrK/D+qJzw7IUAAChdEbh5siRI/J4PJKkN954Q9dee60kadCgQdq9e7d91XVg8THsuQEAwIQzCjcXXXSRCgoK9O9//1srVqzQ17/+dUnSrl27dM4559haYEf1xdVSLEsBABBKZxRuHnzwQT355JO6/PLLdf311ystLU2S9Morr/iXqzo7NhQDAGDGGYWbyy+/XNXV1aqurtbChQv9x3/2s5+poKDgtD9v3rx5Sk1NVVRUlDIzM1VcXHzKsS+88IJGjhyp+Ph4denSRenp6XrmmWfO5GcElX9Z6hDLUgAAhNIZhZtDhw6psbFRCQkJkqQdO3Zo7ty52rJli3r27Hlan7V06VLl5eVp1qxZWrdundLS0jR+/HhVVVWddHz37t119913q6ioSB988IFyc3OVm5ur119//Ux+StAksOcGAAAjHNYZPLb6qquu0sSJE3XTTTeppqZGgwYNUmRkpKqrqzVnzhzdfPPNbf6szMxMjRo1Sk888YQkyefzyev16pZbbtFdd93Vps8YMWKEJkyYoPvuu++E9xobG9XY2Oj/c11dnbxer2praxUbG9vmOk9XVd1hjX6gUE6HtPX+b8jpdATtuwAACHd1dXWKi4tr09/fZ9S5WbdunS655BJJ0vPPP6+kpCTt2LFDf/7zn/XYY4+1+XOamppUUlKi7OzsLwpyOpWdna2ioqKvPN+yLBUWFmrLli269NJLTzomPz9fcXFx/pfX621zfWcj7tieG58l1TceDcl3AgCAMww3Bw8eVLdu3SRJ//rXvzRx4kQ5nU6NGTNGO3bsaPPnVFdXq7m5WUlJSQHHk5KSVFFRccrzamtr1bVrV7ndbk2YMEGPP/64rrzyypOOnTFjhmpra/2v8vLyNtd3NjwRLsW4XZK4YgoAgFA6o3DTv39/vfTSSyovL9frr7+uq666SpJUVVUV1KWeVt26dVNpaanee+893X///crLy9OqVatOOtbj8Sg2NjbgFSoJ/ieDs+8GAIBQiTiTk2bOnKkf/vCH+vnPf66vfe1rysrKktTSxRk+fHibPycxMVEul0uVlZUBxysrK5WcnHzK85xOp/r37y9JSk9P1+bNm5Wfn6/LL7/89H9MEMVFR2pnzSE6NwAAhNAZdW6++93vqqysTGvXrg24SmncuHH63//93zZ/jtvtVkZGhgoLC/3HfD6fCgsL/YGpLXw+X8Cm4fYioUvrjfzo3AAAECpn1LmRpOTkZCUnJ/ufDt6nT58zuoFfXl6ebrzxRo0cOVKjR4/W3Llz1dDQoNzcXEnS5MmTlZKSovz8fEktG4RHjhyp888/X42NjVq2bJmeeeYZzZ8//0x/StDE+5el6NwAABAqZxRufD6ffve73+nRRx/VgQMHJLXsg7n99tt19913y+lse0MoJydHe/bs0cyZM1VRUaH09HQtX77cv8m4rKws4PMaGho0depUff7554qOjtagQYP0l7/8RTk5OWfyU4IqPprODQAAoXZG97mZMWOG/vSnP+nee+/VxRdfLEl6++23dc8992jKlCm6//77bS/ULqdznfzZeuT1LXpi5VbdmHWu7r1uSFC/CwCAcHY6f3+fUedm8eLFeuqpp/xPA5ekYcOGKSUlRVOnTm3X4SaUvni+FJ0bAABC5Yw2FO/bt0+DBg064figQYO0b9++sy4qXCSw5wYAgJA7o3CTlpbmf1zC8Z544gkNGzbsrIsKF62dm1oengkAQMic0bLUQw89pAkTJuiNN97wX7JdVFSk8vJyLVu2zNYCOzKulgIAIPTOqHNz2WWX6eOPP9a3v/1t1dTUqKamRhMnTtSmTZv0zDPP2F1jh5VwrHNT00DnBgCAUDmjq6VO5f3339eIESPU3Nxs10faLpRXS+1raNKI+1ZIkj65/2pFus4oSwIA0OkF/angaJu46Eg5HC3/zL4bAABCg3ATRC6nQ7FRrTfyY98NAAChQLgJstYrprhLMQAAoXFaV0tNnDjxS9+vqak5m1rCUnyMWzv2HuRGfgAAhMhphZu4uLivfH/y5MlnVVC4SfDfpZhlKQAAQuG0ws3TTz8drDrCVutdimvp3AAAEBLsuQmyuGg6NwAAhBLhJsi+eL4UnRsAAEKBcBNkCV1any9F5wYAgFAg3ASZf1mKRzAAABAShJsgS+DhmQAAhBThJshaww038QMAIDQIN0HWvWtLuNnX0CQbn1EKAABOgXATZOd0aQk3Tc0+1R0+argaAADCH+EmyKIiXermablX4t4DjYarAQAg/BFuQuCcY0tTexvYVAwAQLARbkLgnK4eSVJ1PZ0bAACCjXATAonHOjfVdG4AAAg6wk0I0LkBACB0CDchkHgs3OxtINwAABBshJsQaF2W2nuAZSkAAIKNcBMC53Q5tizFpeAAAAQd4SYE6NwAABA6hJsQ8G8opnMDAEDQEW5CoLVzU3f4qBqPNhuuBgCA8Ea4CYG46EhFOB2SWh6gCQAAgodwEwIOh8P/CIbqesINAADBRLgJEf8VU9zrBgCAoCLchEhit2M38uOKKQAAgopwEyKJXVqWparqDxuuBACA8Ea4CZGesVGSpKo6lqUAAAgmwk2IJMW2LEvRuQEAILgINyGSROcGAICQINyESGvnppLODQAAQUW4CZGe3Vo6N5V1jbIsy3A1AACEL8JNiPQ81rlpOupT7aEjhqsBACB8EW5CxBPhUkJMpKSW7g0AAAgOwk0IfbE0xb4bAACChXATQq1LU4QbAACCp12Em3nz5ik1NVVRUVHKzMxUcXHxKccuWLBAl1xyiRISEpSQkKDs7OwvHd+e+C8Hr2dZCgCAYDEebpYuXaq8vDzNmjVL69atU1pamsaPH6+qqqqTjl+1apWuv/56rVy5UkVFRfJ6vbrqqqu0c+fOEFd++pLo3AAAEHTGw82cOXM0ZcoU5ebmavDgwSooKFBMTIwWLlx40vF//etfNXXqVKWnp2vQoEF66qmn5PP5VFhYGOLKT19r54ZwAwBA8BgNN01NTSopKVF2drb/mNPpVHZ2toqKitr0GQcPHtSRI0fUvXv3k77f2Niourq6gJcpx9/rBgAABIfRcFNdXa3m5mYlJSUFHE9KSlJFRUWbPuPOO+9U7969AwLS8fLz8xUXF+d/eb3es677TPmfL0XnBgCAoDG+LHU2Zs+erSVLlujFF19UVFTUScfMmDFDtbW1/ld5eXmIq/zC8RuKm33cpRgAgGCIMPnliYmJcrlcqqysDDheWVmp5OTkLz33kUce0ezZs/XGG29o2LBhpxzn8Xjk8Xhsqfds9ezmkcvp0FGfpar6w+oVF226JAAAwo7Rzo3b7VZGRkbAZuDWzcFZWVmnPO+hhx7Sfffdp+XLl2vkyJGhKNUWES6nko91b3bVHDJcDQAA4cn4slReXp4WLFigxYsXa/Pmzbr55pvV0NCg3NxcSdLkyZM1Y8YM//gHH3xQv/nNb7Rw4UKlpqaqoqJCFRUVOnDggKmfcFpS4lu6NZ/vJ9wAABAMRpelJCknJ0d79uzRzJkzVVFRofT0dC1fvty/ybisrExO5xcZbP78+WpqatJ3v/vdgM+ZNWuW7rnnnlCWfkZSEqKl7dJOOjcAAASF8XAjSdOnT9f06dNP+t6qVasC/rx9+/bgFxRErZ0blqUAAAgO48tSnU1KQku42cmyFAAAQUG4CbHexzo3LEsBABAchJsQa12W2rn/kCyLe90AAGA3wk2ItYabhqZm1R06argaAADCD+EmxKLdLp3TxS1J+rzmoOFqAAAIP4QbA3rHs6kYAIBgIdwY0CeBG/kBABAshBsD+p4TI0nasbfBcCUAAIQfwo0B553TRZK0bS97bgAAsBvhxoDUxJZws72azg0AAHYj3Bhw3rFw8/n+g2o66jNcDQAA4YVwY0DPbh5FR7rks1oCDgAAsA/hxgCHw6Fzj20q3s6mYgAAbEW4MaR1aWpbNZ0bAADsRLgxpHVTMZeDAwBgL8KNIf7LwbliCgAAWxFuDDm/Z0u42Vp1wHAlAACEF8KNIRckdZMk7a49rNpDRwxXAwBA+CDcGBIbFanecVGSpI8r6w1XAwBA+CDcGDQguaV7s6WCcAMAgF0INwYNPLY0RecGAAD7EG4MGpBE5wYAALsRbgwamPxF58ayLMPVAAAQHgg3BvXv2VVOh7T/4BFV1TeaLgcAgLBAuDEoKtKl83t0lSRt+LzWcDUAAIQHwo1hw/rES5I++LzGaB0AAIQLwo1had44SdL7dG4AALAF4caw4zs3bCoGAODsEW4Mu7BXN0W6HNp/8Ig+33/IdDkAAHR4hBvDPBEuDUqOlSSVlteYLQYAgDBAuGkHMs5NkCS9t32f4UoAAOj4CDftwJh+3SVJaz4j3AAAcLYIN+3A6PPOkSRtqazXvoYmw9UAANCxEW7age5d3P6HaBZv22u4GgAAOjbCTTuReWxp6j8sTQEAcFYIN+1EVr+Wpam3PtljuBIAADo2wk07cfEFiYpwOvTZngZtr24wXQ4AAB0W4aadiI2K1KjUlqWpNz+qMlwNAAAdF+GmHRl3YU9JhBsAAM4G4aYd+dqglnCzZtte1R0+YrgaAAA6JsJNO9KvR1f179lVR5otvb6xwnQ5AAB0SISbdubatN6SpFfe32W4EgAAOibCTTvTGm7e/XSv9tQ3Gq4GAICOh3DTzqQmdlFanzg1+ywt27DbdDkAAHQ4hJt26Nr0FEnScyXlhisBAKDjIdy0Q98eniK3y6mNO+v0wec1pssBAKBDMR5u5s2bp9TUVEVFRSkzM1PFxcWnHLtp0yZ95zvfUWpqqhwOh+bOnRu6QkOoexe3rh6aLEl6dk2Z4WoAAOhYjIabpUuXKi8vT7NmzdK6deuUlpam8ePHq6rq5DexO3jwoPr166fZs2crOTk5xNWG1g9H95XUctVUPfe8AQCgzYyGmzlz5mjKlCnKzc3V4MGDVVBQoJiYGC1cuPCk40eNGqWHH35YP/jBD+TxeNr0HY2Njaqrqwt4dQSjz+uu83t00cGmZr24fqfpcgAA6DCMhZumpiaVlJQoOzv7i2KcTmVnZ6uoqMi278nPz1dcXJz/5fV6bfvsYHI4HJqclSpJWvj2NjX7LLMFAQDQQRgLN9XV1WpublZSUlLA8aSkJFVU2Hd33hkzZqi2ttb/Ki/vOFcgfTejj2KjIrR970G9sbnSdDkAAHQIxjcUB5vH41FsbGzAq6Po4onQpDHnSpKe+vdnhqsBAKBjMBZuEhMT5XK5VFkZ2JGorKwM+83Cp+NHY1MV6XLove37VVpeY7ocAADaPWPhxu12KyMjQ4WFhf5jPp9PhYWFysrKMlVWu5MUG6Vrjj2SYQHdGwAAvpLRZam8vDwtWLBAixcv1ubNm3XzzTeroaFBubm5kqTJkydrxowZ/vFNTU0qLS1VaWmpmpqatHPnTpWWlmrr1q2mfkJITLmknyTptQ27tb26wXA1AAC0b0bDTU5Ojh555BHNnDlT6enpKi0t1fLly/2bjMvKyrR79xfPV9q1a5eGDx+u4cOHa/fu3XrkkUc0fPhw/fSnPzX1E0Liwl6xumJgD/ksqWD1p6bLAQCgXXNYltWprjGuq6tTXFycamtrO9Tm4pId+/Sd+UWKdDm0+hdXqHd8tOmSAAAImdP5+zvsr5YKFxnndteYft11pNli7w0AAF+CcNOBTLuivyTpb8Vlqj7QaLgaAADaJ8JNB/I//ROV1idOh4/49PQ720yXAwBAu0S46UAcDoemHuve/PndHao9xAM1AQD4b4SbDubKC5M0IKmr6huP6i//2WG6HAAA2h3CTQfjdDo09fKW7s2f3t6mg01HDVcEAED7QrjpgL45rJf6do/RvoYmPbumzHQ5AAC0K4SbDijC5dTUy8+XJBWs/kyHmpoNVwQAQPtBuOmgJo7ooz4J0ao+0Khni+neAADQinDTQbkjnP773hSs/lSHj9C9AQBAItx0aN8Z0Ucp8dHaU9/I3hsAAI4h3HRgdG8AADgR4aaD+25GS/emqr5Rf2PvDQAAhJuOzh3h1NQrWq6cmr+K7g0AAISbMPC9DK96x0Wpqr5RS+jeAAA6OcJNGGjp3rTsvZnP3hsAQCdHuAkT3xvZR73iolRZR/cGANC5EW7ChCfC5e/ezFv1Kc+cAgB0WoSbMJIz0qu+3WO0p75RC9/eZrocAACMINyEEXeEU7dfNUCS9OTqz7S/oclwRQAAhB7hJsxcM6y3BveKVX3jUf1h1VbT5QAAEHKEmzDjdDr0y68PlCQtLtqhnTWHDFcEAEBoEW7C0GUDemhMv+5qOurT3BUfmy4HAICQItyEIYfDoTu/PkiS9I91n+vDXXWGKwIAIHQIN2FqeN8ETRjWSz5Luvf/bZJlWaZLAgAgJAg3YexX37hQUZFOrdm2T8s2VJguBwCAkCDchLGU+GjdfFnLjf3u/+eHOtTEYxkAAOGPcBPm/s9l/ZQSH61dtYc1f/WnpssBACDoCDdhLirSpbsnXChJKlj9qbZWHTBcEQAAwUW46QSuHpKsywf2UNNRn+76xwfy+dhcDAAIX4SbTsDhcOj+bw9VF7dLa3fs11/W7DBdEgAAQUO46SRS4qN119Ut97558LWP9Pn+g4YrAgAgOAg3ncikzHM1KjVBDU3Num1JqY42+0yXBACA7Qg3nYjT6dCj30tXN0+E1u7Yr8cKPzFdEgAAtiPcdDJ9z4nR/ROHSpIeX7lV735abbgiAADsRbjphK5N662ckV5ZlnTLs+vZfwMACCuEm05q1rWDdVHvWO1taNJPF6/VgcajpksCAMAWhJtOKsYdoQWTR6pHN48+qqjX//3beh1hgzEAIAwQbjqx3vHRWjB5pDwRTr35URVXUAEAwgLhppNL98ar4IYMRboc+ueG3br9uffp4AAAOjTCDXTFwJ564ocj5HI69HLpLv2EPTgAgA6McANJ0viLkrVgcoaiI1166+M9+u78d7WtusF0WQAAnDbCDfy+NihJS//PGCV2deujinp987F/6x8ln8uyeNAmAKDjINwgwLA+8Xr1lkuUeV53NTQ16/bn3tcNfyrW1qoDpksDAKBNCDc4QXJclJ6dMkZ3XDVA7gin3t5arfFz31Le30sJOQCAdq9dhJt58+YpNTVVUVFRyszMVHFx8ZeOf+655zRo0CBFRUVp6NChWrZsWYgq7TxcToemf+0CvfHzy5R9YZKafZZeWLdT2XNWK+fJIv19bblqDjaZLhMAgBM4LMMbKpYuXarJkyeroKBAmZmZmjt3rp577jlt2bJFPXv2PGH8u+++q0svvVT5+fn65je/qWeffVYPPvig1q1bpyFDhnzl99XV1SkuLk61tbWKjY0Nxk8KS++X12jeyq1asblSrf/GOBwty1hjzz9HQ3rH6aLeserbPUZOp8NssQCAsHM6f38bDzeZmZkaNWqUnnjiCUmSz+eT1+vVLbfcorvuuuuE8Tk5OWpoaNCrr77qPzZmzBilp6eroKDgK7+PcHN2dtUc0ovrd+qV0l3aUll/wvtul1O946OUkhCt5NhoxcdEKi665RUbHSFPhEtul1PuiONeLqecDoccjpbA5HQ45FDLP0uOE445jh0DJPHvAtAOuSOc6tktytbPPJ2/vyNs/ebT1NTUpJKSEs2YMcN/zOl0Kjs7W0VFRSc9p6ioSHl5eQHHxo8fr5deeumk4xsbG9XY2Oj/c11d3dkX3on1jo/WtCv6a9oV/VVRe1hvfbJH68v2a9OuOn1UUa+moz5t33tQ2/fyME4A6KxG9I3XC1MvNvb9RsNNdXW1mpublZSUFHA8KSlJH3300UnPqaioOOn4ioqKk47Pz8/Xvffea0/BCJAcF6Xvj/Tq+yO9kqSjzT7trj2snTWHtHP/IVXWH1btoSOqO3Tk2H8eVePRZjU1W2o66lPT0WY1NfvUdNQnn6Vjy13WsX+2ZEny+Vr+U5Za/mxZsizp2FF0ctylAGifIl1mt/QaDTehMGPGjIBOT11dnbxer8GKwleEyylv9xh5u8eYLgUA0IkZDTeJiYlyuVyqrKwMOF5ZWank5OSTnpOcnHxa4z0ejzwejz0FAwCAds9o38jtdisjI0OFhYX+Yz6fT4WFhcrKyjrpOVlZWQHjJWnFihWnHA8AADoX48tSeXl5uvHGGzVy5EiNHj1ac+fOVUNDg3JzcyVJkydPVkpKivLz8yVJt956qy677DI9+uijmjBhgpYsWaK1a9fqj3/8o8mfAQAA2gnj4SYnJ0d79uzRzJkzVVFRofT0dC1fvty/abisrExO5xcNprFjx+rZZ5/Vr3/9a/3qV7/SBRdcoJdeeqlN97gBAADhz/h9bkKN+9wAANDxnM7f3+3i8QsAAAB2IdwAAICwQrgBAABhhXADAADCCuEGAACEFcINAAAIK4QbAAAQVgg3AAAgrBBuAABAWDH++IVQa70hc11dneFKAABAW7X+vd2WByt0unBTX18vSfJ6vYYrAQAAp6u+vl5xcXFfOqbTPVvK5/Np165d6tatmxwOh62fXVdXJ6/Xq/Lycp5bFUTMc2gwz6HBPIcOcx0awZpny7JUX1+v3r17BzxQ+2Q6XefG6XSqT58+Qf2O2NhY/ocTAsxzaDDPocE8hw5zHRrBmOev6ti0YkMxAAAIK4QbAAAQVgg3NvJ4PJo1a5Y8Ho/pUsIa8xwazHNoMM+hw1yHRnuY5063oRgAAIQ3OjcAACCsEG4AAEBYIdwAAICwQrgBAABhhXBjk3nz5ik1NVVRUVHKzMxUcXGx6ZLatbfeekvXXHONevfuLYfDoZdeeingfcuyNHPmTPXq1UvR0dHKzs7WJ598EjBm3759mjRpkmJjYxUfH6+f/OQnOnDgQMCYDz74QJdccomioqLk9Xr10EMPBfuntSv5+fkaNWqUunXrpp49e+pb3/qWtmzZEjDm8OHDmjZtms455xx17dpV3/nOd1RZWRkwpqysTBMmTFBMTIx69uypX/ziFzp69GjAmFWrVmnEiBHyeDzq37+/Fi1aFOyf127Mnz9fw4YN89+0LCsrS6+99pr/feY4OGbPni2Hw6HbbrvNf4y5Pnv33HOPHA5HwGvQoEH+9zvEHFs4a0uWLLHcbre1cOFCa9OmTdaUKVOs+Ph4q7Ky0nRp7dayZcusu+++23rhhRcsSdaLL74Y8P7s2bOtuLg466WXXrLef/9969prr7XOO+8869ChQ/4xX//61620tDTrP//5j/Xvf//b6t+/v3X99df736+trbWSkpKsSZMmWRs3brT+9re/WdHR0daTTz4Zqp9p3Pjx462nn37a2rhxo1VaWmp94xvfsPr27WsdOHDAP+amm26yvF6vVVhYaK1du9YaM2aMNXbsWP/7R48etYYMGWJlZ2db69evt5YtW2YlJiZaM2bM8I/57LPPrJiYGCsvL8/68MMPrccff9xyuVzW8uXLQ/p7TXnllVesf/7zn9bHH39sbdmyxfrVr35lRUZGWhs3brQsizkOhuLiYis1NdUaNmyYdeutt/qPM9dnb9asWdZFF11k7d692//as2eP//2OMMeEGxuMHj3amjZtmv/Pzc3NVu/eva38/HyDVXUc/x1ufD6flZycbD388MP+YzU1NZbH47H+9re/WZZlWR9++KElyXrvvff8Y1577TXL4XBYO3futCzLsv7whz9YCQkJVmNjo3/MnXfeaQ0cODDIv6j9qqqqsiRZq1evtiyrZV4jIyOt5557zj9m8+bNliSrqKjIsqyWIOp0Oq2Kigr/mPnz51uxsbH+uf3lL39pXXTRRQHflZOTY40fPz7YP6ndSkhIsJ566inmOAjq6+utCy64wFqxYoV12WWX+cMNc22PWbNmWWlpaSd9r6PMMctSZ6mpqUklJSXKzs72H3M6ncrOzlZRUZHByjqubdu2qaKiImBO4+LilJmZ6Z/ToqIixcfHa+TIkf4x2dnZcjqdWrNmjX/MpZdeKrfb7R8zfvx4bdmyRfv37w/Rr2lfamtrJUndu3eXJJWUlOjIkSMBcz1o0CD17ds3YK6HDh2qpKQk/5jx48errq5OmzZt8o85/jNax3TG/w00NzdryZIlamhoUFZWFnMcBNOmTdOECRNOmA/m2j6ffPKJevfurX79+mnSpEkqKyuT1HHmmHBzlqqrq9Xc3BzwX6IkJSUlqaKiwlBVHVvrvH3ZnFZUVKhnz54B70dERKh79+4BY072Gcd/R2fi8/l022236eKLL9aQIUMktcyD2+1WfHx8wNj/nuuvmsdTjamrq9OhQ4eC8XPanQ0bNqhr167yeDy66aab9OKLL2rw4MHMsc2WLFmidevWKT8//4T3mGt7ZGZmatGiRVq+fLnmz5+vbdu26ZJLLlF9fX2HmeNO91RwoLOaNm2aNm7cqLffftt0KWFp4MCBKi0tVW1trZ5//nndeOONWr16temywkp5ebluvfVWrVixQlFRUabLCVtXX321/5+HDRumzMxMnXvuufr73/+u6Ohog5W1HZ2bs5SYmCiXy3XCTvHKykolJycbqqpja523L5vT5ORkVVVVBbx/9OhR7du3L2DMyT7j+O/oLKZPn65XX31VK1euVJ8+ffzHk5OT1dTUpJqamoDx/z3XXzWPpxoTGxvbYf7P8Gy53W71799fGRkZys/PV1pamn7/+98zxzYqKSlRVVWVRowYoYiICEVERGj16tV67LHHFBERoaSkJOY6COLj4zVgwABt3bq1w/z7TLg5S263WxkZGSosLPQf8/l8KiwsVFZWlsHKOq7zzjtPycnJAXNaV1enNWvW+Oc0KytLNTU1Kikp8Y9588035fP5lJmZ6R/z1ltv6ciRI/4xK1as0MCBA5WQkBCiX2OWZVmaPn26XnzxRb355ps677zzAt7PyMhQZGRkwFxv2bJFZWVlAXO9YcOGgDC5YsUKxcbGavDgwf4xx39G65jO/L8Bn8+nxsZG5thG48aN04YNG1RaWup/jRw5UpMmTfL/M3NtvwMHDujTTz9Vr169Os6/z7ZsS+7klixZYnk8HmvRokXWhx9+aP3sZz+z4uPjA3aKI1B9fb21fv16a/369ZYka86cOdb69eutHTt2WJbVcil4fHy89fLLL1sffPCBdd111530UvDhw4dba9assd5++23rggsuCLgUvKamxkpKSrJuuOEGa+PGjdaSJUusmJiYTnUp+M0332zFxcVZq1atCris8+DBg/4xN910k9W3b1/rzTfftNauXWtlZWVZWVlZ/vdbL+u86qqrrNLSUmv58uVWjx49TnpZ5y9+8Qtr8+bN1rx58zrVpbN33XWXtXr1amvbtm3WBx98YN11112Ww+Gw/vWvf1mWxRwH0/FXS1kWc22H22+/3Vq1apW1bds265133rGys7OtxMREq6qqyrKsjjHHhBubPP7441bfvn0tt9ttjR492vrPf/5juqR2beXKlZakE1433nijZVktl4P/5je/sZKSkiyPx2ONGzfO2rJlS8Bn7N2717r++uutrl27WrGxsVZubq5VX18fMOb999+3/ud//sfyeDxWSkqKNXv27FD9xHbhZHMsyXr66af9Yw4dOmRNnTrVSkhIsGJiYqxvf/vb1u7duwM+Z/v27dbVV19tRUdHW4mJidbtt99uHTlyJGDMypUrrfT0dMvtdlv9+vUL+I5w9+Mf/9g699xzLbfbbfXo0cMaN26cP9hYFnMcTP8dbpjrs5eTk2P16tXLcrvdVkpKipWTk2Nt3brV/35HmGOHZVmWPT0gAAAA89hzAwAAwgrhBgAAhBXCDQAACCuEGwAAEFYINwAAIKwQbgAAQFgh3AAAgLBCuAEAAGGFcAOgU0hNTdXcuXNNlwEgBAg3AGz3ox/9SN/61rckSZdffrluu+22kH33okWLFB8ff8Lx9957Tz/72c9CVgcAcyJMFwAAbdHU1CS3233G5/fo0cPGagC0Z3RuAATNj370I61evVq///3v5XA45HA4tH37dknSxo0bdfXVV6tr165KSkrSDTfcoOrqav+5l19+uaZPn67bbrtNiYmJGj9+vCRpzpw5Gjp0qLp06SKv16upU6fqwIEDkqRVq1YpNzdXtbW1/u+75557JJ24LFVWVqbrrrtOXbt2VWxsrL7//e+rsrLS//4999yj9PR0PfPMM0pNTVVcXJx+8IMfqL6+3j/m+eef19ChQxUdHa1zzjlH2dnZamhoCNJsAmgrwg2AoPn973+vrKwsTZkyRbt379bu3bvl9XpVU1Ojr33taxo+fLjWrl2r5cuXq7KyUt///vcDzl+8eLHcbrfeeecdFRQUSJKcTqcee+wxbdq0SYsXL9abb76pX/7yl5KksWPHau7cuYqNjfV/3x133HFCXT6fT9ddd5327dun1atXa8WKFfrss8+Uk5MTMO7TTz/VSy+9pFdffVWvvvqqVq9erdmzZ0uSdu/ereuvv14//vGPtXnzZq1atUoTJ04UzyIGzGNZCkDQxMXFye12KyYmRsnJyf7jTzzxhIYPH64HHnjAf2zhwoXyer36+OOPNWDAAEnSBRdcoIceeijgM4/fv5Oamqrf/e53uummm/SHP/xBbrdbcXFxcjgcAd/33woLC7VhwwZt27ZNXq9XkvTnP/9ZF110kd577z2NGjVKUksIWrRokbp16yZJuuGGG1RYWKj7779fu3fv1tGjRzVx4kSde+65kqShQ4eexWwBsAudGwAh9/7772vlypXq2rWr/zVo0CBJLd2SVhkZGSec+8Ybb2jcuHFKSUlRt27ddMMNN2jv3r06ePBgm79/8+bN8nq9/mAjSYMHD1Z8fLw2b97sP5aamuoPNpLUq1cvVVVVSZLS0tI0btw4DR06VN/73ve0YMEC7d+/v+2TACBoCDcAQu7AgQO65pprVFpaGvD65JNPdOmll/rHdenSJeC87du365vf/KaGDRumf/zjHyopKdG8efMktWw4tltkZGTAnx0Oh3w+nyTJ5XJpxYoVeu211zR48GA9/vjjGjhwoLZt22Z7HQBOD+EGQFC53W41NzcHHBsxYoQ2bdqk1NRU9e/fP+D134HmeCUlJfL5fHr00Uc1ZswYDRgwQLt27frK7/tvF154ocrLy1VeXu4/9uGHH6qmpkaDBw9u829zOBy6+OKLde+992r9+vVyu9168cUX23w+gOAg3AAIqtTUVK1Zs0bbt29XdXW1fD6fpk2bpn379un666/Xe++9p08//VSvv/66cnNzvzSY9O/fX0eOHNHjjz+uzz77TM8884x/o/Hx33fgwAEVFhaqurr6pMtV2dnZGjp0qCZNmqR169apuLhYkydP1mWXXaaRI0e26XetWbNGDzzwgNauXauysjK98MIL2rNnjy688MLTmyAAtiPcAAiqO+64Qy6XS4MHD1aPHj1UVlam3r1765133lFzc7OuuuoqDR06VLfddpvi4+PldJ76/5bS0tI0Z84cPfjggxoyZIj++te/Kj8/P2DM2LFjddNNNyknJ0c9evQ4YUOy1NJxefnll5WQkKBLL71U2dnZ6tevn5YuXdrm3xUbG6u33npL3/jGNzRgwAD9+te/1qOPPqqrr7667ZMDICgcFtctAgCAMELnBgAAhBXCDQAACCuEGwAAEFYINwAAIKwQbgAAQFgh3AAAgLBCuAEAAGGFcAMAAMIK4QYAAIQVwg0AAAgrhBsAABBW/j+1p6yYP/V39wAAAABJRU5ErkJggg==", "text/plain": [ "
" ]