Précédent   Forum des professionnels en informatique > Autres langages > Algorithmes > Mathématiques
Mathématiques Forum d'entraide sur les mathématiques et l'algorithmique numérique. Avant de poster : Cours d'algorithmique numérique
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 08h16   #1
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 82
Points : 34
Points : 34
Par défaut A propos des elements finis

Bonjour,
j'ai peur d'etre legerement hors sujet avec cette question, et je m'en excuse par avance, mais de memoire je sais qu'il y a sur le forum des specialistes des elements finis, a qui j'aimerai demander conseil.
Voila j'ai un peu de temps en cette periode festive, je me suis donc fait un petit mailleur ainsi qu'un solveur en elements finis. Cependant une question me turlupine, je la crois stupide, mais la je seche.

Le but du jeu avec cette methode est de reecrire une equation differentielle sous sa forme faible, ceci etant fait de discretiser et de reecrire le systeme d'equations tel que : A.X=F, avec A la matrice de rigidite, X le vecteur solution tel que X=A^(-1).F et F le vecteur second membre.

En gros si je connais A et F je determine X, jusqu'ici pas de probleme. Cependant, comment procede-on dans le cas ou : laplacien U = exp(U), c'est a dire dans le cas ou F depend explicitement de U ?

Merci par avance, et desole pour les accents je n'ai sous la main qu'un vieu clavier georgien...
Yann.
yann_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 16h07   #2
Rédacteur/Modérateur
 
Jean-Marc Blanc
Inscription : avril 2007
Messages : 2 657
Détails du profil
Informations personnelles :
Nom : Jean-Marc Blanc
Âge : 71

Informations forums :
Inscription : avril 2007
Messages : 2 657
Points : 3 493
Points : 3 493
Salut!
Citation:
laplacien U = exp(U)
Ce que tu cherches doit être exclusivement à gauche du signe = . Tu dois donc écrire et résoudre
Citation:
laplacien U - exp(U) = 0
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels
Formation, conseil, développement

Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)
FR119492 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 06h00   #3
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 82
Points : 34
Points : 34
Bonjour,
merci beaucoup pour votre reponse.
Ma question etait sans doute mal posee. Mais je pense avoir compris entre temps. Apres reecriture de cette equation sous forme variationelle discrete, le systeme est self consistant. Il est donc impossible de factoriser la matrice de rigidite par le champ de vecteur U. J'espere ne pas dire de betise.
N'etant pas familie de ce genre de methode je me demandais comment traiter ce genre de cas. Mais il semble que la reponse soit dans la question, il suffit de le traiter de facon self consistant, n'est pas ?
Cordialement, Yann.
yann_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 10h35   #4
Expert Confirmé Sénior
 
Jean-Michel BORLOT
Fabricant et casseur d'avions
Inscription : avril 2004
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Jean-Michel BORLOT
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Fabricant et casseur d'avions
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2004
Messages : 2 984
Points : 4 691
Points : 4 691
Salut

Citation:
Envoyé par yann_m Voir le message
Bonjour,
N'etant pas familie de ce genre de methode je me demandais comment traiter ce genre de cas. Mais il semble que la reponse soit dans la question, il suffit de le traiter de facon self consistant, n'est pas ?
Je ne suis pas familier non plus, j'interviens plus facilement en aval de la théorie (je suis un peu allergique au laplacien depuis que j'ai brulé mes notes d'école!), mais ça ne serait pas le genre de problème à traiter en différences finies plutôt qu'en éléments finis?
__________________
"Errare humanum est, sed perseverare diabolicum"

Si vous avez un terrain constructible dans l'est du Gers à vendre pas trop cher, contactez-moi par MP.

Ma page sur DVP.com : articles Java/Jogl
Mon site www.plegat.org
plegat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 15h04   #5
Rédacteur/Modérateur
 
Jean-Marc Blanc
Inscription : avril 2007
Messages : 2 657
Détails du profil
Informations personnelles :
Nom : Jean-Marc Blanc
Âge : 71

Informations forums :
Inscription : avril 2007
Messages : 2 657
Points : 3 493
Points : 3 493
Salut!
Citation:
le genre de problème à traiter en différences finies plutôt qu'en éléments finis?
La méthode des différences finies est certainement la plus simple à comprendre, mais elle ne s'applique bien qu'à des géométries particulières. Dans les autres cas, la méthode des éléments finis est préférable.
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels
Formation, conseil, développement

Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)
FR119492 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 10h24   #6
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 82
Points : 34
Points : 34
Salut a vous, oui l'idee est de me construire un outil capable d'integrer des geometrie de maillage non-lineaire, d'ou mon idee des elements finis. Je continue a prospecter et je posterai un message quand tout sera au point. Merci a vous en tout cas.
Yann.
yann_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 12h07   #7
Rédacteur/Modérateur
 
Jean-Marc Blanc
Inscription : avril 2007
Messages : 2 657
Détails du profil
Informations personnelles :
Nom : Jean-Marc Blanc
Âge : 71

Informations forums :
Inscription : avril 2007
Messages : 2 657
Points : 3 493
Points : 3 493
Salut!
Citation:
des geometrie de maillage non-lineaire
Jamais vu ça. Est-ce que ce n'est pas plutôt l'équation qui est non linéaire?
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels
Formation, conseil, développement

Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)
FR119492 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 04h19   #8
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 82
Points : 34
Points : 34
Bonjour,
oui absolument cette équation est non linéaire. Je sais que la méthode de Newton est applicable avec les éléments finis cependant, ma matrice de masse n'est pas factorisable dans ce cas précis. Je précise :
Si on part de l'équation suivante : Laplacien(u)+exp(-u)= 0
je réécris cette équation sous sa forme variationnelle avec w la fonction test :

\int_V grad(w).grad(u) dV + \int_V w.exp(u) dV = f

la question est donc de savoir comment réécrire ce système sous cette forme :

K_ij . u_j = f_i

C'est ce point qui me pose problème pour le moment.
Merci d'avance Yann.
yann_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 12h48   #9
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 82
Points : 34
Points : 34
Salut,
finalement j'ai bouquiné un peu il semble que la méthode de Newton-Raphson fonctionne, cependant est-elle efficace et existe-il une méthode qui permette de converger plus rapidement ?
Cordialement,
Yann.
yann_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 23h49   #10
Membre émérite
 
Homme
Chercheur
Inscription : mars 2010
Messages : 733
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : mars 2010
Messages : 733
Points : 931
Points : 931
Bonsoir,

Citation:
Envoyé par yann_m Voir le message
je réécris cette équation sous sa forme variationnelle avec w la fonction test :

\int_V grad(w).grad(u) dV + \int_V w.exp(u) dV = f

la question est donc de savoir comment réécrire ce système sous cette forme :

K_ij . u_j = f_i
Je réécris ta forme variationnelle sous une forme plus adéquate, à savoir en ayant un seconde membre écrit sous forme intégrale :
\int_V grad(w).grad(u) dV + \int_V w.exp(u) dV = \int_V w.g dV
Dans ton problème, la solution u appartient à un espace de Hilbert H. C'est dans cet espace que tu as dû choisir tes fonctions tests. Cet espace est de dimension infinie. Pour obtenir un système matriciel, il faut d'abord trouver une formulation variationnelle discrète de ton problème, c'est-à-dire un espace X_h de dimension finie qu'on appelle espace d'éléments finis (le paramètre h reflétant la densité de ton maillage). Evidemment, l'espace X_h est choisi de manière à ce qu'il tende vers H quand h tend vers 0 : plus les cellules de ton maillage sont "petites", plus l'erreur faite en approchant H par X_h est petite également. En d'autres termes, on va approcher la fonction u de H par une fonction u_h de X_h. De même, les fonctions tests vont être prises dans X_h; on les notes w_h pour l'homogénéité des notations. La formulation discrète de ton problème est : trouver u_h dans X_h telle que
\int_V grad(w_h).grad(u_h) dV + \int_V w_h.exp(u_h) dV = \int_V w_h.g dV,
pour tout w_h de X_h.
Le fait de projeter ton problème posé dans l'espace infini H dans un espace fini X_h est ce qu'on appelle la méthode de Galerkin. Tout l'intérêt du procédé est que, en se retrouvant en dimension finie, on peut choisir les fonctions w_h de manière à ce qu'ils forment une base de X_h. Posons N=dim(X_h) et soit (w1,w2,...,wN) une base de X_h. Pour 1<=i<=N, on a
\int_V grad(wi).grad(u_h) dV + \int_V wi.exp(u_h) dV = \int_V wi.g dV.
De plus, la fonction u_h se décompose de manière unique dans la base de X_h :
u_h = somme des aj*wj pour j allant de 1 à N (les aj sont des scalaires).
On obtient :
somme sur j de (\int_V grad(wi).grad(wj) dV + \int_V wi.exp(wj) dV)a_j = \int_V wi.g dV.
Voilà, tu as obtenu ton système matriciel K.a= f, avec
Kij = \int_V grad(wi).grad(wj) dV + \int_V wi.exp(wj) dV,
fi = \int_V wi.g dV,
a le vecteur formé par les scalaires aj.

La question qui reste en suspens est comment choisir l'espace X_h et sa base. Cela dépend (des cellules) de ton maillage et de l'espace H.
Aleph69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 00h03   #11
Membre émérite
 
Homme
Chercheur
Inscription : mars 2010
Messages : 733
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : mars 2010
Messages : 733
Points : 931
Points : 931
Citation:
Envoyé par yann_m Voir le message
j'ai bouquiné un peu il semble que la méthode de Newton-Raphson fonctionne
Oui, c'est même la plus utilisée pour résoudre des problèmes non-linéaires avec la méthode des éléments finis.

Citation:
Envoyé par yann_m Voir le message
est-elle efficace
Oui, si la solution initiale dont tu pars est suffisamment proche de la solution du problème que tu cherches. Dans le cas contraire, elle diverge (oups!).

Citation:
Envoyé par yann_m Voir le message
existe-il une méthode qui permette de converger plus rapidement ?
Quand elle converge, la méthode de Newton a un taux de convergence quadratique. A ma connaissance, on ne sait pas faire mieux dans le cas vectoriel. On peut un peu adapter l'algorithme aux équations pour aller un peu plus vite mais ça restera quadratique. Cela dit, le taux de convergence ne fait pas tout. Il faut aussi considérer la complexité de chaque itération de l'algorithme. Il est parfois intéressant de choisir une méthode qui converge moins rapidement mais dont les itérations coûtent moins cher. Dans certains cas, le temps de calcul global est inférieur à celui de la méthode de Newton. Sur ce sujet, je t'invite à te documenter sur les variantes de la méthode de Newton, et notamment sur les méthodes dites "quasi-Newton".
Aleph69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 00h55   #12
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 82
Points : 34
Points : 34
Salut,
merci beaucoup pour toutes ces précisions, sympa.
Je regarde ça demain,
Yann.
yann_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h25.


 
 
 
 
Partenaires

Hébergement Web