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

Fortran Discussion :

Programme mécanique des fluides


Sujet :

Fortran

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Programme mécanique des fluides
    Cherche etudiant(e) qui pourrait m'aider à écrire un programme mécanique des fluides en fortran. il s'agit d'une cavité dont en U dont la surface est entrainée (à partir de navier stokes, me faut calculer la vitesse, la pression...)

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    S'agit-il d'un exercice, d'une thèse de doctorat, d'un projet industriel ou quoi d'autre?
    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)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut voici la bête qui ne tourne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    program cavite
    implicit none
    integer, parameter::nt=100,nx=20,nz=nx,km=1000 !km=iterations maximum!
    real,parameter :: eps=1.e-8, Re=100, omg=1.7, h=1./nx, dt=0.25*Re*h**2
    real,dimension(0:nx,0:nz+1)::un,u
    real,dimension(0:nx+1,0:nz)::wn,w
    real,dimension(0:nx+1,0:nz+1)::p,AP,SM,PK ! ce sont des vecteurs
    real,dimension(nx,nz) :: psi
    integer :: i, j, K, n
    real :: t
    real :: ududx, wm, wdudz, lapun, um, wdwdz, udwdx, lapwn, dudx, dwdz, sigma! on doit définir toutes les variables
    !    open(10,file='psi.out')
    ! initialisation des champs!
    un=0. ; w=0. ; wn=0. ; p=0.
    do i=1,nx ; un(i,nz+1)=2.-un(i,nz) ; enddo ; U=UN
    !   write(*,*) ' champs U*' ; do j=nz+1,1,-1 ; write(*,fmt='(20F7.3)')(U(i,j),i=0,nx) ; enddo
    ! valeurs de AP(i,j) 
            AP=4.
            AP(2:nx-1,1)=3; AP(2:nx-1,nz)=3;AP(1,2:nz-1)=3; AP(nx,2:nz-1)=3
            AP(1,1)=2 ; AP(1,nz)=2 ; AP(nx,1)=2 ; AP(nx,nz)=2
    DO n=1,nt
    t=n*dt
            !resolution [1] calcul de u*!
        DO i=1,nx-1
            Do j=1,nz
                ududx=un(i,j)*(un(i+1,j)-un(i-1,j))/(2*h)
                wm=0.25*(wn(i,j-1)+wn(i+1,j+1)+wn(i,j)+wn(i+1,j))
                wdudz=wm*((un(i,j+1)-un(i,j-1))/(2*h))
                lapun=(un(i+1,j)-2*un(i,j)+un(i-1,j))/(h**2)+(un(i,j+1)-2*un(i,j)+un(i,j-1))/(h**2)
                u(i,j)=un(i,j)-dt*(ududx+wdudz)+(dt/Re)*(lapun)
           enddo
        enddo  
            u(1:nx,0)=-u(1:nx,1)
            u(1:nx,nz+1)=2.-u(1:nx,nz)
            u(0,0:nz)=0
            u(nx,0:nz)=0
      !  write(*,*) ' champs U*' ; do j=nz+1,1,-1 ; write(*,fmt='(20F7.3)')(U(i,j),i=0,nx) ; enddo
            !resolution [2 ] calcul de w*!
        DO i=1,nx
            do j=1,nz-1
                um=0.25*(un(i-1,j)+un(i,j)+un(i-1,j+1)+un(i,j+1))
                wdwdz=wn(i,j)*(wn(i,j+1)-wn(i,j-1))/(2*h)
                udwdx=um*(wn(i+1,j)-wn(i-1,j))/(2*h)
                lapwn=(wn(i+1,j)-2*wn(i,j)+wn(i-1,j))/(h**2)+(wn(i,j+1)-2*wn(i,j)+wn(i,j-1))/(h**2)
                w(i,j)=wn(i,j)-dt*(udwdx+wdwdz)+(dt/Re)*(lapwn)
            enddo
        enddo
            w(0:nx,0)=0
            W(0:nx,nz)=0
            w(0,0:nz)=-w(1,0:nz)
            w(nx+1,0:nz)=-w(nx,0:nz)  
     ! write(*,*) ' champs W*' ; do j=nz,0,-1 ; write(*,fmt='(20F7.3)')(W(i,j),i=1,nx+1) ; enddo        
            !résolution [3]!
        do i=1,nx
            do j=1,nz
             !lappn=(1/h**2)*(pn(i,j-1)+pn(i-1,j)-4*pn(i,j)+pn(i+1,j)+pn(i,j+1))!
                dudx=(u(i,j)-u(i-1,j))/h
                dwdz=(w(i,j)-w(i,j-1))/h
                SM(i,j)=h**2/dt*(dudx+dwdz)
            enddo
        enddo
     sigma=1. ; k=0
    DO WHILE ( sigma > eps .and. K < KM)
      PK=p ; k=k+1 ; sigma=0.
      do i=1,nx
       do j=1,nz    
       P(i,j)=(1.-omg)*P(i,j)+omg*(P(i,j-1)+P(i-1,j)+P(i,j+1)+P(i+1,j)-SM(i,j))/AP(i,j)      
       sigma = sigma + ((P(i,j)-Pk(i,j))**2)
       enddo    
      enddo
    sigma=sqrt(sigma)
     ! print *,' k sigma ',n,k,sigma
    enddo
      print *,t,k,sigma
    ! write(*,*) ' champs P' ; do j=nz,1,-1 ; write(*,fmt='(20F7.3)')(p(i,j),i=1,nx) ; enddo 
    !conditions limites sur p 
     !       p(1:nx,0)=p(1:nx,1)
     !       p(1:nx,nz+1)=p(1:nx,nz)
     !       p(0,1:nz)=p(1,1:nz)
     !       p(nx+1,1:nz)=p(nx,1:nz)
     
                !résolution 4 pour obtenir Vn+1!
        Do i=1,nx-1
            DO j=1,nz
                u(i,j)=u(i,j)-dt*(p(i+1,j)-p(i,j))/h ! la variable à gauche écrase celle de droite!
            enddo 
        enddo
                !résolution 5!
        do i=1,nx
            do j=1,nz-1
                w(i,j)=w(i,j)-dt*(p(i,j+1)-p(i,j))/h
            enddo
        enddo
       ! reinit
       UN=U ; WN=W
    enddo
    !
     call gnu(psi,x,z,h,nx,nz)
    !
    end program
     
    !    subroutine gnup(psi,x,z,h,nx,nz)
    !        implicit none
    !            integer :: nx,nz,i,j
    !            real :: h
    !            real, dimension(nx,nz) :: psi
    !            real, dimension(nx) :: x
    !            real, dimension(nz) :: z
    !            do j=1,nz
    !                do i=1,nx
    !                    write(20,fmt='(2F8.3,2E14.5)') x(i),z(j),psi(i,j)
    !                enddo 
    !                    write(20,*) 
    !            enddo 
    !    end subroutine gnup
    !
    !    subroutine calpsi(psi,u,w,h,nx,nz)
    !    integer :: nx,nz,i,j
    !    real :: h
    !    real, dimension(nx,nz) :: psi
    !    real,dimension(0:nx,0:nz+1):: u
    !    real,dimension(0:nx+1,0:nz)::w
    !    !calcul pour psi qui est la même grille que p (décalé-décalé)!
    !    psi(1,1)=0
    !    do i=2,nx
    !    psi(i,1)=psi(i-1,1)-w(i,1)*h!on travail sur la première ligne
    !    enddo
    !    do j=2,nz
    !     psi(1,j)=psi(1,j-1)+u(1,j)*h!on travail sur la première colonne!
    !    enddo
    !    do i=2,nx
    !        do j=2,nz
    !            psi(i,j)=psi(i,j-1)+u(i,j)*h          
    !        enddo    
    !    enddo
    !    end subroutine    
     
    !

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Points : 970
    Points
    970
    Par défaut
    bonsoir,

    qu'est ce que tu entends par "ne tourne pas" ?

    - ça compile pas
    - ça compile mais tu as une erreur à l'exécution
    - pas d'erreur à l'exécution mais le résultat est incorrect

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    ça ne complile pas

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Points : 970
    Points
    970
    Par défaut
    et quel est le message d'erreur que tu obtiens à la compilation ?

  7. #7
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!

    D'abord, toutes mes excuses pour ne pas t'avoir répondu plus tôt: je réfléchissais à ton problème.

    Comme tu commences à t'en rendre compte, l'équation de Navier-Stokes est une chose assez monstrueuse qui constituerait à elle-même une thèse de doctorat en mathématiques appliquées.

    Lorsque je travaillais dans l'industrie de l'aluminium, pour tenter d'optimiser la situation magnétohydrodynamique des fours d'électrolyse, j'ai été confronté à un problème analogue: la direction avait entendu de l'équation de Navier-Stokes et m'a sommé de la résoudre. Après mûre réflexion, je me suis rendu compte que
    1. c'était impossible dans les délais impartis;
    2. ça ne servait à rien.

    J'ai eu alors recours à l'astuce suivante: j'ai remplacé l'équation de Navier-Stokes par celle de Poisson, dont l'intégration ne présentait aucune difficulté. De cette manière, j'ai calculé les tourbillons dans les fours existants, en ajustant la viscosité de manière à ce que les résultats coïncident plus ou moins avec les valeurs mesurées. Ensuite, j'ai fait de même avec les données d'autres fours. De cette manière, j'ai pu optimiser la disposition des conducteurs autour des fours. Gain de l'opération: 0,5 kWh par kg d'Al par des modifications mineures sur des fours existants et plus du double sur de nouveaux prototypes.

    Comme quoi, une supercherie bien réfléchie, ça peut être payant!

    Si tu penses qu'une astuce analogue peut convenir dans ton cas, ça vaut la peine d'essayer. Sinon, j'ai quelques idées sur ce qu'il faut faire ou ne pas faire avec Navier-Stokes, et on pourra y revenir par la suite.

    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)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 45
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    Salut!
    Après mûre réflexion, je me suis rendu compte que
    1. c'était impossible dans les délais impartis;
    2. ça ne servait à rien.


    Jean-Marc Blanc
    Desolé de te contredire Jean-Marc mais contrairement a ce que tu dis resoudre les equations de Navier-Stokes ne sert pas a rien.
    Si les avions vols c'est grace aux equations de Navier-Stokes....(entre autre). Toutes les souffleries qu'on appelle "numeriques" sont basees sur la resolution numerique de ces equations (ce que tu cherches a faire zabbaou).
    Jean-Marc resoudre l'equation de Poisson ne t'apportera absolument rien, car ca n'a rien a voir ! J'irais pas faire cuire un poulet dans un des fours que tu as optimise !!
    Navier-Stokes te permet de calculer les composantes de la vitesse du fluide puis le champ de pression. L'equation de Poisson te permet au mieux de calculer la fonction de courant (si tu disposes encore du rotationelle de la vitesse.. et pour calculer le rotationnelle il te faut la vitesse...) Bon bref je ne vais pas te faire un cours de meca flu ici....

    par contre la ou je suis d'accord avec toi , c'est que c'est extremement delicat a faire...
    et des gens ont developpe de tels programmes dans le cadre d'une these de 3 ans !!
    Je ne veux pas t'effrayer zabbaou mais ce que l'ont t'a demande comme travail c'est au minimum 3 mois de boulot pour un master1 en mecanique...et encore tu as interet a etre bon en mecanique des fluides et methodes numeriques pour savoir de quoi l'on parle...

  9. #9
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    J'irais pas faire cuire un poulet dans un des fours que tu as optimise
    Navier-Stokes ou pas, tu risquerais surtout d'être intoxiqué par les composants fluorés les plus divers.

    Si les avions vols c'est grace aux equations de Navier-Stokes
    Parce que tous les avions d'un même modèle ont des caractéristiques plus ou moins analogues. En revanche, des fours de construction identique avaient des comportements très différents. C'est pourquoi une approximation plus que grossière était suffisante.
    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)

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Il ne faut pas non plus exagérer sur le temps qu'il faut pour écrire un code Navier-Stokes. Tout dépend de ce que l'on veut.
    On peut faire un code 2D incompressible monophasique sur maillage cartésien très rapidement si l'on a pas à réinventer la poudre (les discrétisations)
    Si vous voulez du 3D multiphasique avec tension de surface, maillage non structuré, objets complexes mobiles et modèles de turbulence à gogo,oui là ça prendra du temps...

  11. #11
    Membre éclairé Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Points : 825
    Points
    825
    Par défaut
    je tiend à dire que perso, je développe un code navier-stokes incompressible turbulent diphasique avec surfaces mobile par érosion suportant des conditions limites aussi diverses que variées (adherence, glissement, débit imposé, pression imposée, symétrie, périodicité, symétrie central... etc...) le tout en 2D, 3Daxi et 3D, et bin les gars, j'en chie!!!! surtout qu'il faut des schéma de résolution d'ordre 5 minimum pour avoir une érosion acceptable... en clair je fais fumer toutes les machines de la boite qui n'ont rien à faire (ah oui, petit p.s. tout cela est parallèle, évidement) le seul truc, j'ai un maillage cartésien fixe, sauf qu'il est décalé... ce serai trop beau!!!

    pour son problème au petit, je suis pas sûr que navier-stokes soit obligatoire, une bète equation de stokes devrai suffir, voir peut-être plus simple encore...
    il n'y a que ceux qui savent qui ne savent pas qu'ils savent...
    Libere-toi hacker, GNU's Not Unix!!!

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Tu fais de la décomposition de domaine ? Si oui, tu adaptes comment tes schémas aux limites des sous domaines ? Tu utilises quelle méthode pour prendre en compte tes obstacles ? (IBM ?)

  13. #13
    Membre éclairé Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Points : 825
    Points
    825
    Par défaut
    pour les obstacles, c'est méthode de pénalisation (c.f. Angot 1999) en gros tu rajoute un terme source Mu/K*u où Mu c'est ta visco, K la perméabilité du poreux(l'obstacle est vu comme un poreu) et u ton champ de vitessedu coup tu met ce truc à 0 lorque tu est dans la partie fluide, et non nul dans la partie obstacle tu repère tes milieu avec un méthyode Level Set.

    pour les sous domaines bin c simple tu va chercher l'info qu'il te manque dans le processus d'à coté il suffit de faire une "condition limite" "intérieur" (qui considère qu'elle est au milieu du domaine)
    il n'y a que ceux qui savent qui ne savent pas qu'ils savent...
    Libere-toi hacker, GNU's Not Unix!!!

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Haaaa mais la pénalisation Darcy, c'est dépassé Monsieur ! Jette donc un oeil la dessus :
    http://www.trefle.u-bordeaux1.fr/per...thou_FVCA5.pdf

    C'est un extension à l'ordre 2. Bien plus précise !

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 45
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par El Zeru Voir le message
    Haaaa mais la pénalisation Darcy, c'est dépassé Monsieur ! Jette donc un oeil la dessus :
    http://www.trefle.u-bordeaux1.fr/per...thou_FVCA5.pdf

    C'est un extension à l'ordre 2. Bien plus précise !
    Mouaih.... ordre 2 c'est vite dit !!!
    pour votre info les gars les deux methodes pré-cités en matière de gestion d'obtsacles proviennent de la meme culture...(ces gens en question ont travaille ensemble.... lol labo Master qui est ensuite devenu Trefle..)
    De toute facon (sauf dans le cas d'obstacles mobiles) il n'y a rien de plus precis et de mieux que le BFC (Body Fitted Coordinate)

    Mais bon la on s'eloigne de la preoccupation initiale du jeune...

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Ha oui, tu parles surement d'Angot et Caltagirone, mes directeurs de thèses
    Donc oui, je connais bien tout ça. Nous avons formulé la méthode à l'ordre deux comme une extension de la méthode à l'ordre un, en particulier la VPM de la thermique où tu ajoutes un terme B(u-uD), car la formulation Darcy, bien que plus physique pour Navier, ne permet pas d'imposer naturellement une solution autre que 0. Je précise qu'on est en lagrangien augmenté pour le couplage vitesse pression, en projection c'est une autre histoire.
    Pour l'ordre deux, pour le moment nous l'avons tout le temps obtenu, (cf le lien d'avant FVCA5) sans faire toutefois des millions de validations. Nous avons aussi la preuve théorique dans les cartons. Effectivement on ne peut pas rivaliser avec le body fitted pour la précision. Après on peut se poser la question de la précision et de la complexité de la discrétisation des opérateurs dans ce cadre là. Je travaille aussi sur le Code_Saturne d'EDF qui est en VF non-structuré et c'est un code plus complexe que Thétis, le code du labo en structuré.
    Dans le cas du Couette cylindrique, on est 100 fois plus précis sur maillage polaire que sur Cartésien. Mais dans ce cas là, la discrétisation sur maillage polaire est à la fois simple et précise. A voir sur maillage plus tordu.

    Si vous allez au SMAI, on pourra en discuter

    a+

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 45
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par El Zeru Voir le message
    Ha oui, tu parles surement d'Angot et Caltagirone, mes directeurs de thèses
    yes

    Donc oui, je connais bien tout ça. Nous avons formulé la méthode à l'ordre deux comme une extension de la méthode à l'ordre un, en particulier la VPM de la thermique où tu ajoutes un terme B(u-uD), car la formulation Darcy, bien que plus physique pour Navier, ne permet pas d'imposer naturellement une solution autre que 0.
    oui c'est normal !!


    Je précise qu'on est en lagrangien augmenté pour le couplage vitesse pression, en projection c'est une autre histoire.

    Les autres methodes d'IBM marchent aussi en methode de Projection , mais peut etre moins bien que le lagrangien augmente....justement a cause du terme supplementaire de Darcy dans l'equation de NS.


    Pour l'ordre deux, pour le moment nous l'avons tout le temps obtenu, (cf le lien d'avant FVCA5) sans faire toutefois des millions de validations. Nous avons aussi la preuve théorique dans les cartons. Effectivement on ne peut pas rivaliser avec le body fitted pour la précision. Après on peut se poser la question de la précision et de la complexité de la discrétisation des opérateurs dans ce cadre là. Je travaille aussi sur le Code_Saturne d'EDF qui est en VF non-structuré et c'est un code plus complexe que Thétis, le code du labo en structuré.
    oui c sur que c'est plus que c'est plus complexe de discretiser les equations sur un maillage non-orthogonal. Mais ca reste toutefois tres abordable en utilisant le principe de la "deferred correction"


    Dans le cas du Couette cylindrique, on est 100 fois plus précis sur maillage polaire que sur Cartésien. Mais dans ce cas là, la discrétisation sur maillage polaire est à la fois simple et précise. A voir sur maillage plus tordu.

    Si vous allez au SMAI, on pourra en discuter

    a+
    Oui c normal que sur un maillage polaire pour un ecoulement entre deux cylindres ca marche mieux que sur un maillage cartesien avec une IBM. Ceci etant avec la discretisation utilisant la "deferred correction" c'est tranquille.
    Voir le bouquin de Ferziger et Peric "computational fluid dynamic". C'est la bible ! Peric ancien prof de l'universite de Hambourg est aujourd'hui le directeur du developpement de Star-CD !!

    Le code saturne utilise cette discretisation "a la Peric" (deferred correction)

    Bon mais peut etre faudrait il ouvrir une nouvelle discussion intitulee " Comment vaincre Navier-Stokes ?" car je crains que l'on s'eloigne du sujet original....

Discussions similaires

  1. Programme : Table des symboles
    Par Premium dans le forum C
    Réponses: 13
    Dernier message: 02/11/2017, 19h15
  2. Mécanique des fluides en Java
    Par haykel h dans le forum NetBeans
    Réponses: 5
    Dernier message: 19/02/2012, 15h23
  3. Mécanique des fluides, Maillage 2D
    Par TocTocKiéLà? dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 12/05/2011, 16h38
  4. [Classpath][execution] executer un programme avec des jar.
    Par LoLoSS dans le forum Général Java
    Réponses: 11
    Dernier message: 26/08/2004, 11h45
  5. Methode de programmation sur des gros projets
    Par dynobremo dans le forum EDI
    Réponses: 10
    Dernier message: 08/06/2004, 02h59

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