Vous êtes sur la page 1sur 3

Methode python

import numpy as np

from scipy.optimize import minimize

# Données expérimentales

shear_rate = np.array([0.0137, 0.0274, 0.0434, 0.0866, 0.137, 0.274, 0.434, 0.866, 1.37, 2.74, 4.34,
5.46, 6.88])

viscosity = np.array([3220.0, 2190.0, 1640.0, 1050.0, 766.0, 490.0, 348.0, 223.0, 163.0, 104.0, 76.7,
68.1, 58.2])

# Modèle de loi puissance

def power_law_model(params, shear_rate):

eta_0, beta = params

return eta_0 * shear_rate**(beta - 1)

# Fonction d'objectif à minimiser (moindres carrés)

def objective_function(params, shear_rate, viscosity):

predicted_viscosity = power_law_model(params, shear_rate)

return np.sum((predicted_viscosity - viscosity)**2)

# Paramètres initiaux

initial_params = [1000.0, 0.5]

# Minimisation de la fonction d'objectif

result = minimize(objective_function, initial_params, args=(shear_rate, viscosity))

# Récupération des paramètres ajustés

eta_0_opt, beta_opt = result.x

# Affichage des résultats

print(f"Consistance (eta_0) : {eta_0_opt}")

print(f"Indice de pseudoplasticité (beta) : {beta_opt}")


Methode Matlab

% Données expérimentales

shear_rate = [0.0137, 0.0274, 0.0434, 0.0866, 0.137, 0.274, 0.434, 0.866, 1.37, 2.74, 4.34, 5.46, 6.88];

viscosity = [3220.0, 2190.0, 1640.0, 1050.0, 766.0, 490.0, 348.0, 223.0, 163.0, 104.0, 76.7, 68.1, 58.2];

% Modèle de loi puissance

power_law_model = @(params, shear_rate) params(1) * shear_rate.^(params(2) - 1);

% Paramètres initiaux

initial_params = [1000.0, 0.5];

% Ajustement du modèle aux données expérimentales

optimal_params = lsqcurvefit(power_law_model, initial_params, shear_rate, viscosity);

% Récupération des paramètres ajustés

eta_0_opt = optimal_params(1);

beta_opt = optimal_params(2);

% Affichage des résultats

fprintf('Consistance (eta_0) : %.4f\n', eta_0_opt);

fprintf('Indice de pseudoplasticité (beta) : %.4f\n', beta_opt);

% Tracé des résultats

shear_rate_fit = linspace(min(shear_rate), max(shear_rate), 100);

viscosity_fit = power_law_model(optimal_params, shear_rate_fit);

figure;

plot(shear_rate, viscosity, 'o', shear_rate_fit, viscosity_fit, '-');

xlabel('Taux de cisaillement (s^{-1})');

ylabel('Viscosité (Pa.s)');

title('Ajustement de la loi puissance');


legend('Données expérimentales', 'Modèle ajusté', 'Location', 'Best');

grid on;

Vous aimerez peut-être aussi