C++ et éléments finis Note de cours de DEA (version provisoire)
C++ et éléments finis Note de cours de DEA (version provisoire)
C++ et éléments finis Note de cours de DEA (version provisoire)
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
38 CHAPITRE 5. MODÉLISATION DES VECTEURS, MATRICES, TENSEURS<br />
} ;<br />
void MatriceLaplacien1D::addMatMul(const KN_ & x, KN_ & Ax) const {<br />
int n= x.N(),n_1=n-1 ;<br />
double h=1./(n_1), h2= h*h, d = 2/h, d1 = -1/h ;<br />
R Ax0=Ax[0], Axn_1=Ax[n_1] ;<br />
Ax=0 ;<br />
for (int i=1 ;i< n_1 ; i++)<br />
Ax[i] = (x[i-1] +x[i+1]) * d1 + x[i]*d ;<br />
Ax[0]=x[0] ;<br />
Ax[n_1]=x[n_1] ;<br />
}<br />
int main(int argc,char ** argv)<br />
{<br />
type<strong>de</strong>f KN Rn ;<br />
type<strong>de</strong>f KN_ Rn_ ;<br />
type<strong>de</strong>f KNM Rnm ;<br />
type<strong>de</strong>f KNM_ Rnm_ ;<br />
}<br />
// CL<br />
{ int n=10 ;<br />
Rnm A(n,n),C(n,n),Id(n,n);<br />
A=-1 ;<br />
C=0 ;<br />
Id=0 ;<br />
Rn_ Aii(A,SubArray(n,0,n+1)); // la diagonal <strong>de</strong> la matrice A sans copy<br />
Rn_ Cii(C,SubArray(n,0,n+1)); // la diagonal <strong>de</strong> la matrice C sans copy<br />
Rn_ Idii(Id,SubArray(n,0,n+1)); // la diagonal <strong>de</strong> la matrice Id sans copy<br />
for (int i=0 ;i