]> SALOME platform Git repositories - modules/homard.git/commitdiff
Salome HOME
Insertion des valeurs définies dans les préférences comme valeurs par défaut...
authornicolas <nicolas>
Mon, 20 Jan 2014 13:40:03 +0000 (13:40 +0000)
committernicolas <nicolas>
Mon, 20 Jan 2014 13:40:03 +0000 (13:40 +0000)
16 files changed:
idl/HOMARD_Gen.idl
idl/HOMARD_YACS.idl
resources/yacs_01.en.xml
resources/yacs_01.fr.xml
src/HOMARD/HOMARD_YACS.cxx
src/HOMARD/HOMARD_YACS.hxx
src/HOMARD/YACSDriver.cxx
src/HOMARD/YACSDriver.hxx
src/HOMARDGUI/CreateYACS.h
src/HOMARDGUI/CreateYACS.ui
src/HOMARDGUI/MonCreateYACS.cxx
src/HOMARDGUI/MonEditYACS.cxx
src/HOMARD_I/HOMARD_Gen_i.cxx
src/HOMARD_I/HOMARD_Gen_i.hxx
src/HOMARD_I/HOMARD_YACS_i.cxx
src/HOMARD_I/HOMARD_YACS_i.hxx

index 2331b3050742b2e5a5da9c80b309de03bd71abfb..f929875da91b3a002bd78437905bd7fb9beaef80 100644 (file)
@@ -157,6 +157,7 @@ module HOMARD
     void InvalideIter (in string IterName)                 raises (SALOME::SALOME_Exception);
     void InvalideIterOption (in string IterName, in long Option)
     raises(SALOME::SALOME_Exception);
+    void InvalideYACS (in string YacsName)                 raises (SALOME::SALOME_Exception);
     void InvalideZone (in string ZoneName)                 raises (SALOME::SALOME_Exception);
 
     long DeleteBoundary (in string BoundaryName)           raises (SALOME::SALOME_Exception);
index fa8f528601da9f49855d45fb368109191dff7640..e98f6ac6fd127422eab9b9262ee77488588176ef 100644 (file)
@@ -49,6 +49,13 @@ module HOMARD
     void     SetType (in long Type)                        raises (SALOME::SALOME_Exception);
     long     GetType()                                     raises (SALOME::SALOME_Exception);
 
+    void     SetMaxIter (in long MaxIter)                  raises (SALOME::SALOME_Exception);
+    long     GetMaxIter()                                  raises (SALOME::SALOME_Exception);
+    void     SetMaxNode (in long MaxNode)                  raises (SALOME::SALOME_Exception);
+    long     GetMaxNode()                                  raises (SALOME::SALOME_Exception);
+    void     SetMaxElem (in long MaxElem)                  raises (SALOME::SALOME_Exception);
+    long     GetMaxElem()                                  raises (SALOME::SALOME_Exception);
+
     void     SetDirName(in string NomDir)                  raises (SALOME::SALOME_Exception);
     string   GetDirName()                                  raises (SALOME::SALOME_Exception);
 
index 66641f438a4f073f32db4f3e1b56c99b7a865d21..f00cb5f39d9e6e58cf44696f09407844568fc8d0 100644 (file)
@@ -106,7 +106,7 @@ global resu1
 NumCalcP1 = NumCalc + 1
 FileName = " "
 #
-NbCalcMax = 5
+Analyse_Test_Convergence
 #
 MessInfo = None
 Error = 0
@@ -150,10 +150,11 @@ while not Error :
 #
 # If the maximum number of adaptations is reached, stop:
 #
-    if NumCalc > NbCalcMax :
-        MessInfo = "The maximum number of adaptations is reached: %d" % NbCalcMax
-        Error = -1
-        break
+    if MaxIter > 0 :
+      if NumCalc >= MaxIter :
+          MessInfo = "The maximum number of adaptations is reached: %d" % (MaxIter+1)
+          Error = -1
+          break
 #
     break
 ]]></code></script>
index 6d0df606880644f556c66fd295551a7af38d7deb..0ed06c6bbb63e218b84e7f9fdbb97f5644e93511 100644 (file)
@@ -106,7 +106,7 @@ global resu1
 NumCalcP1 = NumCalc + 1
 FileName = " "
 #
-NbCalcMax = 5
+Analyse_Test_Convergence
 #
 MessInfo = None
 Error = 0
@@ -150,10 +150,11 @@ while not Error :
 #
 # Si on depasse le maximum, on arrete :
 #
-    if NumCalc > NbCalcMax :
-        MessInfo = "La limite en nombre de calculs a ete atteinte : %d" % NbCalcMax
-        Error = -1
-        break
+    if MaxIter > 0 :
+      if NumCalc >= MaxIter :
+          MessInfo = "La limite en nombre de calculs a ete atteinte : %d" % (MaxIter+1)
+          Error = -1
+          break
 #
     break
 ]]></code></script>
index 67f04c2a312a2ec0621803ec7d715bbf978d9f6e..aeb2b20918822a82c3b1321767581ad3bf33bb75 100644 (file)
@@ -44,8 +44,7 @@ HOMARD_YACS::HOMARD_YACS():
   _NomCas( "" ),
   _NomDir( "" ),
   _MeshFile( "" ),
-  _ScriptFile( "" ),
-  _Type( 1 )
+  _ScriptFile( "" )
 {
   MESSAGE("HOMARD_YACS");
 }
@@ -82,6 +81,10 @@ std::string HOMARD_YACS::GetDumpPython() const
   aScript << "\t" << _Name << " = " << _NomCas << ".CreateYACSSchema(\"" << _Name << "\", \"" << _ScriptFile << "\", \"" << _NomDir << "\", \"" << _MeshFile << "\")\n";
 // Le type de schema
   aScript << "\t" << _Name << ".SetType(" << _Type << ")\n";
+// Les controles de convergences
+  if ( _MaxIter > 0 ) { aScript << "\t" << _Name << ".SetMaxIter(" << _MaxIter << ")\n"; }
+  if ( _MaxNode > 0 ) { aScript << "\t" << _Name << ".SetMaxNode(" << _MaxNode << ")\n"; }
+  if ( _MaxElem > 0 ) { aScript << "\t" << _Name << ".SetMaxElem(" << _MaxElem << ")\n"; }
 
 // L'ecriture du schema
   aScript << "\tcodret = " << _Name << ".Write()\n";
@@ -105,6 +108,36 @@ int HOMARD_YACS::GetType() const
   return _Type;
 }
 //=============================================================================
+void HOMARD_YACS::SetMaxIter( int MaxIter )
+{
+  _MaxIter = MaxIter;
+}
+//=============================================================================
+int HOMARD_YACS::GetMaxIter() const
+{
+  return _MaxIter;
+}
+//=============================================================================
+void HOMARD_YACS::SetMaxNode( int MaxNode )
+{
+  _MaxNode = MaxNode;
+}
+//=============================================================================
+int HOMARD_YACS::GetMaxNode() const
+{
+  return _MaxNode;
+}
+//=============================================================================
+void HOMARD_YACS::SetMaxElem( int MaxElem )
+{
+  _MaxElem = MaxElem;
+}
+//=============================================================================
+int HOMARD_YACS::GetMaxElem() const
+{
+  return _MaxElem;
+}
+//=============================================================================
 void HOMARD_YACS::SetDirName( const char* NomDir )
 {
   _NomDir = std::string( NomDir );
index 4c8597dd7e718fd4a286182d866aea559f12afb7..a513c23a5b6b4702042425de6fd0196f564d0c1c 100644 (file)
@@ -55,6 +55,13 @@ public:
   void                          SetType( int Type );
   int                           GetType() const;
 
+  void                          SetMaxIter( int MaxIter );
+  int                           GetMaxIter() const;
+  void                          SetMaxNode( int MaxNode );
+  int                           GetMaxNode() const;
+  void                          SetMaxElem( int MaxElem );
+  int                           GetMaxElem() const;
+
   void                          SetDirName( const char* NomDir );
   std::string                   GetDirName() const;
 
@@ -81,6 +88,9 @@ private:
   std::string                   _MeshFile;
   std::string                   _ScriptFile;
   int                           _Type;
+  int                           _MaxIter;
+  int                           _MaxNode;
+  int                           _MaxElem;
   std::string                   _XMLFile;
 };
 
index 99a666f113065d9f3c94d02cd70e6279215c1926..1828e8fb4988c606f454f9533e20d017b2256ddc 100644 (file)
@@ -576,6 +576,28 @@ void YACSDriver::Texte_python_2( const std::string pythonTexte, const std::strin
 //
 }
 //===============================================================================
+// Parametres de tests de convergence
+//===============================================================================
+void YACSDriver::TexteAnalyse_Test_Convergence( int MaxIter, int MaxNode, int MaxElem )
+{
+//
+//   MESSAGE("TexteAnalyse_Test_Convergence");
+  std::string chaine ;
+  std::ostringstream oss1;
+  oss1 << MaxIter;
+  chaine = oss1.str();
+  _Texte += "MaxIter = " + chaine + "\n" ;
+  std::ostringstream oss2;
+  oss2 << MaxNode;
+  chaine = oss2.str();
+  _Texte += "MaxNode = " + chaine + "\n" ;
+  std::ostringstream oss3;
+  oss3 << MaxElem;
+  chaine = oss3.str();
+  _Texte += "MaxElem = " + chaine + "\n" ;
+//
+}
+//===============================================================================
 // Creation d'un parametre
 //===============================================================================
 void YACSDriver::TexteParametre( const std::string node, const std::string port, const std::string type_value, const std::string value )
index 89632e7684a3c226c3cb9479870ff1ee00dc7013..c8c799baf38f4fe4e23f1de19423a6a4c32185a5 100644 (file)
@@ -47,6 +47,7 @@ public:
   void        Texte_python_1( const std::string pythonTexte, int indice, const std::string concept ) ;
   void        Texte_python_2( const std::string pythonTexte, const std::string mot_cle, const std::string concept ) ;
   void        TexteParametre( const std::string node, const std::string port, const std::string type_value, const std::string value ) ;
+  void        TexteAnalyse_Test_Convergence( int MaxIter, int MaxNode, int MaxElem ) ;
   void        TexteAddParametres( ) ;
   void        CreeFichier() ;
   //
index 760010b86a0b36bc1bdf8a3772d4487f0e0e9851..ff732b730710930fd05b9cf7f9298d11fa0f29c3 100644 (file)
@@ -1,7 +1,7 @@
 /********************************************************************************
 ** Form generated from reading UI file 'CreateYACS.ui'
 **
-** Created: Wed Jan 15 08:42:01 2014
+** Created: Mon Jan 20 13:23:30 2014
 **      by: Qt User Interface Compiler version 4.6.3
 **
 ** WARNING! All changes made in this file will be lost when recompiling UI file!
@@ -287,6 +287,7 @@ public:
         SpinBoxMaxNode->setObjectName(QString::fromUtf8("SpinBoxMaxNode"));
         SpinBoxMaxNode->setMinimum(0);
         SpinBoxMaxNode->setMaximum(999999999);
+        SpinBoxMaxNode->setSingleStep(1000);
         SpinBoxMaxNode->setValue(0);
 
         gridLayout_3->addWidget(SpinBoxMaxNode, 1, 1, 1, 1);
@@ -303,6 +304,7 @@ public:
         SpinBoxMaxElem->setObjectName(QString::fromUtf8("SpinBoxMaxElem"));
         SpinBoxMaxElem->setMinimum(0);
         SpinBoxMaxElem->setMaximum(999999999);
+        SpinBoxMaxElem->setSingleStep(1000);
         SpinBoxMaxElem->setValue(0);
 
         gridLayout_3->addWidget(SpinBoxMaxElem, 1, 3, 1, 1);
index 11602651bbd888ea95799761f9fba68ed0c7408a..0e8f76c25dcdbb4d3f189dd868086040f5095cd8 100644 (file)
          <property name="maximum">
           <number>999999999</number>
          </property>
+         <property name="singleStep">
+          <number>1000</number>
+         </property>
          <property name="value">
           <number>0</number>
          </property>
          <property name="maximum">
           <number>999999999</number>
          </property>
+         <property name="singleStep">
+          <number>1000</number>
+         </property>
          <property name="value">
           <number>0</number>
          </property>
index 8c6aa06273ada0ac9c98ae59be9544cea56d9d70..fe2b938a1ad13a5d666c80f48439c49d270d66a4 100644 (file)
@@ -44,10 +44,7 @@ MonCreateYACS::MonCreateYACS (bool modal, HOMARD::HOMARD_Gen_var myHomardGen0, Q
   _aScriptFile(""),
   _aDirName(""),
   _aMeshFile(""),
-  _Type(1),
-  _MaxIter(0),
-  _MaxNode(0),
-  _MaxElem(0)
+  _Type(1)
   // Les valeurs de _Type, _MaxIter, _MaxNode, _MaxElem doivent etre les memes que celles dans HOMARD_Gen_i::CreateYACSSchema
   // et doivent correspondre aux defauts des boutons
   {
@@ -63,6 +60,15 @@ MonCreateYACS::MonCreateYACS (bool modal, HOMARD::HOMARD_Gen_var myHomardGen0, Q
 
     if (_aCaseName != QString("")) { SetCaseName(); }
     else                           { setWindowModality(Qt::NonModal); /* permet selection du cas dans l arbre d etude */}
+//
+//  Les valeurs definies dans les preferences
+    _MaxIter = myHomardGen->GetYACSMaxIter();
+    _MaxNode = myHomardGen->GetYACSMaxNode();
+    _MaxElem = myHomardGen->GetYACSMaxElem();
+    MESSAGE ("Valeur par defaut de MaxIter = " << _MaxIter<<", MaxNode = "<< _MaxNode<<", MaxElem = "<< _MaxElem);
+    SpinBoxMaxIter->setValue(_MaxIter) ;
+    SpinBoxMaxNode->setValue(_MaxNode) ;
+    SpinBoxMaxElem->setValue(_MaxElem) ;
 //
     adjustSize();
   }
@@ -232,13 +238,13 @@ bool MonCreateYACS:: CreateOrUpdate()
 
   // 3.2. Les maximums
     _MaxIter = SpinBoxMaxIter->value() ;
-//     aYACS->SetMaxIter(_MaxIter) ;
+    aYACS->SetMaxIter(_MaxIter) ;
 
     _MaxNode = SpinBoxMaxNode->value() ;
-//     aYACS->SetMaxNode(_MaxNode) ;
+    aYACS->SetMaxNode(_MaxNode) ;
 
     _MaxElem = SpinBoxMaxElem->value() ;
-//     aYACS->SetMaxElem(_MaxElem) ;
+    aYACS->SetMaxElem(_MaxElem) ;
 
   }
 
index 6d2571dd69596e8419e472655d945d7f31ae4368..f0dfa364afc42244aa478aadd640f80b0349b8a9 100644 (file)
@@ -55,54 +55,94 @@ void MonEditYACS::InitValEdit()
   LEName->setText(_Name);
   LEName->setReadOnly(true);
 
-  QString _aCaseName = aYACS->GetCaseName();
+  _aCaseName = aYACS->GetCaseName();
   LECaseName->setText(_aCaseName);
   LECaseName->setReadOnly(true);
   PBCaseName->setVisible(0);
 
-  QString aScriptFile = aYACS->GetScriptFile();
-  LEScriptFile->setText(aScriptFile);
+  _aScriptFile = aYACS->GetScriptFile();
+  LEScriptFile->setText(_aScriptFile);
 
-  QString aDirName = aYACS->GetDirName();
-  LEDirName->setText(aDirName);
+  _aDirName = aYACS->GetDirName();
+  LEDirName->setText(_aDirName);
+  LEDirName->setReadOnly(true);
 
-  QString aMeshFile = aYACS->GetMeshFile();
-  LEMeshFile->setText(aMeshFile);
+  _aMeshFile = aYACS->GetMeshFile();
+  LEMeshFile->setText(_aMeshFile);
 
-  int Type=aYACS->GetType();
-  if(Type==1) { RBConstant->setChecked(true); }
-  else        { RBVariable->setChecked(true); };
+  _Type=aYACS->GetType();
+  if(_Type==1) { RBConstant->setChecked(true); }
+  else         { RBVariable->setChecked(true); };
   RBConstant->setEnabled(false);
   RBVariable->setEnabled(false);
+
+  _MaxIter = aYACS->GetMaxIter();
+  SpinBoxMaxIter->setValue(_MaxIter) ;
+  _MaxNode = aYACS->GetMaxNode();
+  SpinBoxMaxNode->setValue(_MaxNode) ;
+  _MaxElem = aYACS->GetMaxElem();
+  SpinBoxMaxElem->setValue(_MaxElem) ;
 //
 }
 
 // ---------------------------------------------------
 bool MonEditYACS:: CreateOrUpdate()
 //----------------------------------------------------
-//  Modification du schema
+//  Edition/modification du schema
 {
   MESSAGE("CreateOrUpdate");
-
-  // Les donnees
+  bool chgt = false ;
+  int valeur_i ;
+  // A. Recuperation et comparaison des valeurs
+  // A.1. Le script de lancement
   QString aScriptFile=LEScriptFile->text().trimmed();
   if ( aScriptFile != _aScriptFile )
   {
+//     MESSAGE("modification de ScriptFile : "<<_aScriptFile.toStdString()<<" devient "<<aScriptFile.toStdString());
     _aScriptFile = aScriptFile ;
     aYACS->SetScriptFile(CORBA::string_dup(_aScriptFile.toStdString().c_str())) ;
+    chgt = true ;
   }
-  QString aDirName=LEDirName->text().trimmed();
-  if ( aDirName != _aDirName )
-  {
-    _aDirName = aDirName ;
-    aYACS->SetDirName(CORBA::string_dup(_aDirName.toStdString().c_str())) ;
-  }
+  // A.2. Le maillage initial
   QString aMeshFile=LEMeshFile->text().trimmed();
   if ( aMeshFile != _aMeshFile )
   {
+//     MESSAGE("modification de aMeshFile : "<<_aMeshFile.toStdString()<<" devient "<<aMeshFile.toStdString());
     _aMeshFile = aMeshFile ;
     aYACS->SetMeshFile(CORBA::string_dup(_aMeshFile.toStdString().c_str())) ;
+    chgt = true ;
+  }
+  // A.3. La convergence
+  valeur_i = SpinBoxMaxIter->value() ;
+  if ( valeur_i != _MaxIter )
+  {
+//     MESSAGE("modification de MaxIter : "<<_MaxIter<<" devient "<<valeur_i);
+    _MaxIter = valeur_i ;
+    aYACS->SetMaxIter(_MaxIter) ;
+    chgt = true ;
+  }
+  valeur_i = SpinBoxMaxNode->value() ;
+  if ( valeur_i != _MaxNode )
+  {
+//     MESSAGE("modification de MaxNode : "<<_MaxNode<<" devient "<<valeur_i);
+    _MaxNode = valeur_i ;
+    aYACS->SetMaxNode(_MaxNode) ;
+    chgt = true ;
+  }
+  valeur_i = SpinBoxMaxElem->value() ;
+  if ( valeur_i != _MaxElem )
+  {
+//     MESSAGE("modification de MaxElem : "<<_MaxElem<<" devient "<<valeur_i);
+    _MaxElem = valeur_i ;
+    aYACS->SetMaxElem(_MaxElem) ;
+    chgt = true ;
+  }
+// B. Si changement
+  if ( chgt )
+  {
+    myHomardGen->InvalideYACS(_Name.toStdString().c_str());
   }
 
+  HOMARD_UTILS::updateObjBrowser();
   return true ;
 }
index 8cab8d1e82dd52c6621785293c11b7ca4aa2a194..1d44d67389c6e97371957b2b5f32fed62783fd4b 100755 (executable)
@@ -628,6 +628,7 @@ void HOMARD_Gen_i::InvalideIterOption(const char* nomIter, CORBA::Long Option)
       if (!so->FindAttribute(anAttr, "AttributeComment")) continue;
       SALOMEDS::AttributeComment_var aCommentAttr = SALOMEDS::AttributeComment::_narrow(anAttr);
       std::string value (aCommentAttr->Value());
+      if(value == std::string("IterationHomard")) continue;
       if(value == std::string("HypoHomard")) continue;
       SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
       aStudyBuilder->RemoveObject(so);
@@ -721,6 +722,47 @@ void HOMARD_Gen_i::InvalideIterInfo(const char* nomIter)
   }
 }
 //=============================================================================
+void HOMARD_Gen_i::InvalideYACS(const char* YACSName)
+{
+  MESSAGE( "InvalideYACS : YACSName    = " << YACSName );
+  HOMARD::HOMARD_YACS_var myYACS = myContextMap[GetCurrentStudyID()]._mesYACSs[YACSName];
+  if (CORBA::is_nil(myYACS))
+  {
+      SALOME::ExceptionStruct es;
+      es.type = SALOME::BAD_PARAM;
+      es.text = "Invalid schema YACS";
+      throw SALOME::SALOME_Exception(es);
+      return ;
+  };
+  //
+  SALOMEDS::SObject_var aYACSSO = SALOMEDS::SObject::_narrow(myCurrentStudy->FindObjectIOR(_orb->object_to_string(myYACS)));
+  SALOMEDS::ChildIterator_var  aYACS = myCurrentStudy->NewChildIterator(aYACSSO);
+  for (; aYACS->More(); aYACS->Next())
+  {
+    SALOMEDS::SObject_var so = aYACS->Value();
+    SALOMEDS::GenericAttribute_var anAttr;
+    if (!so->FindAttribute(anAttr, "AttributeComment")) continue;
+    SALOMEDS::AttributeComment_var aCommentAttr = SALOMEDS::AttributeComment::_narrow(anAttr);
+    std::string value (aCommentAttr->Value());
+    if( value == std::string("xml") )
+    {
+      SALOMEDS::StudyBuilder_var aStudyBuilder = myCurrentStudy->NewBuilder();
+      aStudyBuilder->RemoveObject(so);
+    }
+  }
+  std::string nomFichier = myYACS->GetXMLFile();
+  std::string commande = "rm -rf " + std::string(nomFichier) ;
+  MESSAGE ( "commande = " << commande );
+  if ((system(commande.c_str())) != 0)
+  {
+    SALOME::ExceptionStruct es;
+    es.type = SALOME::BAD_PARAM;
+    es.text = "The XML file for the schema YACS cannot be removed." ;
+    throw SALOME::SALOME_Exception(es);
+    return ;
+  }
+}
+//=============================================================================
 void HOMARD_Gen_i::InvalideZone(const char* ZoneName)
 {
   MESSAGE( "InvalideZone : ZoneName    = " << ZoneName );
@@ -4013,9 +4055,17 @@ HOMARD::HOMARD_YACS_ptr HOMARD_Gen_i::CreateYACSSchema (const char* nomYACS, con
   myYACS->SetScriptFile( ScriptFile ) ;
   myYACS->SetCaseName( nomCas ) ;
   // D.2. Defaut
+  int defaut_i ;
   // D.2.1. Type constant
   myYACS->SetType( 1 ) ;
-  // D.2.2. Fichier de sauvegarde dans le repertoire du cas
+  // D.2.2. Convergence
+  defaut_i = GetYACSMaxIter() ;
+  myYACS->SetMaxIter( defaut_i ) ;
+  defaut_i = GetYACSMaxNode() ;
+  myYACS->SetMaxNode( defaut_i ) ;
+  defaut_i = GetYACSMaxElem() ;
+  myYACS->SetMaxElem( defaut_i ) ;
+  // D.3. Fichier de sauvegarde dans le repertoire du cas
   HOMARD::HOMARD_Cas_ptr caseyacs = GetCase(nomCas) ;
   std::string dirnamecase = caseyacs->GetDirName() ;
   std::string XMLFile ;
@@ -4059,6 +4109,10 @@ CORBA::Long HOMARD_Gen_i::YACSWriteOnFile(const char* nomYACS, const char* XMLFi
   std::string DirName = myYACS->GetDirName() ;
   std::string MeshFile = myYACS->GetMeshFile() ;
   std::string ScriptFile = myYACS->GetScriptFile() ;
+  // B.3. Les caracteristiques de convergence
+  int MaxIter = myYACS->GetMaxIter() ;
+  int MaxNode = myYACS->GetMaxNode() ;
+  int MaxElem = myYACS->GetMaxElem() ;
 
   // C. Le cas
   // C.1. L'objet cas
@@ -4178,7 +4232,10 @@ CORBA::Long HOMARD_Gen_i::YACSWriteOnFile(const char* nomYACS, const char* XMLFi
         texte_control += YACSDriverTexteBoundary( myCase, myDriver ) ;
         myDriver->TexteAdd(texte_control);
       }
-      // G.1.10. Les parametres
+      // G.1.10. Les tests de convergence
+      else if ( mot_cle == "Analyse_Test_Convergence" )
+      { myDriver->TexteAnalyse_Test_Convergence(MaxIter, MaxNode, MaxElem); }
+      // G.1.11. Les parametres
       else if ( mot_cle == "PARAMETRES" )
       { myDriver->TexteAddParametres(); }
       // G.1.n. La ligne est recopiee telle quelle
index 13ac21f9a8fa7f35309776a9469efaac93a9bfef..84af738e40afa742a8a9f2e451ec6ad542f0ff33 100644 (file)
@@ -152,6 +152,7 @@ public:
   void                            InvalideIter(const char* nomIter);
   void                            InvalideIterOption(const char* nomIter, CORBA::Long Option);
   void                            InvalideIterInfo(const char* nomIter);
+  void                            InvalideYACS(const char* nomYACS);
   void                            InvalideZone(const char* nomZone);
 
   CORBA::Long                     DeleteBoundary(const char* nomBoundary);
index b00cbf97b891b2dc439009d087d90fbc61df17a6..b5dcb425ecf5e4399fb0f706efe71b87d7079648 100644 (file)
@@ -124,6 +124,42 @@ CORBA::Long HOMARD_YACS_i::GetType()
   return  CORBA::Long( myHomardYACS->GetType() );
 }
 //=============================================================================
+void HOMARD_YACS_i::SetMaxIter( CORBA::Long MaxIter )
+{
+  ASSERT( myHomardYACS );
+  myHomardYACS->SetMaxIter( MaxIter );
+}
+//=============================================================================
+CORBA::Long HOMARD_YACS_i::GetMaxIter()
+{
+  ASSERT( myHomardYACS );
+  return  CORBA::Long( myHomardYACS->GetMaxIter() );
+}
+//=============================================================================
+void HOMARD_YACS_i::SetMaxNode( CORBA::Long MaxNode )
+{
+  ASSERT( myHomardYACS );
+  myHomardYACS->SetMaxNode( MaxNode );
+}
+//=============================================================================
+CORBA::Long HOMARD_YACS_i::GetMaxNode()
+{
+  ASSERT( myHomardYACS );
+  return  CORBA::Long( myHomardYACS->GetMaxNode() );
+}
+//=============================================================================
+void HOMARD_YACS_i::SetMaxElem( CORBA::Long MaxElem )
+{
+  ASSERT( myHomardYACS );
+  myHomardYACS->SetMaxElem( MaxElem );
+}
+//=============================================================================
+CORBA::Long HOMARD_YACS_i::GetMaxElem()
+{
+  ASSERT( myHomardYACS );
+  return  CORBA::Long( myHomardYACS->GetMaxElem() );
+}
+//=============================================================================
 void HOMARD_YACS_i::SetDirName( const char* NomDir )
 {
   ASSERT( myHomardYACS );
index c67cfab7325202646398f72b8f4f8e1427ee479f..f429e94b013d367348117781b141576e7ad3a350 100644 (file)
@@ -69,6 +69,13 @@ public:
   void                   SetType( CORBA::Long Type );
   CORBA::Long            GetType();
 
+  void                   SetMaxIter( CORBA::Long MaxIter );
+  CORBA::Long            GetMaxIter();
+  void                   SetMaxNode( CORBA::Long MaxNode );
+  CORBA::Long            GetMaxNode();
+  void                   SetMaxElem( CORBA::Long MaxElem );
+  CORBA::Long            GetMaxElem();
+
   void                   SetDirName( const char* NomDir );
   char*                  GetDirName();