Vous êtes sur la page 1sur 4

portfolio

florian delcoigne selected academic work in bachelors degree

promenade
regard un lieu pour le regard. Fabriquer un lieu. Des sols, une dambulation, qui fabriquant des lieux, un paysage aux abords de la citadelle de Namur. Une structure pose sur ce bord de briques centenaires amnag. Des murs et des arbres... (bac1)

entrept
structure concevoir un entrept de manufacture en matriau bois ne faisant pas usage de la flexion, avec clairage en toiture vers le ct nord. Le projet optimise lentre de lumire tout au long de lanne en vitant les rayons directs pour garantir un clairage uniforme. Un miminisation des matriaux ncessaires a t tudie en optimisant la section des diffrentes membrures. (bac2)

NOEUDSX=[0 0 0 0 0 2 2 2 2 2 4 4 6 6 8 8 10 12 12 14 14 16 16 18 18 18 18 18 20 20 20 20 20]; NOEUDSY=[0 1.8 3.4 5 8 0 1.8 3.4 5 8 6 8 6 8 6 8 8 6 8 6 8 6 8 0 1.8 3.4 5 8 0 1.8 3.4 5 8 ]; NOEUDSZ= zeros(1,33); NOEUDS= [NOEUDSX;NOEUDSY;NOEUDSZ]; % les noeuds du dessus ont les indices : 5 10 12 14 16 17 19 21 23 28 33 NOEUDS= NOEUDS';%les noeuds fixe ont les indices 1 6 24 29 BARRES=[1 2; 1 7; 6 7; 2 7; . . . 26 30; 30 31; 25 30; 24 25; 25 29; 29 30];

FOR(33,2)= -5700; % % %%vent FOR(2,1)=2900; % FOR(3,1)=2900; % FOR(4,1)=2900; % FOR(5,1)=2900; % FOR(5,2)= 1510; % FOR(10,2)= 1510; % FOR(23,2)= 1510; % FOR(28,2)= 1510; % FOR(33,2)= 1510; % FOR(30,1)= 1800; % FOR(31,1)=1800; % FOR(32,1)=1800; % FOR(33,1)=1800;

function [DEPLACEMENTS,EFFORTSNORMAUX] = Treillis3D ( NOEUDS , BARRES , FORCESNODALES, FIXATIONS, E , A) mesh = []; %% Initialisation des paramtres mesh.POS = NOEUDS; mesh.BEAMS = BARRES; mesh.nbNod = size(NOEUDS,1); mesh.nbBeams = size(BARRES,1); mesh.A = A; mesh.E = zeros(mesh.nbBeams,1); mesh.E(:,1) = E; %% Caclcul de la matrice de raideur mesh.K = MatRaideurBarres3d(mesh); %% Caclcul des forces nodales mesh.ForceVector = zeros ( mesh.nbNod * 3 , 1); mesh.ForceVector(1:3:mesh.nbNod * 3-2,1) = FORCESNODALES(:,1); mesh.ForceVector(2:3:mesh.nbNod * 3-1,1) = FORCESNODALES(:,2); mesh.ForceVector(3:3:mesh.nbNod * 3 ,1) = FORCESNODALES(:,3); %% Fixations for(i=1:size(FIXATIONS,1)) NOEUD = FIXATIONS(i,1); LIGNE = 3 * (NOEUD-1) + FIXATIONS(i,2) ; mesh.K(LIGNE,:) =0; mesh.K(LIGNE,LIGNE) =1; mesh.ForceVector (LIGNE) = FIXATIONS(i,3); end %% Rsolution du systme mesh.X = mesh.K \ mesh.ForceVector; %% Calcul des dplacements partir du vecteur solution DEPLACEMENTS = zeros (mesh.nbNod,3); DEPLACEMENTS(:,1) = mesh.X (1:3:mesh.nbNod * 3-2,1); DEPLACEMENTS(:,2) = mesh.X (2:3:mesh.nbNod * 3-1,1); DEPLACEMENTS(:,3) = mesh.X (3:3:mesh.nbNod * 3 ,1); %% Calcul des efforts normaux EFFORTSNORMAUX = zeros (mesh.nbBeams,1); for(i=1:mesh.nbBeams) N1 = mesh.BEAMS(i,1); N2 = mesh.BEAMS(i,2); %% On calcule les positions des noeuds X1 = mesh.POS(N1,1); X2 = mesh.POS(N2,1); Y1 = mesh.POS(N1,2); Y2 = mesh.POS(N2,2); Z1 = mesh.POS(N1,3); Z2 = mesh.POS(N2,3); %% dplacements dans les axes globaux deplGlob = [DEPLACEMENTS(N1,1),DEPLACEMENTS(N1,2),DEPLACEMENTS(N1,3),DEPLACEMENTS(N2,1),DEPLACEMENTS(N2,2),DEPLACEMENTS(N2,3)]; %% dplacements dans les axes locaux T = MatRotationBarre3d ( X1, X2, Y1, Y2, Z1, Z2 ); deplLoc = deplGlob * T; %% dh est la longueur de la barre L = sqrt ( (X1-X2) * (X1-X2) + (Y1-Y2) * (Y1-Y2)+ (Z1-Z2) * (Z1-Z2)); %% Leffort normal (comme dans un ressort) vaut la variation du %% dplacement axial multipli par la raideur de la barre (EA/L) EFFORTSNORMAUX(i,1) = (deplLoc(4)-deplLoc(1))* E * A(i) / L; end close all; figure; hold on; DessineTreills3D ( mesh , mesh.POS, r); DessineTreills3D ( mesh , mesh.POS + 10*DEPLACEMENTS,b); hold off; function [T] = MatRotationBarre3d ( X1, X2, Y1, Y2,

Z1, Z2 ) T = zeros (6,6); v1 = [X2-X1,Y2-Y1,Z2-Z1]; if (X2 == X1 && Y2 == Y1) ez = [1,0,0]; else ez = [0,0,1]; end v2 = cross(ez,v1); v3 = cross(v1,v2); v1 = v1/norm(v1); v2 = v2/norm(v2); v3 = v3/norm(v3); % vecteurs colonne t = [v1,v2,v3]; T(1:3,1:3) = t; T(4:6,4:6) = t; function [k] = MatRaideurBarre3d ( dh, E, A ) KB=E*A/dh; k = [ KB, 0 , 0, -KB, 0 , 0 ;... 0, 0 , 0, 0, 0, 0;... 0, 0 , 0, 0, 0, 0;... -KB, 0 , 0, KB, 0 , 0 ;... 0, 0 , 0, 0, 0, 0;... 0, 0 , 0, 0, 0, 0]; %% Cette fonction calcule la matrice de raideur %% globale dun treillis de barres 3D function [K] = MatRaideurBarres3d(mesh) k = zeros(6,6); T = zeros (6,6); %% La matrice K est la raideur globale %% du problme %K = sparse (2*mesh.nbNod,2*mesh.nbNod); K = zeros (3*mesh.nbNod,3*mesh.nbNod); %% on itre sur les barres for(barre=1:mesh.nbBeams) %% N1 et N2 sont les numro des noeuds %% de la barre N1 = mesh.BEAMS(barre,1); N2 = mesh.BEAMS(barre,2); %% On calcule les positions des noeuds X1 = mesh.POS(N1,1); X2 = mesh.POS(N2,1); Y1 = mesh.POS(N1,2); Y2 = mesh.POS(N2,2); Z1 = mesh.POS(N1,3); Z2 = mesh.POS(N2,3); %% dh est la longueur de la barre dh = sqrt ( (X1-X2) * (X1-X2) + (Y1-Y2) * (Y1-Y2)+ (Z1-Z2) * (Z1-Z2)); %% on calcule la matrice de rotation T T = MatRotationBarre3d (X1,X2,Y1,Y2,Z1,Z2); %% on clacule la raideur dans les axes propres k = MatRaideurBarre3d ( dh, mesh.E(barre), mesh.A(barre) ); %% on calcule les numros des lignes dans la matrice %% globale correspondant aux noeuds N1 et N2. La logique %% propose est de rserver 2 lignes par noeud L1 = 1 + (N1 - 1) * 3 ; L2 = 1 + (N2 - 1) * 3 ; iloc = [L1,L1+1,L1+2,L2,L2+1,L2+2]; %% on assemble dans la matrice globale la contibution %% TkT de la barre K(iloc,iloc) = K(iloc,iloc) + T*k*T; end function DessineTreills3D ( mesh , POS, color ) for (barre=1:mesh.nbBeams) N1 = mesh.BEAMS(barre,1); N2 = mesh.BEAMS(barre,2); %% On calcule les positions des noeuds X1 = POS(N1,1); X2 = POS(N2,1); Y1 = POS(N1,2); Y2 = POS(N2,2); Z1 = POS(N1,3); Z2 = POS(N2,3); X = [X1,X2] ; Y = [Y1,Y2] ; Z = [Z1,Z2] ; plot3(X,Y,Z,color);

% neige + vent FOR(2,1)=FOR(2,1)+2900; FOR(3,1)=FOR(3,1)+2900; FOR(4,1)=FOR(4,1)+2900; FOR(5,1)=FOR(5,1)+2900; FOR(5,2)=FOR(5,1)+ 1510; FOR(10,2)=FOR(10,2)+1510; FOR(12,2)=FOR(12,2)+1510; FOR(28,2)=FOR(28,2)+1510; FOR=zeros(33,3); FOR(33,2)=FOR(33,2)+1510; % % poids propre(700 structure + toiture?) FOR(30,1)=FOR(30,1)+1800; + neige FOR(31,1)=FOR(31,1)+1800; FOR(5,2)= -5700; FOR(32,1)=FOR(32,1)+1800; FOR(10,2)= -5700; FOR(33,1)=FOR(33,1)+1800; FOR(12,2)= -5700; FOR(14,2)= -5700; FIX=[1 1 0; 1 2 0; 6 1 0; 6 2 0; 24 1 0; 24 2 FOR(16,2)= -5700; 0; 29 1 0; 29 2 0]; FOR(17,2)= -5700; FOR(19,2)= -5700; E=10000000000; %(en N/m!!!) FOR(21,2)= -5700; l=length(BARRES); FOR(23,2)= -5700; SECTION= zeros(l,1); FOR(28,2)= -5700; SECTION(:,1)= 0.01; %(en m!!!) [depl, effort, mesh]=Treillis2D ( NOEUDS , BARRES , FOR, FIX, E ,SECTION); max(effort) max(abs(depl)) min(effort)

PR

DU DE SK E

C DU

AT

IO

L NA O TI CA DU

PR

DU

CE

BY

AN

AU

TO

CT DU O PR

1:

10

0
10 m

muse
lumire exposition de sculptures d Alexander Calder et espace dexposition tournante. tude pousse de linfluence de la lumire naturelle sur ldifice. (bac3)
R
BY AN

CT DU O PR

L NA O

10 m

S DE TO U A

L NA

AN

IO AT

UC

BY

ED

SK

DE

AN

BY

DU

PR

PR

DU

CE

5.

1%

oy

en

ne

BY

AN

PR

DU

CE

ED

T AU

. 24 t ag e 1

8%

oy

en

ne tem en ep oy e s m d ur e le ox Va quin

br

CT

CT DU

O PR

BY

CE

ne b e m em tr dc x e de ur le ice Va olst S

PR

AT

PR

TI CA U ED

DU

UC

CE

BY

ED

AN

AU

TO

SK

DE

SK

DE

ED

A UC

TO

TIO

NA

AU

PR

DU

CT

BY

CE

re

DU

ez

PR
t ag e 2

de

ch

au

ss

AN

IO

NA

DU

PR

DU

AN

O PR AU TO DE SK

D CE DU TO AU

SK DE IO AT UC ED L NA O PR CT DU

ED

UC

AT

IO

NA

PR

DU

PR

CT

DU

CE

AU

TO

DE

SK

ED

UC

AT

IO

NA

PR

DU

CT

Vous aimerez peut-être aussi