ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/aster/src/mglanceuraster.cpp
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months ago) by francois
File size: 3241 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
2     //####//------------------------------------------------------------
3     //####// MAGiC
4     //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5     //####// Departement de Genie Mecanique - UQTR
6     //####//------------------------------------------------------------
7     //####// MAGIC est un projet de recherche de l equipe ERICCA
8     //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9     //####// http://www.uqtr.ca/ericca
10     //####// http://www.uqtr.ca/
11     //####//------------------------------------------------------------
12     //####//------------------------------------------------------------
13     //####//
14     //####// mglanceuraster.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:57 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 773 #include "gestionversion.h"
23     #include "mglanceuraster.h"
24    
25    
26    
27     MGLANCEURASTER::MGLANCEURASTER()
28     {
29     }
30    
31     MGLANCEURASTER::MGLANCEURASTER(MGLANCEURASTER& mdd)
32     {
33     }
34    
35    
36     MGLANCEURASTER::~MGLANCEURASTER()
37     {
38     }
39    
40    
41 francois 963 int MGLANCEURASTER::execute(OT_PARAMETRES& param, char* nometude,double version)
42 francois 773 {
43 francois 1075 char nomfichiertmp[755];
44 francois 1132 std::string container;
45 francois 773 int choix=(int)param.get_valeur("Affiche_Code_Aster");
46 francois 1132 if (version>=15.0)
47     container=param.get_nom("Container_singularity_aster");
48 francois 773 #ifdef CHOIXTERMASTER
49     if (choix!=0)
50     {
51     char chaine[500];
52     sprintf(chaine,"%s.run",nometude);
53     FILE* in=fopen(chaine,"wt");
54 francois 1132 if (version<15) fprintf(in,"%s/as_run %s.export\necho $?>%s.retour\n",getenv("PATHASTER"),nometude,nometude);
55     else fprintf(in,"singularity run %s shell -- as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),nometude,nometude);
56 francois 773 fclose(in);
57     sprintf(nomfichiertmp,"chmod u+x %s",chaine);
58     system(nomfichiertmp);
59 francois 1117 sprintf(nomfichiertmp,"xterm -e ./%s",chaine);
60 francois 773 }
61 francois 1132 else
62     if (version<15)
63     sprintf(nomfichiertmp,"%s/as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",getenv("PATHASTER"),nometude,nometude);
64     else
65     sprintf(nomfichiertmp,"singularity run %s shell -- as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),nometude,nometude);
66    
67 francois 773 #else
68 francois 1132 if (version<15) sprintf(nomfichiertmp,"%s/as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",getenv("PATHASTER"),nometude,nometude);
69     else sprintf(nomfichiertmp,"singularity run %s shell -- as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),nometude,nometude);
70 francois 773 #endif
71    
72     system(nomfichiertmp);
73     int codesortie=10000;
74     char chaine[500];
75     sprintf(chaine,"%s.retour",nometude);
76     FILE *out=fopen(chaine,"rt");
77     if (out!=NULL)
78     {
79     fgets(chaine,500,out);
80     sscanf(chaine,"%d",&codesortie);
81     fclose(out);
82     }
83     #ifdef CHOIXTERMASTER
84     if (choix!=0)
85     {
86     char chaine[500];
87     sprintf(chaine,"rm %s.run",nometude);
88 francois 1117 //system(chaine);
89 francois 773 }
90     #endif
91 francois 963 if (version>13)
92     if (codesortie==0)
93     {
94     strcpy(chaine,nometude);
95     strcat(chaine,".resu");
96     FILE* intmp=fopen(chaine,"at");
97     fprintf(intmp,"\n");
98     fclose(intmp);
99     }
100 francois 773 return codesortie;
101     }
102