// FICHIER : EnergieThermi.cc // CLASSE : EnergieThermi // This file is part of the Herezh++ application. // // The finite element software Herezh++ is dedicated to the field // of mechanics for large transformations of solid structures. // It is developed by Gérard Rio (APP: IDDN.FR.010.0106078.000.R.P.2006.035.20600) // INSTITUT DE RECHERCHE DUPUY DE LÔME (IRDL) . // // Herezh++ is distributed under GPL 3 license ou ultérieure. // // Copyright (C) 1997-2022 Université Bretagne Sud (France) // AUTHOR : Gérard Rio // E-MAIL : gerardrio56@free.fr // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, // or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // For more information, please consult: . #include "EnergieThermi.h" #include "ParaGlob.h" #include // surcharge de l'operateur de lecture istream & operator >> ( istream & ent, EnergieThermi & coo) { // lecture du type et vérification string nomtype; ent >> nomtype; if (nomtype != "EnergieThermi_e_d_v") { cout << "\n *** erreur en lecture d'une instance EnergieThermi_e_d_v" << "\n on attendait le mot cle: EnergieThermi_e_d_v et on a lu: "<< nomtype << "\n istream & operator >> ( istream & ent, EnergieThermi & coo)"; Sortie(1); return ent; } // lecture des énergies ent >> coo.energie_elastique >> coo.dissipation_plastique >> coo.dissipation_visqueuse ; return ent; }; // surcharge de l'operateur d'ecriture ostream & operator << ( ostream & sort,const EnergieThermi & coo) { // écriture du type et de la dimension sort << " EnergieThermi_e_d_v "; // les data sort << setprecision(ParaGlob::NbdigdoCA()) << coo.energie_elastique << " " << setprecision(ParaGlob::NbdigdoCA()) << coo.dissipation_plastique << " " << setprecision(ParaGlob::NbdigdoCA()) << coo.dissipation_visqueuse << " "; return sort; };