📄 readtyphmshfile.f90
字号:
!------------------------------------------------------------------------------!! Procedure : readtyphmshfile Auteur : J. Gressier! Date : Fevrier 2004! Fonction Modif : (cf historique)! Lecture d'un fichier de maillage TYPHMSH!! Defauts/Limitations/Divers :!!------------------------------------------------------------------------------!subroutine readtyphmshfile(unit, nom, zone)use DEFZONE ! structure ZONEuse OUTPUT ! Sorties standard TYPHONuse DEFZONEuse MGRIDuse MESHBASEimplicit none ! -- Entrees --integer :: unit ! numero d'unite pour la lecturecharacter(len=*) :: nom! -- Sorties --type(st_zone) :: zone ! structure de ZONE! -- Variables internes --integer :: ier ! code d'erreurinteger :: i ! indice courantinteger :: ndom ! nombre de domainecharacter(len=60) :: str ! chaineinteger :: mode ! mode 1:ASCII 2:BINARYcharacter :: typ_geo ! type de geometrietype(st_grid), pointer :: pgrid! -- Debut de procedure ! --- Lecture du nom de fichier --- ! --- Ouverture du fichier ---call print_info(5, "* LECTURE DU MAILLAGE TYPHMSH : "//trim(nom))zone%typ_mesh = mshUSTcall print_info(8, "Ouverture du fichier "//trim(nom))open(unit=unit, file=nom, form="formatted", action="read", iostat=ier)if (ier /= 0) call erreur("Lecture TYPHMSH","Probleme a l'ouverture du fichier")! -- verification du format TYPHMSH --read(unit,*) strif (.not.samestring(str,"TYPHMSH")) then call erreur("Lecture TYPHMSH","Entete de fichier incorrecte")endif! -- mode de lecture --read(unit,*) strmode = inullif (samestring(str,"ASCII")) mode = 1if (samestring(str,"BINARY")) mode = 2if (mode == inull) call erreur("Lecture TYPHMSH","Entete de fichier incorrecte")! -- type de repere --read(unit,*) strtyp_geo = cnullif (samestring(str,"1DC")) typ_geo = msh_1dcurvif (samestring(str,"2D")) typ_geo = msh_2dplanif (samestring(str,"2DC")) typ_geo = msh_2dcurvif (samestring(str,"3D")) typ_geo = msh_3dif (typ_geo == cnull) call erreur("Lecture TYPHMSH","type de geometrie incorrect")! -- nombre de courbes (domaines de maillage) --read(unit,*) ndomif (ndom /= 1) call erreur("Developpement","nombre de domaines limite a 1")pgrid => newgrid(zone)do i = 1, ndom call readtyphmsh_dom(unit, pgrid%umesh, typ_geo)! ! -- creation des conditions limites --!! call typhmsh_createboco(pgrid)enddo ! --- fermeture du fichier ---close(ier)call print_info(8, "Fermeture du fichier "//trim(nom))!-------------------------endsubroutine readtyphmshfile!------------------------------------------------------------------------------!! Historique des modifications!! fev 2004 : creation de la procedure! mars 2004 : affectation des maillages aux structures "grid"!------------------------------------------------------------------------------!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -