ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/solveur/src/sl_tetra.cpp
Revision: 5
Committed: Tue Jun 12 20:26:34 2007 UTC (17 years, 11 months ago)
Original Path: magic/lib/solveur/solveur/src/sl_tetra.cpp
File size: 1543 byte(s)
Log Message:

File Contents

# User Rev Content
1 5 #include "gestionversion.h"
2     //---------------------------------------------------------------------------
3    
4     #pragma hdrstop
5     #include<math.h>
6     #include "sl_tetra.h"
7     #include "fem_tetra.h"
8    
9     //---------------------------------------------------------------------------
10     #pragma package(smart_init)
11    
12     SL_TETRA::SL_TETRA(FEM_TETRA *mgtet):SL_ELEMENT(mgtet)
13     {
14     }
15    
16     SL_TETRA::SL_TETRA(SL_TETRA& mdd):SL_ELEMENT(mdd)
17     {
18     }
19    
20     SL_TETRA::~SL_TETRA()
21     {
22     }
23    
24    
25    
26     FEM_TETRA* SL_TETRA::get_element_de_maillage()
27     {
28     return (FEM_TETRA*)mai;
29     }
30    
31    
32     void SL_TETRA::get_elasticite(double *H,double E,double nu,int& taille)
33     {
34    
35     //-----------------------------------------------------------------------//
36     // INITIALISATION DE H: LA MATRICE D'ELASTICITE
37     //-----------------------------------------------------------------------//
38     taille=6;
39    
40    
41     double a;
42     a=E/((1+nu)*(1-2*nu));
43    
44    
45     for(int ih=0;ih<taille;ih++)
46     {
47     for(int jh=0;jh<taille;jh++)
48     H[ih*taille+jh]=0.0;
49     }
50     //-----------------------------------------------------------------------//
51     H[0*taille+0]=a*(1-nu);
52     H[0*taille+1]=a*nu;
53     H[0*taille+2]=a*nu;
54    
55     H[1*taille+0]=a*nu;
56     H[1*taille+1]=a*(1-nu);
57     H[1*taille+2]=a*nu;
58    
59     H[2*taille+0]=a*nu;
60     H[2*taille+1]=a*nu;
61     H[2*taille+2]=a*(1-nu);
62    
63     H[3*taille+3]=a*(0.5-nu);
64     H[4*taille+4]=a*(0.5-nu);
65     H[5*taille+5]=a*(0.5-nu);
66    
67     }
68    
69    
70    
71     int SL_TETRA::get_dimension()
72     {
73     return 3;
74     }