TABLE OF CONTENTS
- 1. PHY/phy_typ
PHY/phy_typ [ Methods ]
NOM
phy_typ
DESCRIPTION
Descrition des types de structures PHYsiques
Description of PHYsical structure types
Type:
vect_nvar -> vecteur de taille nvarmax (seules les nvar premieres sont utiles)
vect_3 -> vecteur de taille 3
state -> objet "etat": variables conservatives, variables primitives, gradient des variables primitives
modele Saint-Venant: h,u,v,entropie,z_b
modele Bifluide : rho,u,v,w, p, entropie
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, intrinsic :: iso_fortran_env, only : output_unit, error_unit IMPLICIT NONE !.2----- Declaration ! ----- nbre de variables de bilan integer,parameter :: nvarmax=6 , phy_nb_cl=10 integer :: nvar=5 ! Indice de variable reserve pour l entropie ! A DEFINIR DANS LA ROUTINE entropie integer :: ive_phy=0 integer :: imodel_phy=2 ! type de modele physique ! =2 --> bifluide isotherme (loi de pression isobare ou non) ! =1 --> Saint Venant real(kind=kind(0.D0)) ::etac_phy=0.D0 ! constante eta integer :: inoncons_phy=0 ! indicateur de modele non-conservatif !=0 : pas de termes non conservatifs !=1 : possede des termes non-conservatifs real(kind=kind(0.d0)) :: vi_phy ! vitesse d interface du modele non conservatif integer :: icell_phy ! no de cellule (debogage) !----- quelques constantes physiques real(kind=kind(0.D0)) :: gpes_phy=9.81d0 !pesanteur ! modele bi-fluide isotherme real(kind=kind(0.D0)) :: c_phy=20.d0 ! vitesses du son dans le melange air / eau (en m/s) real(kind=kind(0.D0)) :: p0_phy=1.d5 ! pression de reference (en Pa) real(kind=kind(0.D0)) :: rho0A_phy=1.d0, rho0W_phy=1000.d0 ! masses volumiques de reference pour l air et l eau (en kg/m^3) real(kind=kind(0.D0)) :: sharp_phy=0.d0 ! parametre de compression de l interface integer :: pes_xyz=2 ! orientation de la pesanteur 0/aucune, 1/suivant x, 2/suivant y, 3/suivant z ! modele de Saint Venant real(kind=kind(0.D0)) :: tc real(kind=kind(0.D0)) :: hzero_phy=1.d-4 integer :: ibathy=0 ! 0/ fond plat ! 1/ bathy et friction definies par fonction de numero num_bathy ! 2/ bathy et friction definies lineairement par bloc aux sommets ! 3/ bathy et friction definies par bloc sur le niveau de raffinement max character(30) :: fich_bathy integer :: num_bathy=0 ! numero de la fonction utilisateur definissant la bathymetrie, son gradient et la friction integer :: ngrad_bathy=0 ! gradient de bathymetrie numerique 0/non , 1/oui integer :: ifrict=0 ! 0/ Pas de Fiction ! 1/ friction Manning-Sticker Cf u u /h**4/3 ! 2/ friction Darcy-Weisbach Cf u u /h !=========================== DEBUT DU CODE EXECUTABLE ================== !----- Debut Type ------------------------------------------------------ ! vecteur de taille nvar (surdimensionne à nvarmax) TYPE vect_nvar real(kind=kind(0.d0)),dimension(nvarmax):: v END TYPE vect_nvar !----- Fin Type ------------------------------------------------------- !----- Debut Type ----------------------------------------------------- ! vecteur de taille 3 TYPE vect_3 real(kind=kind(0.d0)),dimension(3):: v END TYPE vect_3 !----- Fin Type ------------------------------------------------------- !----- Debut Type ----------------------------------------------------- ! etat physique: variables de bilan et primitives ! gradient des variables primitives TYPE state type(vect_nvar) :: vbal,vprim type(vect_nvar),dimension(3):: gprim real(kind=kind(0.d0)) :: enti,entf,pe,chi END TYPE state !----- Fin Type ------------------------------------------------------- CONTAINS SUBROUTINE print_err(fich,msg) implicit none character(len=*), intent(in) :: msg, fich write(output_unit,*)achar(27)//'[31mX ERR-'//fich//' : '//msg ! en rouge write(output_unit,*)'X ERR-'//fich//' : end program.'//achar(27)//'[0m' stop END SUBROUTINE print_err SUBROUTINE print_avert(fich,msg) implicit none character(len=*), intent(in) :: msg, fich write(output_unit,*)achar(27)//'[34m! AVERT-'//fich//' : '//msg//achar(27)//'[0m' ! en bleu END SUBROUTINE print_avert SUBROUTINE print_info(fich,msg) implicit none character(len=*), intent(in) :: msg, fich write(output_unit,*)achar(27)//'[32m> INFO-'//fich//' : '//msg//achar(27)//'[0m' ! en vert END SUBROUTINE print_info !=========================== FIN DU MODULE ========================= END MODULE phy_typ