IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Calcul de l'énergie macroscopique d'un gaz par la méthode de Montecarlo


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut Calcul de l'énergie macroscopique d'un gaz par la méthode de Montecarlo
    Bonjour,
    nous avons un TP à l'école où l'on doit calculer l'énergie d'un gaz (atomique) par la méthode de Montecarlo.
    Voici le concept "en gros":
    -On travail dans un espace canonique
    -On place aléatoirement des atomes de gaz dans la boite
    -On calcul l'énergie du système E1
    -Aléatoirement on sélectionne un atome et il bouge
    -On calcul l'énergie nouvellement définie du système E2
    -Si E2-E1<0 on accepte le nouveau système
    -Si E2-E1>0 on accepte le nouveau système avec la probabilité exp(-(E2-E1)/kbT)
    -On répète ça x fois, le but étant d'avoir une énergie moyenne qui converge

    L'énergie du système est pour nous la somme des potentiels de Lennard-Jones.

    Notre problème est que l'on obtient des résultats incohérents. Si on met un pas trop élevé, il y a des sauts d'énergie qui devraient être refusés. On a codé deux programmes l'un deux utilisant deux tableaux pour les coordonnées x et y, et l'énergie baisse très bas puis remonte ce qui ne devrait pas être le cas. De plus l'énergie finale obtenue est négative alors qu'elle devrait être positive.

    On essaye de débuguer le programme depuis hier déjà et on est a court d'idées.

    Merci !
    Fichiers attachés Fichiers attachés
    • Type de fichier : c main.c (4,2 Ko, 71 affichages)
    • Type de fichier : h main.h (738 octets, 70 affichages)

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Bonjour,

    Quelle est la formule mathématique du potentiel?
    attention, dans selection, rand() ne doit pas être utilisé avec un modulo, la sélection risque d'être biaisée.
    il faut faire comme dans move_atom.
    Essaie donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int selection() {
        return ( ((double)rand())/RAND_MAX)*ATOM_MAX;
    }
    Dans move_atom, la validation de la boite est mal faite pour les cas x ou y < 0
    0 qui devrait être XMIN et YMIN

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut
    Bonjour,

    merci pour les indications, en fait le prof s'était trompé et la valeur attendue était bien négative.
    On a cependant pu améliorer quelques petites choses, dont le MIN.

    à bientôt,

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Super.

    Comme ca, tu te souviendras: si un résultat est faux, ca peut venir du calcul, des données, ou de la manière de juger le résultat.

    N'hésite pas à passer la discussion comme résolue

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul de l'énergie
    Par Papillon de mer dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 20/06/2012, 14h53
  2. Réponses: 3
    Dernier message: 16/04/2009, 09h18
  3. [SNAKES] Calcul de l'énergie Ballon de Cohen et calcul de Normale
    Par bartmanb dans le forum Traitement d'images
    Réponses: 19
    Dernier message: 19/05/2008, 16h12
  4. Réponses: 7
    Dernier message: 12/06/2007, 15h05
  5. Réponses: 4
    Dernier message: 28/09/2005, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo