0% ont trouvé ce document utile (0 vote)
10 vues5 pages

Courbe d'ouverture de fissure critique

Code MATLAB sur les fissures

Transféré par

briceassoua019
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues5 pages

Courbe d'ouverture de fissure critique

Code MATLAB sur les fissures

Transféré par

briceassoua019
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

% Code MATLAB pour la courbe d'ouverture de fissure critique-temps

% Simulation des données d'ouverture de fissure critique

clear; clc; close all;

%% Paramètres de la poutre

L = 4; % Longueur de la poutre (m)

h = 0.3; % Hauteur de la poutre (m)

appui_gauche = 0;

appui_droit = L;

%% Données simulées d'ouverture de fissure critique dans le temps

% Simulation basée sur le comportement typique de fluage

temps = 0:100:10000; % Temps en heures (10000h ≈ 14 mois)

ouverture_critique = 0.1 + 0.3 * (1 - exp(-temps/3000)) + 0.02 * sqrt(temps/100);

% Position de la fissure critique sur la poutre (exemple)

position_fissure_critique = 1.8; % Position en mètres depuis l'appui gauche

%% Figure 1: Courbe ouverture de fissure critique-temps (Figure B-25)

figure('Position', [100 100 1200 500])

subplot(1,2,1)

plot(temps, ouverture_critique, 'b-', 'LineWidth', 2)

hold on
plot(temps, ouverture_critique, 'ro', 'MarkerSize', 4, 'MarkerFaceColor', 'r')

grid on

xlabel('Temps (heures)')

ylabel('Ouverture de fissure critique (mm)')

title('Figure B-25: Courbe ouverture de fissure critique-temps', 'FontSize', 12)

legend('Ouverture critique', 'Points de mesure', 'Location', 'northwest')

% Ajout de tendance

p = polyfit(temps, ouverture_critique, 1);

tendance = polyval(p, temps);

plot(temps, tendance, 'g--', 'LineWidth', 1.5, 'DisplayName', 'Tendance linéaire')

%% Figure 2: Visualisation de la poutre avec fissure critique

subplot(1,2,2)

hold on

% Dessin de la poutre

rectangle('Position', [0 -h/2 L h], 'FaceColor', [0.9 0.9 0.9], ...

'EdgeColor', 'k', 'LineWidth', 2)

% Dessin des appuis

plot([appui_gauche-0.2 appui_gauche+0.2], [-h/2-0.05 -h/2-0.05], ...

'k-', 'LineWidth', 4, 'Color', [0.5 0.5 0.5])

plot([appui_droit-0.2 appui_droit+0.2], [-h/2-0.05 -h/2-0.05], ...

'k-', 'LineWidth', 4, 'Color', [0.5 0.5 0.5])


% Dessin de la fissure critique

ouv_actuelle = ouverture_critique(end); % Dernière valeur d'ouverture

x_fissure = position_fissure_critique;

largeur_fissure = ouv_actuelle/50; % Facteur d'échelle pour visualisation

% Fissure avec ouverture proportionnelle

plot([x_fissure x_fissure], [-h/2 h/2], 'r-', 'LineWidth', 3)

plot([x_fissure-largeur_fissure/2 x_fissure+largeur_fissure/2], ...

[0 0], 'r-', 'LineWidth', 4)

% Annotation de l'ouverture

text(x_fissure+0.3, 0, ...

sprintf('Ouv. crit.: %.2f mm', ouv_issure_actuelle), ...

'BackgroundColor', 'white', 'EdgeColor', 'red')

% Configuration de la visualisation

axis equal

xlim([-0.5 L+0.5])

ylim([-h/2-0.1 h/2+0.1])

xlabel('Position longitudinale (m)')

ylabel('Hauteur (m)')

title('Poutre sur deux appuis - Fissure critique')

grid on
% Légende

legend('Poutre', 'Appuis', 'Fissure critique', 'Ouverture', 'Location', 'northeast')

%% Affichage des informations

fprintf('=== INFORMATIONS SUR LA FISSURE CRITIQUE ===\n')

fprintf('Position de la fissure critique: %.2f m\n', position_fissure_critique)

fprintf('Ouverture initiale: %.3f mm\n', ouverture_critique(1))

fprintf('Ouverture finale: %.3f mm\n', ouverture_critique(end))

fprintf('Augmentation totale: %.3f mm\n', ouverture_critique(end)-ouverture_critique(1))

fprintf('Taux d''augmentation: %.6f mm/heure\n', p(1))

%% Animation de l'évolution temporelle (optionnelle)

figure('Position', [100 600 800 400])

for i = 1:10:length(temps)

clf

hold on

% Poutre

rectangle('Position', [0 -h/2 L h], 'FaceColor', [0.9 0.9 0.9], ...

'EdgeColor', 'k', 'LineWidth', 2)

% Appuis

plot([appui_gauche-0.2 appui_gauche+0.2], [-h/2-0.05 -h/2-0.05], ...

'k-', 'LineWidth', 4, 'Color', [0.5 0.5 0.5])

plot([appui_droit-0.2 appui_droit+0.2], [-h/2-0.05 -h/2-0.05], ...


'k-', 'LineWidth', 4, 'Color', [0.5 0.5 0.5])

% Fissure avec ouverture actuelle

ouv_actuelle = ouverture_critique(i);

largeur_fissure = ouv_actuelle/50;

plot([x_fissure x_fissure], [-h/2 h/2], 'r-', 'LineWidth', 3)

plot([x_fissure-largeur_fissure/2 x_fissure+largeur_fissure/2], ...

[0 0], 'r-', 'LineWidth', 4)

% Informations

text(0.5, h/2+0.05, sprintf('Temps: %d heures', temps(i)), 'FontSize', 12)

text(0.5, h/2+0.02, sprintf('Ouverture: %.3f mm', ouv_actuelle), 'FontSize', 12)

axis equal

xlim([-0.5 L+0.5])

ylim([-h/2-0.1 h/2+0.1])

xlabel('Position (m)')

ylabel('Hauteur (m)')

title('Évolution de l''ouverture de la fissure critique dans le temps')

grid on

drawnow

pause(0.1)

end

Vous aimerez peut-être aussi