From dadd535bdff1e0cc752a4ef3b39cf7ef39075603 Mon Sep 17 00:00:00 2001 From: "M. Armoa" Date: Thu, 22 Jan 2026 14:05:18 -0300 Subject: [PATCH 1/3] Feat: Add 1D Wave convergence example (Matlab & C++) ref Mathews & Fink Ex 10.1 --- examples/cpp/wave1D_convergence.cpp | 178 ++++++++++++++++++ .../wave1D_convergence/convergence_plot.png | Bin 0 -> 44135 bytes .../convergence_vs_cells.png | Bin 0 -> 31612 bytes .../wave1D_convergence/convergence_vs_dx.png | Bin 0 -> 30382 bytes .../matlab_octave/wave1D_convergence/div.m | 76 ++++++++ .../matlab_octave/wave1D_convergence/grad.m | 43 +++++ .../matlab_octave/wave1D_convergence/lap.m | 13 ++ .../wave1D_convergence/run_convergence_test.m | 148 +++++++++++++++ .../wave1D_convergence/wave1d_solver.m | 107 +++++++++++ .../wave1D_convergence/wave1d_solver_fd.m | 105 +++++++++++ .../wave_profile_coarse.png | Bin 0 -> 46951 bytes .../wave_profile_comparison.png | Bin 0 -> 30183 bytes 12 files changed, 670 insertions(+) create mode 100644 examples/cpp/wave1D_convergence.cpp create mode 100644 examples/matlab_octave/wave1D_convergence/convergence_plot.png create mode 100644 examples/matlab_octave/wave1D_convergence/convergence_vs_cells.png create mode 100644 examples/matlab_octave/wave1D_convergence/convergence_vs_dx.png create mode 100644 examples/matlab_octave/wave1D_convergence/div.m create mode 100644 examples/matlab_octave/wave1D_convergence/grad.m create mode 100644 examples/matlab_octave/wave1D_convergence/lap.m create mode 100644 examples/matlab_octave/wave1D_convergence/run_convergence_test.m create mode 100644 examples/matlab_octave/wave1D_convergence/wave1d_solver.m create mode 100644 examples/matlab_octave/wave1D_convergence/wave1d_solver_fd.m create mode 100644 examples/matlab_octave/wave1D_convergence/wave_profile_coarse.png create mode 100644 examples/matlab_octave/wave1D_convergence/wave_profile_comparison.png diff --git a/examples/cpp/wave1D_convergence.cpp b/examples/cpp/wave1D_convergence.cpp new file mode 100644 index 00000000..e9c866dc --- /dev/null +++ b/examples/cpp/wave1D_convergence.cpp @@ -0,0 +1,178 @@ +/* + * ====================================================================================== + * Example: 2nd Order Convergence for 1D Wave Equation (Hyperbolic) + * Language: C++ (using MOLE library & Armadillo) + * ====================================================================================== + * + * Reference: + * Problem based on "Example 10.1" from: + * Mathews, J. H., & Fink, K. D. (2004). Numerical methods using MATLAB (4th ed.). + * Pearson Prentice Hall. + * + * Context: + * This example was presented during the postgraduate course "Introduction + * to Mimetic Difference Methods and Applications", taught by Prof. Jose + * Castillo in October 2023 at the Faculty of Exact Sciences, Engineering + * and Surveying (FCEIA) of the National University of Rosario (UNR), + * Argentina. + * + * Mathematical Formulation: + * ∂²u/∂t² = 4 ∂²u/∂x² on Ω = [0, 1] x [0, 0.5] + * (Comparing with standard form u_tt = c² u_xx, this implies wave speed c = 2) + * + * Domain Description: + * - Spatial: x ∈ [0, 1] + * - Temporal: t ∈ [0, 0.5] + * - Grid: Staggered grid (Mimetic Discretization) + * + * Boundary Conditions (Dirichlet): + * u(0, t) = 0 + * u(1, t) = 0 + * + * Initial Conditions: + * u(x, 0) = sin(πx) + sin(2πx) + * ∂u/∂t(x, 0) = 0 + * + * Analytical Solution (Exact): + * u(x, t) = sin(πx)cos(2πt) + sin(2πx)cos(4πt) + * + * Implementation Details: + * - Spatial Scheme: Mimetic Finite Differences (Order k=2) + * - Time Integration: Verlet Algorithm (Symplectic, 2nd order, Leapfrog equivalent) + * - Library: MOLE (with Armadillo for linear algebra) + * + * Output: + * - Prints a table of L2 errors and convergence rates for successive grid refinements. + * + * Author: Martin S. Armoa + * Programming Assistant: Google Gemini via VS Code + * ====================================================================================== + */ + +#include "mole.h" +#include +#include +#include +#include + +using namespace arma; +using namespace std; + +// --- Physical Parameters --- +const double PI = 3.14159265358979323846; +const double WAVE_SPEED_C = 2.0; +const double T_FINAL = 0.5; + +// --- Analytical Solution for Validation --- +double exact_sol(double x, double t) { + return sin(PI*x)*cos(PI*WAVE_SPEED_C*t) + sin(2*PI*x)*cos(2*PI*WAVE_SPEED_C*t); +} + +// --- Simulation Runner --- +// Returns the discrete L2 error for a given number of cells (m) +double run_simulation(int m) { + int k = 2; // Spatial order of accuracy + double a = 0.0; // Left boundary + double b = 1.0; // Right boundary + double dx = (b - a) / m; + + // Time step based on CFL condition for stability + // dt <= dx / c. We use dx / 4c for safety and precision. + double dt_approx = dx / (4.0 * WAVE_SPEED_C); + int Nt = (int)ceil(T_FINAL / dt_approx); + double dt = T_FINAL / Nt; + + // 1. Initialize Mimetic Laplacian Operator + Laplacian L(k, m, dx); + + // 2. Initialize State Vectors (Size m+2 to include boundary ghost points) + vec u(m + 2, fill::zeros); + vec v(m + 2, fill::zeros); + vec acc(m + 2, fill::zeros); + + // Coordinate auxiliary vector for error calculation + // Armadillo indices: 0 (Left BC), 1..m (Interior), m+1 (Right BC) + vector x_centers(m + 2); + + // Set Initial Conditions + for (int i = 1; i <= m; i++) { + double x = a + (i - 0.5) * dx; + x_centers[i] = x; + u(i) = exact_sol(x, 0.0); + } + + // Enforce Boundary Conditions + u(0) = 0.0; + u(m+1) = 0.0; + + // 3. Time Integration Loop (Velocity Verlet) + // Step 0: Initial acceleration + acc = (WAVE_SPEED_C*WAVE_SPEED_C) * (L * u); + acc(0) = 0.0; acc(m+1) = 0.0; // Enforce Dirichlet on acceleration + + for (int t = 0; t < Nt; t++) { + // v(t+0.5) = v(t) + 0.5*dt*a(t) + v = v + 0.5 * dt * acc; + + // u(t+1) = u(t) + dt*v(t+0.5) + u = u + dt * v; + + // a(t+1) = Force(u(t+1)) + acc = (WAVE_SPEED_C*WAVE_SPEED_C) * (L * u); + acc(0) = 0.0; acc(m+1) = 0.0; // Enforce Dirichlet + + // v(t+1) = v(t+0.5) + 0.5*dt*a(t+1) + v = v + 0.5 * dt * acc; + } + + // 4. Compute L2 Error + double sum_sq_error = 0.0; + for (int i = 1; i <= m; i++) { + double diff = u(i) - exact_sol(x_centers[i], T_FINAL); + sum_sq_error += diff * diff; + } + + return sqrt(sum_sq_error * dx); +} + +int main() { + vector mesh_sizes = {20, 40, 80, 160, 320}; + vector errors; + vector dx_vals; + + cout << "===========================================" << endl; + cout << " MOLE Example: 1D Wave Equation Convergence" << endl; + cout << "===========================================" << endl; + + cout << endl << "### Convergence Rate Table - MIMETIC Scheme" << endl; + cout << "| Cells (m) | dx | L2 Error | Rate (p) |" << endl; + cout << "| :--- | :--- | :--- | :--- |" << endl; + + for (size_t i = 0; i < mesh_sizes.size(); i++) { + int m = mesh_sizes[i]; + double dx = 1.0 / m; + + try { + double error = run_simulation(m); + errors.push_back(error); + dx_vals.push_back(dx); + + string rate_str = "-"; + if (i > 0) { + double rate = log(errors[i-1] / errors[i]) / log(dx_vals[i-1] / dx_vals[i]); + char buffer[50]; + sprintf(buffer, "%.2f", rate); + rate_str = string(buffer); + } + + cout << "| " << setw(9) << left << m + << " | " << scientific << setprecision(4) << dx + << " | " << scientific << setprecision(4) << error + << " | " << setw(8) << rate_str << " |" << endl; + + } catch (const std::exception& e) { + cout << "Error simulation m=" << m << ": " << e.what() << endl; + } + } + return 0; +} diff --git a/examples/matlab_octave/wave1D_convergence/convergence_plot.png b/examples/matlab_octave/wave1D_convergence/convergence_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..ab3aced455e75225a8498b762a449b07704df654 GIT binary patch literal 44135 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 literal 0 HcmV?d00001 diff --git a/examples/matlab_octave/wave1D_convergence/convergence_vs_cells.png b/examples/matlab_octave/wave1D_convergence/convergence_vs_cells.png new file mode 100644 index 0000000000000000000000000000000000000000..22a63d51f4041c6a53e93b5a1972eca0dd08a323 GIT binary patch literal 31612 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 2, 'k >= 2'); + assert(mod(k, 2) == 0, 'k % 2 = 0'); + assert(m >= 2*k+1, ['m >= ' num2str(2*k+1) ' for k = ' num2str(k)]); + + % Dimensions of D: + n_rows = m+2; + n_cols = m+1; + + D = sparse(n_rows, n_cols); + + % Fill the middle of D ------------------------------------------------ + neighbors = zeros(1, k); % Bandwidth = k + neighbors(1) = 1/2 - k/2; + for i = 2 : k + neighbors(i) = neighbors(i-1)+1; + end + + % Create a k by k Vandermonde matrix based on the neighbors: + A = vander(neighbors)'; + + % First-order derivative + b = zeros(k, 1); + b(k-1) = 1; + + % Solve the linear system to get the coefficients + coeffs = A\b; + + j = 1; + for i = k/2+1 : n_rows - k/2 + D(i, j:j+k-1) = coeffs; + j = j + 1; + end + % --------------------------------------------------------------------- + + % Create A ------------------------------------------------------------ + p = k/2-1; + q = k+1; + A = sparse(p, q); + for i = 1 : p % For each row of A + neighbors = zeros(1, q); % k+1 points are used for the boundaries + neighbors(1) = 1/2 - i; % Shifting the stencil to the right + for j = 2 : q + neighbors(j) = neighbors(j-1)+1; + end + V = vander(neighbors)'; + b = zeros(q, 1); + b(q-1) = 1; + coeffs = V\b; + A(i, 1:q) = coeffs; + end + % --------------------------------------------------------------------- + + % Insert A into D (upper-left corner of D) + D(2:p+1, 1:q) = A; + + % Permutation matrices + Pp = fliplr(speye(p)); + Pq = fliplr(speye(q)); + % Construct A' (lower-right corner of D) + A = -Pp*A*Pq; + + % Insert A' into D + D(n_rows-p:n_rows-1, n_cols-q+1:n_cols) = A; + + % Scale D + D = 1/dx*D; +end diff --git a/examples/matlab_octave/wave1D_convergence/grad.m b/examples/matlab_octave/wave1D_convergence/grad.m new file mode 100644 index 00000000..9b69b29f --- /dev/null +++ b/examples/matlab_octave/wave1D_convergence/grad.m @@ -0,0 +1,43 @@ +function G = grad(k, m, dx, dc, nc) +% Returns a one-dimensional mimetic gradient operator depending on whether +% or not the operator will contain a periodic boundary condition type +% a0 U + b0 dU/dn = g, +% +% Parameters: +% k : Order of accuracy +% m : Number of cells +% dx : Step size +% (optional) dc : a0 (2x1 vector for left and right vertices, resp.) +% (optional) nc : b0 (2x1 vector for left and right vertices, resp.) +% +% ---------------------------------------------------------------------------- +% SPDX-License-Identifier: GPL-3.0-or-later +% © 2008-2024 San Diego State University Research Foundation (SDSURF). +% See LICENSE file or https://www.gnu.org/licenses/gpl-3.0.html for details. +% ---------------------------------------------------------------------------- +% + + if nargin ~= 3 && nargin ~= 5 + error('grad:InvalidNumArgs', 'grad expects 3 or 5 arguments'); + end + + % for legacy code + if nargin == 3 + G = gradNonPeriodic(k, m, dx); + return; + end + + % Assertions: + assert(k >= 2, 'k >= 2'); + assert(mod(k, 2) == 0, 'k % 2 = 0'); + assert(m >= 2*k, ['m >= ' num2str(2*k) ' for k = ' num2str(k)]); + + % periodic boundary condition case + q = find(dc.*dc + nc.*nc,1); + + if isempty(q) + G = gradPeriodic(k, m, dx); + else + G = gradNonPeriodic(k, m, dx); + end +end diff --git a/examples/matlab_octave/wave1D_convergence/lap.m b/examples/matlab_octave/wave1D_convergence/lap.m new file mode 100644 index 00000000..d9fc54bf --- /dev/null +++ b/examples/matlab_octave/wave1D_convergence/lap.m @@ -0,0 +1,13 @@ +function L = lap(k, m, dx) +% Returns a m+2 by m+2 one-dimensional mimetic laplacian operator +% +% Parameters: +% k : Order of accuracy +% m : Number of cells +% dx : Step size + + D = div(k, m, dx); + G = grad(k, m, dx); + + L = D*G; +end diff --git a/examples/matlab_octave/wave1D_convergence/run_convergence_test.m b/examples/matlab_octave/wave1D_convergence/run_convergence_test.m new file mode 100644 index 00000000..53591a3c --- /dev/null +++ b/examples/matlab_octave/wave1D_convergence/run_convergence_test.m @@ -0,0 +1,148 @@ +% ========================================================================= +% Example: 2nd Order Convergence for 1D Wave Equation (Hyperbolic) +% Language: MATLAB / Octave +% ========================================================================= +% +% Reference: +% Problem based on "Example 10.1" from: +% Mathews, J. H., & Fink, K. D. (2004). Numerical methods using MATLAB +% (4th ed.). Pearson Prentice Hall. +% +% Context: +% This example was presented during the postgraduate course "Introduction +% to Mimetic Difference Methods and Applications", taught by Prof. Jose +% Castillo in October 2023 at the Faculty of Exact Sciences, Engineering +% and Surveying (FCEIA) of the National University of Rosario (UNR), +% Argentina. +% +% Mathematical Formulation: +% d2u/dt2 = 4 * d2u/dx2 on Omega = [0, 1] x [0, 0.5] +% (Comparing with standard form u_tt = c^2 u_xx, this implies c = 2) +% +% Domain Description: +% - Spatial: x in [0, 1] +% - Temporal: t in [0, 0.5] +% - Grid: Staggered grid (Mimetic Discretization) +% +% Boundary Conditions (Dirichlet): +% u(0, t) = 0 +% u(1, t) = 0 +% +% Initial Conditions: +% u(x, 0) = sin(pi*x) + sin(2*pi*x) +% du/dt(x, 0) = 0 +% +% Analytical Solution (Exact): +% u(x, t) = sin(pi*x)cos(2*pi*t) + sin(2*pi*x)cos(4*pi*t) +% +% Implementation Details: +% - Spatial Scheme: Mimetic Finite Differences (Order k=2) vs Standard FD +% - Time Integration: Verlet Algorithm (Symplectic, 2nd order, Leapfrog equivalent) +% - Library: MOLE (MATLAB/Octave implementation) +% +% Output: +% - Console: Table of L2 errors and convergence rates. +% - Figure 1: Error vs Grid Spacing (dx) [Comparison] +% - Figure 2: Error vs Number of Cells (m) [Comparison] +% - Figure 3: Wave Profile Comparison (Coarse grid m=20 to visualize error) +% +% Author: Martin S. Armoa +% Programming Assistant: Google Gemini 3 PRO via VS Code +% ========================================================================= +clear; clc; close all; + +% --- 1. Path Configuration --- +current_file = mfilename('fullpath'); +[current_folder, ~, ~] = fileparts(current_file); +addpath(current_folder); +mole_lib_path = fullfile(current_folder, '..', '..', '..', 'matlab_octave'); +if exist(mole_lib_path, 'dir'), addpath(mole_lib_path); end + +fprintf('Running Comparative Convergence Test (Mimetic vs FD)\n'); +fprintf('--------------------------------------------------\n'); + +mesh_sizes = [20, 40, 80, 160, 320]; +n_sims = length(mesh_sizes); + +% Results Storage +results = struct('dx', zeros(n_sims,1), 'm', zeros(n_sims,1), ... + 'err_mim', zeros(n_sims,1), 'rate_mim', zeros(n_sims,1), ... + 'err_fd', zeros(n_sims,1), 'rate_fd', zeros(n_sims,1)); + + +u_plot_mim = []; u_plot_fd = []; x_plot = []; m_plot = 0; + +for i = 1:n_sims + m = mesh_sizes(i); + results.m(i) = m; + + % Run Solvers + [results.err_mim(i), dx, u_mim, x] = wave1d_solver(m); + [results.err_fd(i), ~ , u_fd, ~] = wave1d_solver_fd(m); + + results.dx(i) = dx; + + if i == 1 + u_plot_mim = u_mim; + u_plot_fd = u_fd; + x_plot = x; + m_plot = m; + end + + % Compute Rates + if i > 1 + log_dx = log(results.dx(i-1) / results.dx(i)); + results.rate_mim(i) = log(results.err_mim(i-1) / results.err_mim(i)) / log_dx; + results.rate_fd(i) = log(results.err_fd(i-1) / results.err_fd(i)) / log_dx; + end +end + +% --- 2. Display Table --- +fprintf('\n### Convergence Comparison: Mimetic vs Standard FD\n\n'); +fprintf('| Cells (m) | Mimetic Error | Rate | FD Error | Rate |\n'); +fprintf('| :--- | :--- | :--- | :--- | :--- |\n'); +for i = 1:n_sims + r_mim = '-'; r_fd = '-'; + if i > 1, r_mim = sprintf('%.2f', results.rate_mim(i)); r_fd = sprintf('%.2f', results.rate_fd(i)); end + fprintf('| %d | %.3e | %s | %.3e | %s |\n', mesh_sizes(i), results.err_mim(i), r_mim, results.err_fd(i), r_fd); +end + +% --- 3. Plotting --- +if ~exist('OCTAVE_VERSION', 'builtin') || ~isempty(getenv('DISPLAY')) + + % Fig 1 & 2: Convergence Rates + figure(1); loglog(results.dx, results.err_mim, '-o', results.dx, results.err_fd, '-x'); + hold on; loglog(results.dx, results.err_mim(end)*(results.dx/results.dx(end)).^2, '--k'); + grid on; xlabel('dx'); ylabel('L2 Error'); legend('Mimetic','FD','O(h^2)'); title('Convergence vs dx'); + print('convergence_vs_dx.png', '-dpng'); + + figure(2); loglog(results.m, results.err_mim, '-o', results.m, results.err_fd, '-x'); + hold on; loglog(results.m, results.err_mim(1)*(results.m/results.m(1)).^(-2), '--k'); + grid on; xlabel('Cells (m)'); ylabel('L2 Error'); legend('Mimetic','FD','O(m^{-2})'); title('Convergence vs Cells'); + print('convergence_vs_cells.png', '-dpng'); + + % fig 3: Wave Profile + figure(3); + set(gcf, 'color', 'w'); + + % Exact solution + c = 2; T_final = 0.5; + u_exact_plot = sin(pi*x_plot)*cos(pi*c*T_final) + sin(2*pi*x_plot)*cos(2*pi*c*T_final); + + % Plot + plot(x_plot, u_plot_mim, '-o', 'LineWidth', 1.5, 'MarkerSize', 4, 'DisplayName', ['Mimetic (m=' num2str(m_plot) ')']); + hold on; + plot(x_plot, u_plot_fd, '--x', 'LineWidth', 1.5, 'MarkerSize', 4, 'DisplayName', 'Finite Diff.'); + + x_fine = linspace(0, 1, 500); + u_exact_fine = sin(pi*x_fine)*cos(pi*c*T_final) + sin(2*pi*x_fine)*cos(2*pi*c*T_final); + plot(x_fine, u_exact_fine, 'k', 'LineWidth', 1, 'DisplayName', 'Exact Solution'); + + title(['Coarse Grid Comparison (High Error Visualization) - m = ' num2str(m_plot)]); + xlabel('x'); ylabel('u(x,T)'); + grid on; + legend('Location', 'best'); + + print('wave_profile_coarse.png', '-dpng'); + fprintf('\nGráficos generados. Revisa "wave_profile_coarse.png" para ver el error visible.\n'); +end diff --git a/examples/matlab_octave/wave1D_convergence/wave1d_solver.m b/examples/matlab_octave/wave1D_convergence/wave1d_solver.m new file mode 100644 index 00000000..6c3135ee --- /dev/null +++ b/examples/matlab_octave/wave1D_convergence/wave1d_solver.m @@ -0,0 +1,107 @@ +function [L2_error, dx, u_num_centers, x_centers] = wave1d_solver(m) +% WAVE1D_SOLVER Solves the 1D Wave Equation using Mimetic Finite Differences. +% +% formulation: d2u/dt2 = c^2 * div(grad(u)) +% scheme: Spatial: 2nd Order Mimetic Operators (MOLE library) +% Temporal: Velocity Verlet (Leapfrog) +% +% Input: +% m : Number of cells in the spatial grid. +% +% Outputs: +% L2_error : Discrete L2 norm error against exact solution. +% dx : Grid spacing. +% u_num_centers : Numerical solution vector (interior points). +% x_centers : Coordinate vector of cell centers. + + % ========================================================================= + % 1. Physical Parameters and Grid Configuration + % ========================================================================= + k = 2; % Spatial order of accuracy + a = 0; b = 1; % Domain boundaries [0, 1] + dx = (b-a)/m; % Grid spacing + c = 2; % Wave speed + T_final = 0.5; % Simulation duration + + % Time step setup (CFL condition for stability) + dt = dx / (4*c); + Nt = ceil(T_final/dt); + dt = T_final / Nt; + + % Coordinate system: Cell centers (staggered grid) + % Used for evaluating initial functions on the interior nodes. + x_centers = (a + dx/2 : dx : b - dx/2)'; % Column vector of size m + + % ========================================================================= + % 2. Mimetic Operators Setup + % ========================================================================= + % Initialize Mimetic Laplacian operator + % Size is (m+2) x (m+2) to accommodate boundary values (ghost points) + L = lap(k, m, dx); + + % Impose Boundary Conditions on the operator matrix (Dirichlet u=0) + % This ensures the operator behaves correctly at the edges. + L(1, :) = 0; L(1, 1) = 1; % Left boundary (Identity row) + L(end, :) = 0; L(end, end) = 1; % Right boundary (Identity row) + + % Define the Force Function (RHS) + % F = c^2 * Laplacian * u + F_op = @(u) (c^2) * (L * u); + + % ========================================================================= + % 3. Initial Conditions (Augmented Vector) + % ========================================================================= + % Initialize state vector 'u' with size m+2 (includes boundaries) + u = zeros(m+2, 1); + + % Populate interior nodes (indices 2 to m+1) + ICU = @(x) sin(pi*x) + sin(2*pi*x); + u(2:end-1) = ICU(x_centers); + + % Enforce Boundary Conditions (indices 1 and m+2) + u(1) = 0; + u(end) = 0; + + % Initialize velocity vector 'v' (du/dt = 0 initially) + v = zeros(m+2, 1); + + % ========================================================================= + % 4. Time Integration (Velocity Verlet / Leapfrog) + % ========================================================================= + + % Calculate initial acceleration + acc = F_op(u); + + % Enforce zero acceleration at boundaries to maintain strict Dirichlet BCs + acc(1) = 0; acc(end) = 0; + + for t = 1:Nt + % a) Half-step velocity update + v = v + 0.5 * dt * acc; + + % b) Full-step position update + u = u + dt * v; + + % c) Recalculate forces (acceleration) based on new position + acc = F_op(u); + + acc(1) = 0; acc(end) = 0; + + % d) Full-step velocity update + v = v + 0.5 * dt * acc; + end + + % ========================================================================= + % 5. Error Analysis + % ========================================================================= + % Analytical solution evaluated at cell centers + u_exact_centers = sin(pi*x_centers)*cos(pi*c*T_final) + ... + sin(2*pi*x_centers)*cos(2*pi*c*T_final); + + % Extract the interior of the numerical solution for comparison + u_num_centers = u(2:end-1); + + % Compute discrete L2 Error Norm + diff = u_num_centers - u_exact_centers; + L2_error = sqrt(sum(diff.^2) * dx); +end diff --git a/examples/matlab_octave/wave1D_convergence/wave1d_solver_fd.m b/examples/matlab_octave/wave1D_convergence/wave1d_solver_fd.m new file mode 100644 index 00000000..15946295 --- /dev/null +++ b/examples/matlab_octave/wave1D_convergence/wave1d_solver_fd.m @@ -0,0 +1,105 @@ +function [L2_error, dx, u_num_centers, x_centers] = wave1d_solver_fd(m) +% WAVE1D_SOLVER_FD Solves the 1D Wave Equation using Standard Finite Differences. +% +% formulation: d2u/dt2 = c^2 * d2u/dx2 +% scheme: Spatial: Standard Central Differences (3-point stencil) +% Temporal: Velocity Verlet (Leapfrog) +% context: Acts as a baseline to validate/compare Mimetic methods. +% +% Input: +% m : Number of cells in the spatial grid. +% +% Outputs: +% L2_error : Discrete L2 norm error against exact solution. +% dx : Grid spacing. +% u_num_centers : Numerical solution vector (interior points). +% x_centers : Coordinate vector of cell centers. + + % ========================================================================= + % 1. Physical Parameters and Grid Configuration + % ========================================================================= + a = 0; b = 1; % Domain boundaries + dx = (b-a)/m; % Grid spacing + c = 2; % Wave speed + T_final = 0.5; % Simulation duration + + % Time step setup + % We use exactly the same dt as the Mimetic solver to ensure a + % "fair comparison", isolating spatial discretization errors. + dt = dx / (4*c); + Nt = ceil(T_final/dt); + dt = T_final / Nt; + + % Coordinate system: Cell centers + x_centers = (a + dx/2 : dx : b - dx/2)'; + + % ========================================================================= + % 2. Standard Finite Difference Operator (Tridiagonal Matrix) + % ========================================================================= + % Stencil: 2nd order Central Difference approximation + % d2u/dx2 approx (u_{i+1} - 2u_i + u_{i-1}) / dx^2 + + n = m + 2; % Augmented size to include boundary points + e = ones(n, 1); + + % Construct sparse tridiagonal matrix with diagonals [1, -2, 1] + % -1: Lower diagonal + % 0: Main diagonal + % +1: Upper diagonal + L = spdiags([e -2*e e], -1:1, n, n); + L = L / dx^2; + + % Boundary Conditions (Explicit Dirichlet u=0) + % We zero out the first and last rows to prevent the stencil from + % evolving the boundary nodes. They remain fixed at 0. + L(1, :) = 0; L(1, 1) = 0; + L(end, :) = 0; L(end, end) = 0; + + % Define the Force Function (RHS) + F_op = @(u) (c^2) * (L * u); + + % ========================================================================= + % 3. Initial Conditions + % ========================================================================= + u = zeros(n, 1); + + % Initialize interior points + ICU = @(x) sin(pi*x) + sin(2*pi*x); + u(2:end-1) = ICU(x_centers); + + % Initialize velocity (du/dt = 0) + v = zeros(n, 1); + + % ========================================================================= + % 4. Time Integration (Velocity Verlet) + % ========================================================================= + acc = F_op(u); + + for t = 1:Nt + % a) Half-step velocity update + v = v + 0.5 * dt * acc; + + % b) Full-step position update + u = u + dt * v; + + % c) Recalculate acceleration + acc = F_op(u); + + % d) Full-step velocity update + v = v + 0.5 * dt * acc; + end + + % ========================================================================= + % 5. Error Analysis + % ========================================================================= + % Analytical solution evaluated at cell centers + u_exact_centers = sin(pi*x_centers)*cos(pi*c*T_final) + ... + sin(2*pi*x_centers)*cos(2*pi*c*T_final); + + % Extract interior numerical solution + u_num_centers = u(2:end-1); + + % Compute discrete L2 Error Norm + diff = u_num_centers - u_exact_centers; + L2_error = sqrt(sum(diff.^2) * dx); +end diff --git a/examples/matlab_octave/wave1D_convergence/wave_profile_coarse.png b/examples/matlab_octave/wave1D_convergence/wave_profile_coarse.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f80682568f3a0faec436095b7911a8b5150bcb GIT binary patch literal 46951 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%0D?a6O~dLur*?FAiLc|l@fNB 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 Date: Fri, 23 Jan 2026 11:12:07 -0300 Subject: [PATCH 2/3] Fix: Address review (Fixed dt, correct FD grid, rm local ops/imgs) --- examples/cpp/wave1D_convergence.cpp | 69 +++++----- .../wave1D_convergence/convergence_plot.png | Bin 44135 -> 0 bytes .../convergence_vs_cells.png | Bin 31612 -> 0 bytes .../wave1D_convergence/convergence_vs_dx.png | Bin 30382 -> 0 bytes .../matlab_octave/wave1D_convergence/div.m | 76 ----------- .../matlab_octave/wave1D_convergence/grad.m | 43 ------ .../matlab_octave/wave1D_convergence/lap.m | 13 -- .../wave1D_convergence/run_convergence_test.m | 122 +++++++++--------- .../wave1D_convergence/wave1d_solver.m | 6 +- .../wave1D_convergence/wave1d_solver_fd.m | 44 +++---- .../wave_profile_coarse.png | Bin 46951 -> 0 bytes .../wave_profile_comparison.png | Bin 30183 -> 0 bytes 12 files changed, 108 insertions(+), 265 deletions(-) delete mode 100644 examples/matlab_octave/wave1D_convergence/convergence_plot.png delete mode 100644 examples/matlab_octave/wave1D_convergence/convergence_vs_cells.png delete mode 100644 examples/matlab_octave/wave1D_convergence/convergence_vs_dx.png delete mode 100644 examples/matlab_octave/wave1D_convergence/div.m delete mode 100644 examples/matlab_octave/wave1D_convergence/grad.m delete mode 100644 examples/matlab_octave/wave1D_convergence/lap.m delete mode 100644 examples/matlab_octave/wave1D_convergence/wave_profile_coarse.png delete mode 100644 examples/matlab_octave/wave1D_convergence/wave_profile_comparison.png diff --git a/examples/cpp/wave1D_convergence.cpp b/examples/cpp/wave1D_convergence.cpp index e9c866dc..77735781 100644 --- a/examples/cpp/wave1D_convergence.cpp +++ b/examples/cpp/wave1D_convergence.cpp @@ -55,77 +55,62 @@ #include #include +// Use Armadillo namespace using namespace arma; using namespace std; -// --- Physical Parameters --- const double PI = 3.14159265358979323846; const double WAVE_SPEED_C = 2.0; const double T_FINAL = 0.5; -// --- Analytical Solution for Validation --- +// Analytical Solution double exact_sol(double x, double t) { return sin(PI*x)*cos(PI*WAVE_SPEED_C*t) + sin(2*PI*x)*cos(2*PI*WAVE_SPEED_C*t); } -// --- Simulation Runner --- -// Returns the discrete L2 error for a given number of cells (m) -double run_simulation(int m) { - int k = 2; // Spatial order of accuracy +// Simulation Runner (Accepts fixed dt) +double run_simulation(int m, double dt) { + int k = 2; // Spatial order double a = 0.0; // Left boundary double b = 1.0; // Right boundary double dx = (b - a) / m; - // Time step based on CFL condition for stability - // dt <= dx / c. We use dx / 4c for safety and precision. - double dt_approx = dx / (4.0 * WAVE_SPEED_C); - int Nt = (int)ceil(T_FINAL / dt_approx); - double dt = T_FINAL / Nt; + // Nt calculated from fixed dt + int Nt = (int)ceil(T_FINAL / dt); - // 1. Initialize Mimetic Laplacian Operator + // 1. Initialize Mimetic Operator Laplacian L(k, m, dx); - // 2. Initialize State Vectors (Size m+2 to include boundary ghost points) + // 2. State Vectors vec u(m + 2, fill::zeros); vec v(m + 2, fill::zeros); vec acc(m + 2, fill::zeros); - - // Coordinate auxiliary vector for error calculation - // Armadillo indices: 0 (Left BC), 1..m (Interior), m+1 (Right BC) vector x_centers(m + 2); - // Set Initial Conditions + // 3. Initial Conditions for (int i = 1; i <= m; i++) { double x = a + (i - 0.5) * dx; x_centers[i] = x; u(i) = exact_sol(x, 0.0); } - - // Enforce Boundary Conditions + // Dirichlet BC u(0) = 0.0; u(m+1) = 0.0; - // 3. Time Integration Loop (Velocity Verlet) - // Step 0: Initial acceleration + // 4. Time Integration (Velocity Verlet) + // Initial Acc acc = (WAVE_SPEED_C*WAVE_SPEED_C) * (L * u); - acc(0) = 0.0; acc(m+1) = 0.0; // Enforce Dirichlet on acceleration + acc(0) = 0.0; acc(m+1) = 0.0; // BC for (int t = 0; t < Nt; t++) { - // v(t+0.5) = v(t) + 0.5*dt*a(t) v = v + 0.5 * dt * acc; - - // u(t+1) = u(t) + dt*v(t+0.5) u = u + dt * v; - - // a(t+1) = Force(u(t+1)) acc = (WAVE_SPEED_C*WAVE_SPEED_C) * (L * u); - acc(0) = 0.0; acc(m+1) = 0.0; // Enforce Dirichlet - - // v(t+1) = v(t+0.5) + 0.5*dt*a(t+1) + acc(0) = 0.0; acc(m+1) = 0.0; // BC v = v + 0.5 * dt * acc; } - // 4. Compute L2 Error + // 5. L2 Error double sum_sq_error = 0.0; for (int i = 1; i <= m; i++) { double diff = u(i) - exact_sol(x_centers[i], T_FINAL); @@ -137,23 +122,31 @@ double run_simulation(int m) { int main() { vector mesh_sizes = {20, 40, 80, 160, 320}; - vector errors; - vector dx_vals; - cout << "===========================================" << endl; - cout << " MOLE Example: 1D Wave Equation Convergence" << endl; - cout << "===========================================" << endl; + // --- CALC FIXED DT --- + // Match MATLAB logic: based on finest mesh (m=320) + int m_finest = 320; + double dx_min = 1.0 / m_finest; + // CFL Safety factor 0.25 + double dt_fixed = 0.25 * dx_min / WAVE_SPEED_C; + + cout << "Running C++ Convergence Test (Fixed dt)" << endl; // Changed title to verify update + cout << "---------------------------------------" << endl; + cout << "Configuration: Fixed dt = " << scientific << dt_fixed << endl << endl; - cout << endl << "### Convergence Rate Table - MIMETIC Scheme" << endl; + cout << "### Convergence Rate Table (C++)" << endl; cout << "| Cells (m) | dx | L2 Error | Rate (p) |" << endl; cout << "| :--- | :--- | :--- | :--- |" << endl; + vector errors; + vector dx_vals; + for (size_t i = 0; i < mesh_sizes.size(); i++) { int m = mesh_sizes[i]; double dx = 1.0 / m; try { - double error = run_simulation(m); + double error = run_simulation(m, dt_fixed); errors.push_back(error); dx_vals.push_back(dx); diff --git a/examples/matlab_octave/wave1D_convergence/convergence_plot.png b/examples/matlab_octave/wave1D_convergence/convergence_plot.png deleted file mode 100644 index ab3aced455e75225a8498b762a449b07704df654..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44135 zcma&O1yq!8yEi(hC?V1!Eh2~@-5nwzA<_*Z-QA^tV$fX*g3_UMBcXJ6cXv0OYyR)M z_q+G^owL@N$y#_z5rY@68m} zUlu7T3Uzp_8LTLzpJ;|Leeb8x-Bo^xb7S+U>9Rm$Yr2g8(AwIjHtCW4SAA=j!)l`# za+9eqQBpq?k?)FlNqBt}1^LYzmgG4!Ky;xJ=dd6of2BXe;z_YLiF_J6BSNd)khQ? z_fTB@u2YDVb=%!Ye!|IFY|`~LU$^?TMPOi{w2VyLuHP-}_gJLPr~50axtcw}1pV`~ zv#+hKne_AujpataDZGI{?zYV)c~fB4m-dUOrzcfXuflPqBY~TjmzR{=x~Qat)}P?+ zUGL+WfTD&Q2Ub%xf`t!EIupNAu}RkClnaqxF%(y}iBiHd}|PufjeQ zWMtztULF<}YlFF3SKAHP@OMUcN%@_h6sp6mm1SQYj@igozkBy*Z74skb$oohCF0T9 z@v*v=7Po2ltL5%*j~_pdvMMSna-6JkE4CQ=%56hYDdO&aI$h^y(VsE1xhZ7a9-Ek$ zs8MLln%(||KV~dadQ5Q}RU?E__^W`MeGHS1rIpph#Kf)J_i!jFnXhCr?JKL4e)eUJ zCuLEf6LQrnUcPdLiG}H{blzB9Tr@T^8c2EeIYjvKcz2=gQ*GwxEdjk+f`j^-Z?2?J z-h8Ec`kuuk#n11lsOa1CYu9hxv4r`9`!g^w7-@A_>f|)-7P)lHQ%djLnQI#PBlh%Z z-04?A4=%G_apRffT_`rGut3i_d=;kSVa(z-qK&D#cu}I1v#H% z=v1EggOih`Bsbw{6~S%#Yz2Nx#H(*}Xd?I?ypbz4bT8G_mp3;%bBv6Q2lMr6-(J6^ zsjkk#$!RfYn18hXEcE$YnM9u&@U%vyk-lDIM%4Yin!SppPFvhJ;|B zrOK*F3|KwB^ku^u9T~wQ=ZoY|DX|*kiYm!24^BOQp|l-FBI)Z%%@!$eZ}?_MN5_=U z)y4A&TBr5luuN7qwhFgB+K^jSS-1RrgHuQKuOl#Fg_}!DOAlusV+)@r&uh-i%(T;U zadBBTEw@H7tV>O{$FavrTi2QoWU0t5zz~h(5%RaPx$m2%8Q1%x%XWO>cZnrYQtFFg z)|39xJ5p%E&iVH3TT7N~)!f(gunZV#d(z|*BqSvtJ$f`%?jT7Y#iUo0m|0p}Ecg6* znDh@LBcr*$K@nT68NV3+=!IJS)U9@x|0)ocxjtE4DLtlAJf|K9YeJ>GkHGW$WZ3<_ z4+2Ja-ZSY`uyA7Deez0ey)QkaeakoIy6%9VsA!Wy^-q*H|J>DAA+J_lNtkLinxWTQ z#VvvNE?~pSdVRjj7)x?kKT_r9uo=D{We?>;7R$r00Nz)&1J+U;iI0y@8eB7%Y)2Ti zbU0i$9~@y?eJ#Zg@zVS&>U$`)aJj zYJvY2Hl>i^<|pU%;a^2X$|oC}Q?}8Cb3VME zp!>cQeUy;<{xVGeP@ay*@wWau#%!10+3qZK%RE^`TnO8lnR^KHSQ9B?7$XJy-2Q&$ zwC;R8VQa6c8m~ApO-)TVH{K)aI1Zj$w{E5VW?EcYY8p>&Z*7Gwd6#N_tM;OWVJgT4P%NC@(K>CsHubQt__a-*-&=9n6a> zWDdL|(|F^Nx zzdF15%k8+eg|?V3s1%3m#CvoW-rkpOG0brx+B!PrGJ{zvpC4DjV&>+KISUhips-C% z)i^wS3q z$yN5PudmZvC?4=rY>pIm#0fF=E{2De+P9yI~=^s#o zF^QO9Y7LGyCm7ZUvRr=e9m^;%TOy{#nsDFHQc_Z;;Sdo$685@H_1$jnZ}2}4m{A)4 zVR(#=vQY|p9*0&wJWKuf5&ewi?XIt{Z*2WcLqNVx<>B#;K|Qf&!LMKX0iU6kb?tw; zO(~Q(mMpu~F*+Jg{wkupx6RSIe>nQ};NajoH8l)Twk7LiY4*(%Aul7!OqYjrrb#k8 zbs}i2TwIqc=}A!b3*gOREf*a4hekY-fA8Ywr61((YBv~SdJm7Q1!h=`UJk&nAXL{QP#CXf%cI|KuM-BhdhYxoT3A^4#N9glQ{V5`FIE>F z1_lOaChN^2wt*4VcY3y4lhu}r_lE$BsaynmcFaj#elgUl4mLOlxq(VRc^eR4=K4)L z*ho`VZVg)~`IB|`^^n&j@@d5t;V252skgT`B_#za^UV6XrMda)!U7=<4h|t903F7| z;D^}&Vbt=p_jl9G~O6{V)8=I3uE@;c<{R>Op=6*o)^y|8%oip6#NRUGR1#Raoo zjezxd8Jza&>gxUZdOiS+n?fi7xdw&H>jaW=Z|2utlCT+mNJ!Ai)hvF0n>ai&Qh7#e zI;)nE7~p7)`@yO|I{s*>jg67f0>D1g?qvK&FP>4Z9N_v8v0wPM4MOz+qK5~@xX0T1R53IO6_BS{mP!FE9qLL z)-?V(8ik9WnQM~C0k11#PzNKDX_9;{%i*LbEj?1x^ZKKTypZLdRN3-ppYIkK+(00n z^~YtRAVjbLx4^(X@Yk+z%zW{MPgGQtS+^=y$ct}J+p5sG14c!XUjm55jnXU>5t&b) zKAj$Jc&zq6J_#}J&j^c+{eTO^gFFCMg{eHyjXa&o63dbBu&|x&nWx4SH8oymFXGtV zePOzVKsX{R*gxb%fb2T*oBv-d2A(JKc$o)Dgx)AZ`9S{RkN=wnr78kG8ZEKXQdSn{ z$3Z^HJka#keT00HP|&AOaQB28BFLYbiZ%VhfZd{7Zcnp8hy2NM1n{g;Rx}Z5>DKL; z2407{CAPR;|u*a-|FcKHjt2b9}_bK#~s5t2Q4iv9bNO-Sfxx16Rdvk%X8ih zS0qQfAtKBl4B#SrJvAdEqr1DC-(|DNW@@sv)f`qX%nI*WnWLv?)le-gR#P8r*6z#IIvdG9tD33dMFc?G|g2*?HkBX0%=D&flpEWlOyC^L*HkR%xQ<+{)Uf#tP z`IsK`aCgTOD<~{HS>?g|MImdxx4VlsNRdkV^KMD!8Lg|?%MFQsb%g(5>s2_8*k3$3lP>Dn%{nFZ~a48GF0Gcz;eCkL5p&r|$Z zv%L~CcFyp|Ss$0NZ8gQFwQ2HfEnjxbT*NNX7#D}&A9(AvHn!_deKdW3&;zAHKu{2t zNMo+&*R8ia4mwh(WhOG~Ga`-WZ{tRHlny1|Ti!kGt=PN}*Wj zuT|Oj#@rmR77rpsb&2w^6M7AWGWo zNauuzgoFeiztH1o6QqF_&mye)pyo$YWWNlUi1Y@#`Xfj8}UMO-y`oCO{+$rc@7pUQ^|yGHj1!#l^*? zprF{<*>Q7oOO*&3t#D!psg`)Ddzv0J;xRZsp-WBm{V;K(=sHxEH!jO2O?Gv@sIWkG z8-i~8_*}vJe-ZY%gfr~hw{PtN!RKPZ21Z6*!(^Mmug`+ns{azDM#m4@e4}Pf4Psj2*NE~-@IVoU?_qaO9iMJm{=;Fb(!B)muxlCvAU$!PiINN&3~c{C{FS4vj) zv}$qI@>g+R%zGx)&Z^30j6J$*J$Ca+rr5Mm%7ZTb7rNAM1VGPelqecr*VtoK}^c(Czkv~xD5Zg(+^}c6&!Vmpp2d!rLoN}LUNEA^+;e2zIJePrMIl2xj zzMfXrHsaAs)x<@0&#lFY$AV~7(YYRzYkVaR^1?bF;us@*revSd+_XlJj1Gcs^EZSt z--6ZQDt~1vW^_zU1HUOYmQoy%d$JIt_W{p`K_Y}gj$g4gbgo&rXHk$&-Y)-_SV;|K zxo3Hz^E86+X>h8(C93pY5v@6QVA!yMg?*n1o^nVqA+>nfd`J@a zgd?uTpl;>**I&F?-sQ$URWk2#7xI$a_`4ac%9^tGe9TWi+b;PH2>s7de=wo<>)tDD zzdQB%nYZV8cIAuQuv_UW!V(2-&@w%1B%Gxb(_UM6+E#-MIp)9NgaSwlb$_lw02mr^PK!mcks%Xq&F##Id*5yDoWh6A2YpuHiVl zd<$CvZMAehdz!{?OUpHm(vBYa$8xVM!z6`OV{UAL+?Z@*o2^N`oo9}^@R_-lur^?n zol8=bKicY?L?Yeo?_$*|`>*;hdX9URe_glW<*`#~SL=_S!CuYQyV=cAm96=_Or=A( z=Z;=>ZhSt6R|)^_$fgu3=J1)k?J0+>%eBFa+_~IhSGD4_nIFHCm0}HU2mD~`{?|HN zwI7o6apTaeyY?dK{m7YoGCA!sl_MD^hL5snU+7$hzz%$BS+@^SyW*dJHh)IF%+{kE4Vq;Tm@4f(ROjr&z;$fhE;x=Ts0 z8`+Nf`?QrKiaXfYF;WjDBqV@WXKq)@JjDAbUf^}+oR$U!V{&pbJ~)d{3#v#^dioM@ z;DKZ3oaJRxVPRpAH9-9UdL4X^^#Kjdk9wV$$jI-mQ>xA5i08-yVol`)bSF3Unr2QWPi+!jEdTrsC22nF;cY(Ou4!L9uz(j zl3j}5?=Xq(GHI8+s`CYUq2j=>x739!&xia`SI+*SP_KcxA&bw87cYRkBZ=ogw%XCg z7!iQ`yLY)97G+hgpDm|`m=EPKDw!D?ilf=t+mo;xw|{>gK_4j2ns_W7c5O<47YNp{ zd!$o(Vu8K;>Pt1$D?v@}r$n>j8gvWo?Xs(^%XTAueM+sAYzHYJJ#0|nod z1kCbED63!&fQz=Os_GY(<5eE-qX`$N+bU;c7oZCJhdx$HQ$8jq<+3!jvicGc(O^{- zPcE6M%;&m2jY};-cSSzH^HS2CEoTaq=mai!1})-U{9>%1gn+IC!0Tohf0QsqST zYQvJ8H(1K4mxCTTy~)#gMI60qi+7zlQE%RihDjbP4bdVdCABax=&L;9XBXaI9r#?0 zxjr+)>b5%{8j1t61~NPh9g<}N2?vC2-uwMyP>>wRkw7%+@;u;t1+BI}S8Hfwq}=D~ z5~M+HC1Kz+qJB4V#oQ0qS7v6Y3JJxUf5^lDL($RJ2FZsQ2gi1yHLA6y8A?1J0m1jf z($610{46ZQ#LRxhrh|_k0lR^SfFMVwGP+5y%by4zU+Lw`Eo%6fyOs>tpx4wAfn|;>cvSO1RZvh+K)t8*KK}OhZ5_}EptnTi z>YRn@!LbJ-vyO|H0ts zE?ISUFa0Lw3pEFnJo=<8^xL-+feM4B1Cl=)6_5`(85xi?;%19MwRAe!UHBVBiZ2F+ zNt%4pCEO@f0az*cVtLx-_N)DwfV-f0<=32Mfk^!P`SbScf8ZHg1KC4>M?sW|=eGG8 z74-~lrTg1c(7MVuVxpqtz6z8Br~(8Ji0_gAjT<-imwOCgjR0d$m1SuPCa3lXUZPuV z6B8YM2oBL=rE+s`Zvp%bx6P#T$`KODpR|IM|ArjJ$;HLR(NVy8Jyx1r^5sn!5<(V> z;ZcJF4YB5IhX6{Zr2C9s422>s7ezUl-u^hB@9OCI4UuY&^xPpvIKFuKvU`7}52{wv z?Y51P!X|hdy;|>etOX3G zv(q;{2lt(m$5K@yit+L6$%=obFi}RFiazuho|vfCsdQ##Wo-`un(lWKOVKka9%pv> zc&e&U)<>b{J&rwy4Pwn7aH-22h~c#H#Yrh^a6CJ-5|aW=yDZA!Zy>CPNIf2I?xDIm z(G8oWl@&8f%be)}Pp}c->e;+%=)EouhT7&m4@XSKjeuwGEcZ}H#S^yZYslS$YrYYt z`g+KxNaw1@KQx{H?$X8uoSf%#tS3zdXjFInYMse=wH(6kHz{B;V9dr6aOfUxizjJP za=0jZpExTlF?){H@L^_9(b1V6u8+V;+S1lm>3zYs_mYKKR#q16pK`r&4Nokd%PQ;D zpYU+J-L0Ge6*hKugJ`v_F{p3A=8%dnP^^-Yl3m90gCRYTc6Rl?odOAe^5luKChDUa zz!o=N2F-nl3#K;46Qj7`pt%~hK0)0*yofB_dL;H?Z}^?_b&0-UA`zSNk=TlnSg0gp zqk{w5A}XLlz!5fFYBSZBE)V_)xM084+CbQQ;13?#(b`Z*ZWSoDa1=6l;Juq!S!sDP zlB>mCVh_qU*i*vi+kWl!u;V;0&jIz9zZFF-rHeXouB)qq(T@}M@djB-diJ-Pyfp`Y~PnM!2fY6rzv4^ z{ElO#U`}UtVSwX9<4A?Org6*|wBrf_8X=tAz5MMoQ(m~fk=)bD+k zrifTS_%ik8o&TYDxVuzQgl|?5KXdJU<$Ja})mm{89(1uX0&|}apOs$WHg3*(;a72F zI8&SFWUSK1BD7WLH}v1u@Ph68<-`ugww>X?`)q?d?R{K)!j}h?aDTa4rN*tBo12uL z+bClM>>Hg>$wuN)G4JAtQ3$#}jFQGC=QDi$S`lsy++Ac*f{KUt(GbL~_HY0M5BzVS zqOy)HSQ~-*2e=N4lnZLwA_!V=s+k!X!M)I4>FnU8T8)?Wba(%R!wlB$Q}~+&ZhadY zFyfXP8ymrK$iCPBd;`7>7&C`$%(V|`Xb1@ic=-8iuP)DETrK+2g3fp0=!!x5hni)! z-+WQ;L7g(9kP?QfU0CPK2}m(oag$Y=I~?N zf2oL;3T1uZ>asNnH9wvF-DEwbN(Ib$DV#p5a3N`FSw@kH{csroN8SYlFqBvQi`i-a zLU8;^8wzMYyGxaykl+CdcUHxNJ2FPos+?Ei{GM3S;WdnIWuEofdy)iClpJ>DxhCGTR7S*9S zH8_+^8*08Z)vSG1{o~W#6&uPak9)i`9bej_7+;wxr9QbLE`7hj-?~piBk?!L*%&wZ2Dv2i zCA&Es$)WU=R<*PeL+17BGaBH3SHq0_u0}&9fJ6WG7znObf#SYqc&b+Z z$qkXxz^-aNJ=vFe`ix$pAOqZ9*Y6hPc@p&&1OnHK&mIIR+8S|gf*G5QN=9*BNtwPp}QrD^I(36Wij`?ypNXHnFR{s&C7r8Yx8~N;58<%omj@gY6<5xHZRGK z-+s+)6Sqfjyh!p=(@1dhP-PQr9zS3&K12vvSxMF{8^87GR&l%Se|!D?k`saa|*Xx953VC8CQ&UYwtk`KbxM~h|pa$#@E(6a)j zIzfff2?E|ZFb-hB7FITN=x{hIyQ1qrq-qgl`QsD12g4j*cL-drC<)_x_L>X$8g7X=Bt0P%zYA19Kp* zaJmW`wGxc-zrUsDbKwNXYNXyYTs53!b&VhKD*Jdq`O5(T7(PBt`Y2?bDl$01e&K2KUpw6Tx2M%aS(?Yj zwmOJP@3pKoTqu-h*mjk~6a$HQgHQcuDWX^ScPA|#`m>N%!f?0rGiwygLnZ_a3ja{> zhOtRFKH&5M3&Y07Hhv411QaYlBz!zPj_bpAkRV#G0C{u@N<4@o;F|^o211DB0A}qj z0l`nqL>{{ouu$&YxdVh6&=Q#HGu9QY(ZKk-L8b+^@VJkJ8MKojprZgoqNAgCC(GPz zXBn=8Vbs|9yZ0}rYc&Ivf9SXqyDr59ZEfJbRZFVMlz`>|R$XLhGW*v}?RcU}v1%uy z)8JK3MU4=4z@?Bi0g-`%-+4Wh>M4Z5UK<-rpxFUqb9Oe4M!$3CaC;jK6H}|g(F}+T zI@Ofdk&dftS$@9Ft5>hUg#x+=Q8yz4gSoA(uAE&673Bi#I6vM2&LHHt+zm&-WQ|v) ze#1?%W*`FrSfr{T4a4z9dhedNq$DMe?VF(V*66~*!n1=l6AO#6bonHDtvLk%aS`F+ zU}KEru`dh3!kiXn!jCSKRTo2ZI~@zJ5@Z0qt0iAw-W!YBpXc_Mbso=~8=)wUFTkt; zFe?OW955?T{n7UJ_NJzEIA($JW~gmlVJC6gObReCe8%bh_A~&D8+m*H?Niq&E&0zo}`)+qa@oxhfg3Ty{Ah$*b<9^g{v=M+^XdkKKPGqX)}m zk~G|PLy@5Ze*?)Ry;6=mT){~OqY^Si!Jj^@_N8}$dIfKwQ|o<%`!o?J z+(&@crGvw4MeAe%is->Yk`_AE;Fk*>S|;|NKYPU6L92aKwXWY5J%J_LKA^s{68sDp zNlT2|PyxsUj9TDNf>1Dj1O*IYeGT>XFc|%%HhL%TARhs1-wR3xsEeT1z>VtAo^!C9$fr*{ZUxB` z(wdK{M2A37G@LAo$g*e=z?x$*#H;OUs&YRthj;NhJ0usrtW|ymdJRPGJUq_8hC|lv zUGgTtejp1qHZ{RIs)2tXj{x4c?n}dRA*NMOq+pMvV|Q@Je4A5$2eZZmr2+hEh~0q5l)!569%Q|ZWQ1vbWaxcu!b9BbL{e=U*uj#)WG$VY zi_T=k5Q*`}!NkNoDF$ztkdm_Y^`B2I5mz2_RpB9|+?KQRG!)}(>i!HaF{RZ``6fHfL#prR zPTrfNW~e52TA3SU(VwG*-AgF*#MSSkercgc#v9D{p|vuLFy!$r&*nWy9l$8VjzA_; zA>88RstjG*=kLrM$w?H67LS}Ll#mX?+N zOeF|PkwEgrw*!c`q`3HPQm*!~v9ktjVGb^?NhrJ^E5*vISZUZOo$Ak@ zKfti~y-ppUKW|wb$aY#SW<^SUxRTH8?d_rb{ar+ZV*t{Rz}tI*F-0Uk@`nU0YvIjEyaWvl?;>@cx@{Rw6Tg zM0@|DIFMk1U8M>b1>gXj4EdVH5VC=k>^U4uAc3@Yb*UK_*+7y49UYxfvuGGLkfEU= zoQ{r;9D89Tj0~o7RzPKdC?kVxYB}m*QBemFVxtuHK8KXUv{8T`*Yil?o3|u@6G=%) zftx-n`MavB3KG6%w=k0#2xQS)@J=H`p}amjEL@xp$&!Y<1|3D;+&s%KcjXCZFl!G* z^eOLbY*^UL!U9r(!w`n_COQVj?&0BP?~gW^pd?`*T_ZmjAD~XKS^k#U%{iLPBC4s% zity%nvKsA<1JjiZvW00L+LIliAO2h{D=*&}?wTv*BoAm%B!*YNM?p~oln&IX!u$zC zPeH}?ZuSqR^Ox;ZyH>%2LxF>?)M zPS7=7?Cd~aHqyOUVLMX~bX`JRoCVwYU}NkE0tM~$u-*MbA+iUYdbF#{29_+G^+mN0 z-U$7U429tP4>fX0AD=6Tb3Imn1>z!%hfU*kj+KRl1zhZs65|+V zM#hW91RJ5tV*}@VcnH_;-yT!R>`@T&_J6-vKp^%*b)Eia(jbpTX$C@IH*ek?e=Y|C zG4Oeas>OtdKe)nkF+TLCm5T>O;C-%Te+Dl5$Lwpmy1HzfP@%q6dpN2|OMhy&xa~+b z@uv8v(E-t-?_Z4_(zH?let^9qZ*b^Cg^5{rt6!!(%;|VfFi^02XC0>Rl zoiBE^**YZa#u?1lQR>M5I_kT;&9ifHQL|NV)f-%p{2(rt&lmiO@a|o39qgu>TYeT7 z)A%d%@Xy7_eZ)%%R_3;Sqt5 zi~YJ3`H>pxr-uXgd+i_ebj8si5FFy-J{+GveQK@^sj`KIiYumDz4FuGIwP{P5HQ$eps-Npd?nkIN*{H| zg4`LbP4|H4e=u$Afw;@ypsKeatFUkqPQ8!`*65=gUFw53PTM*Iqh_IFACT;qwK+aQ zRXQ+`Fh9dQUjg3(VfbGjF|HFCIu*p+A;V+f{wW7MvqkFB9+Wq&mhLw=N8=WV6O=3t zxv0;wx@IddvG3>OB1EiaPp_{oEvc!hI`7UuFOi^+q7e2T2cR%kx!N)l89*i(sW51N zvP-&mO3H-vKy@5{_WxqaY^>%*`G@a%e9zGn5j2jBV!m!lVow(JFojG~OzOppUtfdS8Keh@!{i#U`JI#~U2~ z-jHp&0?tNXKL-f#luY;SdaM}z7-r-ToiYpow97t4DR5H;|(9zJAp*(@D2IUiu z7RUm~^K&TRtLBHf|Au4xeK;~@w0GSiiBeq#?U&`;lECIIgC)NB;p_LWd)!k8m_p8G z*!(Y7!UKvdK-)nGOhbdjXvht4pBtUB<8jzP$^7sE4I4WI&I_pG3aJuS6BR1n_L2x3 zra0YHlXkDCYgu|6S74&IGxJa0acny;=v(`YUQ~PIjrw?%8#{QD0s`YLEtybKle|yO zw6)1Ll9Lso0wax85F?cjGiz&oqVl~_5O2e`IPpG;`sw9O5KmO)OxL%~-ulf^`5j)AkQ^qwW!6$nwa~g8cmh3*uP9)ef?AQiMps$6jLZb`BNPl0JnGewO^H)NDnOiVz4B;;ma zzkY4n#IObl;JKy{VcY395fMu8WALZFz~%uG4sj&N!FD9__H}oMR-VH_3x%@~w!OLa z5s)KDsUhtIm`Op~X%Vqzh>z##)z+AFQ80R1z`3nY9xWjDFKG?o*oYJ$3O%QYC&q^} zOFZ+#*8YSshH!V%Vq6K3XpZoP=owBdctI1zd-T(gEXY)Xvf7m-%&e53fHZ(dfv|r6 z{vGZKNHYkn{+YGlTOv_sB5$GP$Upr^Z2&sTz)J+%4M3cV*;Bxm@oYvIRNo=534+TK zoVXVk7hrp;gd^F>qftL}kt+gS;S1M>_3*P& zLT2M(6InlW%t#A7W!h!otol_RYrq4AT|x=qpDQazwo5`w3b>+e9Ub7Y1Aa83Z)j+M zk@31Xbvk(mOdWhA=>P*wP}%{47a9p6lc?q8Cx;tjoELw3?35|&kvggoTMw2xrq@j)}<<7^t9IOpOzEec|V}o&F8rvZA~ki;QO*^5W}~ z{}va3DFUuV5>PP5*|zkkz!T0>GT)a(Ra8GIl} zOS@biKulmU70l+?*n6ASJ#=Kzz{M1(w`~KZjf_{HOngjlW#bzvfH`*Eh>Yp>LAvXLTbWs#E<75m(7RWMCW?* zUF$A=x&1;bom3S7}(~ zb;boU9(Ji9_2bhk6a+>m-F*X^SWT?K&qAL(^H{BsF+(H;Wa8F*TzTK-pM zdPYdNLUOpY)J0#PYHuZh+lCLQ7)S^(lh7ClG8M$ifj_b&A?p^%HqeB^%*14@1=$~F z1_rQy07yem1?U5~l`D`S;4tr(5_*^>$pcy*s$M!&I*_W2S^@e#@}FN=u&a&y_^}1* zV;m(Ye9~xUun3<&M_1|te_Kq-+q-6$zq_Z0m4`>Yua*`Hj3{OF0PrLPf>XnVblkR$ z5rQCdnOg1DqbgOQMFK7tvWpUja~%$50k`=Y`})}L-+%L%l!T}>uNJbUo#jlgUC=K*OLkQ)B<^n{)C_w?AcMm`3U4_LXeIcT|0q2G?+DLXqmU~Ob> z+->hYPB<7#0E30crO?2$X@|_boq__cQfF%`RR7}A(j_K1Sp&duV_$$_!WDauO=)du z+1`JAa)K*{fr%M4B?IaTVD{9DN?(Wo{v*!c;0;zL`5r!(@$jQoDjz1c>)%C=(~Z2` zsqNOg9=Nq1S41bTE>pt;;s&N3)zg#}>f#SK1rV=ua08!v;2#Knwueb#d4mVobwx!S zVp1RhmaQQp-#GQ2;%Ga&yR$;E5I}+8OSbUUc?3>@LDL;z+d#fB=AhF>b^EuZf`S4- z3cwSwlnxFK`%ip51nDMKqVm5tVCzIt+MMMzwYo*Ak2|iB zj}AE`!a??k=_gtxIS_znqvV8T!^#?l^B}^o#gT8S=HiO%fbIDwP!vi_N`ixeu+Y$; zZ%7gr47j=Tr52W!>mbE}TMqLzIy&0QybS;feA_|=h_^;XMw+@a!~f7DVCv3r8!F82 z57dY^62rGV>jY$xzz{$YA(PVSx_)PPSFC<>)rD~19b!i@5FOE|U@c$pK+0op_75f? znZ-U(2<_FNmcSWP@Q5q6asb*?VMEBu%ja(kaZ>Z}@GvvmT%KcG*6l&1hqWdn1D4=< zcxEQF0YESWGT)pP+#saG7|R7&UsHwyP+~gMJW@d-j#1CsVDr~$4md_ltMho+Hi{q9 zdobfD<_FxUTR&quJ@VF}`z-zcWmXse{AmhqBlI4nrldflY^P^@OiU@jNe~0vJk;DB zQBhH=fwjZsaBy;xb6KhzefEM7gHDCx$4{T)Sq*OTdp}15Z3zTU7wFG`69NwY4rS;v z{a#fC@~4bLWeO}SKo+obG>139zIM$bkw+R>@|u~9j~{<@MiayMUxyhu)i4KH*0VeL zQz|<=hcAb6h_8R{WmfSSTDc!}_%rz`gWffZkA)>viyf37NlD2x&*g3^kk|k^zkt&m z!he8FKv+Ve7omwllMv_(s;oQ%((zPGY;`c#0`f{A-j*yt7)Hd{p}laxA15xT)dLi} zWKlmfDhL|fMngOPKfUP1=T;KBx?dr^1UR5f?^ERplzCh+=yz=%e4_sI4bCpqVVa{! z*d|ZWcs&kt(tPCFS!usE6!5Xk{%5Zeh(pFSQ3%Vx+OSeKF!Y|vdE@Vd{m)0nx8Wp; zzWil!xuY%@@Ldj$>*5^9i$P`@M3oQ0!IKqE*#QAf$mYnfde9D$Qa*$xAa^uU;RJ@U z97x$h$J5tQu|Ni5oe)Jm$|MGc1B(sRPOIMU&lMGWk;R3LZ4zic_}XA~+b5O(DlG-T z#vb92Nd-r+gR`^hf!BNU2FTG?*@yb1cwynbG2PkCTTRhgqO?g=@jQAz`-kkN&jycu ziM`w^`nkfwpEoGiJClU3phJX{!YZ%bruO1+Kur&t?Yf~+5}&oyYRnm0#326=KgsL5 zkh}}Sfk?)0CoRn<+KB;E)KAYw-Nmi8;16U;8o!GzJ|WhLPyb;iEwa1`D+;CsX|Fdy zu>0YETg>qvPC$KvWD{}}oSkv$(8(e7X8U+Mwkb^7uRv{XxNpz%RRHo#32YHBN4o*?j-8$P5;Kt>h0siz8@mPE@9 z{^1ppH1XUUvh+Ky4$D`1Hf8#QD}B$;8*Nt~3U9!(Nk}-&_m6kxpgjuf0D@DX+fA23 z=n6ukU?qNWb`QD@?D=6JG7)`+fr7)x7|5e4qWQH_|FBKClwP+rB`##|m{QiPV-Nz+a|7!P^h~ zKvcVjj4NLeUc0a9C_%=c=z7vP7gQ)sVN9>vzLUCg=dIEQZJ#jyO~{2aoGT}6OA>Nm zQ3u0NK{dYoX*w|Br4kP7=fdeqy?9G&@VBv+-#0uxNH!qN%tRR9- z42MX<4ub>r*okuZb8zunCzRftCh(tOrdBR>7%@EP~DPdig9Y z#ToW)jQb=9me_vYzyFghN2L7V=M9#2kMLgE`8#3*)v5eDQy}Loa-d*b(yNKXA;m8l z%W0|OVkZDPbH`c}sWJH7nU>FK*Lte#ZY|kiLYlk>L%qFk5oMX+KQmMp#M2tlWswv5 zHuK$H**mUkq3`6(2qS2Lphm*n#d}e$<5z290xHoXl$njcu|%GZjY0$7oxeGUb}4_i zWNe!ZIoqTUVKFTHc^Be+8SVDqY`5Od+$QG8K(^0_G10~GYH{1UeGjj2wCSUJEwj<< zzX=8`vyk_{WVj(xbVG1feTKcCu=AEK@hW!#N|8KtDS)w#_@HLQzSS%Yz4HxbQJjj7 zYubZFLP%jllB->Q{Mi{l%A1?utV86#x3?6-crt8-UucZ5u6<>WYfjA|eUy-^xjO8^ z)q!qf>lWhtDMZHc$NM$@*{|@Q3m&yWg7wp3$^}W{a?avKady<~LodO>#J#|d%-Ta= zm4M4A&dUeh?0tUicP^5TH=W|-QA-2t29?ZSCYV&yI{WI11yf&%CmbQ}Yx;KDc^2)i zokw^Owhy`Tcjpc!n#$Pdp#}+zk)K$)e4oW4j@94`(RuTzKvej{p=Jp3FFjaLK13(; z2cNq;U3NhvEKoChIcYoJV5rUi9!; z7%xLaf3V@RQkUf77bz;OBKw<-_hUCX`+UyH`q|OSdHHcOH26U8Ubm;y)hW z;xEE4yxYlN;p5;cyy*5ZP6iXX=#2BX#B;W7Z^M+aVBXgR;l+Wam}i;xKg}|T9x;eK zZi{m*6TlDc{_WW#`;a~${mZ`;CFWD5m!o_16U|ID9)7QX3)E}me<8F3ubLVeJO^=I z9Fsb@Xj+1+`@yJ%;J?!7H|}dL^C%vzo`*Fhh}lt-79qQE+L3L6z9s`Tlnz%F`zwC% zE7oG3H}CHwS1AMq{`*bK1uf^*Wma4akC0)R%U|hiTg`tp=-aG7QM7Alo2ikIXC?f>z|VT$sG30k}%CttlDBy4c9&7TEZ=7+tl zNu|Jtwer7L-zvV&a6_Vt;nnN;Wz`wBg=hK0E{4J%dS1F@5}skF!Z(5d`fMn zo@AACHfN~w(>1;)kHvyhAAkZ4LEcd~*MXFvQ2{0dtwII7g|}~0?v$GDQNX(34SuaO z613jBxQuc^4WlYSmdyh3uYcGV7{>RAsTc?lBJ1=XkAm7A1`(&X$R(d44_lB%fE_L_ zEa;Tk>I0QWCWZyZVfDDnFA|$G?URevu9#5LQByaxwXK0cO6Uz8arguT^BWrz5UBtg z9lFn|T5mpjk;nt)Ab6U=B%GfPWBUI0eU=84qqKEZQM31OZ+S^39*k-z*apxLp2p4n z$Ap47qVyuND;4w`02?J1Lre?|YXHR=wMxbTES8t^QauzBx`b4!Q8awAz^hb=s|6l- zdruIdKo}ErT8#v#?VJ0VYYRoBD0GgF0%Or4@&xT9_*4!y1$3W617of2jF`ImFkoJK z?faaZPH@kFD&e|yf#U-h6*`%ZU{K2w2OA1=AL&BXl5m)Y#>K&>Ry4#8#xTQRoRi0En$*6cj?Q8$UoA z7sOidl{3J)P?4BjSfEjIfZWDtrKAf)3yRG8-a8ZcqW_{bU>T>^M0b)o<(-&$}(CFwVEBT9KaqXoLJd3#hC`PjM9gWtUC=oA0ZrfeD&(Nkl-Hcu-N|lz5Pp z2Su^^g9I5!pztwC3zB!?!<*o9EgS}uz2LK{{_j^nrUa?W1OxxwRm}Mde?R;KA4D6# zXoLx76?~>@Y)rd{yRnSCMaTFuzF=q&0RatYx1q&%#TC%NAPiDnUF|lGV^8+)d(^mU zZMGv&2u_8M3EG|(h0M~~(U#uJm%sa=&1SH#&tawahk&&Xv=*8_Es4mpA|H7HSrm@{ zeG`jzhL-RlQ7z##Addps{I}Zz^bE+#6JfcKQE~oK{5Pih6q1NvaG>jo@A0sK!#6iS zUj%IL_}CRbt_3U;Iq0&F3xh6u1cIQu3s8*#18>%f{-0O4Hz+57qsO7Dq+^cFtBE`uqnYh>;+uIUI zCEMp6;=^6YjQ-P+io|-*{`Wt7^Y`u8rEa|ax9j;|)A;`~3D8_a@;1OgnVvoW*1#9n ztS5zA>_71QLPA2)O8@-eXZ@eO*)dFwssH1e+JC&8ieY1&o4NPzwCA-CcPWBVa7f|k zX9d0p59G%SWQ>F+8c@2|3+?+Kw2Pm0<2>oYOdf#askj3L)ZO-Uh>)^Hnfre_`wnm}_x}H{sA!6oGAbm5knBi9 zWMn0T2qi07A)`VXXxKZ-$g0SwP*lo_?49g{GP3!s;5VbHx3< z@6Y}Dyx*_)YY+z(SIXbjz{6FU9p{VpR4cKAJQni zZK=NHt%UE?p$pEN&q@X?i<7LLy=}^|*CN7ZgI!8QMGQ zy6#`*j+2$V0pUayT2l2>{iNQe>fn^0I?i_!gN{tOR;BFQ?x8RnhJP4b*h*&i4|T?^ z{7Y-C^WIisu_ugKHE1jG-s|4IN4dclEf2_*4JqZO_g<8eq4rg#rNSa5-weoSQnplf z=hxBX@!XfcN*_FLTKQXJ)mo@q zKKe#?0F~Ib4{g?&x9c)2%8sWsrHg6&>QiWQ`g~MhE!M$TLGD6N2~f!G_yyHsNE(56jXf!`9t>46UE8P4{)qW;HZ5K+sB1-stdHVy^kJ9v`XO z)QWFt`q1k0aY56EL-7N;5y`h3lzYa;F1<|Ni+{b$S5v256iPZj4rB}c6poU+ zN`LcM3C;FuSr#mUw^%5&?!I;w5AWt#?u%=dPiH79@HG-J&YV6f4y#0xix=@8l<{)~ zeh|L@_~+0@AvA~7C6d|Tdf%?lHen60^`%FJ564RE)zwaZqa(J_JY1t;RG(z-NZMe zW64i^Jn}B*w@#Lp88@kSO=@%KxUha-#;}ZWNyo;0xHLXIfdh>*2KO_xB65Vz4s~Ib zUmU*GwaFwZ^1xc$?`SciudfahOL`ESv-fk>qofU4&rV$Wtm(|1?XYcj6JLvLY44Fo z2TF;$a&dKxpo(9Vk7s;;;XhrO*)I@qQ{T#`f#r%mnyDr$0a3D;Ju^&e6-C}vj3vl`|mFr&Q&rTP6E#nD`o@UHxVu`2-)k*JHO`XYT4|r3OhUd%W;mg_^-x|3FE6z;qpyeYrk?mjWC5=z? zSPwGef^*^iQxTt&ac_pjX}4<{Mb=I>-WF`F_mXU0`ZY7N{cd}9ES|ME?hf>doTr+m zvn|WLqZd_-(>c`4&C5zMB#81xO zxK~Ev#f8?N&a0BNyUFexygV~`{x?E$^XQ)z93)|76eRnuY`n}?zQqxLC>G)C%-)D1}Bt(gl`CHp5(Q-Y))Rr^`~m6_HtRu@Ue(wu-y z8>P~j4qwY<3TFKu>}4L`kE5|%+mRgqdD}%sJK9A}#gb<~&C4fRvW&Pk5{K{bn zSB&w5go7xlu%jKg{oc+t>Bm^DfZQGVdvhy^$L{V5EaUC5Eq&9T$~=~e6@g|Jfl-?I z2W;_%Nv9E70~G~sEy3#k)>AB&W$%_R#c@>nYR7ZRTHEn;4NBT4*Ci^2?!+BlgrAmg zC&uAr&a@f7xXblF@P4Vi-QSyOaPmx}^_4wnNTtmQAOaBBc8~C=&#psfd9sDJe(K&e z?_`EY$`4}dm-%H`7w#RIDsI*bq~b`HoOQQ9hyNvpWXseNU}I^L_2{ zX@?!jCa-H0+zw^l-*}=r@r)`TZVW2{qY{t%1A)+uFptU^$c1zzcL)UZ#AjG(7KNrM z?m=JTJ_S1H@0&xxb=tsim(S=xPuJ@d^Zc(fcl6VSpVJH$)&=LGkfFklcb8|Hdo^|= zt?`1{FI|@%G)iBr{b}!CrzE+%!_p!dpft+IO&d07uFk5yPF zH%7V5Ikp#g!WHxL8miv=N2Ywu)$Z#Eo-XVfl!`xR8++6Zo+C_Ge9vrv3*r=HU_5%S z>WhnS+V6HccG8r+k~Pe7=uB~nXvj|)y6_*PV>+uXRJ!{ZjKob14jVAtmtp&35%irU z42s?ZT8Dh1<*^3$r1BXG7|bYC;|L1DMEWy9Ev%93CwfDy3NgiM5$=P4H{4%C=nYxwxd|}4!nGp-^oY~`+<+SW(<7~A1zT2 z_@Ouwvu^j*6Sy9xtj4IqJ&>f#j6+1BILtfY0+l!guY6bz1L{9X}AgkQH zTZv~1f5swxf)9j>-#_hCjsSFiAe7Vsvw-+uMZu5Z;d^Nk;O{)2O&TE@M+kRj?RPC> zbp6_p7NmdCY>Q~{jOepWdr-B)eiz9an$Y~a4m56=wCm@V6zLx`?-%LckOoz%)TF#E zV`2_ODQBZxYGL(?qcb=pB(bF&*8<`{xo^e(88{@ejEd^vBf`&ARAgqHD+diV_`rm> z7>K7Uw!r3KSD?;u)sdHK0s+EjZO?xgvn+GkJ9iYsipIr*+I29G) zNAUjr5t9&Ntk|Fg8gPh=p<&ESylUcJNy(NsZ>}^!gK}xnhyGJ zYz>o`_ek5u=zD7VSw8ub-*bI}8bU4RB^rNyVh#CND0I`&$?HoycC;^HN)j4O(H`Hd zJRQFso?E)7l*$J-ZtAgR#ZUZ9Y&bk+a-RLg*eY5P#8Ch62udqdY)ZTf7260MrLcQ( z;KHGF&kcT|xYa*iw)x-4DSieF{A=5$d^q8JT(FCJ#aMVgs7Ay~gJP^L|yp9nw&UM3yw5M4s8$R=!J!aTk{^@y_=GfGV{UE)ph@N zkC2Gv?y@6OPNjnbmW;#t?=373+(7wIU1#y~QvG>By0{YWX28D*J0r3+6saAd7XgCi z;^LA&@%0v#`{6@}F2mvn>lw6*o}W9P-MUo*J#%p64sJog`;*>9Y1edWb_p(JrIh=8 zJl)-7Na1+nSiD; zedRoEX=wNrci~lTE`jAioO1cvhStYBJ(6L4fG+~F;0ClHcnjECcuDbXFbdnUb?eBm z9nnT*LLaVavqHIL?Zo%o86|GM59%9v`b=`-Im|0~@x&les|3918=a%=TA z+L(3!vW{xY-`|pOVdcvy6qDrY&+hAqF)+;7=|0}vz->ggIwCwAwgslAPha@@mPT)1 zCww#M=wO()4o-y|H)2>G1#kr;Wpl`tGR7&q3ue(LF%Oro_8szT6yb&3)qMS1{`C5L$f?p z>e1!^b*{tXC^{cMq-T;F{ zW1O8(rW&J$R?V4mvw6Im{L%<^qjC_t+cf%alRn$do!HZ>nwoUFV?hppdorPFI9K)6zfb3g&DKVGt3YaP`_L&631}AHAUi!K zrl+fX*SWi`W-5DhH;+fRjbS8JQmQX0cXWO;f2Gz_<2vovp&^!a>kf!ZZ}9%5zdbrrH|U~NqrGmNYFJv9*ZJQtOB(q*5bnF$ z86V!g>w=^Vwv`}XDPSGlzh4FS<|np&s*RObOvn()xVx13z>YRWe<}|1{o{9Z)K02) z)7cjr*vA~J=L~wH)-%|Z^kns8{X75S07qs*hmVEU(>Td#iupoN|KZMd0wRXZ40K~4 zBN6;VaKdo=s$WZMUR7r%KPZLl$KpTLwM@=>cV)Str#zbW!sE>M)UefVBH$pnjHBRx zbFubkQJQ?@reiGmT#hr3A9fV4L}lY~f5uIgchWdG{;c}>s-mLnUl*r`55E+jdO_=F z?`!b9WXn`o;leg37_^b_&AWa5j4jqbcs0Oj@eFll<7}^B_gR_=wC>Lug^d>cA)*8>) z^J|t^%g@8^mV)&5AcvSQ*&%{ZW!Z0&zK%Is2JMA{LqoCj+9h=;>+gGoqBu0ZxI^}k zzUDLI*8FIJ7TGt(;xvQ7>lx8Vb&9B(68-*B4oeNffgVguv&xuvFhPS_@7#4Y-5934 zWvv#|J(V2dmLJr4nX2z7dL~cL_I=-E6+Aq$v}K^w=iK$(ssLQbz(D_@B7P2z9=wm> zx2I=hfFzQjla&hkVyOV!GaeG_8AHS&g*c8po}@3Up6}(q{5)a#_D)BY#KL@#`E!34qLa}J z@<->sruEYKPYj05&SN)t7htI5B4Y`S6f9B@yft{iaTRDZ;5vp;zsgnzI;sN|+OO|@ zp^7_gzKc_<(X77Kj6aCQX48*UW0#-ceX{D?c#TXiopf@3(5R9~IM?(Se-ba$qSQ{pnW)oZU~8+e;*3I{vuEY4j&HR({hg;zfJkJSYE=vPmDt#db^HZ;3YrW&-qWUp%r&jJT~bm>{cCY|LW#xq7#*j#zuu9 z-0=sAl5=4j+@{`)zUI*k8LqkG>)aK2?dK`~nPElFfjddB2lmG-ry*?y}S2+VIw_;TIh#f^o2rJmbQqls?7Jia(GABKJP-aGPase2{o;U_ZJhAZNX{j4+L2ogeIj$wnG<)Wa*|ApCw@yB@ zYLauHqbTcZEu&o7eJYO5jsE8*R}OzZjqrimOkU#10b=8Mv9`Z_Cp6k=y`3UXj*d0S zS|i}XG|TJjw?Sr1>ZcrX|52@l+rK7;+nmcu0Gtu;jTplGqpKb|948rWxFv78Cz9l5wF z3HVqWW2>Lz!l61e{z#$plFh1%j6%Z$RO@-XkDKOHi?FH0U2O7>i*2lZ$h1W&Lu#7! z_X$Z9`o4Fs9NN++{;W*A<*lDXb3*=)RRa|hSNfbG|A8F^>F!PDhSBox<;|gh9iUaeZep1wzoFIr&)NQq4O=EC zOF9cSKKQA;qkVn|9QFn9{XDC$YGTF@-O{LG8PV)E_=x9jX~eePpVy>ltAAmts?D-u zjgK3F9Y|Xosj-q-JSF`wC}(_ZCDYI%@keU{@jr7%CBCFRI9}6c*W=JStrqzK3=3&k#j1wi&Y(imID$ zii%{bn!bv`)i=y15zi|to-!-1ZR%LW3B3xF((^1F=V$V=n+zi(EAO6Bwj!VCybH{q zIfvk&;GB#f1OoeOO6l#2wM9RaGicJI$IF{t`qIC#gcPH*cNEo0sENGuL|IRBLYRJS z5$QMDPBON$&k8s)(6cm!xu=jg2hZlaG(cc8~+Tz5nT!n zFrFoFiTHs(#Bb#|=Z|yzP~?EWSb7z}OlvcHeW%?tO1qqNQY(Y)*oxM*$m)F|{B*%~ zB34=DD-8_e-avP|apT5kLZFXpKQ;6WX%HWhG(!gt&jt5o9*5!jVt8g>$4Tox@rZXo zUwKEYj*9aVJ`dzQG=AUL;D7)j=o$+O3efSw-gi9ADh~z(N(u@yP>Guk(UXoBhp|fr ztvdfY<%Wp8GF`Z|I4@WV>(4V4fk~eaQ%Y1|D0!getcFJ4?#pWmW#vyE9v*-?8ec9Y z`3vM~=C0_WneVH1A%l?f33iMSIYWIl2R7tWA%u~j`wfz~k&%t5*%o1=VU9T?Fmr+*nJJuyn(NnZFXrsg-#8H@C zaF7;*KoBCqJwn8W=JBc^OQ<{2KXGOeO+Q#AGRatUK5u3V$u=BkdG!%S(D^ZF*VNYL zQk#b_L}PtDAdYS@6a2?llM)Kv6r9A`P3Xf;0?6Hz$|vbICS*%QcpCIq!pX%13A^2Y|MCjUfrYOI92X=SbXn_>=xP4Z4}aL zkN1lRIK*t)eUcVE(w#eZ!oo^i_rkyd1_*OtR_MEo)j$SyZfHk^$eTw2+nVI~hqP;P zcLGySG#A(2?OC!<{{h{GF$azG``1V6<0{C`%fDAjc#$=T4e-Nb6-=H$0t2+>VY3NO zp8P<0C1KOON{4k}Ya)G^n8nz~_3ps#Zk}FCE6YRTdn13(V7qGfcIu7484>)!Xyi^q53uE==W$R?wa{&xM zNV9tDif+60F|(S~(#Eb5j&8%Q4dpR2RCfwABG$>?I7D*0P9g1uhvMI+k#ZZ143+R& zYmEE#7$d~&VsfQM?~u7;42=cg6S_DtQLci)M?Z=#0c=oT3YV(%;cts4ZRvLva8O zgRG?9-4xA_`D2M?B zh$0y;;fBonVPS*=2*hreAWDUahgSB5c9`E0-ewjSDW}QM&GCap0h`KOoa58$i>lf` z(WIbC+JX{wp%v)y?m%D0HN6W`_`Q2av7vzBl=bXcBS4j&C^tQI^|zO|u&{jEFC7sW zh=3L-i2{JvE?>S}SU3y)Bv?4%;yj`x^{R%C18dw`Lv?IM?IQu`7`W05RM@V!L`u+M z_@w{;5^%Pqzj*%qIXYATDyD8Kq}o>G0NU>chCFCmHDxytcKgEp4;l8=A zMy+OUZVphC>XSc7I5YEaXTTCCL_csXAc!B3U;)|~-#3a*n26nrf-$_m>7L2-M)9;wrSg{wYRx6W(tnyObw8Y{ zxh?OrK|{9->qufSl?x$H_uQ^Chdld2J_^)C`-SSfow&J9Cczd$VvzAb?EMZH?4`^U z09#Q_R1Z0>Ry1#J_FZHXa@b3_b$NObG`A?9{1ds4JSl_Nh9J83FVz z_*Hb90Y>=QaKQjtHHU-X=6nht<^?3ZqgUyT&UcTeNoDzo4`i=@5Zv)$PW1DvhaJg< z;1WjY)ObEVK9^>IS7mmF_yxF={cn@}F9ZP>3QmtZpk_~MB&VbRS?3Ip2LVOGxY!^1 ziWL2PW(RN5UZPNl&l1lvX>DIM*~+%(;e0{VPEy4Zv8=~ynI#fteQ@qU6b|9o$LglW zMmib1H(aMm3JcFbw$bRfQMz>FssyS0{Oj!*hll~6LCKG}sEi~zaWN)O$e!?xSbcre zHD`SU{FGo3QCzL_mjZl~5ldOO(hARu#>Rv5cH1MlO1}H48-7_9{lLPa{>c@m(vN4$ zG2oW6oK_P4iE=EvTv0ud2?qNA2d#u43UN~a6Y{F4IBxRnh^6ltfcXoe@LhtfIsc{! zcU(&fy&yc~QzX-%dbVyHX$-{XbY6`49p3JLvV%y`YRycgm|eH@ zH(7H#r{vYo_N;GwKy$5AKZBBj+4!KD4`R~d0JQbP65v_{71 z;RsU!C6iZos5p$eH&m`sth2`G7`WMExl>HCQd0Q~=;SjY)kK10kFA5Nj8>f;UJ>dW zPwi*8$e8%nJly#p-m3FImFnW>3Ith(vfoUTi+h2t6)*iDseVRG_4si@Ex)m=2nJI3 z?|1a{^b8I%)6*A9(5FL)ihT#xE4*xM9%&0iJn_ugk>2}E!bV)jg2n{)M(+#XnawC0 zHw>+d}c0 zDNVDbpUTm%=2GLHl>IhA%?@KU<3(?H!p{|@a#t8rk;c4}I*w8UC%cUe1Fv95M+dBT zWr4mxf@dwr zT~4Cqnk}_H_2l#ccypAxoDa;;p9d%leTW+b%vcYKqwup!P}RCHX#^bsUHXjmSF?~p zTlyTfH#Cwv{50z^cTl)>EKO2M&d1_GsTFLoxB~DuBHBP|2zU@B>T64s=I()?&RAL; zEmtw!Fv)z@j+(bfh2o*ql3m38nPo(*h>8|V^+Y>DX=V~63W6rBKD?yyr3g!_@YR+z z0OW9-gs!M!xloEC)=%obodRP_ntFGR!ieG5<=U^Eb@OFZ3=Xq^9PGAaO?xx5k)w{L zvKiQ}N(-OqCH&HYyf{#Wi`%Z*1b>BAw;b`mCzhYyuy0n`pmpsb(SooW! zjz|n0GK-TKp%d`k_l}N(lFI^$6<%i;{`mQ`ax^m=onn_Cy^MFxPjR>A#2q0hWnni^Kq7I?H+Vf=2;oME+IOOE6x$erAHB(L;;$ zV#Uo8a}$=c#Zqg2C7W6ZnD+~X7~}I2pwNtBRwK96k51#NsnH9oNaP!bPSQQ{$vz>Y zl94rMsh(d9#0>eBq89-)F!Ct+TW$r>7bGm(E5AAI0b3kZ)Qi^_@3>qflro{X+-5r4 z%wlaX|JY}i#ZOHp++;ll$qW_bH`j^j!SIRsR`x=r+LNQ1&4%6lA)bOg6F@Y6KGSV} z{QkQi`Fy=K7;udgU1TzyV8l8@%#>c z_$?tn$(+w+O(V{(HfigcwI%TV<9(jL*)Je?&~l#TrU$V5QmnRFzQ~c|?3}f1%gzVq zFO3MfN0WUFEx+w1(^yuQ_1e42PwTP>_tfr|`ydb=C@n2mAAi=P=Gt3=ppNbM+J&T0 zHv;se-8*>9c=L5Bs}@uRA$HbD+LCCqJ&utnaZ5=zH5JK zO2KuCnN(p-tle(wLkz~-1M60e-R!fH7nxIX=0yj`%M;HW#vBBQBX}^@_w6--;$Xa! zi=6lxFNPLdi~iuslvalu<11Pxn$nWf#XdvWsp2qaWkaMLX=< zzSh=dqW>v>NaXQiA{9 z&kjamq0OPGQnMp(_%zQIvG2I#v`jjl+=c(XZ5HLd?{(RojH-^kVakr0a~(*WX_kzp z3vlIp@#BXOp~*00mSyr_l$|4X9qIfUGFaGMn>-O+*=cD<4KrzKHL0t$hf zYyK4XP<>hCaF7mlsdwM9lzQ|*z4*5568AhLw}3@MB7N)qX29Vy`kY_z>j~V+eNoOw zVGDA9=9c|7(iDVsB+^*!sruRJxv?CfGY&20&)7ojPkm*d-Sonb6zUEN5rM+)iQO8o z%(SfIbAbzZ`NjB7P++s?>xT&GoB&2oka=-QVEECuHDVynpiY259f|PoMaGD@m@Eh{i3d*eg9c+%oE3)is zuPqf1HxQi8J|g^B&BM7?&CzKYk#e)X*+6dTUtHqA$E?1)CpXbW&b(06Tr1wFPyN`v zf#tyB_HvxnXOyWXb7xjulQJg=j56Z92}{t1LhiGU>HIE$-+ql#lC%~$pCoBbg~1cD-Asa_lkYGfD-lgQcOBp; zH4$?5;t1$n2W&Vj75hKf#AdcdGi?H&$~T(ww`}m6HCCBRtPY#v`I3}|$l;?=k--o0 zu6u4kxYI!LuI$2lD;9Z$q!@JFu@WyuIrQ>4yK2oDYcHA03OBZGmj1rT>vA7-dirGg zDh1v)Y=7rp5pNqgNM{MDH$ybH5@)3l0+ zh(#|K!{p0Mwq3G1TC)kI%}*T@2oMmQAh~ZOBy_N% zgR42(A#vz7Pw#{EA3miR}TY)d)zZ`JwYr_v;B?sxw_Skjn)+Ia|Zz)z*P)#3534AYir8~ zcmSLR+y>sizys**_Z?`*mm;CTR4_MRF(%JRx%VG) z+o;Yu7DZaVoNBY^AK#}ps9rLYwLLZCU=oR_&5%p>x3tD7pyLwk7~n-hSO|k97vE*W zNV#MQ{7I0a!^p^3U;Gb7)vyJxcE&D#erw=p@N$5U4eT6m`uGU#-K$RPMHboIGW3l# zXLGcY*jT)CViWJ6sbzB14LMQ<-h(tvR$qKP;}uB49gadaGm?CP`dC8#{I#!-Y?hGv zq(kJ)`&F#0u|IzNK->q+VGbQW%sD8ugmk=f@bpffQH#vc?>^0S=8xW$o@t+z=pGx3 zW?~{yN5W}u12>>ZZf;oF-Y3$W*$GP&jqE^Jz`{B4=uzr{9~2~iI~S)S{c=gh^!}YX z^!98v4NskyN{vS2Y@`nJw$$76Z%9C9y=;2UeVGTRv_hucbiHArGtC;XIh*3#IUN|e zRlEtV*{@VR;eyG!KcC;=m(ab{w=cZn;>Bn#y!6rm$$c?b{*$(Nfi}febaw*?CJMD5 z%Bqtv8t>r~Kl!)bN+dxKzH{DwQ$;m#p7x6i3@3e0SEFQVT^ zIb4io5^}dBBt)lJeHT35U_b*OS?DH-SP6A?^}jscNF*L`_tsdpzfDo8AR27%oEqCc ztwt3}cO}|N314D>AR;O{fV}Me`&(;j?5Yz~2wTV_8227B1jTr9HZhf$vUt5mZ5GQA9C& z{81Zk_lc8HzcP-4WSglVPdy0`By<1tyRD7eDM`kt!ARcK7l!7$(=f*R)!iJt(<4|x zx!G;tBW|m?PpQHk(l!~QQfppCcOd#-5-l;eb+W&Bgt3mJhcTjJ>O)UT&dODDUFS=@ z=Og3u=AQ+pDXv_gl@t0tVrb(*C@9*Y+6Py@`pogfQYr=RW$?RKw7PZ7;SUm3?yzk5 zx+17+5GvSGS8`zIUH)0qbvmgQW{=bVHO6v*D9^CA2;UfeiNQwcjM0wvU~>69JKy!B z?{m7ajlNCLsCAZNXmz0dE7A*@#p27m&dXr_(VkS%S!qo5*@T9Uo^Ks?KO%4}GH-f# zv?VB`V=1Zl&-xjXbb6591^4-1Fq=xtuXdY#M6s3kBVV&|jg-w-!AlLPiwTzh)UFrg zYLo?A|0w_bb~pPb%Ptc;&TL9pXYV3($;4wa%rZKDO}5Q0zD-n9lB4n&;@`^m)yJ)7a$CUElU_!BOP7siV#vXv$M&u9U{#8wKv zP$9EW{10~Mq-^>AG39B5%~#>_lC%x<&CFy)Inl7+S%_gIc?ZI7!x$)Kjs7Js9l>Xc zWxaP5u^mQRFBY$)>dyAly!VH*CA;pr^wJP@QXFv)gNxRIx4BVS3n-=Wcw0^9VHM8l z>{Vm+$6+%f&`l6vppCdie*zr67H| zk7u2k!a3bBz~LFZol)BAAMJQ)$F6M+BQF$sPuEvAJ?~cUUinaB3H2s|&O!59gA2)+D+xxO+e5I1Nvkc)a88MBCaf|R(kaCBc=Z}> zF0AAz*pA+oXIG_Xz5nh%QMj5porh#`B|n7-HaQMrnotQ4OGKQ?_T5%zkeGFA^ z0%3&Ln@} zLw|SN(B`$?IWm=*{IjhlKAV`)MR%C0iS#G#^>&1=<r01|92~WmTl&n$anp}`|CC>~Z5wd~Bqko+6gCs$1ckhzMYX!4dVa&y?!@dWK0@rYO6XC{-L`zJfb=Epzc;I zQgwyJZHeTfG9)Y}_CP2r4*Wy|Spi%eX^8w9*~$>oAOE6BH=(^+E6@UUWHOE`UVD20#N zTR*GAxVE3<`}q&E4V8;)n?e~rO7PnB)(UcQ`jH#71hLG&p??1pcnt z(FsxGsW-NGq`ji#u%AWf01yVu`rCP#GX)$Hg4kQlGDnlkmnD}Fdn{ov@z(~21=4qM zcCb43DxKwORptX#i_I{Jx~XvJh3`P``;@!rcb!gw*Flnmt_@Ih>w5#Aao5_bI#ot; z7vDa0#(k*}hM5E%+9&oNw6M`kL3!)`wC}hfDUt1|_VaUObLgGyQN1KS+zYYikf0OH zTN+W{n-UOxp#J*q2ZaU3#VG#s@@_smyHI)H!*F_4(Ur92W^C_TcZq`xlWefIwf$ZU zBQ78GXyhWEq-(q`cP32qq8UaSj-FP;dj?2K9VU6T7(s$8ag0bbPbff1Ter*!KJTTH zIRjC$#AAiCXaJbnLgw{*WMzxK2`?2`pooyIVWQ3%tX1wk#qF%O$+8Tb)yvrfq23(i|kxCFqrrA>3p_}uxtFPG~-*yS7OaFf}>MnM)P4@qSs?NWxxHGDjg@rksLCK&R0u6!652S374*3IN z2Eh?^nV6TuMA+mC5DmQvO}K0XgJl+jRE%jbzvo;*m-mIH6$9E&#JT`YFqUbP`;T6Y zqRO^5x6TiD;f#=Meg)oMaI#f~O(SGRi6NpkaVaSSFj)jrL9-q4WVQ1GdnV?~C&Bhm zR8$1?AU!?Z$MYNaA{K9BTOo!T^CK3{mWuOZL7;i0q*ItV{=VgUT_WJ5KhDk$rln(I z!s0On+Xie=XhR-8WJBYZc@Zonc(9=#w?e1mSw?^&pxm3)CaVan;^X6+EJnUrMXMw! znv*b)(0#dYV3#x}bCN)|RP9rKv7e^8jR&rz;?6`}ek5YU=tK1Pz*Yo2-@ZLGsr*RQ z)XC|^wQH1w>(|fGQ8o{wvu8DHt-()UvtorRC!IC30?E+p`WX+IEq!`!?IESF=HoNZ z_5?X47r$QB9vwVmoLg{U2Y*G9PR*kI_@9$zE=7B}qep{9talK7r8^6QjhI`@Sj0L* z;B8Pc5-XMjEA0^3ct8in-%^s3skcL%(`l{qJ+`6QgT|km`~NynuW|#sPSn;Dsuz5g zMALpQeP-rrtiz3+e&C;LPlOdt^M5)<5Zb=Y{?>+mPGXe(?^QSvO*GOOd;DTAd{ii_ zdYY;@+-d)9-?AMT;{T716Ud`x21s^{{@|~o^zmW-5?1#mJN{E9`wBgtZ~Vz);%Am) zXI##Ai+Iy-y{)kx9T|blK-_VdO$Qe8h=H)QvKkr~DC_XTF8kN$6Ftyaq5|kVaS}NP z<^tOlX=I^1>A!Dtr{k!w32}I>>p~bjyt;wsG`F-s{}+7L5W5rM(1;Dk)5GJ(b31S? zVcvjmRhV99#ncngSxdFo2JEk6kc;vX+3f#KcNm@Q_2_A-hcDD4Lg9f4md+%nqnLrq ze1QEt%X_O`iA|Jk-mI(Y3zIKSV zcUiLMA8rohRJwx3!n$||#&%OQ)<5h+w!G^d=yd!Aaz;iUijyxib4*v1-gNuV$C2y=Sc_8~9+HOCC4; z<(`yvJ;dE@V%pL(3e%F$Q5)CE9C@Dj@r0#BSm99Z^B+s?Qpi45f1A-dDP}jL zTQh9jEv+r`WdC&K>(xOaGMlRAO=k4Aj<-1*PgV1GaxdeVDQhQ7#}SwQTQ`k%tyARY z^-{H(=CEq|@rS9<@_<7RS}5!e)0&oTIX$ zosEx`|47k%l@Z^and-@xApXy>Az`khM7i(O{>%Lg(`U}HjLYeoiR*+whMYl6MLLN( zJE5au;zY(lIJiM#N3BqV0V>vmK=G6&Ofe3vxI8jC`jF}BYeYp>t~qd&!pvYnrBP#f zh@eifBZqoQ|G4^v+Wy8`>qX(lU$c+DOgSLN!P@_)xeE<33+*`iADs|TpJEcdsJX}A zCPl9&ichG0;Yo6yY9~oEv2-?{mk9csy(_=!42>)W-I=r{oht@zh|;oof*;2QW_ z5b%fH4Dq-9|E->0v_<*X2Ise@%y|zuC(U0zuxOm*zf|{M#%_N&jr_x1?oXSAznwAB z&HlEXATEb+!TJBXtbcd)`O^^)N|C>O?Eag_aiSe8Mwt75$AkeX+kY9mNfM0vzdDb9 z+^LhEH|RNF-3%^J6s-Vgm+(vnw66V=i;&6^Z|!eS7j<}ib%JsQW;2n24esF)KV~98 z1lh%CG4Sz^yF+D z9O-24c&i{k|AT*N3;w+CIA{ zYV=8X8bj=qzaO1NB)N_G=xtBBj8G@XxN z?ujxx`@$8i`p=(-QHaC$8AMhS)vZwK*nqbMk?xw!d)$9HK*fL!3eIq&)E6OlT)ezH zJ&@J+-_SQ<@{afqWW8}H1aAwFuS?N!04E+ieE9Y*H8`CNnv(R;4Z$LnG)oPKfyMw% zXi$sY;HFbmRmH@}m`$YD!JuqAo4B}6UdOpJXVRfUf~h{z1eJE&%`mI81O|W8+2>HQ zEaBVJD~Yh6MK86T^9mU$DLmWR`1sNap2HMTB(idGi$$ft=a>Z^t+BU+zAg&d@ z546L>UB?Ao(lpFbAQN`M;dXk~G(l_nB^Q z?uBit+KXt_|G5_vfBy3fQ9TZ8YS5`6BO>U??{hCtBHX!wNzC>ftlSYt2D0ukct%zv zLs~*ZzZ34=dGOxGbi?WA*QEpA6TsLrC0(ZWN=Sse*sUh@Wn%j~Gt};Q0kV(~;c*A7XvCvE##HmQw6fQ?(M~h! zcR~8DA)%pDaAB;3{w-rW2S+@<7Q2G6E4swJf`X9JqIo5qt9W8ih+x-J|9-fz7(LXy zX6rO&4Aqc4Ajt9W4TW=?Sy=R8#TchZKxgi82ukQh<4R6NKq^5pxY4lLb`oqp3bRfx zq={gSLUE!wVT!Hr`0+c4Xn=Vj0v=~)CT$vjE|Ip=m`}#8(uP}qn?VrHE1LPPE+A`= z9v`1gcZJ*qo$2L?AMMD$IOn!?KMGA_WTz#4|HE?Bv$CQPDuMnPIhE(!1Y3cM??xyC+zYVrr9WE=OBG$1kAmrX_Uzd>lkU=x z%*;%jI9z;u@l5+k3CUAuT}(~;gy9ShYZX47%u+DQe{EXg&ZRz|tSl!NBH<|D-16zu zC)~-p_^o~*BPQcBY}~YoUM40s7J-vI`LEINuU@sv>DTvV6Nu!7CrsK189g{OhQoJgq9Vcx*PZ+Hl)A#gt@lt@IN zZQE@E^tu(|OU4C0YaH8QX|z5bq6|9u+U3&x9!+b(AF09D~Qs4 z1wKleO6+?`6%qBf4=KYoHX}GV2-SOieef^g4#*v6cKyrb`GZ1JE#~>~ct@Kg{d|{A ztsgkVFe=DkT}pD@<(OjC@?s2tm+A5(PE?}HN4}c=!(!5OIWlDcdiq97xx%{h7CbNsJB<8&!(?yBbWKvU@P%4R@73i_ zDA4>69SC99dq&CR-&tOy`NjWj%jgKw_5YCD)f8rLOL{F8K1MRUmd?y1+luUZ7>v%0 zRw*l_Qf@bb6bFwF+fc%O$?I!LyBEK(>gSL5Wo0~UY}hZ^F>eJAzofWWUP;NaHn{;+ z3wdX_lFlq`exWwD<3s#^n5{;BUQWvOAinI7YwfXzs+&ZAW~;|M(3OP9i1}m{?Fy9ft1Qr@kOB7ZH4Ud3lXDI8fO@)(=frhJ(UV z+|FNcUBGdeip6&`=rV2x)`S%NUh%3uhsh6UJE+i*M##g>t!8zdQQSVcfF+689Uu)s zp;2S{5Uh0ELhKAFt`ekZakNnGTr;rNCpbZ|6{ZM~hNF%**b6w#H|(~D!zPhK@97zV zACAowWgFlq@LeF?V}Kb3>X378e)Bqz03rkisX$3p-VYwM4$>FA7o=$K`}gl(yH@xV(I_nY z6~s5Tj7^Q1tz3DFa2?KcSLZ^`vLhm%=I3S|zSmbiI<^T^7*M=(9PwYW%o|h@8-jNm zWnk4Dml19RoTzZGlU&tsb|3UwHHn*edn7pJ`vm#> z_ZDmp+enaZ;4_->b#}@8!2UT>X&j^ZkfRV^LKwL`V1qux}V=Q2g zJH5TpVA;qt4~y>pRzZUzu=q!3kPXQGt6}V%3G1BYdAhtTN!xaJ0Atmy}6k%w+Q>yTkBb z3Ej)}Y|ra!yj+~u`~sqvZdv3Caz!L8E2{PQsQZ1DaVg`EnhK{s3ijj>d) zZn0GG3%_Y?Z4G!XP0he>=n)a2>$wuiHeZWa+>lxuJlqx|j{^c%x>e-DX_R)(zrIhR z_$C5De{x}~hi;7sDC~4g`8Hb|9ua}%nu~)iQT_4dPEvF_C{+l~q-ACv92&|;N*KJW zqERr`SY5zjft5ZsI*NjqC|Y3H1$`tKGue1GaGp9lIqAKy zNOnSkH!Tda^$fyQ6K!z~uv*}N3^lvHu@OHg3dIjHsQ@qo>L)N~oL<<4X}04uN5pLE zlZdUtmb5aBNMvnTlc*BwRoY^}o`2XFe5n01KMKJVYiejf*wq&>rHBYyTptRc4HDFD zK(}uk`V22JW;bKpZ_u=`*35x#kNGi@qG7d8I{qA&su(V!!WDq6LeuBQna-AM>obsL zV%5Qi8D*4!fWQmfDs(0|JAPqZgSv<1cko~#DmH}14Bo`!`8hHoj(2m3wtCU{H113TF~06ig8I59KEQ~mKExVf@5t7L!U-(DX=D#&aw10v z?o>!&6cH0Uv9SkVM!g+7uF=o|gmb5AKQFGXwnYI;$o{%Zx_f%^iIgf>Zzp%osm$r9 zcLQqnxP##8U+ulvi`^Fdqf*TSAf@c;>A`F6*QT$9or-2VqG{z_9Y_@fyT)DhwvP{9 ze!ja$VVMz+lKp%p@)pGh{h*)<&?xSFkM5FzA@}~75!7%K<`h&=U#gkJ0?=El;}?u1eKHsqOwhlTZj`_`E2>|mLjo^FH66K5}4`^3_q=SZuy zG~gChi${{3y}BSF^PhZ1cjIkM&Dg>oXoecy_|`!E(^yphSd-Y9 zj^k$Ul#sX#XFWWQX`E7JrKO>$T5+PFG3PqE*J#QfRp|!T$G_5U_lbNfAMGX`XCm(P z3TVLS=;)Ln7=~r_J1aQ@0QJzwV}SgzBE*bTSVkiWz1oe z5gH}|ICYC7wN4x~F^N+s!!!@UIz+c)XjpKYh!HGBJor?T;rlJzj3jIr_aS5{O!LBy5(J|U!B zBJd8gN*sYmArDcGl5i}L;3m>9_43|9<($ayFx!>qL@Vi9(>BmhTlGA4QZlMovjJMWqIuBb!%~sMiC4b}uH<(cp>j zG5=`ywYB@}anK{20cQSa)`?df4wq(TMD{s2yL$Tu5a^8x2G7Uo(j{2!MJFTxQ`)t6 zuYbfL6IeswmBDt}ww&ei@uU+xaKxN{?l6@4@tVr!*Y{V+Tu^=cK%?@FA}!O+O;2{L z@x7_`h?i-FWz3GR$C=))Jh6QFfkSN9c4SjOnqBF!W{1c|(?gq>QcQ^888pGI|%+7M~+K?waq@NmMry zU?{TQT{0};W@q=Dv(;-G_5F`;_mrO7+i1)AiP*U$kvw&H1sx!Sd646ynwH9__p!a{hUvSg)fG z8=~=acda+y*L42*mNnP80=Q_YGqh6_HR(4*G{?h&QKr(-IPaRyLL*Z z>GY+Qv6T~}qw9T+j5+11b47gW;R+}=NoS|KVUj*Moos(;6K~KhgJ8(ML*tOfAmS?+ zR`$-2f8#9+$CC5U>8O5Mo$GA96ggxow#BEL)l``DW9;sSwM*SU?TPwyHa+AN@BGjb zzRQXdpTrpvEck4Vio~h-s+_#Maw7qy_>t-|ir4GD;A8LiJibeP*ZSZs`J3*sKbkz}vE0j@rG`svB5Z@%>R_isNOSi-JY r_0i~F%#T=#3DGBv1Pn%E8D1IO_Ti}C^A|b9ALR}!9ZHosef9qV)oQlh diff --git a/examples/matlab_octave/wave1D_convergence/convergence_vs_cells.png b/examples/matlab_octave/wave1D_convergence/convergence_vs_cells.png deleted file mode 100644 index 22a63d51f4041c6a53e93b5a1972eca0dd08a323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31612 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 2, 'k >= 2'); - assert(mod(k, 2) == 0, 'k % 2 = 0'); - assert(m >= 2*k+1, ['m >= ' num2str(2*k+1) ' for k = ' num2str(k)]); - - % Dimensions of D: - n_rows = m+2; - n_cols = m+1; - - D = sparse(n_rows, n_cols); - - % Fill the middle of D ------------------------------------------------ - neighbors = zeros(1, k); % Bandwidth = k - neighbors(1) = 1/2 - k/2; - for i = 2 : k - neighbors(i) = neighbors(i-1)+1; - end - - % Create a k by k Vandermonde matrix based on the neighbors: - A = vander(neighbors)'; - - % First-order derivative - b = zeros(k, 1); - b(k-1) = 1; - - % Solve the linear system to get the coefficients - coeffs = A\b; - - j = 1; - for i = k/2+1 : n_rows - k/2 - D(i, j:j+k-1) = coeffs; - j = j + 1; - end - % --------------------------------------------------------------------- - - % Create A ------------------------------------------------------------ - p = k/2-1; - q = k+1; - A = sparse(p, q); - for i = 1 : p % For each row of A - neighbors = zeros(1, q); % k+1 points are used for the boundaries - neighbors(1) = 1/2 - i; % Shifting the stencil to the right - for j = 2 : q - neighbors(j) = neighbors(j-1)+1; - end - V = vander(neighbors)'; - b = zeros(q, 1); - b(q-1) = 1; - coeffs = V\b; - A(i, 1:q) = coeffs; - end - % --------------------------------------------------------------------- - - % Insert A into D (upper-left corner of D) - D(2:p+1, 1:q) = A; - - % Permutation matrices - Pp = fliplr(speye(p)); - Pq = fliplr(speye(q)); - % Construct A' (lower-right corner of D) - A = -Pp*A*Pq; - - % Insert A' into D - D(n_rows-p:n_rows-1, n_cols-q+1:n_cols) = A; - - % Scale D - D = 1/dx*D; -end diff --git a/examples/matlab_octave/wave1D_convergence/grad.m b/examples/matlab_octave/wave1D_convergence/grad.m deleted file mode 100644 index 9b69b29f..00000000 --- a/examples/matlab_octave/wave1D_convergence/grad.m +++ /dev/null @@ -1,43 +0,0 @@ -function G = grad(k, m, dx, dc, nc) -% Returns a one-dimensional mimetic gradient operator depending on whether -% or not the operator will contain a periodic boundary condition type -% a0 U + b0 dU/dn = g, -% -% Parameters: -% k : Order of accuracy -% m : Number of cells -% dx : Step size -% (optional) dc : a0 (2x1 vector for left and right vertices, resp.) -% (optional) nc : b0 (2x1 vector for left and right vertices, resp.) -% -% ---------------------------------------------------------------------------- -% SPDX-License-Identifier: GPL-3.0-or-later -% © 2008-2024 San Diego State University Research Foundation (SDSURF). -% See LICENSE file or https://www.gnu.org/licenses/gpl-3.0.html for details. -% ---------------------------------------------------------------------------- -% - - if nargin ~= 3 && nargin ~= 5 - error('grad:InvalidNumArgs', 'grad expects 3 or 5 arguments'); - end - - % for legacy code - if nargin == 3 - G = gradNonPeriodic(k, m, dx); - return; - end - - % Assertions: - assert(k >= 2, 'k >= 2'); - assert(mod(k, 2) == 0, 'k % 2 = 0'); - assert(m >= 2*k, ['m >= ' num2str(2*k) ' for k = ' num2str(k)]); - - % periodic boundary condition case - q = find(dc.*dc + nc.*nc,1); - - if isempty(q) - G = gradPeriodic(k, m, dx); - else - G = gradNonPeriodic(k, m, dx); - end -end diff --git a/examples/matlab_octave/wave1D_convergence/lap.m b/examples/matlab_octave/wave1D_convergence/lap.m deleted file mode 100644 index d9fc54bf..00000000 --- a/examples/matlab_octave/wave1D_convergence/lap.m +++ /dev/null @@ -1,13 +0,0 @@ -function L = lap(k, m, dx) -% Returns a m+2 by m+2 one-dimensional mimetic laplacian operator -% -% Parameters: -% k : Order of accuracy -% m : Number of cells -% dx : Step size - - D = div(k, m, dx); - G = grad(k, m, dx); - - L = D*G; -end diff --git a/examples/matlab_octave/wave1D_convergence/run_convergence_test.m b/examples/matlab_octave/wave1D_convergence/run_convergence_test.m index 53591a3c..02219e18 100644 --- a/examples/matlab_octave/wave1D_convergence/run_convergence_test.m +++ b/examples/matlab_octave/wave1D_convergence/run_convergence_test.m @@ -55,7 +55,7 @@ current_file = mfilename('fullpath'); [current_folder, ~, ~] = fileparts(current_file); addpath(current_folder); -mole_lib_path = fullfile(current_folder, '..', '..', '..', 'matlab_octave'); +mole_lib_path = fullfile(current_folder, '..', '..', '..', 'src', 'matlab_octave'); if exist(mole_lib_path, 'dir'), addpath(mole_lib_path); end fprintf('Running Comparative Convergence Test (Mimetic vs FD)\n'); @@ -63,86 +63,82 @@ mesh_sizes = [20, 40, 80, 160, 320]; n_sims = length(mesh_sizes); +c = 2; +m_finest = max(mesh_sizes); +dx_finest_mimetic = 1.0 / m_finest; +% CFL condition based on finest mesh: dt <= dx / c. +% We use a safety factor of 0.25 +dt_fixed = 0.25 * dx_finest_mimetic / c; -% Results Storage -results = struct('dx', zeros(n_sims,1), 'm', zeros(n_sims,1), ... +fprintf('Configuration: Fixed dt = %.5e (Ensures stability for all meshes)\n', dt_fixed); + +results = struct('dx_mim', zeros(n_sims,1), 'dx_fd', zeros(n_sims,1), ... + 'm', zeros(n_sims,1), ... 'err_mim', zeros(n_sims,1), 'rate_mim', zeros(n_sims,1), ... 'err_fd', zeros(n_sims,1), 'rate_fd', zeros(n_sims,1)); - -u_plot_mim = []; u_plot_fd = []; x_plot = []; m_plot = 0; - for i = 1:n_sims m = mesh_sizes(i); results.m(i) = m; - % Run Solvers - [results.err_mim(i), dx, u_mim, x] = wave1d_solver(m); - [results.err_fd(i), ~ , u_fd, ~] = wave1d_solver_fd(m); + % --- MIMETIC SOLVER (Staggered Grid) --- + [results.err_mim(i), results.dx_mim(i)] = wave1d_solver(m, dt_fixed); - results.dx(i) = dx; - - if i == 1 - u_plot_mim = u_mim; - u_plot_fd = u_fd; - x_plot = x; - m_plot = m; - end + % --- FD SOLVER (Nodal Grid, m+2 points) --- + [results.err_fd(i), results.dx_fd(i)] = wave1d_solver_fd(m, dt_fixed); - % Compute Rates + % Compute Convergence Rates if i > 1 - log_dx = log(results.dx(i-1) / results.dx(i)); - results.rate_mim(i) = log(results.err_mim(i-1) / results.err_mim(i)) / log_dx; - results.rate_fd(i) = log(results.err_fd(i-1) / results.err_fd(i)) / log_dx; + % Rate = log(E_prev/E_curr) / log(dx_prev/dx_curr) + log_dx_mim = log(results.dx_mim(i-1) / results.dx_mim(i)); + results.rate_mim(i) = log(results.err_mim(i-1) / results.err_mim(i)) / log_dx_mim; + + log_dx_fd = log(results.dx_fd(i-1) / results.dx_fd(i)); + results.rate_fd(i) = log(results.err_fd(i-1) / results.err_fd(i)) / log_dx_fd; end end -% --- 2. Display Table --- -fprintf('\n### Convergence Comparison: Mimetic vs Standard FD\n\n'); -fprintf('| Cells (m) | Mimetic Error | Rate | FD Error | Rate |\n'); -fprintf('| :--- | :--- | :--- | :--- | :--- |\n'); +% --- Display Table --- +fprintf('\n### Convergence Comparison: Mimetic vs Standard FD\n'); +fprintf('Note: Time step dt is fixed. Comparison targets spatial order ~2.0.\n\n'); +fprintf('| Cells(m) | Mimetic Err | Rate | FD Error | Rate |\n'); +fprintf('| :--- | :--- | :--- | :--- | :--- |\n'); + for i = 1:n_sims r_mim = '-'; r_fd = '-'; - if i > 1, r_mim = sprintf('%.2f', results.rate_mim(i)); r_fd = sprintf('%.2f', results.rate_fd(i)); end - fprintf('| %d | %.3e | %s | %.3e | %s |\n', mesh_sizes(i), results.err_mim(i), r_mim, results.err_fd(i), r_fd); + if i > 1 + r_mim = sprintf('%.2f', results.rate_mim(i)); + r_fd = sprintf('%.2f', results.rate_fd(i)); + end + fprintf('| %-8d | %.3e | %s | %.3e | %s |\n', ... + mesh_sizes(i), results.err_mim(i), r_mim, results.err_fd(i), r_fd); end -% --- 3. Plotting --- +% --- Optional Plotting +%{ if ~exist('OCTAVE_VERSION', 'builtin') || ~isempty(getenv('DISPLAY')) - - % Fig 1 & 2: Convergence Rates - figure(1); loglog(results.dx, results.err_mim, '-o', results.dx, results.err_fd, '-x'); - hold on; loglog(results.dx, results.err_mim(end)*(results.dx/results.dx(end)).^2, '--k'); - grid on; xlabel('dx'); ylabel('L2 Error'); legend('Mimetic','FD','O(h^2)'); title('Convergence vs dx'); - print('convergence_vs_dx.png', '-dpng'); - - figure(2); loglog(results.m, results.err_mim, '-o', results.m, results.err_fd, '-x'); - hold on; loglog(results.m, results.err_mim(1)*(results.m/results.m(1)).^(-2), '--k'); - grid on; xlabel('Cells (m)'); ylabel('L2 Error'); legend('Mimetic','FD','O(m^{-2})'); title('Convergence vs Cells'); - print('convergence_vs_cells.png', '-dpng'); - - % fig 3: Wave Profile - figure(3); - set(gcf, 'color', 'w'); - - % Exact solution - c = 2; T_final = 0.5; - u_exact_plot = sin(pi*x_plot)*cos(pi*c*T_final) + sin(2*pi*x_plot)*cos(2*pi*c*T_final); - - % Plot - plot(x_plot, u_plot_mim, '-o', 'LineWidth', 1.5, 'MarkerSize', 4, 'DisplayName', ['Mimetic (m=' num2str(m_plot) ')']); + % Figure 1: Error vs Grid Spacing (dx) + figure(1); + loglog(results.dx_mim, results.err_mim, '-o', 'DisplayName', 'Mimetic'); hold on; - plot(x_plot, u_plot_fd, '--x', 'LineWidth', 1.5, 'MarkerSize', 4, 'DisplayName', 'Finite Diff.'); - - x_fine = linspace(0, 1, 500); - u_exact_fine = sin(pi*x_fine)*cos(pi*c*T_final) + sin(2*pi*x_fine)*cos(2*pi*c*T_final); - plot(x_fine, u_exact_fine, 'k', 'LineWidth', 1, 'DisplayName', 'Exact Solution'); - - title(['Coarse Grid Comparison (High Error Visualization) - m = ' num2str(m_plot)]); - xlabel('x'); ylabel('u(x,T)'); - grid on; - legend('Location', 'best'); - - print('wave_profile_coarse.png', '-dpng'); - fprintf('\nGráficos generados. Revisa "wave_profile_coarse.png" para ver el error visible.\n'); + loglog(results.dx_fd, results.err_fd, '-x', 'DisplayName', 'FD'); + % Reference line O(h^2) using Mimetic dx + ref_y = results.err_mim(end) * (results.dx_mim / results.dx_mim(end)).^2; + loglog(results.dx_mim, ref_y, '--k', 'DisplayName', 'O(h^2)'); + grid on; xlabel('dx'); ylabel('L2 Error'); legend('Location', 'best'); + title('Convergence Comparison: Error vs dx'); + + % Figure 2: Error vs Number of Cells (m) + figure(2); + loglog(results.m, results.err_mim, '-o', 'DisplayName', 'Mimetic'); + hold on; + loglog(results.m, results.err_fd, '-x', 'DisplayName', 'FD'); + % Reference line O(m^-2) + ref_y_m = results.err_mim(1) * (results.m / results.m(1)).^(-2); + loglog(results.m, ref_y_m, '--k', 'DisplayName', 'O(m^{-2})'); + grid on; xlabel('Cells (m)'); ylabel('L2 Error'); legend('Location', 'best'); + title('Convergence Comparison: Error vs Cells'); + + fprintf('\nPlots are commented out by default. Uncomment in script to view.\n'); end +%} diff --git a/examples/matlab_octave/wave1D_convergence/wave1d_solver.m b/examples/matlab_octave/wave1D_convergence/wave1d_solver.m index 6c3135ee..7b385fcb 100644 --- a/examples/matlab_octave/wave1D_convergence/wave1d_solver.m +++ b/examples/matlab_octave/wave1D_convergence/wave1d_solver.m @@ -1,4 +1,4 @@ -function [L2_error, dx, u_num_centers, x_centers] = wave1d_solver(m) +function [L2_error, dx, u_num_centers, x_centers] = wave1d_solver(m,dt) % WAVE1D_SOLVER Solves the 1D Wave Equation using Mimetic Finite Differences. % % formulation: d2u/dt2 = c^2 * div(grad(u)) @@ -22,11 +22,7 @@ dx = (b-a)/m; % Grid spacing c = 2; % Wave speed T_final = 0.5; % Simulation duration - - % Time step setup (CFL condition for stability) - dt = dx / (4*c); Nt = ceil(T_final/dt); - dt = T_final / Nt; % Coordinate system: Cell centers (staggered grid) % Used for evaluating initial functions on the interior nodes. diff --git a/examples/matlab_octave/wave1D_convergence/wave1d_solver_fd.m b/examples/matlab_octave/wave1D_convergence/wave1d_solver_fd.m index 15946295..70a21ed6 100644 --- a/examples/matlab_octave/wave1D_convergence/wave1d_solver_fd.m +++ b/examples/matlab_octave/wave1D_convergence/wave1d_solver_fd.m @@ -1,4 +1,4 @@ -function [L2_error, dx, u_num_centers, x_centers] = wave1d_solver_fd(m) +function [L2_error, dx, u_num_centers, x_centers] = wave1d_solver_fd(m,dt) % WAVE1D_SOLVER_FD Solves the 1D Wave Equation using Standard Finite Differences. % % formulation: d2u/dt2 = c^2 * d2u/dx2 @@ -12,8 +12,8 @@ % Outputs: % L2_error : Discrete L2 norm error against exact solution. % dx : Grid spacing. -% u_num_centers : Numerical solution vector (interior points). -% x_centers : Coordinate vector of cell centers. +% u_num : Numerical solution vector +% % ========================================================================= % 1. Physical Parameters and Grid Configuration @@ -22,31 +22,23 @@ dx = (b-a)/m; % Grid spacing c = 2; % Wave speed T_final = 0.5; % Simulation duration - - % Time step setup - % We use exactly the same dt as the Mimetic solver to ensure a - % "fair comparison", isolating spatial discretization errors. - dt = dx / (4*c); Nt = ceil(T_final/dt); - dt = T_final / Nt; - - % Coordinate system: Cell centers - x_centers = (a + dx/2 : dx : b - dx/2)'; + % Comparison: Mimetic uses m cells. FD uses m+2 nodes to cover same domain. + N = m + 2; + x_nodes = linspace(a, b, N)'; + dx = x_nodes(2) - x_nodes(1); % Exact nodal spacing % ========================================================================= % 2. Standard Finite Difference Operator (Tridiagonal Matrix) % ========================================================================= - % Stencil: 2nd order Central Difference approximation - % d2u/dx2 approx (u_{i+1} - 2u_i + u_{i-1}) / dx^2 - n = m + 2; % Augmented size to include boundary points - e = ones(n, 1); + e = ones(N, 1); % Construct sparse tridiagonal matrix with diagonals [1, -2, 1] % -1: Lower diagonal % 0: Main diagonal % +1: Upper diagonal - L = spdiags([e -2*e e], -1:1, n, n); + L = spdiags([e -2*e e], -1:1, N, N); L = L / dx^2; % Boundary Conditions (Explicit Dirichlet u=0) @@ -61,14 +53,14 @@ % ========================================================================= % 3. Initial Conditions % ========================================================================= - u = zeros(n, 1); + u = zeros(N, 1); % Initialize interior points ICU = @(x) sin(pi*x) + sin(2*pi*x); - u(2:end-1) = ICU(x_centers); + u = ICU(x_nodes); % Initialize velocity (du/dt = 0) - v = zeros(n, 1); + v = zeros(N, 1); % ========================================================================= % 4. Time Integration (Velocity Verlet) @@ -92,14 +84,12 @@ % ========================================================================= % 5. Error Analysis % ========================================================================= - % Analytical solution evaluated at cell centers - u_exact_centers = sin(pi*x_centers)*cos(pi*c*T_final) + ... - sin(2*pi*x_centers)*cos(2*pi*c*T_final); + % Analytical solution evaluated at nodes + u_exact_all = sin(pi*x_nodes)*cos(pi*c*T_final) + sin(2*pi*x_nodes)*cos(2*pi*c*T_final); - % Extract interior numerical solution - u_num_centers = u(2:end-1); + u_num_internal = u(2:end-1); + u_exact_internal = u_exact_all(2:end-1); - % Compute discrete L2 Error Norm - diff = u_num_centers - u_exact_centers; + diff = u_num_internal - u_exact_internal; L2_error = sqrt(sum(diff.^2) * dx); end diff --git a/examples/matlab_octave/wave1D_convergence/wave_profile_coarse.png b/examples/matlab_octave/wave1D_convergence/wave_profile_coarse.png deleted file mode 100644 index f8f80682568f3a0faec436095b7911a8b5150bcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46951 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%0D?a6O~dLur*?FAiLc|l@fNB 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 Date: Wed, 25 Feb 2026 14:09:53 -0300 Subject: [PATCH 3/3] Update path configuration for convergence test Signed-off-by: Martin Armoa <87256238+tin7@users.noreply.github.com> --- .../matlab_octave/wave1D_convergence/run_convergence_test.m | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/matlab_octave/wave1D_convergence/run_convergence_test.m b/examples/matlab_octave/wave1D_convergence/run_convergence_test.m index 02219e18..bf6eabd6 100644 --- a/examples/matlab_octave/wave1D_convergence/run_convergence_test.m +++ b/examples/matlab_octave/wave1D_convergence/run_convergence_test.m @@ -52,9 +52,8 @@ clear; clc; close all; % --- 1. Path Configuration --- -current_file = mfilename('fullpath'); -[current_folder, ~, ~] = fileparts(current_file); -addpath(current_folder); + +addpath('../../../src/matlab_octave'); mole_lib_path = fullfile(current_folder, '..', '..', '..', 'src', 'matlab_octave'); if exist(mole_lib_path, 'dir'), addpath(mole_lib_path); end