ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/aster/src/mglanceuraster.cpp
Revision: 1132
Committed: Fri Feb 16 15:46:17 2024 UTC (15 months ago) by francois
File size: 2162 byte(s)
Log Message:
parametrage de la boite dans l'homogéinisation
Integration de la version de 15.6 de code aster dans un singularity

File Contents

# User Rev Content
1 francois 773 #include "gestionversion.h"
2     #include "mglanceuraster.h"
3    
4    
5    
6     MGLANCEURASTER::MGLANCEURASTER()
7     {
8     }
9    
10     MGLANCEURASTER::MGLANCEURASTER(MGLANCEURASTER& mdd)
11     {
12     }
13    
14    
15     MGLANCEURASTER::~MGLANCEURASTER()
16     {
17     }
18    
19    
20 francois 963 int MGLANCEURASTER::execute(OT_PARAMETRES& param, char* nometude,double version)
21 francois 773 {
22 francois 1075 char nomfichiertmp[755];
23 francois 1132 std::string container;
24 francois 773 int choix=(int)param.get_valeur("Affiche_Code_Aster");
25 francois 1132 if (version>=15.0)
26     container=param.get_nom("Container_singularity_aster");
27 francois 773 #ifdef CHOIXTERMASTER
28     if (choix!=0)
29     {
30     char chaine[500];
31     sprintf(chaine,"%s.run",nometude);
32     FILE* in=fopen(chaine,"wt");
33 francois 1132 if (version<15) fprintf(in,"%s/as_run %s.export\necho $?>%s.retour\n",getenv("PATHASTER"),nometude,nometude);
34     else fprintf(in,"singularity run %s shell -- as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),nometude,nometude);
35 francois 773 fclose(in);
36     sprintf(nomfichiertmp,"chmod u+x %s",chaine);
37     system(nomfichiertmp);
38 francois 1117 sprintf(nomfichiertmp,"xterm -e ./%s",chaine);
39 francois 773 }
40 francois 1132 else
41     if (version<15)
42     sprintf(nomfichiertmp,"%s/as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",getenv("PATHASTER"),nometude,nometude);
43     else
44     sprintf(nomfichiertmp,"singularity run %s shell -- as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),nometude,nometude);
45    
46 francois 773 #else
47 francois 1132 if (version<15) sprintf(nomfichiertmp,"%s/as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",getenv("PATHASTER"),nometude,nometude);
48     else sprintf(nomfichiertmp,"singularity run %s shell -- as_run %s.export 1>aster.log 2>&1;echo $?>%s.retour",container.c_str(),nometude,nometude);
49 francois 773 #endif
50    
51     system(nomfichiertmp);
52     int codesortie=10000;
53     char chaine[500];
54     sprintf(chaine,"%s.retour",nometude);
55     FILE *out=fopen(chaine,"rt");
56     if (out!=NULL)
57     {
58     fgets(chaine,500,out);
59     sscanf(chaine,"%d",&codesortie);
60     fclose(out);
61     }
62     #ifdef CHOIXTERMASTER
63     if (choix!=0)
64     {
65     char chaine[500];
66     sprintf(chaine,"rm %s.run",nometude);
67 francois 1117 //system(chaine);
68 francois 773 }
69     #endif
70 francois 963 if (version>13)
71     if (codesortie==0)
72     {
73     strcpy(chaine,nometude);
74     strcat(chaine,".resu");
75     FILE* intmp=fopen(chaine,"at");
76     fprintf(intmp,"\n");
77     fclose(intmp);
78     }
79 francois 773 return codesortie;
80     }
81