Está en la página 1de 26

x

N1 1
L
x
N2
L


1
N1
2 2
1
N2
2 2

2
1 1 1
x Ni xi N1 x1 N 2 x2 x1 x2 L x 1 L
1
i 1 2 2 2 2 2 2 2

1 1
dx d 1 L dx Ld
2 2

K v
K
K v vv

K K

B 12 Ld
1
T T
K EI B N GAs N
1

N 12 Ld
1
v T v T
K
v
K GAs B
1

B 12 Ld
1

vv vT v
K GAs B
1

v v
N N B B

x x x x
N N 1 N 2 1 N N 1 N 2 1
v v v

L L L L

d N 1v dN2 1
v
1 d N 1
dN2 1 1
B B
v

dx dx L L dx dx L L

N B K

B 12 Ld
1
T T
K EI B N GAs N
1

1 1

L L 1 1 L 2 2 1 1
1 1
EI d GAs d
2 1 1 L
L 2 1 1 2 2 2 2

L 2 2

1 1 1 2 1 2
2 1

L L2 L EId L 2 2
1
4 4

2 1 1 2
2
GAs d
2 1 1

1
1
L2 L2
4 4 2 2

EI EI

1 L d L 1 1 2
1 1 2
L
8 1 1 2
GAs d
2 1 EI EI 1 2 2

L L

1 1
K
3 3

1 1
K f 1 f 1
3 3

1 1 1 1 1 1
1 2 1 1 2 1
1 EI 1 1 GAs L 3 3 3 GAs L 3 3 3
2
2 L 1 1 8 1 1 1 8 1 1 1
1 3 1 2
3 3 1 3 1 2
3 3

2 2 8 1
2 2
EI 1 1 GAs L 3 3 EI 1 1 GA L 3 6
s

L 1 1 8 2 2 L 1 1 8 1 8
2 2
3 3 6 3

EI GAs L EI GAs L

L 3
L

6
K
EI GAs L EI GAs L

L 6 L 3
v T v
K K

1

L 2 2
1 1
1 1
1
N GAs B Ld
v T v T
K L d
v
K GAs
2 2 1 1 L
1

2 2

1 1 1 1

L 2 2 L 2 2 L L 1 1
1 1 n

2 1 1 1 1 1
GAs d
4 1 1 1
GAs d
i 1
f ( ) wi

2 2 L 2 2 L

v T v 1 1
K K f 1 f 1
3 3
GAs 1 1 GAs 1 1
1 1 4 1 1
4

GAs GAs

K
v T
K
v
2 2

GAs
GAs
2 2
1
1 1 1
B 1
1
1
Ld L GAs Ld
vv vT v
K GAs B
1
2 1
1 L L 2

L

1 1

L 2 L2 GA d GAs 1 1
1 1
L s 1 d
2 1 1 1 2L 1
1
L2 2
L

vv
K
1 1 GAs 1 1 GAs 1 1
f 1 f 1 1 1 2 L
vv
K 1 1
3 3 2L
GAs GA
s
GAs L L
K
vv

L GAs GAs

L L

EI GAs L EI GAs L GAs GAs


L 3
L

6 2

2

EI GAs L EI GAs L

GAs

GAs
L 6 L 3 2 2

GAs GAs GAs GAs

2 2 L L
GA GA GA GAs
s s s
2 2 L L

P EI / L GAs L / 3
vP
EIGAs / L2 GAs /12
2
4 PL
vP
GAs

PL3
vP ,T
3EI

EI 1 1 GAs L 1 1
K f (0) 2 1 1 8 1 1 2
L

EI GAs L EI GAs L

L 4
L

4
K
EI GAs L EI GAs L

L 4 L 4
v v
K K

v T v GAs 1 1
K K f (0) 2 1 1 2
4

GAs GAs

K
v T
K
v
2 2

GAs
GAs
2 2

vv
K

GAs GAs

GAs 1 1 GAs L L
f (0) 2 1 1 K
vv vv
K
L L GAs

GAs
L L

EI GAs L EI GAs L GAs GAs


L 4
L

4 2

2

EI GAs L EI GAs L

GAs

GAs
L 4 L 4 2 2

GAs GAs GAs GAs

2 2 L L
GA GA GA GAs
s s s
2 2 L L

P EI / L GAs L / 4
vP
EIGAs / L2
PL3
vP
4 EI

EI GAs

EI 100 Nm 2 EI 100 Nm 2
GAs 1 N GAs 100 N


L 1 m L5 m
L2m L 10 m
P 1 N

PL3 PL
vP
3EI GAs

vP [m]
L[m] EI 100 Nm 2 EI 100 Nm 2
GAs 1 N GAs 100 N
EI 100 Nm 2
GAs 1 N

L[m]

vP [m]

1.0035 Length 1 m 2.028 Length 2 m


Vertical displacement

Vertical displacement

1.0033 2.026

1.0031 2.024

1.0029 2.022
1 GP 1 GP
1.0027 2 GP 2.02 2 GP
Analytical solution Analytical solution
1.0025 2.018
0 10 20 30 40 0 10 20 30 40
dof dof

Length 5 m Length 10 m
5.41 13.25
Vertical displacement

Vertical displacement

5.36 12.75
1 GP 1 GP
2 GP 2 GP
Analytical solution Analytical solution
5.31 12.25
0 10 20 30 40 0 10 20 30 40
dof dof
EI 100 Nm 2
GAs 100 N

L[m]

vP [m]

0.0135 Length 1 m 0.05 Length 2 m


Vertical displacement

Vertical displacement

0.013 0.045

0.0125 1 GP 0.04 1 GP
2 GP 2 GP
Analytical solution Analytical solution
0.012 0.035
0 10 20 30 40 0 10 20 30 40
dof dof

0.5 Length 5 m 4 Length 10 m


Vertical displacement

Vertical displacement

0.4
3
0.3
2
0.2
1 GP 1 GP
1
0.1 2 GP 2 GP
Analytical solution Analytical solution
0 0
0 10 20 30 40 0 10 20 30 40
dof dof
EI 100 Nm2 GAs 1 N

GAs 1 N

EI 100 Nm2 GAs 100 N


timoshenko_beam_single

modeldatainput.m

FEtype.m

mesh.m boundary_conditions.m

FE_type.m

% Spatial dimension
ProblemData.SpaceDim = 1;

% PDE type
ProblemData.pde = 'TimoshenkoBeam';

% Degrees of freedom per node


ElementData.dof = 2;

% Nodes per element


ElementData.nodes = 2;

% Number of integration points per element


ElementData.noInt = 1;
% Element type
ElementData.type = 'Bar1';

% Change the number of the elements and the lenght to change the mesh of
the beam
elements = 10;

length = 10;

pm = zeros(elements,3);
for (i=1:elements)
pm(i,1) = length/elements*i
end
x = [
0.0 0.0 0.0
pm
]';

noel = zeros(elements,2);
for (i=1:elements)
noel(i,1) = i
noel(i,2) = i+1
end

Connect = [
noel
]';
1
v
Ka f a = 1
2

v2

% input boundary conditions


% node number, boundary condition type (0=Neumnann, 1=Dirichlet), dof, bc
value
% Neumnann= force, Dirichlet=displacement

tol = 0.000001;
L = abs(max(Mesh.x(1,:)));

%The loop below can find and apply the needed BCs automatically.
j = 1;
for (i=1:Mesh.noNodes)

if(abs(Mesh.x(1,i)) < tol)


BC_data(1,j)=i;
BC_data(2,j)=1;
BC_data(3,j)=1;
BC_data(4,j)=0;
j = j+1;

BC_data(1,j)=i;
BC_data(2,j)=1;
BC_data(3,j)=2;
BC_data(4,j)=0;
j = j+1;
end

if(abs(Mesh.x(1,i)) > L-tol)


BC_data(1,j)=i;
BC_data(2,j)=0;
BC_data(3,j)=2;
BC_data(4,j)=1;
j = j+1;
end

end

FEcode.m mesh.m

mesh.m MeshInitialise.m

FEcode.m

% Directory where input files are located

input_directory = './demo/timoshenko_beam_single';

addpath(input_directory)

disp('-Reading problem data')

% Problem data
FE_type

% Read model/material data


ModelDataInput

% read mesh (change this to the name of the mesh, leaving off .m)
%Mesh = read_mesh(input_directory, ProblemData, ElementData);
mesh

% Intitialise mesh
MeshInitialise

También podría gustarte