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

Calcul scientifique Python Discussion :

Utilisation de Python pour programmer les éléments finis


Sujet :

Calcul scientifique Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    ingénieur en travaux publics
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ingénieur en travaux publics
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut Utilisation de Python pour programmer les éléments finis
    saalm
    je suis un ingénieur en génie civil, et j'aime beaucoup utiliser la programmation pour développer mes propres petits logiciels,
    j'ai travaillé avec Delphi puis avec C++.
    mais pour des programmes de calcul d'ingénieur j'ai trouvé un peu long (voir très long!!!) d’utiliser le C++ pour ça, surtout quant il s'agit de travailler avec les éléments finis, donc j'ai pensé au MATLAB et j'ai travaillé un peu sur ce dernier, mais voir qu'il est un peu difficile de construire l’exécutable à partir d'un programme Matlab j'ai pensé à chercher un autre langage qui est facile (plus ou moins) et offre beaucoup de possibilité concernant les calculs scientifiques.
    Alors je demande vos avis, les experts, est ce que je peu compter sur Python pour développer des logiciels de calculs des élément finis, en pensant à les commercialiser? et quelles sont ses limites ce langage dans ce domaine?
    Merci d'avance
    Cordialement.

  2. #2
    dsy
    dsy est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 105
    Points : 142
    Points
    142
    Par défaut
    Salut

    Je vois deux limites : le déploiement et la performance.

    Il existe des outils pour Python afin de créer un exécutable mais le déploiement n'est pas aussi simple qu'un compilateur C ou C++. Tu peux avoir des difficultés pour intégrer des bibliothèques tierces et du code propriétaire (attention aux licences open-source).
    Exemple : http://hackerboss.com/how-to-distrib...-applications/
    L'article indique quelques solutions, tu peux aussi regarder pyqtdeploy.

    Python n'a intrinsèquement pas les mêmes performances que C/C++ ou même Java.
    Source : http://benchmarksgame.alioth.debian....4q/python.html
    C'est rarement intéressant d'implémenter un algorithme de calcul entièrement en Python. Il faut plus voir Python comme une "colle" entre différentes technologies. Tu devras utiliser des bibliothèques optimisées pour le calcul.
    Regarde du coté des bibliothèques sfepy, scipy et numpy.

  3. #3
    Membre à l'essai
    Homme Profil pro
    ingénieur en travaux publics
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ingénieur en travaux publics
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Merci dsy pour la repense.
    une autre question: et si j'utilise Matlab pour coder ce que je veux est ce que ça sera possible de le compiler et le distribuer facilement.
    ce qui m’intéresse le plus pour le langage que j'utilise est qu'il m'offre la possibilité de créer des interface graphique avec une certaine simplicité, et je voix que c'est compliqué de faire ça avec C/C++, n'est ce pas?

  4. #4
    Membre à l'essai
    Homme Profil pro
    ingénieur en travaux publics
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ingénieur en travaux publics
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Le scientifique a besoin d'outils pour faire son boulot.
    Les distributions comme Python(x,y) lui permettent de les utiliser sans avoir a se prendre le chou à les installer et en gérer les dépendances.

    Un développeur d'application en Python a d'autres besoins. Si on mélange les deux on arrivera toujours à des compromis bancales.

    - W
    pour moi je pense que je suis dans la troisième catégorie, j'utilise la programmation pour les math (spécialement pour des problème d’ingénieur) et je veux en meme temps distribuer ces applications, donc est ce que c faisable avec Python?

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 781
    Points
    36 781
    Par défaut
    Salut,

    Citation Envoyé par amine.btp Voir le message
    pour moi je pense que je suis dans la troisième catégorie, j'utilise la programmation pour les math (spécialement pour des problème d’ingénieur) et je veux en meme temps distribuer ces applications, donc est ce que c faisable avec Python?
    Il est inutile de déterrer les vieilles discussons.
    Je n'ai pas pris le temps de répondre à celle-ci parce que je ne comprends pas votre soucis.
    On peut presque tout faire avec Python (comme avec n'importe quel langage de programmation).
    L'important est dans le "presque"...
    Et il n'y a que vous qui pouvez tester, investiguer, ... pour savoir si ce presque là est raisonnable pour vous.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Points : 215
    Points
    215
    Par défaut
    Sauf que Python n'est pas souvent gentil comme langage et surtout j'espère que tu as un bon professeur en programmation

    Sinon Amine , tu devrais beaucoup plus restreindre le champ de ta question , car sinon personne ne va faire le boulot à ta place
    _""""Cats have a big heart ^^ unlike some bad people (whose will never change in their brain) """

  7. #7
    Membre à l'essai
    Homme Profil pro
    ingénieur en travaux publics
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ingénieur en travaux publics
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par Kurodiam Voir le message
    Sauf que Python n'est pas souvent gentil comme langage et surtout j'espère que tu as un bon professeur en prog

    Sinon Amine , tu devrais bcp plus restreindre le champ de ta question , car sinon personne ne va faire le boulot à ta place
    Ok je vais rendre ma question plus claire:
    Moi j'utilise la méthode des élément finis (qui est une méthode numérique) pour calculer les structures (relativement complexe) en génie civil,
    pour cela je dois écrire le code pour le calcul proprement dit(calcul mathématique et beaucoup matriciel),
    et je dois aussi préparer l'interface graphique pour en dessiner la structure et visualiser les résultats numériquement et graphiquement (les moments, efforts internes, contraintes,....etc).
    et à la fin je veux obtenir un fichier exécutable qui n'a pas besoin d'un logiciel préalablement installé sur la machine pour en pouvoir l’exécuter.
    Voila ce que je souhaite faire, j’espère que j’étais plus claire cette fois ci.
    Citation Envoyé par wiztricks Voir le message
    Salut,


    Il est inutile de déterrer les vieilles discussons.
    Je n'ai pas pris le temps de répondre à celle-ci parce que je ne comprends pas votre soucis.
    On peut presque tout faire avec Python (comme avec n'importe quel langage de programmation).
    L'important est dans le "presque"...
    Et il n'y a que vous qui pouvez tester, investiguer, ... pour savoir si ce presque là est raisonnable pour vous.

    - W
    Pardonne moi wiztricks si j'ai ouvert un tel sujet, peut être qu'il est évident pour toi et que je puisse trouver la repense en cherchant dans ce forum, mais qlq'1 plus ou moin débutant et n'est pas vraiment spécialiste dans la matière je préfère avoir une repense simple et court au début et en suite je peux chercher plus de détails, donc merci de me supporter et de me faciliter la tache.
    cordialement

  8. #8
    Membre à l'essai
    Homme Profil pro
    ingénieur en travaux publics
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ingénieur en travaux publics
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par Kurodiam Voir le message
    Sauf que Python n'est pas souvent gentil comme langage et surtout j'espère que tu as un bon professeur en prog

    Sinon Amine , tu devrais bcp plus restreindre le champ de ta question , car sinon personne ne va faire le boulot à ta place
    malheureusement je suis un autodidacte, donc je sais pas ou trouver ce bon prof de prog !!

  9. #9
    dsy
    dsy est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 105
    Points : 142
    Points
    142
    Par défaut
    Citation Envoyé par amine.btp Voir le message
    ... je préfère avoir une reponse simple et courte au début et en suite je peux chercher plus de détails
    Simple et court : Python + sfepy

    Citation Envoyé par amine.btp
    si j'utilise Matlab pour coder ce que je veux est ce que ça sera possible de le compiler et le distribuer facilement.
    Je ne crois pas même s'ils se sont améliorés. Python est largement plus facile et puissant pour créer une application, notamment avec pyqt.

    Citation Envoyé par Kurodiam
    Sauf que Python n'est pas souvent gentil comme langage
    Je suppose que c'est une blague sinon je ne comprends pas. Python a justement été créé pour faciliter la lecture du code source. Qu'est ce qu'un langage "gentil" ou pas ?

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 781
    Points
    36 781
    Par défaut
    Citation Envoyé par amine.btp Voir le message
    Pardonne moi wiztricks si j'ai ouvert un tel sujet, peut être qu'il est évident pour toi et que je puisse trouver la repense en cherchant dans ce forum, mais qlq'1 plus ou moins débutant et n'est pas vraiment spécialiste dans la matière je préfère avoir une repense simple et court au début et en suite je peux chercher plus de détails, donc merci de me supporter et de me faciliter la tache.
    C'était à propos du "post" que vous aviez mis dans une vieille discussion et que j'ai recopié dans celle-ci.

    Vous avez un métier et des besoins plus ou moins définis côté automatisation de certains calculs/activités.
    De ce fait, vous n'êtes pas "débutant".
    Vos besoins peuvent être tellement spécifiques que seules des personnes qui font un métier similaire au votre et qui ont trouvé des solutions qui répondent à +/- vos besoins pourront vous apporter quelque chose.

    La première question pourrait être de faire l'inventaire des bibliothèques de calcul à éléments finis utilisés dans votre domaine métier.
    La plupart d'entre elles incluent des algorithmes i.e. des fonctionnalités qui vous intéresseront (ou pas).
    Celles qui sont les plus utilisées par vos "pairs" peuvent être une bonne piste...
    Mais il est peu probable que ces personnes fréquentent un forum de programmation Python.

    A vous de voir.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 658
    Points : 1 158
    Points
    1 158
    Par défaut
    Salut tout le monde.


    En relisant tes posts Amine, je me demande si tu souhaite faire quelque chose simimaire à Abaqus (en très simplifié) pour calculer des contraintes et déformées dans un objet 2D ou 3D "plein", ou si tu souhaite faire cela pour des structures poutres?

    Dans les deux cas bien que cela soit realisable en python (ou tout autre langage comme la fait remarquer Wiztricks), ça va être long et compliqué, vraiment.

    Un exemple de "clone" d'un célèbre logiciel de calcul de structure RDM6 en python pour te donner une idée que c'est faisable: http://pybar.fr/index.php?page=screencasts


    Ju

  12. #12
    Membre à l'essai
    Homme Profil pro
    ingénieur en travaux publics
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ingénieur en travaux publics
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Oui c'est la même chose que Abaqus mais c'est beaucoup plus simple.
    C'est vrai c'est long et compliqué mais je pense que la programmation est faite comme ça!!
    Et merci beaucoup pour l'exemple que tu a posté "pybar" ça m'a vraiment donné le courage d'entamer ce projet. merci encore

  13. #13
    Membre à l'essai
    Homme Profil pro
    ingénieur en travaux publics
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ingénieur en travaux publics
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    ça va j'ai choisis Python pour travailler, j'ai installé Python-xy
    mais le problème c que je trouve pas un IDE complet comme par exemple "Delphi Borland" ou "Visual C++" là ou il y a l'éditeur, la fenetre qu'elle va apparaitre, environnement complet qui aide à construire l'interface avec tout simplicité (bouton, text, label,......).
    je sais s'il y a qlq chose comme ça avec Python!!
    comme IDE j'ai Spyder et eclipse mais ces deux là ne contiennent pas ce je cherche, il y a aussi Qt Designer mais il permet juste de dessiner l'interface et alors je sais pas comme écrire le code source relatif à cet interface.
    Est ce que vous pouvez m'aider à ça?

  14. #14
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 658
    Points : 1 158
    Points
    1 158
    Par défaut
    Salut.

    Le choix de l'IDE et d'un logiciel de design d'interface graphique n'a pas grand chose a voir avec le sujet posé initialement. Une nouvelle question devrait être posée.

Discussions similaires

  1. Utiliser un controle utilisateur pour afficher les éléments d'une liste
    Par MiniCesc dans le forum Windows Presentation Foundation
    Réponses: 12
    Dernier message: 05/10/2010, 15h13
  2. Réponses: 12
    Dernier message: 04/03/2007, 11h43
  3. Utiliser une variable pour stocker les noms d'objets.
    Par en_gel_ho dans le forum Access
    Réponses: 4
    Dernier message: 03/01/2007, 16h44
  4. utiliser une classe pour gerer les signaux
    Par TrueBeliever dans le forum Qt
    Réponses: 2
    Dernier message: 21/12/2006, 17h57
  5. [XSL] utiliser une variable pour nom d'élément
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 07/09/2004, 13h58

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