01.05.2013 Views

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)

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!