Informations sur les hypothèses.
| * 1: infinite norm |
| * 2: relative value, if only one component |
+---------------------------------------------------------------+
-| .. module:: GetListComp |
+| .. module:: GetComps |
| |
-| **GetListComp()** |
+| **GetComps()** |
| Returns the list of the used components |
+---------------------------------------------------------------+
+| .. module:: SupprComp |
+| |
+| **SupprComp(comp_name)** |
+| Eliminates a component of the field |
+| |
+| - ``comp_name``: name of a component to eliminate |
++---------------------------------------------------------------+
+| .. module:: SupprComps |
+| |
+| **SupprComps()** |
+| Eliminates all the components of the field |
++---------------------------------------------------------------+
The zones
| * 1: refinement |
| * -1: unrefinement |
+---------------------------------------------------------------+
+| .. module:: GetZones |
+| |
+| **GetZones()** |
+| Returns the list of the used zones with their uses |
+| Warning: the use is stored as a string in the list and |
+| not as an integer. |
+| |
+| Example: ['Zone_A', '1', 'Zone_B', '1', 'Zone_C', '1'] |
++---------------------------------------------------------------+
+| .. module:: SupprZone |
+| |
+| **SupprZone(zone_name)** |
+| Eliminates a zone from the hypothesis |
+| |
+| - ``zone_name``: name of a zone to eliminate |
++---------------------------------------------------------------+
+| .. module:: SupprZones |
+| |
+| **SupprZones()** |
+| Eliminates all the zones from the hypothesis |
++---------------------------------------------------------------+
The filtering by the groups
"""
Lancement d'un calcul ASTER
"""
-__revision__ = "V5.4"
+__revision__ = "V5.5"
#
import sys
import os
erreur, message_erreur, info = self.post_aster_1 ( nomfic, chaine, nuocc )
if ( erreur > 0 ) :
break
- self.message_info += info[:-1]
#
# 1.2. Details
#
if ( erreur == 0 ) :
+ self.message_info += info[:-1]
info = info.replace(chaine, " ")
laux = info[:-1].split()
aux = laux[0]
dico_resu[chaine] = float(aux)
else :
erreur = 0
+ message_erreur = " "
#
# 2. Exploration du fichier mess
# 2.1. Que chercher ?
erreur, message_erreur, info = self.post_aster_1 ( nomfic, chaine, nuocc )
if ( erreur > 0 ) :
break
- self.message_info += info[:-1]
#
# 2.3. Details
#
if ( erreur == 0 ) :
+ self.message_info += info[:-1]
if chaine == "INSTANT" :
l_aux = info[:-1].split()
lg_aux = len(l_aux)
dico_resu[chaine] = int(l_aux[1])
else :
erreur = 0
+ message_erreur = " "
#
if erreur :
break
nom_fonction = __name__ + "/post_aster_1"
blabla = "\nDans " + nom_fonction + " :"
if self.verbose_max :
- print blabla, "chaine =", chaine, ", nuocc =", nuocc
+ print blabla, "nomfic =", nomfic, "chaine =", chaine, ", nuocc =", nuocc
#
- erreur = -1
+ trouve = False
+ erreur = 0
message_erreur = " "
info = ""
#
#
else :
#
- self.message_info += "\n"
iaux = 0
for ligne in les_lignes :
if chaine in ligne :
iaux += 1
if ( ( nuocc == 0 ) or ( iaux == nuocc ) ) :
info += ligne
- erreur = 0
+ if ( not trouve ) :
+ self.message_info += "\n"
+ trouve = True
#
break
+#
+ if ( not trouve ) :
+ erreur = -1
#
if ( self.verbose_max or ( erreur>0 ) ) :
- print blabla, "chaine =", chaine, ", nuocc =", nuocc
+ print blabla, "nomfic =", nomfic, "chaine =", chaine, ", nuocc =", nuocc
print ". erreur =", erreur
#
if erreur :
| * 1 : norme infinie |
| * 2 : valeur relative, si une seule composante |
+---------------------------------------------------------------+
-| .. module:: GetListComp |
+| .. module:: GetComps |
| |
-| **GetListComp()** |
+| **GetComps()** |
| Retourne la liste des composantes utilisées |
+---------------------------------------------------------------+
+| .. module:: SupprComp |
+| |
+| **SupprComp(comp_name)** |
+| Supprime une composante du champ à considérer |
+| |
+| - ``comp_name`` : nom de la composante à supprimer |
++---------------------------------------------------------------+
+| .. module:: SupprComps |
+| |
+| **SupprComps()** |
+| Supprime toutes les composantes du champ à considérer |
++---------------------------------------------------------------+
Les zones
| * 1 : raffinement |
| * -1 : déraffinement |
+---------------------------------------------------------------+
+| .. module:: GetZones |
+| |
+| **GetZones()** |
+| Retourne la liste des zones utilisées avec leur usage. |
+| Attention, l'usage est stocké sous forme de chaîne de |
+| caractères et non pas d'entier dans la liste. |
+| |
+| Exemple : ['Zone_A', '1', 'Zone_B', '1', 'Zone_C', '1'] |
++---------------------------------------------------------------+
+| .. module:: SupprZone |
+| |
+| **SupprZone(zone_name)** |
+| Supprime une zone de l'hypothèse |
+| |
+| - ``zone_name`` : nom de la zone à supprimer |
++---------------------------------------------------------------+
+| .. module:: SupprZones |
+| |
+| **SupprZones()** |
+| Supprime toutes les zones de l'hypothèse |
++---------------------------------------------------------------+
Le filtrage par les groupes
void SetField(in string FieldName) raises (SALOME::SALOME_Exception);
string GetFieldName() raises (SALOME::SALOME_Exception);
void SetUseField(in long UsField) raises (SALOME::SALOME_Exception);
- InfosHypo GetField() raises (SALOME::SALOME_Exception);
+ InfosHypo GetField() raises (SALOME::SALOME_Exception);
void SetUseComp(in long UsCmpI) raises (SALOME::SALOME_Exception);
- void AddComp(in string NomComposant) raises (SALOME::SALOME_Exception);
- void SupprComp() raises (SALOME::SALOME_Exception);
- listeComposantsHypo GetListComp() raises (SALOME::SALOME_Exception);
+ void AddComp(in string NomComp) raises (SALOME::SALOME_Exception);
+ void SupprComp(in string NomComp) raises (SALOME::SALOME_Exception);
+ void SupprComps() raises (SALOME::SALOME_Exception);
+ listeComposantsHypo GetComps() raises (SALOME::SALOME_Exception);
void SetRefinThr(in long TypeThR, in double ThreshR)
raises (SALOME::SALOME_Exception);
void AddZone(in string NomZone, in long TypeUse) raises (SALOME::SALOME_Exception);
void AddZone0(in string NomZone, in long TypeUse) raises (SALOME::SALOME_Exception);
void SupprZone(in string NomZone) raises (SALOME::SALOME_Exception);
+ void SupprZones() raises (SALOME::SALOME_Exception);
listeZonesHypo GetZones() raises (SALOME::SALOME_Exception);
};
for ( it = ListString.begin(); it != ListString.end(); ++it )
os << separator() << *it;
- ListString = hypothesis.GetListComp();
+ ListString = hypothesis.GetComps();
os << separator() << ListString.size();
for ( it = ListString.begin(); it != ListString.end(); ++it )
os << separator() << *it;
aScript << "\t" << _Name << ".SetField(\"" << _Field << "\")\n";
aScript << "\t" << _Name << ".SetUseField(" << _UsField << ")\n";
aScript << "\t" << _Name << ".SetUseComp(" << _UsCmpI << ")\n";
- std::list<std::string>::const_iterator it_comp = _ListComposant.begin();
- while(it_comp != _ListComposant.end())
+ std::list<std::string>::const_iterator it_comp = _ListComp.begin();
+ while(it_comp != _ListComp.end())
{
aScript << "\t" << _Name << ".AddComp(\"" << *it_comp << "\")\n";
it_comp++;
return _UsCmpI;
}
//=============================================================================
-void HOMARD_Hypothesis::AddComp( const char* NomComposant )
+void HOMARD_Hypothesis::AddComp( const char* NomComp )
{
- _ListComposant.push_back( std::string( NomComposant ) );
+// On commence par la supprimer au cas ou elle aurait deja ete inseree
+// Cela peut se produire dans un schema YACS quand on repasse plusieurs fois par la
+// definition de l'hypothese
+ SupprComp( NomComp ) ;
+// Insertion veritable
+ _ListComp.push_back( std::string( NomComp ) );
+}
+//=============================================================================
+void HOMARD_Hypothesis::SupprComp( const char* NomComp )
+{
+ MESSAGE ("SupprComp pour "<<NomComp) ;
+ std::list<std::string>::iterator it = find( _ListComp.begin(), _ListComp.end(), NomComp );
+ if ( it != _ListComp.end() ) { it = _ListComp.erase( it ); }
}
//=============================================================================
-void HOMARD_Hypothesis::SupprComp()
+void HOMARD_Hypothesis::SupprComps()
{
- MESSAGE ("SupprComp") ;
- _ListComposant.clear();
+ _ListComp.clear();
}
//=============================================================================
-const std::list<std::string>& HOMARD_Hypothesis::GetListComp() const
+const std::list<std::string>& HOMARD_Hypothesis::GetComps() const
{
- return _ListComposant;
+ return _ListComp;
}
//=============================================================================
void HOMARD_Hypothesis::SetRefinThr( int TypeThR, double ThreshR )
void SetUseComp( int UsCmpI );
int GetUseComp() const;
- void AddComp( const char* NomComposant );
- void SupprComp();
- const std::list<std::string>& GetListComp() const;
+ void AddComp( const char* NomComp );
+ void SupprComp( const char* NomComp );
+ void SupprComps();
+ const std::list<std::string>& GetComps() const;
void SetRefinThr( int TypeThR, double ThreshR );
int GetRefinThrType() const;
std::list<std::string> _ListIter;
std::list<std::string> _ListZone;
- std::list<std::string> _ListComposant;
+ std::list<std::string> _ListComp;
std::list<std::string> _ListGroupSelected;
std::list<std::string> _ListFieldInterp;
};
CBFieldName->setEnabled(false);
//SetFieldName(Qt::Unchecked);
- HOMARD::listeComposantsHypo_var mesComposantsAvant = aHypothesis->GetListComp();
+ HOMARD::listeComposantsHypo_var mesComposantsAvant = aHypothesis->GetComps();
TWCMP->clear();
TWCMP->setRowCount(0);
TWCMP->resizeRowsToContents();
myDriver->TexteField(FieldName, FieldFile, TimeStep, Rank, TypeThR, ThreshR, TypeThC, ThreshC, UsField, UsCmpI);
//
// Les composantes
- HOMARD::listeComposantsHypo* mescompo = myHypo->GetListComp();
+ HOMARD::listeComposantsHypo* mescompo = myHypo->GetComps();
int numberOfCompos = mescompo->length();
MESSAGE( ". numberOfCompos = " << numberOfCompos );
for (int NumeComp = 0; NumeComp< numberOfCompos; NumeComp++)
// //===============================================================================
void HOMARD_Gen_i::SetLanguageShort(const char* LanguageShort)
{
- MESSAGE ("SetLanguageShort pour LanguageShort = " << LanguageShort );
+// MESSAGE ("SetLanguageShort pour LanguageShort = " << LanguageShort );
_LangueShort = LanguageShort ;
if ( _LangueShort == "fr" ) { _Langue = "Francais" ; }
else { _Langue = "English" ; }
myHomardHypothesis->SetUseComp( UsCmpI );
}
//=============================================================================
-void HOMARD_Hypothesis_i::AddComp( const char* NomComposant )
+void HOMARD_Hypothesis_i::AddComp( const char* NomComp )
{
ASSERT( myHomardHypothesis );
- myHomardHypothesis->AddComp( NomComposant );
+ myHomardHypothesis->AddComp( NomComp );
}
//=============================================================================
-void HOMARD_Hypothesis_i::SupprComp()
+void HOMARD_Hypothesis_i::SupprComp( const char* NomComp )
{
ASSERT( myHomardHypothesis );
- myHomardHypothesis->SupprComp();
+ myHomardHypothesis->SupprComp(NomComp);
}
//=============================================================================
-HOMARD::listeComposantsHypo* HOMARD_Hypothesis_i::GetListComp()
+void HOMARD_Hypothesis_i::SupprComps()
{
ASSERT( myHomardHypothesis );
- const std::list<std::string>& ListString = myHomardHypothesis->GetListComp();
+ myHomardHypothesis->SupprComps();
+}
+//=============================================================================
+HOMARD::listeComposantsHypo* HOMARD_Hypothesis_i::GetComps()
+{
+ ASSERT( myHomardHypothesis );
+ const std::list<std::string>& ListString = myHomardHypothesis->GetComps();
HOMARD::listeComposantsHypo_var aResult = new HOMARD::listeComposantsHypo;
aResult->length( ListString.size() );
std::list<std::string>::const_iterator it;
myHomardHypothesis->SupprZone( NomZone);
}
//=============================================================================
+void HOMARD_Hypothesis_i::SupprZones()
+{
+ ASSERT(myHomardHypothesis);
+ myHomardHypothesis->SupprZones();
+}
+//=============================================================================
HOMARD::listeZonesHypo* HOMARD_Hypothesis_i::GetZones()
{
ASSERT(myHomardHypothesis);
HOMARD::InfosHypo* GetField();
void SetUseComp(CORBA::Long UsCmpI);
- void AddComp( const char* NomComposant );
- void SupprComp();
- HOMARD::listeComposantsHypo* GetListComp();
+ void AddComp( const char* NomComp );
+ void SupprComp( const char* NomComp );
+ void SupprComps();
+ HOMARD::listeComposantsHypo* GetComps();
void SetRefinThr(CORBA::Long TypeThR, CORBA::Double ThreshR);
CORBA::Long GetRefinThrType();
void AddZone( const char* NomZone, CORBA::Long TypeUse );
void AddZone0( const char* NomZone, CORBA::Long TypeUse );
void SupprZone( const char* NomZone );
+ void SupprZones();
HOMARD::listeZonesHypo* GetZones();
private:
Copyright EDF-R&D 2010, 2013
Test test_1
"""
-__revision__ = "V1.11"
+__revision__ = "V1.12"
#========================================================================
Test_Name = "test_1"
# Creation of the hypotheses
# ==========================
# Creation of the hypothesis a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM = homard.CreateHypothesis('a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM')
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM.SetAdapRefinUnRef(1, 1, 0)
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM.SetField('RESU____ERRE_ELEM_SIGM__________')
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM.SetUseComp(0)
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM.AddComp('ERREST')
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM.SetRefinThr(3, 10.1)
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM.SetTypeFieldInterp(2)
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM.AddFieldInterp('RESU____DEPL____________________')
- a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM.AddFieldInterp('RESU____ERRE_ELEM_SIGM__________')
+ HypoName_1 = "a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM"
+ print "-------- Creation of the hypothesis", HypoName_1
+ Hypo_1_1 = homard.CreateHypothesis(HypoName_1)
+ Hypo_1_1.SetAdapRefinUnRef(1, 1, 0)
+ Hypo_1_1.SetField('RESU____ERRE_ELEM_SIGM__________')
+ Hypo_1_1.SetUseComp(0)
+ Hypo_1_1.AddComp('ERREST')
+ Hypo_1_1.SetRefinThr(3, 10.1)
+ Hypo_1_1.SetTypeFieldInterp(2)
+ Hypo_1_1.AddFieldInterp('RESU____DEPL____________________')
+ Hypo_1_1.AddFieldInterp('RESU____ERRE_ELEM_SIGM__________')
+ print HypoName_1, " : zones utilisées :", Hypo_1_1.GetZones()
+ print HypoName_1, " : champ utilisé :", Hypo_1_1.GetFieldName()
+ print HypoName_1, " : composantes utilisées :", Hypo_1_1.GetComps()
+ if ( len (Hypo_1_1.GetFieldName()) > 0 ) :
+ print ".. caractéristiques de l'adaptation :", Hypo_1_1.GetField()
# Creation of the hypothesis Zones_1_et_2
- Zones_1_et_2 = homard.CreateHypothesis('Zones_1_et_2')
+ HypoName_2 = "Zones_1_et_2"
+ print "-------- Creation of the hypothesis", HypoName_2
+ Zones_1_et_2 = homard.CreateHypothesis(HypoName_2)
Zones_1_et_2.SetAdapRefinUnRef(0, 1, 0)
Zones_1_et_2.AddZone('Zone_1_1', 1)
Zones_1_et_2.AddZone('Zone_1_2', 1)
+ print HypoName_2, " : zones utilisées :", Zones_1_et_2.GetZones()
+ print HypoName_2, " : champ utilisé :", Zones_1_et_2.GetFieldName()
+ print HypoName_2, " : composantes utilisées :", Zones_1_et_2.GetComps()
+ if ( len (Zones_1_et_2.GetFieldName()) > 0 ) :
+ print ".. caractéristiques de l'adaptation :", Zones_1_et_2.GetField()
#
# Creation of the cases
# =====================
I1_1.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.01.med'))
I1_1.SetFieldFile(os.path.join(Rep_Test, Test_Name + '.00.med'))
I1_1.SetTimeStepRank(1, 1)
- I1_1.AssociateHypo('a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM')
+ I1_1.AssociateHypo(HypoName_1)
error = I1_1.Compute(1, 1)
if error :
error = 1
I1_2.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.02.med'))
I1_2.SetFieldFile(os.path.join(Rep_Test, Test_Name + '.01.med'))
I1_2.SetTimeStepRank(1, 1)
- I1_2.AssociateHypo('a10_1pc_de_mailles_a_raffiner_sur_ERRE_ELEM_SIGM')
+ I1_2.AssociateHypo(HypoName_1)
error = I1_2.Compute(1, 1)
if error :
error = 2
I1_3 = I1_2.NextIteration('I1_3')
I1_3.SetMeshName('M3')
I1_3.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.03.med'))
- I1_3.AssociateHypo('Zones_1_et_2')
+ I1_3.AssociateHypo(HypoName_2)
error = I1_3.Compute(1, 1)
if error :
error = 3
Copyright EDF-R&D 2010, 2013
Test test_2
"""
-__revision__ = "V1.10"
+__revision__ = "V1.11"
#========================================================================
Test_Name = "test_2"
# Creation of the hypotheses
# ==========================
# Creation of the hypothesis Hypo_2_1
- Hypo_2_1 = homard.CreateHypothesis('Hypo_2_1')
+ HypoName_1 = "Hypo_2_1"
+ print "-------- Creation of the hypothesis", HypoName_1
+ Hypo_2_1 = homard.CreateHypothesis(HypoName_1)
Hypo_2_1.SetAdapRefinUnRef(-1, 1, 0)
Hypo_2_1.AddGroup('EG')
Hypo_2_1.AddGroup('BANDE')
+ print HypoName_1, " : zones utilisées :", Hypo_2_1.GetZones()
+ print HypoName_1, " : champ utilisé :", Hypo_2_1.GetFieldName()
+ print HypoName_1, " : composantes utilisées :", Hypo_2_1.GetComps()
+ if ( len (Hypo_2_1.GetFieldName()) > 0 ) :
+ print ".. caractéristiques de l'adaptation :", Hypo_2_1.GetField()
# Creation of the hypothesis Hypo_2_2
- Hypo_2_2 = homard.CreateHypothesis('Hypo_2_2')
+ HypoName_2 = "Hypo_2_2"
+ print "-------- Creation of the hypothesis", HypoName_2
+ Hypo_2_2 = homard.CreateHypothesis(HypoName_2)
Hypo_2_2.SetAdapRefinUnRef(-1, 1, 0)
Hypo_2_2.AddGroup('M_D')
+ print HypoName_2, " : zones utilisées :", Hypo_2_2.GetZones()
+ print HypoName_2, " : champ utilisé :", Hypo_2_2.GetFieldName()
+ print HypoName_2, " : composantes utilisées :", Hypo_2_2.GetComps()
+ if ( len (Hypo_2_2.GetFieldName()) > 0 ) :
+ print ".. caractéristiques de l'adaptation :", Hypo_2_2.GetField()
#
# Creation of the cases
# =====================
Iter_2_1 = Case_2.NextIteration('Iter_2_1')
Iter_2_1.SetMeshName('PLAQUE_1')
Iter_2_1.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.01.med'))
- Iter_2_1.AssociateHypo('Hypo_2_1')
+ Iter_2_1.AssociateHypo(HypoName_1)
error = Iter_2_1.Compute(1, 1)
if error :
error = 1
Iter_2_2 = Iter_2_1.NextIteration('Iter_2_2')
Iter_2_2.SetMeshName('PLAQUE_2')
Iter_2_2.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.02.med'))
- Iter_2_2.AssociateHypo('Hypo_2_1')
+ Iter_2_2.AssociateHypo(HypoName_1)
error = Iter_2_2.Compute(1, 1)
if error :
error = 2
Iter_2_3 = Iter_2_2.NextIteration('Iter_2_3')
Iter_2_3.SetMeshName('PLAQUE_3')
Iter_2_3.SetMeshFile(os.path.join(Rep_Test_Resu, 'maill.03.med'))
- Iter_2_3.AssociateHypo('Hypo_2_2')
+ Iter_2_3.AssociateHypo(HypoName_2)
error = Iter_2_3.Compute(1, 1)
if error :
error = 3
Copyright EDF-R&D 2011, 2013
Test test_3
"""
-__revision__ = "V1.10"
+__revision__ = "V1.11"
#========================================================================
Test_Name = "test_3"
print "-------- Creation of the hypothesis", HypoName
Hypo_3 = homard.CreateHypothesis(HypoName)
Hypo_3.SetAdapRefinUnRef(-1, 1, 0)
+ print HypoName, " : zones utilisées :", Hypo_3.GetZones()
+ print HypoName, " : champ utilisé :", Hypo_3.GetFieldName()
+ print HypoName, " : composantes utilisées :", Hypo_3.GetComps()
#
for num in range (n_boucle+1) :
#