From: nicolas Date: Thu, 26 Sep 2013 14:55:08 +0000 (+0000) Subject: Prise en compte des instants dans les champs de pilotage pour l'écriture du schÃ... X-Git-Tag: V7_3_0a1~30 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=534c6f7d7995a36323966b11a0fd633aa83dac59;p=modules%2Fhomard.git Prise en compte des instants dans les champs de pilotage pour l'écriture du schéma YACS --- diff --git a/doc/en/tui_create_hypothese.rst b/doc/en/tui_create_hypothese.rst index 2683b6f6..146187a7 100644 --- a/doc/en/tui_create_hypothese.rst +++ b/doc/en/tui_create_hypothese.rst @@ -182,6 +182,9 @@ The components of the field | Add a component of the field | | | | - ``comp_name``: name of a component to take into account | +| | +| Note: if this method is not used, every component | +| of the field is taken into account. | +---------------------------------------------------------------+ | .. module:: SetUseComp | | | diff --git a/doc/fr/tui_create_hypothese.rst b/doc/fr/tui_create_hypothese.rst index 2778d342..f05480ca 100644 --- a/doc/fr/tui_create_hypothese.rst +++ b/doc/fr/tui_create_hypothese.rst @@ -178,6 +178,9 @@ Les composantes du champ | | | - ``comp_name`` : nom d'une composante à prendre en | | compte | +| | +| Remarque : si cette méthode n'est pas appelée, par défaut | +| toutes les composantes seront retenues. | +---------------------------------------------------------------+ | .. module:: SetUseComp | | | diff --git a/resources/yacs_01.en.xml b/resources/yacs_01.en.xml index 68b1d9a0..66641f43 100644 --- a/resources/yacs_01.en.xml +++ b/resources/yacs_01.en.xml @@ -285,6 +285,8 @@ Iter.SetMeshFile(MeshFile) FileName = dico_resu["FileName"] Iter.SetFieldFile(FileName) # +HOMARD_Exec_Iter_Options +# # Calculation # =========== Error = Iter.Compute(1,1) diff --git a/resources/yacs_01.fr.xml b/resources/yacs_01.fr.xml index d3e238ba..6d0df606 100644 --- a/resources/yacs_01.fr.xml +++ b/resources/yacs_01.fr.xml @@ -285,6 +285,8 @@ Iter.SetMeshFile(MeshFile) FileName = dico_resu["FileName"] Iter.SetFieldFile(FileName) # +HOMARD_Exec_Iter_Options +# # Calcul # ====== Error = Iter.Compute(1,1) diff --git a/src/HOMARD/YACSDriver.cxx b/src/HOMARD/YACSDriver.cxx index 01b1f453..d3ac23f8 100644 --- a/src/HOMARD/YACSDriver.cxx +++ b/src/HOMARD/YACSDriver.cxx @@ -99,7 +99,7 @@ void YACSDriver::Texte_Iter_1_Case_Options( const std::string pythonTexte ) _Texte += "DirName = \"" + _DirName + "/HOMARD\"\n" ; _Texte += "Case.SetDirName(DirName)\n" ; - Texte_python( pythonTexte, 1, "Case" ) ; + Texte_python_1( pythonTexte, 1, "Case" ) ; // } //=============================================================================== @@ -485,14 +485,14 @@ void YACSDriver::Texte_HOMARD_Exec_MeshName( const std::string MeshName ) // } //=============================================================================== -// Manipulation des instructions python +// Manipulation des instructions python - 1 // pythonTexte : le texte des instructions python a manipuler // indice : numero de la premiere ligne voulue // concept : nom du concept a inserer //=============================================================================== -void YACSDriver::Texte_python( const std::string pythonTexte, int indice, const std::string concept ) +void YACSDriver::Texte_python_1( const std::string pythonTexte, int indice, const std::string concept ) { - MESSAGE("Texte_python, pythonTexte\n"< 0 ) + { + int position = ligne.find_first_of( "." ) ; +// MESSAGE("\nposition : "<< position); + if ( position > 0 ) + { + ligne_bis = ligne.substr( position ); +// MESSAGE("\nligne_bis : "<< ligne_bis); + _Texte += concept + ligne_bis + "\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 ) diff --git a/src/HOMARD/YACSDriver.hxx b/src/HOMARD/YACSDriver.hxx index 57dfa53e..7f2aa161 100644 --- a/src/HOMARD/YACSDriver.hxx +++ b/src/HOMARD/YACSDriver.hxx @@ -42,7 +42,8 @@ public: std::string Texte_inport( const std::string inport_type, const std::string inport_nom ) ; void Texte_HOMARD_Exec_DirName( ) ; void Texte_HOMARD_Exec_MeshName( const std::string MeshName ) ; - void Texte_python( const std::string pythonTexte, int indice, const std::string concept ) ; + 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 TexteAddParametres( ) ; void CreeFichier() ; diff --git a/src/HOMARD_I/HOMARD_Gen_i.cxx b/src/HOMARD_I/HOMARD_Gen_i.cxx index 21aeee18..2b65286b 100755 --- a/src/HOMARD_I/HOMARD_Gen_i.cxx +++ b/src/HOMARD_I/HOMARD_Gen_i.cxx @@ -3746,6 +3746,10 @@ CORBA::Long HOMARD_Gen_i::YACSWriteOnFile(const char* nomYACS, const char* XMLFi std::string Iter1Name = std::string((*maListe)[0]); MESSAGE ("... Iter1Name = " << Iter1Name); HOMARD::HOMARD_Iteration_var Iter1 = GetIteration(Iter1Name.c_str()) ; + // D.3. Les instructions python associees a l'iteration + CORBA::String_var dumpCorbaIter = Iter1->GetDumpPython(); + std::string pythonIter = dumpCorbaIter.in(); + MESSAGE ("pythonIter :\n"<Texte_python( pythonHypo, 3, "Hypo" ) ; } - // G.1.8. Zones et frontieres : les creations + { myDriver->Texte_python_1( pythonHypo, 3, "Hypo" ) ; } + // G.1.8. Execution de HOMARD : les options de l'iteration + else if ( mot_cle == "HOMARD_Exec_Iter_Options" ) + { myDriver->Texte_python_2( pythonIter, "TimeStep", "Iter" ) ; } + // G.1.9. Zones et frontieres : les creations else if ( mot_cle == "Iter_1" ) { std::string texte_control = myDriver->Texte_Iter_1_control() ; @@ -3824,7 +3831,7 @@ CORBA::Long HOMARD_Gen_i::YACSWriteOnFile(const char* nomYACS, const char* XMLFi texte_control += YACSDriverTexteBoundary( myCase, myDriver ) ; myDriver->TexteAdd(texte_control); } - // G.1.9. Les parametres + // G.1.10. Les parametres else if ( mot_cle == "PARAMETRES" ) { myDriver->TexteAddParametres(); } // G.1.n. La ligne est recopiee telle quelle