Herezh_dev/Enumeration/Enum_variable_metrique.h
Gérard Rio ece68c42db V 7.012 : résolution du pb de l'utilisation de l'accélération dans une fonction nD
Introduction du calcul de l'accélération interpolée, au niveau de la métrique
Intro de nouveaux affichages au niveau des fonctions nD
2023-06-01 08:47:54 +02:00

109 lines
4.3 KiB
C++

/*! \file Enum_variable_metrique.h
\brief Définition de l'enuméré concernant les grandeurs gérées par les classes métriques
*/
// 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) <https://www.irdl.fr/>.
//
// 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 <https://www.gnu.org/licenses/>.
//
// For more information, please consult: <https://herezh.irdl.fr/>.
// FICHIER : Enum_variable_metrique.h
// Afin de realiser un gain en place memoire, les noms des variables privees utilisees
//dans la classe Met_abstraite sont
// stockes a l'aide d'un type enumere. Les fonctions Nom_Enum_variable_metrique
// et Id_nom_Enum_variable_metrique rendent
// possible le lien entre le nom en charactère et les identificateurs
// de type enumere correspondants.
#ifndef ENUM_ENUM_VARIABLE_METRIQUE_H
#define ENUM_ENUM_VARIABLE_METRIQUE_H
#include <iostream>
using namespace std;
/// @addtogroup Group_types_enumeres
/// @{
/// Définition de l'enuméré concernant les grandeurs gérées par les classes métriques générales
enum Enum_variable_metrique { iM0 =1, iMt, idMt, iMtdt, idMtdt, iV0, iVt, idVt, iVtdt, idVtdt
,igamma0,igammat,igammatdt
, igiB_0 , igiB_t, igiB_tdt,
igiH_0, igiH_t, igiH_tdt, igijBB_0, igijBB_t, igijBB_tdt, igijHH_0, igijHH_t,
igijHH_tdt, id_giB_t, id_giB_tdt,
id_giH_t, id_giH_tdt, id_gijBB_t, id_gijBB_tdt, id_gijHH_t, id_gijHH_tdt,
id_jacobien_t , id_jacobien_tdt
, id2_gijBB_tdt // variation seconde de la déformation
,igradVmoyBB_t,igradVmoyBB_tdt,igradVBB_t,igradVBB_tdt // gradient de vitesse moyen et instantannée
,id_gradVmoyBB_t,id_gradVmoyBB_tdt,id_gradVBB_t,id_gradVBB_tdt // variation du gradient de vitesse
};
/// @} // end of group
/// @addtogroup Group_types_enumeres
/// @{
/// Définition de l'enuméré concernant les grandeurs spécifiques gérées par les classes métriques plaques, coques et poutres
enum Enum_variable_metsfe { iP0 =1, iPt, idPt, iPtdt, idPtdt
, iaiB_0 , iaiB_t, iaiB_tdt,
iaiH_0, iaiH_t, iaiH_tdt, iaijBB_0, iaijBB_t, iaijBB_tdt, iaijHH_0, iaijHH_t,
iaijHH_tdt, id_aiB_t, id_aiB_tdt,
id_aiH_t, id_aiH_tdt, id_aijBB_t, id_aijBB_tdt, id_aijHH_t, id_aijHH_tdt,
id_ajacobien_t , id_ajacobien_tdt
};
/// @} // end of group
// Retourne la chaine a partir de son identificateur de
// type enumere id_nom correspondant
string Nom_Enum_variable_metrique (Enum_variable_metrique id_nom);
// Retourne l'identificateur de type enumere associe au nom
Enum_variable_metrique Id_nom_Enum_variable_metrique (char* nom);
// Retourne la chaine a partir de son identificateur de
// type enumere id_nom correspondant
string Nom_Enum_variable_metsfe (Enum_variable_metsfe id_nom);
// Retourne l'identificateur de type enumere associe au nom
Enum_variable_metsfe Id_nom_Enum_variable_metsfe (char* nom);
// surcharge de l'operator de lecture
istream & operator >> (istream & entree, Enum_variable_metrique& a);
// surcharge de l'operator d'ecriture
ostream & operator << (ostream & sort, const Enum_variable_metrique& a);
// surcharge de l'operator de lecture
istream & operator >> (istream & entree, Enum_variable_metsfe& a);
// surcharge de l'operator d'ecriture
ostream & operator << (ostream & sort, const Enum_variable_metsfe& a);
#endif