long GetYACSMaxIter() raises (SALOME::SALOME_Exception);
long GetYACSMaxNode() raises (SALOME::SALOME_Exception);
long GetYACSMaxElem() raises (SALOME::SALOME_Exception);
+ void SetYACSConvergenceType(in long TypeTest) raises (SALOME::SALOME_Exception);
+ long GetYACSConvergenceType() raises (SALOME::SALOME_Exception);
};
};
void SetMaxElem (in long MaxElem) raises (SALOME::SALOME_Exception);
long GetMaxElem() raises (SALOME::SALOME_Exception);
+ void SetTestConvergence (in long TypeTest, in double VRef)
+ raises (SALOME::SALOME_Exception);
+ long GetTestConvergenceType() raises (SALOME::SALOME_Exception);
+ double GetTestConvergenceVRef() raises (SALOME::SALOME_Exception);
+
void SetDirName(in string NomDir) raises (SALOME::SALOME_Exception);
string GetDirName() raises (SALOME::SALOME_Exception);
}
//=============================================================================
//=============================================================================
-// Caracteristiques
+// Caracteristiques de la convergence
//=============================================================================
//=============================================================================
void HOMARD_YACS::SetType( int Type )
return _MaxElem;
}
//=============================================================================
+void HOMARD_YACS::SetTestConvergence( int TypeTest, double VRef )
+{
+ _TypeTest = TypeTest;
+ _VRef = VRef;
+}
+//=============================================================================
+int HOMARD_YACS::GetTestConvergenceType() const
+{
+ return _TypeTest;
+}
+//=============================================================================
+double HOMARD_YACS::GetTestConvergenceVRef() const
+{
+ return _VRef;
+}
+//=============================================================================
+//=============================================================================
+// Repertoire et fichiers
+//=============================================================================
+//=============================================================================
+//=============================================================================
void HOMARD_YACS::SetDirName( const char* NomDir )
{
_NomDir = std::string( NomDir );
void SetMaxElem( int MaxElem );
int GetMaxElem() const;
+ void SetTestConvergence( int TypeTest, double VRef );
+ int GetTestConvergenceType() const;
+ double GetTestConvergenceVRef() const;
+
void SetDirName( const char* NomDir );
std::string GetDirName() const;
int _MaxIter;
int _MaxNode;
int _MaxElem;
+ int _TypeTest;
+ double _VRef;
std::string _XMLFile;
};
setPreferenceProperty( Pref, "min", 0 );
setPreferenceProperty( Pref, "max", 100000000 );
setPreferenceProperty( Pref, "step", 1000 );
+
+ Bloc = addPreference( tr( "PREF_YACS_CONVERGENCE" ), Onglet );
+ setPreferenceProperty( Bloc, "columns", 1 );
+
+ Pref = addPreference( tr( "PREF_YACS_TYPE_TEST" ), Bloc, LightApp_Preferences::Selector, "HOMARD", "yacs_type_test" );
+ QStringList aListOfTypeTest;
+ aListOfTypeTest << "None";
+ aListOfTypeTest << "VTest > VRef";
+ aListOfTypeTest << "VTest < VRef";
+ setPreferenceProperty( Pref, "strings", aListOfTypeTest );
}
HOMARD::HOMARD_Gen_var homardGen = HOMARDGUI::InitHOMARDGen(app);
int defaut_i ;
std::string defaut_s ;
+ QString QString_v ;
//
// B. Les valeurs
// B.1. La langue
//
defaut_s = homardGen->GetLanguageShort();
SUIT_ResourceMgr* resMgr = getApp()->resourceMgr();
- _LanguageShort = resMgr->stringValue("language", "language", QString(defaut_s.c_str()));
+ _LanguageShort = resMgr->stringValue("language", "language", QString(defaut_s.c_str()) );
//
// B.2. Les publications
bool publish_mesh ;
defaut_i = homardGen->GetYACSMaxElem();
_YACSMaxElem = resMgr->integerValue("HOMARD", "yacs_max_elem", defaut_i );
//
+// B.4. La convergence pour YACS
+//
+ defaut_i = homardGen->GetYACSConvergenceType();
+ if ( defaut_i == 1 ) { QString_v = tr("VTest > VRef") ; }
+ else if ( defaut_i == 2 ) { QString_v = tr("VTest < VRef") ; }
+ else { QString_v = tr("None") ; }
+ QString_v = resMgr->stringValue ( "HOMARD", "yacs_type_test", QString_v );
+ if ( ( QString_v == "VTest > VRef" ) || ( QString_v == "VTest > VRef" ) ) { _YACSTypeTest = 1 ; }
+ else if ( ( QString_v == "VTest < VRef" ) || ( QString_v == "VTest < VRef" ) ) { _YACSTypeTest = 2 ; }
+ else { _YACSTypeTest = 0 ; }
+//
// C. Enregistrement dans l'objet general
//
MESSAGE ("Enregistrement de LanguageShort = " << _LanguageShort.toStdString().c_str() );
MESSAGE ("Enregistrement de PublisMeshIN = " << _PublisMeshIN<<", PublisMeshOUT = "<< _PublisMeshOUT);
MESSAGE ("Enregistrement de YACSMaxIter = " << _YACSMaxIter<<", YACSMaxNode = "<< _YACSMaxNode<<", YACSMaxElem = "<< _YACSMaxElem);
+ MESSAGE ("Enregistrement de YACSTypeTest = " << _YACSTypeTest);
//
homardGen->SetLanguageShort(_LanguageShort.toStdString().c_str());
homardGen->SetPublisMesh(_PublisMeshIN, _PublisMeshOUT);
homardGen->SetYACSMaximum(_YACSMaxIter, _YACSMaxNode, _YACSMaxElem);
+//
+ homardGen->SetYACSConvergenceType(_YACSTypeTest);
}
//================================================
int _YACSMaxIter ;
int _YACSMaxNode ;
int _YACSMaxElem ;
+ int _YACSTypeTest ;
};
#endif
<source>PREF_YACS_MAX_ELEM</source>
<translation>Elements</translation>
</message>
+ <message>
+ <source>PREF_YACS_CONVERGENCE</source>
+ <translation>Convergence</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_TYPE_TEST</source>
+ <translation>Test type</translation>
+ </message>
</context>
</TS>
<source>PREF_YACS_MAX_ELEM</source>
<translation>Eléments</translation>
</message>
+ <message>
+ <source>PREF_YACS_CONVERGENCE</source>
+ <translation>Convergence</translation>
+ </message>
+ <message>
+ <source>PREF_YACS_TYPE_TEST</source>
+ <translation>Type de test</translation>
+ </message>
</context>
</TS>
int YACSMaxIter = 0 ;
int YACSMaxNode = 0 ;
int YACSMaxElem = 0 ;
+ std::string YACSTypeTestchaine = "None" ;
// B. La version de salome
// Cela se presente sous la forme :
// 3. Parametres
// 3.1. La langue
else if ( section_langue || section_homard )
- { /*MESSAGE ( "a decoder : "<< ligne);*/
- ligne_bis >> mot_cle ;
- chaine = GetStringInTexte ( mot_cle, "\"", 1 ) ;
+ { MESSAGE ( "a decoder : "<< ligne);
+// La valeur : entre les deux premieres quotes
+ chaine = GetStringInTexte ( ligne, "\"", 1 ) ;
+// MESSAGE("chaine 1 = |"<<chaine<<"|");
chaine = GetStringInTexte ( chaine, "\"", 0 ) ;
-// MESSAGE("chaine = "<<chaine<<"|");
- ligne_bis >> mot_cle ;
- std::string chaine2 = GetStringInTexte ( mot_cle, "\"", 1 ) ;
- chaine2 = GetStringInTexte ( chaine2, "\"", 0 ) ;
- MESSAGE("chaine2 = "<<chaine2<<"|");
+// MESSAGE("chaine = |"<<chaine<<"|");
+// Le mot_cle : entre les deux dernieres quotes
+ std::string chaine2 = GetStringInTexte ( ligne, "\"", 2 ) ;
+// MESSAGE("chaine2 1 = |"<<chaine2<<"|");
+ chaine2 = GetStringInTexte ( chaine2, "\"", 3 ) ;
+// MESSAGE("chaine2 = |"<<chaine2<<"|");
// 3.1. La langue
if ( section_langue )
{ if ( chaine2 == "language" ) { LanguageShort = chaine ; } }
if ( chaine2 == "yacs_max_iter" ) { chainebis >> YACSMaxIter ; }
if ( chaine2 == "yacs_max_node" ) { chainebis >> YACSMaxNode ; }
if ( chaine2 == "yacs_max_elem" ) { chainebis >> YACSMaxElem ; }
+ if ( chaine2 == "yacs_type_test" ) { YACSTypeTestchaine = chaine ; }
}
}
}
}
}
- // C. Enregistrement
+ // C. Enregistrements
MESSAGE ("Enregistrement de LanguageShort = " << LanguageShort );
- MESSAGE ("Enregistrement de PublisMeshIN = " << PublisMeshIN<<", PublisMeshOUT = "<< PublisMeshOUT);
- MESSAGE ("Enregistrement de YACSMaxIter = " << YACSMaxIter<<", YACSMaxNode = "<< YACSMaxNode<<", YACSMaxElem = "<< YACSMaxElem);
SetLanguageShort( LanguageShort.c_str() ) ;
+
+ MESSAGE ("Enregistrement de PublisMeshIN = " << PublisMeshIN<<", PublisMeshOUT = "<< PublisMeshOUT);
SetPublisMesh(PublisMeshIN, PublisMeshOUT) ;
+
+ MESSAGE ("Enregistrement de YACSMaxIter = " << YACSMaxIter<<", YACSMaxNode = "<< YACSMaxNode<<", YACSMaxElem = "<< YACSMaxElem);
SetYACSMaximum(YACSMaxIter, YACSMaxNode, YACSMaxElem) ;
+ MESSAGE ("Enregistrement de TypeTest = " << YACSTypeTestchaine.c_str() );
+ int YACSTypeTest ;
+ if ( ( YACSTypeTestchaine == "VTest > VRef" ) || ( YACSTypeTestchaine == "VTest > VRef" ) ) { YACSTypeTest = 1 ; }
+ else if ( ( YACSTypeTestchaine == "VTest < VRef" ) || ( YACSTypeTestchaine == "VTest < VRef" ) ) { YACSTypeTest = 2 ; }
+ else { YACSTypeTest = 0 ; }
+ MESSAGE ("==> TypeTest = " << YACSTypeTest );
+ SetYACSConvergenceType( YACSTypeTest ) ;
+
return ;
}
//===============================================================================
return _PublisMeshOUT ;
}
//===============================================================================
-// YACS - maximum
+// YACS - test de convergence
//===============================================================================
void HOMARD_Gen_i::SetYACSMaximum(CORBA::Long YACSMaxIter, CORBA::Long YACSMaxNode, CORBA::Long YACSMaxElem)
{
{
return _YACSMaxElem ;
}
+void HOMARD_Gen_i::SetYACSConvergenceType(CORBA::Long YACSTypeTest)
+{
+ _YACSTypeTest = YACSTypeTest ;
+ return ;
+}
+CORBA::Long HOMARD_Gen_i::GetYACSConvergenceType()
+{
+ return _YACSTypeTest ;
+}
//=============================================================================
extern "C"
CORBA::Long GetYACSMaxIter();
CORBA::Long GetYACSMaxNode();
CORBA::Long GetYACSMaxElem();
+ void SetYACSConvergenceType(CORBA::Long YACSTypeTest);
+ CORBA::Long GetYACSConvergenceType();
// ---------------------------------------------------------------
int _YACSMaxIter ;
int _YACSMaxNode ;
int _YACSMaxElem ;
+ int _YACSTypeTest ;
;
};
return CORBA::Long( myHomardYACS->GetType() );
}
//=============================================================================
+//=============================================================================
+// Caracteristiques de la convergence
+//=============================================================================
+//=============================================================================
void HOMARD_YACS_i::SetMaxIter( CORBA::Long MaxIter )
{
ASSERT( myHomardYACS );
return CORBA::Long( myHomardYACS->GetMaxElem() );
}
//=============================================================================
+void HOMARD_YACS_i::SetTestConvergence( CORBA::Long TypeTest, CORBA::Double VRef)
+{
+ ASSERT( myHomardYACS );
+ myHomardYACS->SetTestConvergence( TypeTest, VRef );
+}
+//=============================================================================
+CORBA::Long HOMARD_YACS_i::GetTestConvergenceType()
+{
+ ASSERT( myHomardYACS );
+ return CORBA::Long( myHomardYACS->GetTestConvergenceType() );
+}
+//=============================================================================
+CORBA::Double HOMARD_YACS_i::GetTestConvergenceVRef()
+{
+ ASSERT( myHomardYACS );
+ return CORBA::Long( myHomardYACS->GetTestConvergenceVRef() );
+}
+//=============================================================================
+//=============================================================================
+// Repertoire et fichiers
+//=============================================================================
+//=============================================================================
void HOMARD_YACS_i::SetDirName( const char* NomDir )
{
ASSERT( myHomardYACS );
void SetMaxElem( CORBA::Long MaxElem );
CORBA::Long GetMaxElem();
+ void SetTestConvergence( CORBA::Long TypeTest, CORBA::Double VRef );
+ CORBA::Long GetTestConvergenceType();
+ CORBA::Double GetTestConvergenceVRef();
+
void SetDirName( const char* NomDir );
char* GetDirName();