Salome HOME
version 5_1_4 HOMARD_SRC
[modules/homard.git] / src / HOMARD / HomardDriver.hxx
1 # ifndef __HOMARDDRIVER_H__
2 # define __HOMARDDRIVER_H__
3
4 #include <iostream>
5 #include <fstream>
6
7 class HomardDriver
8 {
9 public:
10   HomardDriver(const std::string siter, const std::string siterp1);
11   ~HomardDriver();
12   //
13   void        TexteInit( const std::string DirCompute, const std::string DirComputePa, const std::string MessFile );
14   void        CreeFichier();
15   void        TexteMaillage( const std::string NomMesh, const std::string MeshFile, int apres );
16   void        TexteConfRaffDera( int ConfType, int TypeAdap, int TypeRaff, int TypeDera );
17   void        TexteZone( int NumeZone, int ZoneType, double x0, double x1, double x2, double x3, double x4, double x5 );
18   void        TexteGroup( const std::string GroupName );
19   void        TexteField( const std::string FieldName, const std::string FieldFile,
20                           int TimeStep, int Rank,
21                           int TypeThR, double ThreshR, int TypeThC, double ThreshC, int UsCmpI );
22   void        TexteCompo( int NumeComp, const std::string NomCompo);
23
24   void        TexteBoundaryOption( int BoundaryOption );
25   void        TexteBoundaryDi( const std::string MeshName, const std::string MeshFile );
26   void        TexteBoundaryAn( int NumeBoundary, int BoundaryType, const std::string Group, double x0, double x1, double x2, double x3, double x4, double x5, double x6 );
27
28   void        TexteFieldInterp( int TypeFieldInterp, const std::string FieldFile, const std::string MeshFile,
29                                 int TimeStep, int Rank );
30   void        TexteFieldInterpName( int NumeChamp, const std::string FieldName);
31   void        CloseFichier();
32   //
33   int         ExecuteHomard();
34   //
35   bool        LireFichier();
36   bool        EcrireFichier();
37   void        SetTexte( const std::string texte );
38   std::string GetTexte();
39   std::string GetFichierInfo();
40   std::string GetFichierBasic();
41   std::string GetFichierResultMed();
42   std::string GetFichierHomard();
43   int         GetFichierNumeroIter();
44
45 public:
46   std::string _HOMARD_Exec;
47   std::string _NomDir;
48   std::string _NomFichierConfBase;
49   std::string _NomFichierConf;
50   std::string _siter;
51   std::string _siterp1;
52   std::string _Texte;
53   int         _TimeStep;
54   int         _Rank;
55   bool _bLu;
56
57 private :
58   std::string GetStringInTexte( std::string chaineCherchee, int longueur = 9 );
59 };
60
61 # endif         /* # ifndef __HOMARDDRIVER_H__ */