Direkt zum Inhalt | Direkt zur Navigation

UniBwM » LRT » LRT 1 » Prof. Gerdts » Teaching » Finite Elemente » Uebung8_A31_vorl.m

Uebung8_A31_vorl.m

% Materialparameter E = ...; %in N/m^2 nu = 0.3; %dimensionslos rho = 7850; %in kg/m^3 % Lame-Parameter etc. mu = E/2/(1+nu); lambda = ...; q = -lambda^2/(lambda + 2*mu); %-2*lambda*nu/(1-nu) + nu^2/(1-nu)^2 *(lambda + 2*mu); % % Erzeugung des Gitters %p sind die Koordinaten der Punkte %e die Ecken %t die Tetraeder/Dreiecke [p,e,t] = initmesh(decsg ([3 4 10 10 0 0 1 0 0 1]'), 'hmax', 0.05); n = size(p,2); % % Assemblierung der ’kleinen’ Matrizen A11 = [ 2*mu + lambda + q , 0 ; 0 , mu ]; A12 = [ 0 , lambda + q ; mu , 0 ]; A22 = [ ... , ... ; ... , ... ]; [K1, M1, dummy] = assema(p,t,A11(:),1,0); [K2, dummy , dummy] = assema(p,t,A12(:),0,0); K3 = K2'; [K4, dummy , dummy] = assema(p,t,A22(:),0,0); % Zusammenbauen K = [K1 K2; K3 K4]; M = [M1 sparse(n,n); sparse(n,n) M1]; % Moegliche Belastungen % Gewicht F = [M1 sparse(n,n); sparse(n,n) M1]*[zeros(n,1); ones(n,1)]*(...); % Zug %F = F + [M1 sparse(n,n); sparse(n,n) 0*M1]*ones(2*n,1)*1 * 10^8; % % Dirichlet-Rand am linken Ende index_d = find(p(1,:)==0); index_d = [index_d index_d + n]; % Alles ohne Dirichlet-Rand index_nd = setdiff(1:2*n, index_d); % Das reduzierte System Kr = K(index_nd , index_nd); Mr = M(index_nd , index_nd); Fr = F(index_nd); u = zeros(2*n, 1); u(index_nd) = ...\Fr; % % ’Teilen’ des Ergebnisses u1 = u(1:n); u2 = u(n+1: end); % %Die Verschiebungen d = [u1'; u2']; abs_d = sqrt(u1.^2 + u2.^2); % %Plotten pdeplot(p+10*d,e,t,'xydata',...,'mesh','off'); colormap jet axis equal