bal2prim.f90

### TABLE OF CONTENTS

- 1. PHY/Bal2Prim

## PHY/Bal2Prim [ Modules ]

[ Top ] [ Modules ]

NOM

     Bal2Prim(w)

DESCRIPTION

     Calcul des variables primitives a partir des variables conservatives
     Calculating primitive variables from conservative variables

        ENTREES / INPUT
     w    : objet de type "state" contenant les variables conservatives et primitives
          / object of type "state" containing conservative and primitive variables

        SORTIES / OUTPUT
     w    : objet de type "state" contenant les variables conservatives et primitives
          / object of type "state" containing conservative and primitive variables

SOURCE

    ! Ce logiciel est regi par la licence [CeCILL-B]
    ! This software is governed by the [CeCILL-B] license
    !=========================== DEBUT DES DECLARATIONS ====================
    !.1-----  Implicit, Use
      use phy_typ
      IMPLICIT NONE
    !.2-----  Declaration
      type(state),intent(inout) :: w !! Variables d etat / State variables
      real(kind=kind(0.d0))     :: r,u1,u2,p,phi,r0,h
    !=========================== DEBUT DU CODE EXECUTABLE ==================
    !-------  Initialisations communes

      SELECT CASE (imodel_phy)

      CASE (2) ! bifluide isotherme non conservatif
            r=w%vbal%v(1)
            phi=w%vbal%v(5)
            r0=phi*rho0A_phy+(1.d0-phi)*rho0W_phy
            p=p0_phy+c_phy**2*(r-r0)

            w%vprim%v(1)=r
            w%vprim%v(2)=w%vbal%v(2)/r
            w%vprim%v(3)=w%vbal%v(3)/r
            w%vprim%v(4)=w%vbal%v(4)/r
            w%vprim%v(5)=p

    !----------------------------------------------------
      CASE (1) ! SaintVenant
          h=w%vbal%v(1)
          if (h <= hzero_phy) then
            h=0.d0
            u1=0.d0
            u2=0.d0
          else
            u1=w%vbal%v(2)/h
            u2=w%vbal%v(3)/h
          endif
          w%vprim%v(1)=h
          w%vprim%v(2)=u1
          w%vprim%v(3)=u2

      CASE DEFAULT
           call print_err('Bal2Prim','Physical model not defined')

     !----------------------------------------------------
      END SELECT
    !===========================   FIN DE LA ROUTINE    ====================
    END SUBROUTINE Bal2Prim