Herezh_dev/herezh_pp/Elements/Mecanique/SFE/Sfeg.h

84 lines
No EOL
3.7 KiB
C++
Executable file

/************************************************************************
* UNIVERSITE DE BRETAGNE SUD --- I.U.P/I.U.T. DE LORIENT *
************************************************************************
* LABORATOIRE DE GENIE MECANIQUE ET MATERIAUX *
* Tel 97.80.80.60 *
* Centre de Genie Industriel 56520 GUIDEL-PLAGES *
************************************************************************
* DATE: 23/01/97 *
* $ *
* AUTEUR: G RIO *
* $ *
* PROJET: Herezh++ *
* $ *
************************************************************************
* BUT: Definir les infos qui sont communs aux elements *
* Sfe. *
* $ *
* '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' * *
* VERIFICATION: *
* *
* ! date ! auteur ! but ! *
* ------------------------------------------------------------ *
* ! ! ! ! *
* $ *
* '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' *
* MODIFICATIONS: *
* ! date ! auteur ! but ! *
* ------------------------------------------------------------ *
* $ *
************************************************************************/
#ifndef SFEG_H
#define SFEG_H
#include "ElemGeom.h"
// les fonctions d'interpolation sont definis pour l'instant pour des triangles
//
// (5) ------- ----- (4)
// \ (3) |\ |
// \ | \ |
// \ | \ |
// \ (1) |___\ (2)
//
// \ |
// \ |
// \ |
// \ |
// \ |
// (6)
//
class Sfeg : public ElemGeom
{
public :
// CONSTRUCTEURS :
// par defaut on suppose un point d'integration et
// un triangle lineaire a 3 noeuds
Sfeg( int nbi = 1, int nbne = 3);
// de copie
Sfeg(Sfeg& a);
// DESTRUCTEUR :
~Sfeg();
// methodes particuliere
//--------- cas de coordonnees locales quelconques ----------------
// retourne les fonctions d'interpolation au point M (en coordonnees locales)
Vecteur Phi(Coordonnee& M);
// retourne les derivees des fonctions d'interpolation au point M (en coordonnees locales)
Mat_pleine Dphi(Coordonnee& M);
// en fonction de coordonnees locales, retourne true si le point est a l'interieur
// de l'element, false sinon
bool Interieur(Coordonnee& M);
protected :
// METHODES PROTEGEES :
// fourni la coordonnees ksi du point d'integ i
inline double& KSI(int i) { return ptInteg(i)(1);};
inline double& ETA(int i) { return ptInteg(i)(2);};
};
#endif