c**************************************************************** SUBROUTINE plot_static c routine PUBLIC du module mod_static c routine subordonnée de ecrit_static c dessins des variables quasi-statiques s'il n'y a pas de dessin en ligne c Auteur: P.Morel, laboratoire Lagrange, O.C.A., CESAM2k c----------------------------------------------------------------- USE mod_donnees, ONLY : nchim, nom_elem, nom_fich2 USE mod_kind USE mod_numerique, ONLY : min_max USE mod_variables, ONLY : age IMPLICIT NONE REAL (kind=sp), DIMENSION(2) :: xz=0., zero=0. REAL (kind=sp) :: ymax, ymax1, ymin, ymin1, xmax, xmin CHARACTER (len=80) :: chaine, device, number, text CHARACTER (len=100) :: titre c---------------------------------------------------------------------- 2000 FORMAT(8es10.3) c device=TRIM(nom_fich2)//'-stat.ps/ps' c PRINT*,'device pour static ? /xw, /PS, /CPS' c READ*,device device='/xw' CALL pgbegin(0,device,2,2) c pour le titre WRITE(number,10)model_num 10 FORMAT(i5) chaine=TRIM(nom_fich2)//', modele : '//number text='indice de couche' xmin=qs(1) ; xmax=qs(n_des) c dessin de dm/dq CALL pgsci(1) titre='Profil de dm/dq(V) du modèle '//TRIM(chaine) CALL min_max(dmdq,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'dm/dq',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,dmdq) c dessin de la fonction d'espacement CALL pgsci(1) titre='Profil d''esp du modèle '//TRIM(chaine) CALL min_max(esp,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'espacement',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,esp) c dessin de Eg CALL pgsci(1) xz(2)=qs(n_des) titre='Profil de Eg > 0 contraction, modèle '//TRIM(chaine) CALL min_max(Eg,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'Eg',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,Eg) CALL pgsci(1) ; CALL pgsls(2) ; CALL pgline(2,xz,zero) CALL pgsls(1) c dessin de En CALL pgsci(1) titre='Profil de En du modèle '//TRIM(chaine) CALL min_max(En,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'En',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,En) CALL pgsci(1) ; CALL pgsls(2) CALL pgsls(1) c dessin de L, L_t, CALL pgsci(1) titre='Profils de L(V), L_t(R) du modèle '//TRIM(chaine) CALL min_max(l4,n_des,ymax,ymin) CALL min_max(l4_t,n_des,ymax1,ymin1) ymax=MAX(ymax,ymax1) ; ymin=min(ymin,ymin1) ymax=MAX(ymax,ymax1) ; ymin=min(ymin,ymin1) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'L, L_t',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,l4) CALL pgsci(2) ; CALL pgline(n_des,qs,l4_t) c dessin de P et P_t CALL pgsci(1) titre='Profils de P(V) et P_t(R) du modèle '//TRIM(chaine) CALL min_max(ps,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'P et P_t',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,ps) CALL pgsci(2) ; CALL pgline(n_des,qs,ps_t) c dessin de T et T_t CALL pgsci(1) titre='Profils de T(V) et T_t(R) du modèle '//TRIM(chaine) CALL min_max(ts,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'T et T_t',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,ts) CALL pgsci(2) ; CALL pgline(n_des,qs,ts_t) c dessin de grad CALL pgsci(1) titre='Profils des grad du modèle '//TRIM(chaine) ymax=MAXVAL(gradad)*2. ymin=MINVAL(gradrad) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'grad',titre) c CALL pgsci(1) ; CALL pgline(n_des,qs,gradldx) CALL pgsci(2) ; CALL pgline(n_des,qs,gradad) CALL pgsci(3) ; CALL pgline(n_des,qs,gradrad) c dessin de ro CALL pgsci(1) titre='Profil de ro du modèle '//TRIM(chaine) CALL min_max(ros,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'ro',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,ros) c dessin de kappa CALL pgsci(1) titre='Profil de kappa du modèle '//TRIM(chaine) CALL min_max(kappa,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'kappa',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,kappa) c dessin de u CALL pgsci(1) titre='Profil de U du modèle '//TRIM(chaine) CALL min_max(us,n_des,ymax,ymin) CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'U',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,us) c dessins des la comp chim, ps:VT ps=TINY(1.) DO i=1,nchim ps(1:n_des)=xchimg4(i,1:n_des) CALL pgsci(1) titre='Profil de '//nom_elem(i)//' du modèle '//TRIM(chaine) ymax=MAXVAL(ps)*1.05 ; ymin=-ymax*0.05 CALL pgenv(xmin,xmax,ymin,ymax,0,0) CALL pglabel(text,'nom_elem(i)',titre) CALL pgsci(3) ; CALL pgline(n_des,qs,ps) ENDDO CALL pgend RETURN END SUBROUTINE plot_static