ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/aster/src/mglanceuraster.cpp
Revision: 1194
Committed: Wed Jun 25 19:30:30 2025 UTC (5 weeks, 2 days ago) by francois
File size: 3278 byte(s)
Log Message:
autre integration des containers aster : reparametrisation de la version 15.6 et ajout de la version 16.7 

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 francois 1194 else fprintf(in,"%s_%s.bash %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),std::to_string(int(version*100)).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 francois 1194 else sprintf(nomfichiertmp,"%s_%s.bash %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),std::to_string(int(version*100)).c_str(),nometude,nometude);
65 francois 773 #else
66 francois 1132 if (version<15) sprintf(nomfichiertmp,"%s/as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",getenv("PATHASTER"),nometude,nometude);
67 francois 1194 else sprintf(nomfichiertmp,"%s_%s.bash %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),std::to_string(int(version*100)).c_str(),nometude,nometude);
68     #endif
69 francois 773
70     system(nomfichiertmp);
71     int codesortie=10000;
72     char chaine[500];
73     sprintf(chaine,"%s.retour",nometude);
74     FILE *out=fopen(chaine,"rt");
75     if (out!=NULL)
76     {
77     fgets(chaine,500,out);
78     sscanf(chaine,"%d",&codesortie);
79     fclose(out);
80     }
81     #ifdef CHOIXTERMASTER
82     if (choix!=0)
83     {
84     char chaine[500];
85     sprintf(chaine,"rm %s.run",nometude);
86 francois 1117 //system(chaine);
87 francois 773 }
88     #endif
89 francois 963 if (version>13)
90     if (codesortie==0)
91     {
92     strcpy(chaine,nometude);
93     strcat(chaine,".resu");
94     FILE* intmp=fopen(chaine,"at");
95     fprintf(intmp,"\n");
96     fclose(intmp);
97     }
98 francois 773 return codesortie;
99     }
100