MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mglanceuraster.cpp
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
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 #include "gestionversion.h"
23 #include "mglanceuraster.h"
24 
25 
26 
28 {
29 }
30 
32 {
33 }
34 
35 
37 {
38 }
39 
40 
41 int MGLANCEURASTER::execute(OT_PARAMETRES& param, char* nometude,double version)
42 {
43 char nomfichiertmp[755];
44 std::string container;
45 int choix=(int)param.get_valeur("Affiche_Code_Aster");
46 if (version>=15.0)
47  container=param.get_nom("Container_singularity_aster");
48 #ifdef CHOIXTERMASTER
49 if (choix!=0)
50  {
51  char chaine[500];
52  sprintf(chaine,"%s.run",nometude);
53  FILE* in=fopen(chaine,"wt");
54  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  fclose(in);
57  sprintf(nomfichiertmp,"chmod u+x %s",chaine);
58  system(nomfichiertmp);
59  sprintf(nomfichiertmp,"xterm -e ./%s",chaine);
60  }
61 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 #else
68 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 #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  //system(chaine);
89  }
90 #endif
91 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 return codesortie;
101 }
102 
MGLANCEURASTER::MGLANCEURASTER
MGLANCEURASTER()
Definition: mglanceuraster.cpp:27
gestionversion.h
OT_PARAMETRES::get_valeur
double get_valeur(std::string chaine, int num=0)
Definition: ot_parametres.cpp:191
mglanceuraster.h
MGLANCEURASTER::~MGLANCEURASTER
virtual ~MGLANCEURASTER()
Definition: mglanceuraster.cpp:36
MGLANCEURASTER
Definition: mglanceuraster.h:28
OT_PARAMETRES::get_nom
std::string get_nom(std::string chaine)
Definition: ot_parametres.cpp:266
OT_PARAMETRES
Definition: ot_parametres.h:31
MGLANCEURASTER::execute
virtual int execute(OT_PARAMETRES &param, char *nometude, double version)
Definition: mglanceuraster.cpp:41