Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/07/2010, à 05:06

hani1984

bruit sous freefem

Salut à tout


j'écris un programme de type gardien  sous matlab, et à l'aide de fonction Rand, je étudier la stabilité de cette programme,  le problème lorsque je traduit cette programme sous freefem, qui est plus rapide et plus efficace pour la résolution des problème variationnelle je ne pas pu à étudier la stabilité. le problème que je ne pas trouver dans la bibliothèque de Freefem  une fonction pour faire un bruit où bien un lissage d'une tel fonction


Merci d'avance pour aide

Hors ligne

#2 Le 28/07/2010, à 13:26

Le Farfadet Spatial

Re : bruit sous freefem

Salut à tous !

   Bon, pour commencer, je pense que tu n'as pas du tout posté dans la bonne section. Développement/programmation serait plus approprié.

   Ensuite, je ne saisis pas tout. Un problème variationnel, je sais ce que c'est. FreeFEM, je connais, si toutefois il s'agit de celui-ci :

http://www.freefem.org/

   En revanche, je me demande ce que tu entends par problème gardien. S'agit-il d'un problème de gradient ? Si oui, lequel ?

   Peux-tu poster ton code ?

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#4 Le 28/07/2010, à 16:09

hani1984

Re : bruit sous freefem

Salut à tout.

Merci Farfadet,

le problème il s'agit de minimisation de fonctionnelle de Khon-Vogelius en utilisant l'algorithme de gardien.

il s'agit de résolution de deux problème direct l'une de type Neumann et l'autre de type Dirichlet(u=f sur le bord). je teste cette programme avec des fonction analytique il donne une bon résultat.

Mon problème comment je peut décrit " un bruit et lissage " de la fonction " f ".


merci

Hors ligne

#5 Le 28/07/2010, à 23:30

Le Farfadet Spatial

Re : bruit sous freefem

Salut à tous !

hani1984 a écrit :

le problème il s'agit de minimisation de fonctionnelle de Khon-Vogelius en utilisant l'algorithme de gardien.

Je suis désolé, mais j'ai besoin de plus d'informations : je vois très bien le rapport entre la fonctionnelle de Khon-Vogelius et les problèmes de Dirichlet et de Neuman. Dans ce cadre, un calcul de gradient me semble parfaitement approprié, voir par exemple : http://canum2006.univ-rennes1.fr/expose … raites.pdf.

   En revanche, la seule chose qui me vient à l'esprit au sujet de l'algorithme du gardien, c'est ce genre de choses : http://webloria.loria.fr/~jcohen/upload … naison.pdf et là, je ne vois pas le rapport.

Mon problème comment je peut décrit " un bruit et lissage " de la fonction " f ".

Je ne suis pas certain de pouvoir t'aider si tu me montres ton code. En revanche, je suis certain de ne pas pouvoir t'être d'une quelconque aide si tu ne me le montre pas : j'ai besoin de comprendre d'abord.

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#6 Le 01/08/2010, à 09:48

no_spleen

Re : bruit sous freefem

Bonjour,

Je ne comprend pas non plus très bien la question, mais j'ai peu être une piste. Ce que tu veux faire c'est un genre d'analyse de sensibilité de ta méthode en appliquant des petites erreurs sur tes conditions aux limites, récupérer la réponse que tu lisses pour ensuite la comparer à la bonne réponse ?

Si oui, cela ne dois pas être impossible. Je ne connais pas freefem mais je vois que c'est en c++, tu dois donc pouvoir ajouter des fonctions en c++.

1) Pour le bruit, il suffit de générer un vecteur de taille égale à ton nombre de conditions aux limites, le remplir avec une liste de nombres aléatoires suivant une distribution normale dont l'écart-type dépendra de l'amplitude de ton bruit et dont la moyenne sera 0, et de l'ajouter a ton vecteur de conditions aux limites. Pour cela, il y a des librairies scientifiques qui te fournissent des algo de génération de nombres pseudo-aléatoires. Le farfadet te renseignera mieux que moi.

2) Pour le lissage, c'est pareil. Si tu peux obtenir ton vecteur de solution avec les coordonnées des points, il y a des librairies scientifiques pour cela. Le farfadet te renseignera encore une fois mieux que moi.

Voilà ce que j'ai compris du problème. J'espère ne pas être trop à coté de la plaque...

Hors ligne

#7 Le 01/08/2010, à 18:42

Le Farfadet Spatial

Re : bruit sous freefem

Salut à tous !

no_spleen a écrit :

Ce que tu veux faire c'est un genre d'analyse de sensibilité de ta méthode en appliquant des petites erreurs sur tes conditions aux limites, récupérer la réponse que tu lisses pour ensuite la comparer à la bonne réponse ?

C'est ce que j'entrevois moi aussi.

Si oui, cela ne dois pas être impossible. Je ne connais pas freefem mais je vois que c'est en c++, tu dois donc pouvoir ajouter des fonctions en c++.

Freefem, c'est à la fois, en quelque sorte, une bibliothèques C++ comprenant des classes et des fonctions dédiées à la méthode des éléments finis (maillage et solveur) et un langage dédié, dans lequel on donne les équations de son problème, qui est automatiquement résolu par la méthode des éléments finis. Je pense que Hani1984 utilise la partie langage (qui se base sur la bibliothèque).

   Cela dit – je me permets de le dire, parce que j'ai suivi les cours donnés par l'équipe de Freefem –, l'organisation du code de Freefem a un petit côté abscons. Deux livres permettent d'avoir des points d'entrées vers Freefem :

      Introduction au calcul numérique
      Brigitte LUCQUIN et Olivier PIRONNEAU
      Masson

      Simulation numérique en C++
      Ionut DANAILA, Frédéric HECHT et Olivier PIRONNEAU
      Dunod

   À mon avis, pour le problème d'Hani1984, il n'est probablement pas besoin de toucher au code de Freefem. Toutefois, je suis encore un peu dans le flou et Hani1984 ne donne plus de signe de vie. J'espère pour lui qu'il a trouvé de l'aide.

Le farfadet te renseignera mieux que moi.

[…]

Le farfadet te renseignera encore une fois mieux que moi.

Diantre ! Tout reposerait-il sur mes frêles épaules ? Quelle angoisse…

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#8 Le 01/08/2010, à 18:47

no_spleen

Re : bruit sous freefem

Je ne voulais pas te rejeter toute la responsabilité des réponses ! Mais, comme tu le sais, je suis plus à l'aise en FORTRAN qu'en C++. J'imagine qu'en tant qu'utilisateur régulier de ce dernier, tu connais plus de librairies dédiées que moi.

Pour ma part, je connais la GSL, mais peut-être il y a mieux !?

EDIT : j'ai remplacé STL par GSL, mes doigts ont fourchés

Dernière modification par no_spleen (Le 01/08/2010, à 18:57)

Hors ligne

#9 Le 01/08/2010, à 19:13

Le Farfadet Spatial

Re : bruit sous freefem

Salut à tous !

no_spleen a écrit :

Je ne voulais pas te rejeter toute la responsabilité des réponses !

Ne t'en fais pas, ce n'était qu'une pointe d'humour en passant.

Pour ma part, je connais la stl, mais peut-être il y a mieux !?

La STL est nécessaire dans la programmation en C++ et il convient de l'utiliser également dans les codes d'éléments finis. Cela dit, elle n'est pas adaptée à la partie calcul (elle est très limitée à ce niveau).

   Dans l'absolu, je n'ai pas grand-chose à ajouter à ce que t'avait indiqué Omc à l'époque : utiliser Boost et Boost Numeric Bindings. Ceci en toute généralité, c'est-à-dire en gros lorsque l'on prend tout le codage à sa charge.

   En fonction du cas particulier, il peut exister des bibliothèques. Par exemple, pour la méthode des éléments finis, Freefem est très efficace.

   Je m'étais lancé dans le codage de plusieurs solveurs linéaires il y a un an, il faudrait que je dépoussière cela et que je le mette à disposition. Tiens, je vais le faire une fois que j'aurais vraiment fini de mettre mon serveur en place, n'hésites pas à me relancer à l'occasion.

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#10 Le 01/08/2010, à 19:16

Le Farfadet Spatial

Re : bruit sous freefem

Salut à tous !

no_spleen a écrit :

EDIT : j'ai remplacé STL par GSL, mes doigts ont fourchés

Tu as fait cette correction entre le moment où j'ai commencé à rédiger ma réponse et le moment où j'ai posté.

   La GSL est très bien, mais c'est une bibliothèque C. Pour ma part, je ne l'utilise pas en C++.

   À bientôt.

   Le Farfadet Spatial

Hors ligne