84 lines
No EOL
3.7 KiB
C++
Executable file
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 |