// FICHIER : Met_BielletteC1.h // CLASSE : Met_BielletteC1 // 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: . /************************************************************************ * DATE: 05/06/2006 * * $ * * AUTEUR: G RIO (mailto:gerardrio56@free.fr) * * $ * * PROJET: Herezh++ * * $ * ************************************************************************ * BUT: La classe Met_biellette est une classe derivee de la * * classe Met_abstraite et permet de realiser tous les calculs * * lies a la metrique d'une biellette de continuité C1. * * N.B. : La dimension de l'espace est 1. * * A chaque noeud il y a deux ddl, X et dX/dxi * * $ * * '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' * * * VERIFICATION: * * * * ! date ! auteur ! but ! * * ------------------------------------------------------------ * * ! ! ! ! * * $ * * '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' * * MODIFICATIONS: * * ! date ! auteur ! but ! * * ------------------------------------------------------------ * * $ * ************************************************************************/ #ifndef MET_BIELLETTE_C1_H #define MET_BIELLETTE_C1_H #include "Met_abstraite.h" /// @addtogroup groupe_des_metrique /// @{ /// class Met_BielletteC1 : public Met_abstraite { public : // CONSTRUCTEUR : // Constructeur par defaut Met_BielletteC1 (); // constructeur permettant de dimensionner uniquement certaine variables // dim = dimension de l'espace, tab = liste // des variables a initialiser Met_BielletteC1 (int dim_base,const DdlElement& tabddl, const Tableau & tab,int nomb_noeud); // constructeur de copie Met_BielletteC1 (const Met_BielletteC1&); // DESTRUCTEUR : ~Met_BielletteC1 (); // Surcharge de l'operateur = : realise l'affectation // fonction virtuelle inline Met_abstraite& operator= (const Met_abstraite& met) { return (Met_abstraite::operator=(met));}; protected : // METHODES protegees: //==calcul des points, identique a Met_abstraite //== le nombre de vecteur de base pour la BielletteC1 est 1 //== les fonctions de calcul de base sont donc redefini // les fonctions d'interpolation sont redéfinies: les premières sont relatives aux X_ar et les dernières // au d X_ar/d xi, sachant qu'il y en a exactement le même nombre // calcul de la base naturel a t0 void Calcul_giB_0 ( const Tableau& tab_noeud,const Mat_pleine& dphi, int nombre_noeud,const Vecteur& phi); // calcul de la base naturel a t void Calcul_giB_t ( const Tableau& tab_noeud, const Mat_pleine& dphi, int nombre_noeud,const Vecteur& phi); // calcul de la base naturel a t+dt void Calcul_giB_tdt ( const Tableau& tab_noeud, const Mat_pleine& dphi, int nombre_noeud,const Vecteur& phi); //== calcul de la variation des jacobiens void Djacobien_t(); // avant calcul de : d_giB_t et giB_t void Djacobien_tdt(); // avant calcul de : d_giB_tdt et giB_tdt }; /// @} // end of group #endif