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 (18 months, 1 week 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

# Content
1 #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 int MGLANCEURASTER::execute(OT_PARAMETRES& param, char* nometude,double version)
21 {
22 char nomfichiertmp[755];
23 std::string container;
24 int choix=(int)param.get_valeur("Affiche_Code_Aster");
25 if (version>=15.0)
26 container=param.get_nom("Container_singularity_aster");
27 #ifdef CHOIXTERMASTER
28 if (choix!=0)
29 {
30 char chaine[500];
31 sprintf(chaine,"%s.run",nometude);
32 FILE* in=fopen(chaine,"wt");
33 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 fclose(in);
36 sprintf(nomfichiertmp,"chmod u+x %s",chaine);
37 system(nomfichiertmp);
38 sprintf(nomfichiertmp,"xterm -e ./%s",chaine);
39 }
40 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 #else
47 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 #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 //system(chaine);
68 }
69 #endif
70 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 return codesortie;
80 }
81