Simulação Computacional Como Apoio Para Outras Disciplinas

Propaganda
SIMULAÇÃO COMPUTACIONAL COMO APOIO PARA OUTRAS
DISCIPLINAS
Lincoln C. Zamboni 1, Sergio V. D. Pamboukian 2, Edson A. R. Barros 3
Abstract  Nowadays, programming is an essential tool
for engineering students in the development of their projects.
In the Escola de Engenharia of Universidade Presbiteriana
Mackenzie, the students of the 2nd stage of the course
develop multidisciplinary projects that use the programming
as an auxiliary tool for solving problems of Calculus,
Physics and other disciplines. The programming allows, for
example, simulating situations that cannot be created in the
reality for being impossible (visualization of an atom, i.e.) or
very dangerous (experiments with radioactive materials,
i.e.). In this work, we described a multidisciplinary project
developed by our students that consists in the visualization
of the movement of a solid sphere electrically charged,
immersed in a rigid transparent box, containing or not a
fluid, and submitted to an electric field generated by
deflecting plates. The developed program allows visualizing
the animation of the movement of the sphere in 3D.
z
placa defletora
z = c, c>0
placa defletora
y=0
placa defletora
x=0
placa defletora
y = b, b>0
placa defletora
x = a, a>0
y
placa defletora
z=0
x
FIGURA. 1
CAIXA FORMADA POR PLACAS DEFLETORAS.
Index Terms  Electric field, multidisciplinary projects,
programming, simulation.
INTRODUÇÃO
Atualmente, a programação é uma ferramenta essencial para
os estudantes de Engenharia no desenvolvimento de seus
projetos.
Na Escola de Engenharia da Universidade Presbiteriana
Mackenzie, os alunos da 2ª etapa do curso desenvolvem
projetos multidisciplinares que utilizam a programação
como ferramenta auxiliar para a resolução de problemas de
Cálculo, Física e outras disciplinas. A programação permite,
por exemplo, simular situações que não podem ser criadas
na realidade por serem impossíveis (visualização de um
átomo, por exemplo) ou muito perigosas (experimentos com
materiais radioativos, por exemplo).
Neste trabalho, descrevemos um dos projetos
multidisciplinares desenvolvidos por nossos alunos.
ENUNCIADO SINTÉTICO DO PROJETO
Este Projeto de Integração Multidisciplinar Acadêmico
(PRIMA) desenvolvido pelas turmas do 2º semestre de
Engenharia consiste na visualização do movimento de uma
pequena bola maciça (esfera) eletricamente carregada,
imersa em uma caixa transparente rígida (paralelepípedo) e
submetida ao campo elétrico gerado pela diferença de
potencial de três pares ortogonais de placas defletoras
ilustradas na Figura 1. A caixa pode conter ou não um fluído
(ar, água, óleo ou vácuo). O software desenvolvido deve
permitir que a visualização seja feita a partir de diversos
pontos de vista de um observador.
PROJEÇÃO CILÍNDRICA ORTOGONAL
Em [1], [2] e [3] é mostrado que a posição de um ponto no
espaço pode ser definida de várias maneiras. A mais comum
é com o uso de um sistema de coordenadas cartesianas, onde
um ponto é posicionado através de três coordenadas reais
(x’, y’, z’).
Para visualizar um objeto no espaço (3D) na tela do
computador (que é plana - 2D), pode-se projetar cada ponto
(x’, y’, z’) do objeto no plano definido pela tela (x, y),
usando, para tanto, uma projeção cônica ou cilíndrica. O
equacionamento seguinte, de acordo com [4], [5] e [6], é
formalizado para uma projeção cilíndrica ortogonal.
Considerando apenas a rotação em torno do eixo z de
um ângulo z, conforme ilustrado na Figura 2, tem-se que, a
partir da igualdade vetorial x  i  y  j  z  k  x ' i ' y ' j '
1 Lincoln César Zamboni, Escola de Engenharia, Universidade Presbiteriana Mackenzie, Rua da Consolação, 930, 01302-907, Consolação, São Paulo, SP,
Brazil, lincoln.zamboni @mackenzie.com.br
2 Sergio Vicente Denser Pamboukian, Escola de Engenharia, Universidade Presbiteriana Mackenzie, Rua da Consolação, 930, 01302-907, Consolação, São
Paulo, SP, Brazil, [email protected]
3 Edson de Almeida Rego Barros, Escola de Engenharia, Universidade Presbiteriana Mackenzie, Rua da Consolação, 930, 01302-907, Consolação, São
Paulo, SP, Brazil, [email protected]
z=z’ (entra no plano do papel)
z (entra no plano do papel)
x
x
projeção do
objeto no
plano xy
z
z’
z
x’
y’
y
FIGURA. 2
ROTAÇÃO EM TORNO DO EIXO Z.
y
z ' k ' (onde i, j, k, i’, j’ e k’ são os versores dos eixos x, y, z,
x’, y’ e z’, respectivamente), multiplicando-se escalarmente
ambos os membros por i (o produto escalar entre dois
versores é o co-seno do ângulo entre eles), encontra-se:
x  x ' (i ' i)  y ' ( j ' i) 
x ' cos z  y ' cos( 2  z ) 
x ' cos z  y ' sen z .
Analogamente, y  x'sen  z  y' cos z e z  z ' .
Matricialmente tem-se (1).
 x   cos z
 y   sen 
z
  
 z   0
 sen z
cos z
0
0  x ' 
0    y '
1   z ' 
(1)
Utilizando (1) e considerando as três rotações e as três
translações possíveis, obtém-se de forma matricial (2).
0
 xt  1
 y   0 cos 
x
 t 
 zt  0 sen  x
translação
0   cos  y

 sen  x    0
cos  x  sen  y
rotação em torno de x (R yz )
 cos z
sen 
z

 0
 sen z
cos z
0
y’
x’
FIGURA. 3
PROJEÇÃO CILÍNDRICA ORTOGONAL.
Em (3) temos: cx  cos  x , cy  cos  y , cz  cos z ,
sx  sen  x , sy  sen  y , sz  sen  z e a  sx  sy .
LANÇAMENTO DE PROJÉTIL
rotação em torno de z (R xy )
x
 y 
 
 z 
objeto
As Figuras 4 e 5 ilustram o lançamento de um projétil,
considerando as ações do atrito (Fat é a força de atrito) e da
gravidade (P é a força peso).
Além do atrito e da gravidade, o projétil (esfera)
também está sujeito à ação do campo elétrico (E) gerado
pelas placas defletoras.
A velocidade (v) e a posição do projétil (r) estão
relacionadas de forma aproximada por:
0  sen  y 

1
0 
0 cos  y 
y
Fat
rotação em torno de y (R xz )
0  x '
0    y '
1   z ' 
(3)
(2)
(k)
(2)
(1)
rotação em torno de z (R xy )
(k+1)
(0)
Observando a Figura 3 e considerando apenas as
translações nas direções dos eixos x e y e tomando a
projeção no plano xy (despreza-se z), encontra-se (3).
 x  xt  (cy  cz )  x ' (cy  sz )  y ' sy  z '

 y  yt  (a  cz  cx  sz )  x ' (a  sz  cx  cz )  y '

( sx  cy )  z '

...
P
...
z
x
(3)
FIGURA. 4
TRAJETÓRIA DO PROJÉTIL.
(n)
(k)
Fat k  D  vk  vk
 0   q  Ex 
Fk   D  vk  vk  m  g   q  Ey  
 0   q  Ez 
vxk 
v k  vyk 
vzk 
vxk   0   q  Ex 
 D  vk  vyk   m  g   q  Ey  
 vzk   0   q  Ez 
 0 
P   m  g 
 0 
  D  vk  vxk  q  Ex 


  D  vk  vyk  m  g  q  Ey 
  D  vk  vzk  q  Ez 
(k+1)
Em (6), D  C 
FIGURA. 5
FORÇAS ATUANTES NO PROJÉTIL NO INSTANTE K.
rxk 1  rxk  vxk 

    
ryk 1   ryk   vyk   t 

    
 rz k 1   rz k  vzk 
Fk  m  a k  a k 
Fk
m
A partir da aceleração calculamos uma nova velocidade
(v):
(4)
O campo elétrico (E), gerado pelas placas defletoras,
pode ser calculado por:
 Vax  Vbx 


 Ex   Dx 
Vay  Vby 
E   Ey   
Dy 
 Ez  

 Vaz  Vbz 
 Dz 
1
   S , C é o coeficiente de forma
2
do projétil,  é a densidade do fluído em que o projétil está
imerso, S é a área da seção reta do projétil, m é a massa do
projetil e q é a carga do projétil.
Com o uso da Segunda Lei de Newton, encontramos a
aceleração (a):
rk 1  rk
 vk 
t
rk 1  rk  v k  t 
rxk 1   rxk  vxk  t 

 

ry k 1   ry k  vyk  t 

 

 rz k 1   rz k  vzk  t 
(6)
(5)
Em (5) Ex é o campo elétrico gerado pelas placas
defletoras dispostas ao longo do eixo x, Vax e Vbx são as
tensões existentes nas placas defletoras e Dx é a dimensão da
caixa ao longo do eixo x. De maneira análoga são calculados
os campos elétricos ao longo dos eixos y e z.
A força resultante (F) é calculada a partir da soma da
força de atrito, do peso e da força gerada pelo campo
elétrico:
v k 1  v k
F
 a k  v k 1  v k  k  t 
t
m
  D  vk  vxk  q  Ex 
 vxk 1   vxk 
vy   vy   1    D  v  vy  m  g  q  Ey   t 
k
k

 k 1   k  m 
  D  vk  vzk  q  Ez

 vzk 1   vzk 


D

 vxk   m  vk  vxk  q  Ex   t 



 vxk 1  


D


vy   vy 
 k 1   k  m  vk  vyk  g  q  Ey   t  (7)

 vzk 1  


D

 vzk    vk  vzk  q  Ez   t 


m

A partir da nova velocidade (v), podemos calcular a
nova posição do projétil (r) por (4).
CHOQUE DE UM PROJÉTIL
Em [4], [5] e [6] tem-se algumas considerações vetoriais no
choque do projétil com uma superfície rígida ilustradas pela
Figura 6.
Ler(VBY) // tensão na placa B eixo Y (V)
Ler(VAZ) // tensão na placa A eixo Z (V)
Ler(VBZ) // tensão na placa B eixo Z (V)
n (versor normal à
superfície no ponto
de colisão)
superfície
rígida
v (velocidade do projétil
antes do choque)
w (velocidade do
projétil depois do
choque)
u (reflexão do
vetor v)
FIGURA. 6
CHOQUE DE UM PROJÉTIL.
O vetor u é calculado por u  v  2  (v  n)  n e o vetor w
é calculado por w    u , onde 0    1 (se   0 , o
choque será inelástico e se   1 , elástico perfeito).
ALGORITMO
A seguir podemos ver o algoritmo utilizado para o cálculo e
desenho da trajetória do projétil obtido de (4) e (7). As
unidades estão indicadas entre parênteses nos comentários e
seguem o exposto em [7].
// **** INICIALIZAÇÃO ****
Ler(T0) // tempo inicial (s)
Ler(T)
// período de observação (s)
Ler(N)
// quantidade de intervalos
// (natural não nulo)
Ler(DX) // dimensão x da caixa
Ler(DY) // dimensão y da caixa
Ler(DZ) // dimensão z da caixa
Ler(RX0) // posição x inicial (m)
Ler(RY0) // posição y inicial (m)
Ler(RZ0) // posição z inicial (m)
Ler(VX0) // velocidade x inicial (m/s)
Ler(VY0) // velocidade y inicial (m/s)
Ler(VZ0) // velocidade z inicial (m/s)
Ler(G)
// aceleração da gravidade(m/s2)
Ler(M)
// massa do projétil (kg)
Ler(C)
// coeficiente de forma
// (adimensional)
Ler(Ro) // densidade do fluido (kg/m3)
Ler(S)
// área da seção reta do
// projétil (m2)
Ler(Q)
// carga da esfera (C)
Ler(L)
// coeficiente de elasticidade
// (adimensional)
Ler(VAX) // tensão na placa A eixo X (V)
Ler(VBX) // tensão na placa B eixo X (V)
Ler(VAY) // tensão na placa A eixo Y (V)
// **** CÁLCULOS INICIAIS ****
// Calcular o incremento de tempo (s)
DT ← T/N
// Calcular a constante DM (m-1)
DM ← C/2*Ro*S/M
// Calcular o módulo da velocidade
// inicial (real positivo, m/s)
ModV0 ← raizquadrada(VX0*VX0 + VY0*VY0 +
VZ0*VZ0)
// Calcular a variável DMModV0 (s-1)
DMModV0 ← DM*ModV0
// Calcular campo elétrico
EX ← (VAX-VBX)/DX
EY ← (VAY-VBY)/DY
EZ ← (VAZ-VBZ)/DZ
//
//
//
//
//
------------------------------------Coloque aqui o código para movimentar
a caneta para a posição inicial RX0,
RY0 e RZ0
-------------------------------------
// **** CÁLCULO DA TRAJETÓRIA ****
para K←0 até N-1 faça
início
// Calcular a nova posição
RX0 ← RX0+VX0*DT
RY0 ← RY0+VY0*DT
RZ0 ← RZ0+VZ0*DT
//
//
//
//
//
//
//
//
//
//
//
//
----------------------------------Coloque aqui o código para
verificar se houve choque da esfera
contra uma das placas defletoras.
Se houve, inverter a velocidade
no sentido do choque aplicando o
coeficiente de elasticidade
----------------------------------Coloque aqui o código para plotar a
nova posição do objeto nas novas
coordenadas RX0, RY0 e RZ0
-----------------------------------
// Calcular a nova velocidade
VX0 ← VX0 – (DMModV0*VX0+EX*Q/M)*DT
VY0 ← VY0 – (DMModV0*VY0+EY*Q/M+G)*DT
VZ0 ← VZ0 - (DMModV0*VZ0+EZ*Q/M)*DT
// Calcular o novo módulo da veloc.
ModV0 ← raizquadrada(VX0*VX0 + VY0*VY0
+ VZ0*VZ0)
// Calcular o novo valor de DMModV0
DMModV0 ← DM*ModV0
fim
SOFTWARE
O software ilustrado na Figura 7 foi desenvolvido utilizando
a linguagem Object Pascal e o ambiente de desenvolvimento
Delphi da Borland.
FIGURA. 7
JANELA DO SOFTWARE.
A interface gráfica permite ao usuário configurar
facilmente as características da simulação: tensão nas placas,
carga da esfera, coeficiente de elasticidade utilizado no
choque, dimensões da caixa, posição inicial da esfera,
velocidade inicial da esfera, posição do observador, período
de observação, etc.
REFERÊNCIAS
[1]
ZAMBONI, L. C.; PAMBOUKIAN, S. V. D., “Matrizes de
rotação a partir de Quatérnions e a criação de um componente
C++ Builder para visualização de funções matemáticas no R 3”,
Revista Mackenzie de Engenharia e Computação”, n. 4, 2003,
pp. 75-106.
[2]
ANTON, H.; RORRES, C. “Álgebra Linear com aplicações”,
Bookman, 2001.
[3]
WATT, A., “3D Computer Graphics”, Addison-Wesley, 2000.
[4]
BARROS, E. A. R.; GRINKRAUT, M. L.; PAMBOUKIAN, S.
V. D.; ZAMBONI, L. C., “Delphi para Universitários” - 2ª
Edição. São Paulo: Páginas & Letras, 2000.
[5]
BARROS, E. A. R.; PAMBOUKIAN, S. V. D.; ZAMBONI, L.
C., “C++ Builder para Universitários” - 2ª Edição. São Paulo:
Páginas & Letras, 2003.
[6]
ZAMBONI, L. C.; MONEZZI JÚNIOR, O. Cálculo Numérico
para Universitários. São Paulo: Páginas & Letras, 2ª ed., 2002.
[7]
ROZEMBERG, I.M. “O Sistema Internacional de Unidades –
SI”. 2ª. Edição. São Paulo. Instituto Mauá de Tecnologia, 2002.
Download