Equations de Mainardi-Codazzi

Le but de cette page est de montrer, sur un exemple bien précis (les équations de compatibilité de Mainardi-Codazzi), comment utiliser Mathematica pour remplacer une suite de calculs symboliques avec risque d'erreur élevé …
Le fait de pouvoir faire faire ces calculs par ce logiciel suppose que la compréhension du déroulement de ces calculs est maîtrisée.
Pour accélérer la disponibilité de ces équations, je réfère les lecteurs éventuels aux commentaires faits au cours.
Comme d'habitude, l'organisation du texte est faite de manière à permettre un passage rapide des commandes de cette page dans Mathematica.
(* Mainardi-Codazzi*)

xuu[u_,v_]:= a1[u,v] xu[u,v] + b1[u,v] xv[u,v] + c1[u,v] nu[u,v]
xuv[u_,v_]:= a2[u,v] xu[u,v] + b2[u,v] xv[u,v] + c2[u,v] nu[u,v]
xvv[u_,v_]:= a3[u,v] xu[u,v] + b3[u,v] xv[u,v] + c3[u,v] nu[u,v]

Première équation de compatibilité :

eq1 = D[xuu[u,v],v] - D[xuv[u,v],u]==0

On utilise les équations de Weingarten :

wein1 = Rule[D[nu[u,v],u],p11[u,v] xu[u,v] + p12[u,v] xv[u,v]]
wein2 = Rule[D[nu[u,v],v],p21[u,v] xu[u,v] + p22[u,v] xv[u,v]]

eq12 = eq1/.{wein1,wein2}

reg11 = Rule[D[xu[u,v],u],xuu[u,v]]
reg12 = Rule[D[xu[u,v],v],xuv[u,v]]
reg21 = Rule[D[xv[u,v],u],xuv[u,v]]
reg22 = Rule[D[xv[u,v],v],xvv[u,v]]

eq123 = eq12 /. {reg11,reg12,reg21,reg22}

Deuxième équation de compatibilité :

eq2 = D[xuv[u,v],v] - D[xvv[u,v],u]==0

eq22 = eq2 /. {wein1,wein2}
eq223 = eq22 /. {reg11,reg12,reg21,reg22}
(* Puisque xu,xv et nu sont linéairement indépendants, leurs coefficients doivent être nuls *)
(* on considère les coefficients de nu dans eq123 et eq223 *)

coefnu1 = Coefficient[eq123[[1]],nu[u,v]]
coefnu2 = Coefficient[eq223[[1]],nu[u,v]]

On organise la substitution des coefficients ai, bi et ci:

sub1 = Thread[Rule[{c1[u, v], c2[u, v], c3[u, v]}, {LL, MM, NN}]]
sub2 = Thread[Rule[{a1[u, v], a2[u, v], a3[u, v]}, {g111, g121, g221}]]
sub3 = Thread[Rule[{b1[u, v], b2[u, v], b3[u, v]}, {g112, g122, g222}]]

On exécute les substitutions adéquates :

conu1 = coefnu1 /. sub1 /. sub2 /. sub3 (* M - C 1*)
conu2 = coefnu2 /. sub1 /. sub2 /. sub3 (* M - C 2*)

Retour à ma page personnelle



©jmt : création le 001122 - dernière modification le 011121