ACE News

Transcrição

ACE News
ISSN 1645-3999
ACE – Aveiro (Portugal) © 2002
Neste número:
Ô Um modelo
computacional para
a simulação do
processo de
remodelação óssea
Ô O programa de
visualização MayaVi
e a sua utilização no
âmbito da mecânica
computacional
ACENEWS
Applied Computing Engineering
Notícias:
Ô MIUP 2002 –
Maratona Inter-Universitária de
Programação
Outros:
Ô Os Links do mês
Ô Congressos, Cursos,
e Conferências
Ô Software em
Revista:
COSMOS/M™
Ô Técnica: Notas
sobre... Dual-Boot
Simulação do Processo
de Remodelação Óssea
Ô Curiosidades
MIUP 2002 – Maratona Inter-Universitária
de Programação
http://www.ace.co.pt
ACE News – Applied Computing Engineering „ Volume 1, Número 3 „ Novembro de 2002
Applied Computing Engineering
Público-Alvo
Editor-Chefe
Engenheiros, cientistas e investigadores envolvidos na análise de problemas de
engenharia, recorrendo a meios e métodos numéricos de cálculo computacional.
Formadores e pedagogos nas áreas da computação e desenvolvimento de software
para computação e simulação numérica. Laboratórios e centros de investigação e
desenvolvimento (I&D) e outros meios académicos de I&D, educação e indústria.
Filipe Teixeira-Dias
Departamento de Engenharia Mecânica
Universidade de Aveiro
Campus Universitário de Santiago
3810-193 Aveiro (Portugal)
e-mail: [email protected]
Objectivos
Corpo Editorial
António Dias de Figueiredo
Departamento de Engenharia Informática
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Engenharia Informática
Carlos Fiolhais
Departamento de Física
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Engenharia Física (Física)
Carlos Salema
Instituto de Telecomunicações
Instituto Superior Técnico (Portugal)
Engenharia Electrotécnica/Electrónica
Publicações e Periodicidade
Cristóvão Mota Soares
Departamento de Engenharia Mecânica
Instituto Superior Técnico (Portugal)
Engenharia Mecânica: Mecânica dos Materiais
Compósitos e Estruturas Laminadas e Adaptativas
Luís Filipe Menezes
Departamento de Engenharia Mecânica
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Engenharia Mecânica: Grandes Deformações e
Plasticidade
Luís Ribeiro
Maria da Graça Carvalho
Departamento de Engenharia Mecânica
Instituto Superior Técnico (Portugal)
Engenharia Mecânica: Mecânica de
Fluidos/Transmissão de Calor e Massa
No âmbito da ACE News – Applied Computing Engineering estão definidas as
seguintes áreas de acção relativas à Computação e Cálculo Numérico Aplicado à
Engenharia: Engenharia Civil, Engenharia Electrotécnica e Electrónica, Engenharia
Física, Engenharia Geológica, Engenharia Informática e Engenharia Mecânica.
Instruções para os Autores
Paulo Vila Real
Departamento de Engenharia Civil
Universidade de Aveiro (Portugal)
Engenharia Civil: Estruturas, Estruturas Metálicas e
Mistas
Raimundo Delgado
Departamento de Engenharia Civil
Faculdade de Engenharia
Universidade do Porto (Portugal)
Engenharia Civil: Estruturas/Dinâmica e Estabilidade
Sergio Oller
Universidad Politécnica de Catalunya – CIMNE
Barcelona (Espanha)
Engenharia Mecânica/Civil: Fractura e Fadiga de
Materiais
Alexandre Pinho da Cruz
António Gil Andrade Campos
Gracinda Simões
Hugo Calisto
João Alexandre Oliveira
Norelen Santos
Durante a primeira fase de publicação da ACE News, a qual se pretende que tenha
uma duração máxima de 12 meses, deverão ser editados 6 números com um total
de cerca de 24 artigos. No final desta fase, é intenção da equipa de
edição/redacção editar um número impresso da ACE News, exclusivamente em
inglês, contendo um conjunto seleccionado destes artigos, a publicar de um modo
mais desenvolvido e aprofundado. Adicionalmente, para incluir neste número
impresso anual, serão solicitadas a investigadores de renome nacional e internacional contribuições sobre trabalhos de grande actualidade científica nas áreas de
abrangência da ACE News. Em fases seguintes poder-se-á considerar o eventual
aumento do número de edições/ano.
Áreas de Actuação
CVRM – Centro de Geo-sistemas
Instituto Superior Técnico (Portugal)
Engenharia Geológica (Geociências)
Redacção:
A ACE News – Applied Computing Engineering (http://www.ace.co.pt) é uma
revista em formato electrónico e de distribuição livre. A ACE News pode ser lida
em qualquer plataforma (PC, Mac, Unix, Linux, Windows®) com o Acrobat Reader®
(http://www.adobe.com/support/downloads) e pretende constituir-se como um
meio de divulgação científica e tecnológica em áreas associadas à computação
aplicada à engenharia. De um modo genérico os objectivos essenciais da ACE
News – Applied Computing Engineering são: (i) divulgar trabalhos de investigação
e desenvolvimento científico e tecnológico na forma de comunicações escritas; (ii)
disseminar informação sobre projectos de I&D em curso; (iii) facilitar e potenciar a
comunicação, trabalho e colaboração entre instituições de investigação e desenvolvimento nas áreas associadas à computação aplicada à engenharia; (iv) recolher
artigos de opinião sobre assuntos no âmbito da ACE News e (v) divulgar informação sobre actividades de I&D em áreas de computação aplicada à engenharia.
Com o apoio de:
Propostas de comunicações escritas, que deverão versar, no mínimo, uma das áreas de actuação acima referidas, devem ser enviadas em formato electrónico ao Editor-Chefe da ACE News – Applied Computing Engineering, recorrendo ao endereço
fornecido no topo desta página. As submissões deverão incluir, além do texto, o título, autores e sua filiação. Na elaboração destas propostas, os autores deverão
seguir as seguintes instruções: (i) o texto, em Português, Castelhano ou Inglês,
deverá ser não-formatado (*.txt, *.rtf, *.doc, etc.); (ii) deverá incluir o título,
autores, resumo, palavras-chave e referências bibliográficas (numeradas por
ordem de citação); (iii) o resumo deverá ter no máximo 100 palavras e deverão
ser indicadas até 10 palavras chave; (iv) as figuras e/ou fotografias (a cores e/ou
preto e branco) devem ser enviadas separadamente do texto, com resolução
máxima e em qualquer formato e (v) deve ser indicado explicitamente o nome e
filiação dos autores e contacto para envio de correspondência.
Subscrições
A ACE News – Applied Computing Engineering mantém uma Mailing List onde
inclui todos os interessados em receber regularmente a revista e outra informação
proveniente, única e exclusivamente, da ACE News. Para se registar nesta Mailing
List basta enviar um e-mail para o endereço [email protected] com ADD TO ACE
no campo Assunto. Para ser retirado da Mailing List envie um e-mail para o
endereço [email protected] com REMOVE FROM ACE no campo Assunto.
Copyright
Universidade de Aveiro
FICHA TÉCNICA
Ao submeter contribuições para o ACE News – Applied Computing Engineering, os
autores concordam com a transferência de copyright para a ACE News se e
quando o artigo for publicado.
Volume 1, Número 3 „ Novembro de 2002
2
Applied Computing Engineering
Público Objetivo
Editor Jefe
Ingenieros, científicos e investigadores que desenvuelvan trabajo en el análisis de
problemas de ingeniería, recurriendo a medios y métodos numéricos de cálculo
computacional. Formadores y pedagogos en las áreas de computación y desarrollo
de software para computación y simulación numérica. Laboratorios y centros de
investigación y desarrollo (I&D) y otros medios académicos de I&D, educación e
industria.
Filipe Teixeira-Dias
Departamento de Engenharia Mecânica
Universidade de Aveiro
Campus Universitário de Santiago
3810-193 Aveiro (Portugal)
e-mail: [email protected]
Objetivos
Cuerpo Editorial
António Dias de Figueiredo
Departamento de Engenharia Informática
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Ingeniería Informática
Carlos Fiolhais
Departamento de Física
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Ingeniería Física (Física)
Carlos Salema
Instituto de Telecomunicações
Instituto Superior Técnico (Portugal)
Ingeniería Electrotécnica/Electrónica
Publicación y Periodicidad
Cristóvão Mota Soares
Departamento de Engenharia Mecânica
Instituto Superior Técnico (Portugal)
Ingeniería Mecánica: Mecánica de los Materiales
Compuestos y Estructuras Laminadas y Adaptativas
Luís Filipe Menezes
Departamento de Engenharia Mecânica
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Ingeniería Mecánica: Grandes Deformaciones y
Plasticidad
CVRM – Centro de Geo-sistemas
Instituto Superior Técnico (Portugal)
Ingeniería Geológica (Geociencias)
Maria da Graça Carvalho
Departamento de Engenharia Mecânica
Instituto Superior Técnico (Portugal)
Ingeniería Mecánica: Mecánica de Fluidos/Transmisión
de Calor y Masa
Paulo Vila Real
Departamento de Engenharia Civil
Universidade de Aveiro (Portugal)
Ingeniería Civil: Estructuras, Estructuras Metálicas y
Mixtas
Raimundo Delgado
Departamento de Engenharia Civil
Faculdade de Engenharia
Universidade do Porto (Portugal)
Ingeniería Civil: Estructuras/Dinámica e Estabilidad
Sergio Oller
Universidad Politécnica de Catalunya – CIMNE
Barcelona (Espanha)
Ingeniería Mecánica/Civil: Fractura y Fatiga de
Materiales
Alexandre Pinho da Cruz
António Gil Andrade Campos
Gracinda Simões
Hugo Calisto
João Alexandre Oliveira
Norelen Santos
En una primera etapa de publicación de ACE News, que se pretende que tenga
una duración máxima de 12 meses, deberán ser editados 6 números con un total
de aproximadamente 24 artículos. Transcurrido ese período, el equipo de
redacción/edición de ACE News pretende editar un folleto en versión impresa,
exclusivamente en inglés, que contendrá un conjunto seleccionado de estos
artículos, a publicar de un modo más desarrollado y profundizado. Adicionalmente,
para incluir en este número impreso anual, será solicitada a investigadores de
renombre nacional e internacional colaboraciones con trabajos de gran actualidad
científica en las áreas englobadas por ACE News. En etapas posteriores, se podrá
considerar un eventual aumento en el número de ediciones por año.
Áreas de Actuación
Luís Ribeiro
Redacción:
ACE News – Applied Computing Engineering (http://www.ace.co.pt) es una revista
en formato electrónico y de distribución libre. ACE News puede ser leída en
cualquier plataforma (PC, Mac, Unix, Linux, Windows®) con el Acrobat Reader®
(http://www.adobe.com/support/downloads) y pretende ser un medio de
divulgación científica y tecnológica en áreas asociadas a la computación aplicada a
la ingeniería. Los objetivos esenciales de ACE News son: (i) divulgar trabajos de
investigación y desarrollo (I&D) científico y tecnológico mediante comunicaciones
escritas; (ii) diseminar información sobre proyectos de I&D en curso; (iii) facilitar y
potenciar la comunicación, trabajo y colaboración entre instituciones de I&D en
áreas asociadas a la computación aplicada a la ingeniería; (iv) reunir artículos de
opinión sobre asuntos del ámbito de ACE News y (v) divulgar información sobre
actividades de I&D en áreas de computación aplicada a la ingeniería.
Con la ayuda de:
En el ámbito de ACE News se encuentran definidas las siguientes áreas de acción
relativas a la Computación y Cálculo Numérico Aplicado a la Ingeniería: Ingeniería
Civil, Ingeniería Electrotécnica y Electrónica, Ingeniería Física, Ingeniería
Geológica, Ingeniería Informática e Ingeniería Mecánica.
Instrucciones para los Autores
Propuestas de comunicaciones escritas, que deberán pertenecer, en lo mínimo, a
una de las áreas de acción referidas anteriormente, deben ser enviadas en formato
electrónico para el Editor Jefe de ACE News, utilizando la dirección de e-mail
indicada en la parte superior de esta página. Los textos propuestos deberán incluir,
además del texto, el título, autores e institución a que pertenecen. Al elaborar las
propuestas, los autores deberán seguir las siguientes instrucciones: (i) el texto, en
Portugués, Castellano o Inglés, no deberá contener ningún formato específico
(*.txt, *.rtf, *.doc, etc.) y deberá contener el título, autores, resumen, palabras
clave y referencias bibliográficas (enumeradas por orden de citación); (ii) el
resumen deberá tener un máximo de 100 palabras y hasta 10 palabras clave; (iii)
las figuras y/o fotografías (a colores o blanco y negro) deben ser enviadas
separadas del texto, con resolución máxima y en cualquier formato y (iv) debe ser
indicado explícitamente el nombre e institución a que pertenecen los autores y un
contacto para envío de correspondencia.
Suscripciones
ACE News – Applied Computing Engineering mantiene una Mailing List donde
incluye a todos los interesados en recibir regularmente la revista y alguna otra
información proveniente, única y exclusivamente, de ACE News. Para registrarse
en esta Mailing List deberá apenas enviar un e-mail a la siguiente dirección:
[email protected] colocando en el asunto ADD TO ACE. Caso desee retirarse de
nuestra Mailing List deberá entonces enviar un e-mail para [email protected]
colocando como Asunto REMOVE FROM ACE.
Copyrigth
Universidade de Aveiro
FICHA TÉCNICA
Al enviar contribuciones para ACE News – Applied Computing Engineering, los
autores concuerdan con la transferencia de copyright para ACE News, en caso de
que el artículo sea publicado.
Volume 1, Número 3 „ Novembro de 2002
3
Applied Computing Engineering
Target Readers
Editor-in-Chief
Engineers, scientists and researchers involved in the analysis of engineering
problems, using numerical methods and computational resources. Instructors,
trainers and teachers in the areas of computation and software development for
numerical simulation tools. Laboratories and Research and Development (R&D)
centres and other academic R&D institutions, education and industry.
Filipe Teixeira-Dias
Departamento de Engenharia Mecânica
Universidade de Aveiro
Campus Universitário de Santiago
3810-193 Aveiro (Portugal)
e-mail: [email protected]
Aims
Editorial Board
António Dias de Figueiredo
Departamento de Engenharia Informática
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Informatics Engineering
Carlos Fiolhais
Departamento de Física
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Physics Engineering (Physics)
Carlos Salema
Instituto de Telecomunicações
Instituto Superior Técnico (Portugal)
Electrical/Electronics Engineering
Cristóvão Mota Soares
Departamento de Engenharia Mecânica
Instituto Superior Técnico (Portugal)
Mechanical Engineering: Composite Materials and
Laminated and Adaptive Structures
Luís Filipe Menezes
Departamento de Engenharia Mecânica
Faculdade de Ciências e Tecnologia
Universidade de Coimbra (Portugal)
Mechanical Engineering: Large Deformations and
Plasticity
Luís Ribeiro
CVRM – Centro de Geo-sistemas
Instituto Superior Técnico (Portugal)
Geological Engineering (Geosciences)
Maria da Graça Carvalho
Departamento de Engenharia Mecânica
Instituto Superior Técnico (Portugal)
Mecanical Engineering: Fluid Mechanics/Heat
and Mass Transfer
Paulo Vila Real
Departamento de Engenharia Civil
Universidade de Aveiro (Portugal)
Civil Engineering: Structures, Metallic and Mixed
Structures
Raimundo Delgado
Departamento de Engenharia Civil
Faculdade de Engenharia
Universidade do Porto (Portugal)
Civil Engineering: Structures/Dynamics and Stability
Sergio Oller
Universidad Politécnica de Catalunya – CIMNE
Barcelona (Espanha)
Civil/Mechanical Engineering: Fracture and Fatigue of
Materials
Editorial Staff:
Alexandre Pinho da Cruz
António Gil Andrade Campos
Gracinda Simões
Hugo Calisto
João Alexandre Oliveira
Norelen Santos
With the support of:
ACE News – Applied Computing Engineering (http://www.ace.co.pt) is an
electronic magazine that may be freely distributed. ACE News can be read in any
computer platform (PC, Mac, Unix, Linux, Windows®) with Acrobat Reader®
(http://www.adobe.com/support/downloads) and aims at being a scientific and
technological divulgation medium in areas associated to applied computing
engineering. The main objectives of ACE News are: (i) to publish contributed
papers related to recent advances in the development and use of computer and
numerical methods for the solution of scientific and engineering problems, related
to Research and Development activities and technological developments; (ii) to
disseminate information on Research and Development projects; (iii) to promote
and strengthen the communication, work and cooperation between R&D institutions
in fields associated to engineering applied computation and (iv) to disclose
information on R&D activities related to engineering applied computation.
Publications and Periodicity
Six editions, with a total of about 24 papers, will be edited during the first
publishing stage of ACE News. This stage will have a minimum duration of 12
months. After this first period, the editorial staff of ACE News intends to edit a
printed edition, exclusively written in English, that will contain a selected set of
papers, published in a deepened way. Additionally, some internationally known
researchers will be invited to contribute to this printed edition. In futures stages,
an increase in the periodicity of the magazine may be considered.
Scope
The objective of ACE News is to communicate recent advances in the development and use of Applied Numerical and Computational Methods for the solution of
engineering problems related to: Civil Engineering, Computers and Software
Engineering, Electrical and Electronics Engineering, Geological Engineering,
Mechanical Engineering and Physics Engineering.
Instructions for Authors
Any submissions of written contributions must deal with, at least, one of the object
areas previously defined. Contributions should be sent to the Editor-in-Chief in
electronic format, using the e-mail address indicated at the top of this page.
Submitted papers must include, apart from the main text, the title, authors and
their affiliations. When preparing a proposal, authors should obey to the following
instructions: (i) the text, in English, Portuguese or Castilian, should be written
unformatted in any general format (*.txt, *.rtf, *.doc, etc.) and contain the title,
author names, abstract and references (numbered and listed by citacion order); (ii)
the abstract must not have more than 100 words and the authors must provide up
to 10 keywords; (iii) figures and/or photos (colour and/or black and white) should
be sent separate from the text, with maximum resolution and in any common
image format and (iv) affiliation and contact for correspondence should be clearly
marked.
Subscriptions
ACE News – Applied Computing Engineering keeps and Mailing List with the e-mail
addresses of all interested in receiving the magazine and any other information
exclusively from ACE News. To register in this Mailing List just send and e-mail to
[email protected] with ADD TO ACE in the Subject. If you want to be removed
from this Mailing List please send an e-mail to [email protected] with REMOVE
FROM ACE in the Subject.
Copyrigth
Universidade de Aveiro
When submitting a contribution to ACE News – Applied Computing Engineering,
the authors agree to transfer the copyright to ACE News, in case the paper is
published.
TECHNICAL INFORMATION
Volume 1, Número 3 „ Novembro de 2002
4
Applied Computing Engineering
6
Um Modelo Computacional para a Simulação do Processo de
Remodelação Óssea
Paulo R. Fernandes
O osso é um material celular que adapta a sua estrutura às solicitações
mecânicas a que está sujeito. Neste artigo, apresenta-se um modelo
computacional para caracterizar a distribuição da densidade relativa e a
orientação do osso trabecular, simulando o processo de adaptação.
Considerando o osso como um material celular de densidade variável e
utilizando técnicas de optimização estrutural, a distribuição de densidade e
orientação são obtidas pela minimização de uma função dependente da rigidez
e da massa total de osso.
11
O Programa de Visualização MayaVi e a sua Utilização no Âmbito
da Mecânica Computacional
J.G. Maluf Soler e J.P. Moitinho de Almeida
Neste trabalho será apresentada a abordagem utilizada pelos autores para a
visualização dos dados e dos resultados associados a uma análise estrutural por
meio do método dos elementos finitos. A representação gráfica do modelo é
realizada recorrendo a um conjunto de programas de código aberto. Estes
programas de visualização utilizam ficheiros de dados, gerados pelo utilizador,
que descrevem as características do modelo e da solução e adaptam-se
facilmente às necessidades da generalidade dos métodos numéricos utilizados
em Mecânica Computacional. A experiência obtida confirma que, apesar da
tendência para encarar o método numérico como o aspecto fundamental do
problema, a visualização pode ser mais do que uma simples ferramenta,
ajudando a interpretar e validar os resultados obtidos.
19
Notícias
Notícias
News
20
18
Links
Cursos, Conferências e Congressos
Cursos, Conferencias y Congresos
Seminars, Conferences and Congresses
22
LaTeX, 3
Software em Revista
24
Técnica
Técnica
Technical Notes
ÍNDICE | CONTENTS
Volume 1, Número 3 „ Novembro de 2002
25
21
Software en Revista
Reviewing Software
Curiosidades
Curiosidades
Curiosities
5
Applied Computing Engineering
Um Modelo Computacional
para a Simulação do Processo de
Remodelação Óssea
Paulo R. Fernandes
RESUMO O osso é um material celular que adapta a sua estrutura às solicitações mecânicas a que está sujeito. Neste artigo,
apresenta-se um modelo computacional para caracterizar a
distribuição da densidade relativa e a orientação do osso trabecular, simulando o processo de adaptação. Considerando o osso
como um material celular de densidade variável e utilizando
técnicas de optimização estrutural, a distribuição de densidade e
orientação são obtidas pela minimização de uma função
dependente da rigidez e da massa total de osso.
[email protected]
IDMEC – Instituto de Engenharia Mecânica
Instituto Superior Técnico
Av. Rovisco Pais
1049-001 Lisboa (Portugal)
PALAVRAS-CHAVE Biomecânica; remodelação óssea; elementos
finitos; optimização; fémur.
INTRODUÇÃO
O osso é um tecido que está constantemente em processo de
remodelação. Este processo é regulado por diversos factores,
entre eles as condições mecânicas a que está sujeito. Em
condições desfavoráveis a absorção óssea torna-se predominante
em relação à formação, resultando num osso mais fraco. É o caso
dos doentes com osteoporose ou dos astronautas sujeitos a
longos períodos de ausência de gravidade. No primeiro exemplo
serão factores biológicos os principais responsáveis pela
deterioração do tecido ósseo, no segundo os factores mecânicos,
isto é, a ausência de força. Outra situação crítica ocorre quando
um implante ortopédico é utilizado. Neste caso, passa a existir
uma distribuição diferente de cargas no osso, que normalmente
conduz a absorção óssea em torno da prótese. A compreensão do
mecanismo de remodelação óssea, devido aos factores
mecânicos, é de grande importância nomeadamente na ajuda ao
projecto de novos implantes ortopédicos.
A dependência da arquitectura do osso trabecular com as
solicitações mecânicas foi inicialmente descrita por Wolff [1] num
conjunto de observações normalmente designado por lei de
Wolff. Da interpretação da lei de Wolff , surgem três hipóteses
geralmente aceites: (i) o osso tem a capacidade de se adaptar
em função das solicitações mecânicas a que está sujeito; (ii) o
osso trabecular é um material não homogéneo orientado segundo
direcções preferenciais; (iii) este comportamento pode ser
modelado matematicamente. Com base neste argumentos vários
modelos matemáticos para descrever o processo de remodelação
óssea têm sido propostos. Normalmente, estes modelos
consideram o osso trabecular um material linear elástico de
densidade aparente variável e estabelecem a variação ao longo
do tempo da densidade aparente em função de um estímulo
mecânico. O estímulo, possível de ser interpretado pelas células
ósseas, é traduzido matematicamente como uma função da
extensão, tensão ou densidade de energia de deformação.
Exemplos de modelos de remodelação deste tipo são os
propostos por Cowin e Hegedus [2], Weinans et al. [3], Mullender
et al. [4], Jacobs et al. [5] e Doblaré e Garcia [6]. Têm sido
também propostos modelos onde o processo de adaptação óssea
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
é descrito como um processo de optimização estrutural como por
exemplo o apresentado em Hollister et al. [7]. O presente artigo
apresenta um modelo computacional de remodelação óssea
baseado em técnicas de optimização de topologia de estruturas.
Na sua forma mais geral, o problema de optimização de topologia
de estruturas, formulado no âmbito da mecânica dos sólidos
lineares elásticos tridimensionais, consiste no processo de
identificação das regiões com ou sem material dentro de um
domínio admissível. O objectivo é obter a estrutura mais rígida
possível para o volume de material disponível. O problema
formulado desta forma é um problema de optimização inteira que
consiste na identificação da função característica do domínio
ocupado pela estrutura de modo a satisfazer o objectivo
requerido. Esta função característica toma o valor 1 se existe
material e o valor zero na ausência de material.
Para evitar o problema de optimização inteira, que em geral não
tem solução, Bendsøe e Kikuchi [8] propuseram um modelo
material para a optimização da topologia de estruturas. Este
modelo recorre a um material poroso de microestrutura periódica
obtida pela repetição no espaço de uma célula quadrada de furo
rectangular. Desta forma faz-se corresponder a cada ponto do
espaço uma densidade relativa de material que toma valores do
intervalo contínuo [0,1]. O valor 1 corresponde à célula cheia de
material e o valor 0 à ausência de material. Todos os outros
valores correspondem a um material poroso de densidade
relativa intermédia. Neste modelo de Bendsøe e Kikuchi [8] o
problema de optimização de topologia é formulado de forma a
minimizar o trabalho das forças externas e sujeito a um
constrangimento de volume, com o objectivo de obter a estrutura
mais rígida para um dado carregamento.
A figura 1 mostra um exemplo de optimização de topologia [9]
obtida através de uma extensão do trabalho de Bendsøe e
Kikuchi [8] a sólidos tridimensionais. Neste caso, o objectivo foi
encontrar a estrutura mais rígida para um dado carregamento e
um dado volume de material. Inicialmente, o volume de material
disponível é distribuído uniformemente por todo o domínio de
6
Applied Computing Engineering
máximo de rigidez. Com este modelo é possível definir
simultaneamente a densidade relativa e a orientação do osso
trabecular. As propriedades elásticas do material dependem
directamente dos parâmetros da célula e são obtidas pelo
método de homogeneização. Este método é frequentemente
utilizado para determinar propriedades de materiais periódicos
(ver por exemplo Guedes e Kikuchi [10]).
(a)
(b)
Figura 1: Optimização da topologia de estruturas tridimensionais: (a) configuração
inicial e (b) solução óptima.
projecto (figura 1a). A distribuição óptima de densidades define a
estrutura obtida (figura 1b). As regiões mais escuras
correspondem a densidades relativas elevadas, enquanto as
regiões cinzentas correspondem a material poroso de densidade
intermédia.
O osso trabecular é um material poroso e a sua estrutura adapta-se às solicitações mecânicas. Quando a carga aumenta, as
células respondem com formação de osso, conduzindo a um osso
globalmente mais rígido. No caso contrário, a redução da carga
conduz a um osso mais fraco e com menor volume de massa.
Este comportamento sugere que o modelo de optimização de
topologia poderá reproduzir o processo de adaptação do osso às
cargas mecânicas. No entanto um volume de material imposto
não se ajusta ao caso do osso. Na realidade o osso funciona
como um sistema aberto, isto é a sua massa total aumenta com
o carregamento e diminui na ausência de carga. O modelo
descrito neste trabalho baseia-se na optimização de topologia de
estruturas mas introduz alterações na formulação de modo a
uma melhor simulação do comportamento biológico do osso.
para
COMUNICAÇÕES
obter
Considerando o osso um sólido linear elástico sujeito a um
conjunto de carregamentos f P
aplicados em momentos
diferentes, que originam o conjunto de deslocamentos uP , o
modelo de optimização para a remodelação óssea é, utilizando
um critério para cargas múltiplas, formulado da seguinte forma,
 NC

P P P
min 
α
f u + β V (a)

a,θ 
 P =1

∑
(1)
onde os campos de deslocamentos u P são solução do conjunto
de equações de equilíbrio,
K(a, θ)u P = f P
(2)
a = { a1 , a2 , a3 }
e as variáveis de projecto,
constrangimento 0 ≤ ai ≤ 10 .
MODELO DE OPTIMIZAÇÃO – LEI DE
REMODELAÇÃO ÓSSEA
O modelo material utilizado
mecânicas do osso trabecular,
considera-o um material poroso
de microestrutura periódica.
Este material poroso é obtido
pela repetição no espaço de
células unitárias cúbicas com
inclusões
prismáticas
de
dimensões a1 , a2 , a3 . A
densidade relativa é definida
por µ = 1 − a1a2 a3 (ver figura
2). Admitindo que as paredes
das células do osso trabecular
têm as mesmas propriedades
mecânicas do osso cortical,
para densidades relativas iguais
a um obtém-se osso cortical,
enquanto
que
valores
intermédios definem as várias
densidades do osso trabecular.
A microestrutura assim definida
corresponde a um material
ortotrópico, para o qual é
possível
determinar
a
orientação que conduz a um
O problema de optimização de topologia é geralmente formulado
como a minimização do trabalho das forças aplicadas com um
constrangimento de volume (ou massa), sendo a solução obtida
a estrutura mais rígida para o valor de material imposto.
Admitindo que o osso trabecular se adapta de forma a produzir a
estrutura mais rígida, pode-se utilizar um critério semelhante
para o modelo de remodelação óssea. No entanto, a massa total
de osso não é conhecida à partida, não sendo possível
estabelecer um constrangimento de volume. Apesar da massa de
osso aumentar ou diminuir com o carregamento, o seu valor, isto
é o limite inferior e superior, não é definido unicamente por
factores mecânicos, mas também por factores fisiológicos. Desta
forma, a função objectivo para o modelo descrito neste trabalho
tem em conta os dois factores: o comportamento mecânico
(rigidez estrutural) e fisiológico do osso.
as
verificam
o
propriedades
1 B
a3
2
 µ A = 1 − a1A a2A a3A
PONTO A  A
A
A
A T
θ = (θ1 , θ 2 , θ 3 )
1
2
A
a3A
1
2
θA
B
1
2
θB
1
2
a2B
a2A
1/8 da célula unitária
a3B
1
2
1
2
a1A
a1B
 µ B = 1 − a1B a2B a3B
PONTO B  B
B
B
B T
θ = (θ1 , θ 2 , θ 3 )
Figura 2: Modelo material para o osso trabecular.
Volume 1, Número 3 „ Novembro de 2002
7
Applied Computing Engineering
O primeiro termo da função objectivo (equação 1) é uma média
ponderada do trabalho das forças aplicadas para cada caso de
carga P, onde NC é o número de casos de carga e α P é o peso
de cada carga, caracterizando a sua importância. O segundo
termo da função objectivo regula a quantidade total de massa
óssea V. Neste termo o parâmetro β tem um papel fundamental.
A remodelação óssea é diferente de indivíduo para indivíduo
mesmo para as mesmas condições de carga, esta diferença é
tomada em consideração neste modelo através do parâmetro β, o
qual inclui os factores fisiológicos do indivíduo, tais como idade,
doenças ou estado hormonal. As variáveis de projecto são os
parâmetros da célula ai , os quais definem a densidade relativa,
e também a orientação θ do osso trabecular em cada ponto.
As condições de óptimo do problema (1-2) obtidas
estacionaridade do Lagrangiano associado são,
NC
através da

P
uP
∂K(a, θ) P 
∂V (a)
=0
u  − β
∂ai
∂ai

(3)

P
uP
∂K(a, θ) P 
u  = 0
∂θ

(4)
∑ α
P =1
e
NC
∑ α
P =1
resultantes da estacionaridade em relação às variáveis de
projecto a e θ respectivamente.
Note-se que apesar de o modelo de remodelação apresentado
corresponder a um critério de optimização global, as condições
de óptimo conduzem a uma regra de remodelação local, que
pode ser comparada com modelos evolutivos de remodelação
óssea. Este comparação é feita de forma detalhada em
Fernandes et al. [11].
A solução das equações (3-4) corresponde à distribuição da
densidade relativa e orientação do osso trabecular e é resolvida
computacionalmente da seguinte forma: Determinaram-se para
cada elemento as constantes elásticas homogeneizadas. Em
2
Fa
2
Fh
3
1
3
1
y
seguida calcula-se o campo de deslocamentos u para cada caso
de carga através do método dos elementos finitos. As condições
necessárias de óptimo são testadas para estes valores. Se forem
verificadas o processo pára. Se não, são obtidos novos valores
para as densidades e orientação e o processo recomeça. Admite-se que o valor das variáveis de projecto são constantes dentro
de cada elmento finito, o que permite verificar as condições de
óptimo de forma independente em cada elemento.
A orientação do osso trabecular é obtida pela solução da condição
necessárias de óptimo (4). A solução desta equação é discutida
em Pedersen [12] e em Rovati e Taliercio [13] para o caso
bidimensional e tridimensional, respectivamente. Para três
dimensões a solução não é completa para o caso geral, isto é,
não se consege obter explicitamente os pontos de máximo e
mínimo, no entanto o alinhamento das direcções do material com
as direcções principais de tensão/extensão satisfaz a condição
necessária de óptimo. Com base nestes resultados a orientação é
obtida alinhando as direcções de ortotropia do material com as
direcções principais de tensão. Note-se que esta solução só é
possível para um único caso de carga. A determinação da
orientação óptima de um material ortotrópico sujeito a cargas
múltiplas é mais problemático.
RESULTADOS
O modelo descrito acima foi aplicado a um fémur tridimensional
discretizado com 5616 elementos finitos sólidos de 8 nós
conforme mostra a figura 3. As forças aplicadas são as
apresentadas na tabela 1. O primeiro e segundo caso de carga
correspondem a situações de marcha e o segundo a subir
escadas. O problema foi resolvido para cada caso de carga
aplicado individualmente e depois para a situação de cargas
múltiplas. A solução óptima foi obtida a partir de uma distribuição
inicial uniforme da densidade relativa. Considera-se que o tecido
ósseo do osso trabecular tem as propriedades do osso compacto,
significando que osso compacto corresponde ao material celular
com densidade igual a 1 e o osso trabecular corresponde a
densidades inferiores a 1. Para o valor do modulo de Young do
osso compacto admitiu-se 20GPa. A solução para cargas
múltiplas foi obtida considerando os três casos de carga com
igual peso (α1 = α2 = α3 ) .
Tabela 1: Casos de carga.
z
x
Carga
1
2
3
Figura 3: Modelo de elementos finitos do fémur.
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
Fa
Fh
Fa
Fh
Fa
Fh
Fx [N]
768
-224
166
136
383
457
Fy [N]
726
-972
382
-630
669
-796
Fz [N]
1210
-2246
957
-1692
547
-1707
A distribuição óptima de osso trabecular obtida para o caso de
carga 2 é apresentada na figura 4. Estes resultados mostram que
o modelo de optimização produz uma distribuição de material
que reflecte a morfologia de um fémur real. Obtém-se uma
estrutura cilíndrica oca representando a diáfise, com altas
densidade na periferia correspondendo a osso compacto. Na
epífise obtêm-se densidades mais baixas correspondendo ao osso
trabecular. No entanto a estrutura tubular não é uniforme, as
densidades nas zonas anterior e posterior são mais baixas. Na
epífise uma estrutura de osso trabecular mais denso é formada
na direcção do ponto de aplicação da carga. Os outros casos de
carga apresentam características semelhantes às observadas
nesta solução.
8
Applied Computing Engineering
(a)
(b)
Figura 4: Distribuição de densidades do fémur. Caso de carga 2.
elementos com µ <0,4 e (d) secções transversais do fémur.
(c)
(d)
β=0,01. (a) Fémur completo; (b) fémur sem os elementos com µ <0,2; (c) fémur sem os
A figura 5 apresenta o resultado para cargas múltiplas e
compara-o com o fémur real. Neste caso as características do
osso são melhor aproximadas.
A orientação do osso trabecular está apresentada na figura 6.
Para cargas múltiplas a orientação foi obtida para cada caso de
cargo isoladamente e sobreposto na figura 6b. As orientações
obtidas correspondem à arquitectura em arco do osso trabecular.
Para um único caso de carga é notório a orientação da carga com
o carregamento. A sobreposição das orientações para os três
diferentes casos de carga mostra que na região entre a diáfise e
a epífise estas orientações são coincidentes, significando que
existe uma direcção preferencial que permite a orientação do
material. No entanto na epífise as três orientações são
diferentes. Nesta região a condição de alinhamento entre as
direcções principais de tensão e de simetria do material não pode
ser satisfeita com um material estritamente ortotrópico.
CONCLUSÕES
Neste artigo um modelo de optimização tridimensional para
simular o processo de adaptação óssea foi apresentado. O osso
trabecular foi modelado como um material poroso de
microestrutura periódica, para o qual as propriedades aparentes
são calculadas através do método de homogeneização
(propriedades homogeneizadas). A distribuição óptima das
densidades relativas do osso trabecular, bem como a sua
orientação foi obtida pela minimização de uma função objectivo,
que considera simultaneamente factores mecânicos (rigidez
estrutural) e o custo biológico de manter massa óssea. O modelo
foi testado num fémur humano tridimensional discretizado com
elementos finitos sólidos de 8 nós.
Os resultados obtidos reflectem as características morfológicas
observadas no fémur real. A utilização de um critério de cargas
múltiplas, mostra-se também fundamental para a obtenção de
resultados mais próximos da realidade.
A utilização de uma função objectivo que combina factores
mecânicos com factores biológicos permite um aumento ou
diminuição de massa dependendo directamente das cargas sem
impor limites. Este facto é uma evolução em relação aos
métodos de optimização de topologia com um volume de
material imposto. O factor β que reflecte o custo biológico de
formação de osso tem uma influência decisiva no volume total
do osso. Este factor pode ser generalizado a uma função de
diversos factores tais como doença, estado hormonal ou idade.
A utilização de cargas múltiplas revelou-se crítica para a
obtenção das características morfológicas do osso. Pode-se
observar que a espessura do córtex distal não é uniforme, a
estrutura é mais resistente à flexão em y do que à flexão em x e
à torção. Este resultado realça a importância das cargas
utilizadas na simulação e a influência das cargas fora do plano
cuja introdução exige o modelo tridimensional.
(a)
(b)
Figura 5: Corte longitudinal do fémur: (a) fémur real e (b) fémur obtido por
optimização (critério de cargas múltiplas).
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
Dos
resultados
de
orientação,
observa-se
que
uma
microestrutura ortotrópica só pode ser óptima para um único
caso de carga. De facto, em algumas regiões a orientação é
diferente para cada caso de carga levando a concluir que a
simetria material do osso trabecular varia de região para região
e poderá ser aproximadamente isotrópica, transversalmente
isotrópica ou ortotrópica.
O modelo apresentado neste artigo é uma contribuição para a
compreensão do mecanismo e remodelação óssea devido às
alterações de carregamento. Logo, poderá ser útil no
9
Applied Computing Engineering
REFERÊNCIAS
(a)
Figura 6: Orientação do osso trabecular: (a) caso de carga 2.
critério de cargas múltiplas. β=0,01.
(b)
β=0,01 e (b)
desenvolvimento de ferramentas computacionais para a análise
e projecto de próteses ortopédicas. De facto, na presença de um
implante a distribuição da força é alterada e o osso deixa de ser
solicitado da mesma forma, levando à absorção óssea. Com o
objectivo de estudar este fenómeno, este modelo tem vindo a
ser aplicado ao estudo da prótese total da articulação da anca
(ver Fernandes et. al. [14]).
AGRADECIMENTOS
Gostaria de agradecer ao Prof. Helder Rodrigues, meu orientador
de doutoramento, aos meus colegas Prof. José Miranda Guedes e
Eng. João Folgado, pelas suas sugestões e ao Prof. Christopher
Jacobs da Biomedical Eng. Division, Standford University, USA
pela sua colaboração.
Este trabalho, bem como o trabalho subsequente tem sido
apoiado financeiramente pela FCT, inicialmente através do
Project PRAXIS 3/3.1/CTM/10/94 (coordenador: Prof. Helder
Rodrigues), e mais recentemente pelos projectos PRAXIS/P/
EME/12002/1998 e POCTI/2001/EME/38367 (coordenador: Prof.
Paulo Fernandes).
Gostaria ainda de agradecer à IBM Portuguesa pela atribuição do
Prémio Cientifico IBM 1997, ao trabalho “Simulação do Processo
de Adaptação do Osso Trabecular”, no qual este artigo se
baseou.
[1] J. Wolff; Das Gesetz der Transformation der knochen,
Hirchwild, Berlin, 1892. Traduzido para: The Law of Bone
Remodeling, Springer-Verlag, Berlin, 1986.
[2] S.C. Cowin, D.H. Hegedus; Bone Remodelling I: Theory of
Adaptive Elasticity; Journal of Elasticity, 6(3):313-326, 1976.
[3] H. Weinans, R. Huiskes, H.J. Grootenboer; The Behavior of
adaptive bone-remodeling stimulation models, Journal of
Biomechanics, 25:1425-1441, 1992.
[4] M.G. Mullender, R. Huiskes, H. Weinans; A Physiological
Approach to the simulation of Bone Remodeling as a SelfOrganisational Control Process, Journal of Biomechanics,
27:1389-1394, 1994.
[5] C. Jacobs, C. Simo, G. Beaupré, D. Carter; Adaptive Bone
Remodelling
Incorporating
Simultaneous
Density
and
Journal of Biomechanics,
Anisotropy Considerations,
30(6):603-613, 1997.
[6] M.Doblaré, J.M. Garcia; Application of a Bone Remodelling
Model Based on a Damage-Repair Theory to the Analysis of
the Proximal Femur Before and After Total Hip Replacement;
Journal of Biomechanics, 34(9):1157-1170, 2001.
[7] S. Hollister, N. Kikuchi, S. Goldstein; Do Bone Ingrowth
Processes Produce a Globally Optimized Structure?; Journal of
Biomechanics, 26(4/5):391-407, 1993.
[8] M. Bendsøe, N. Kikuchi; Optimal Shape Design as a
Material Distribution Problem; Structural Optimization, 1:193202, 1988.
[9] P. Fernandes; Optimização de Topologia de Estruturas
Tridimensionais, Tese de doutoramento, IST, Lisboa, 1998.
[10] J.M. Guedes, N. Kikuchi; Preprocessing and Postprocessing
for Materials based on the Homogenisation Method with
Adaptive Finite Elements Methods; Computer Methods in
Applied Mechanics and Engineering, 83:143-198, 1990.
[11] P. Fernandes, H. Rodrigues, C. Jacobs; A Model of Bone
Adaptation Using a Global Optimisation Criterion Based on The
Trajectorial Theory of Wolff; Computer Methods in
Biomechanics and Biomedical Engineering, 2:125-138, 1999.
[12] P. Pedersen; On Optimal Orientation of Orthotropic
Material, Structural Optimization, 1:101-106, 1989.
[13] M. Rovati, A. Taliercio; Optimal Orientation of the
Symmetry Axes of Orthotropic 3-D Materials, em H.A.
Eschenauer, C. Mattheck, N. Olhoff (eds.), Proc. Int. Conf.
Engng. Optim.in Design Processes, Karlsruhe; Lecture Notes in
Engineering, 63:127-134, Springer Verlag, Berlin, 1991.
[14] P.R. Fernandes, J. Folgado, C. Jacobs, V. Pellegrini; A
contact model with ingrowth control for bone remodelling
around
cementless
stems; Journal of Biomechanics,
35(2):167-176, 2002.
O espaço restante desta página foi intencionalmente deixado em branco.
El siguiente espacio ha sido dejado en blanco intencionalmente.
The remainder of this page was intentionally left blank.
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
10
Applied Computing Engineering
O Programa de Visualização MayaVi e a
sua Utilização no Âmbito
da Mecânica Computacional
J.G. Maluf Soler1
RESUMO Neste trabalho será apresentada a abordagem utilizada
pelos autores para a visualização dos dados e dos resultados
associados a uma análise estrutural por meio do método dos
elementos finitos. A representação gráfica do modelo é realizada
recorrendo a um conjunto de programas de código aberto. Estes
programas de visualização utilizam ficheiros de dados, gerados
pelo utilizador, que descrevem as características do modelo e da
solução e adaptam-se facilmente às necessidades da generalidade
dos métodos numéricos utilizados em Mecânica Computacional. A
experiência obtida confirma que, apesar da tendência para encarar
o método numérico como o aspecto fundamental do problema, a
visualização pode ser mais do que uma simples ferramenta,
ajudando a interpretar e validar os resultados obtidos.
[email protected]
J.P. Moitinho de Almeida2
[email protected]
1
Curso de Engenharia Civil
Pontifícia Universidade Católica
de Minas Gerais
Campus Poços de Caldas
Minas Gerais (Brasil)
2
Departamento de Engenharia Civil
e Arquitectura
Instituto Superior Técnico
Universidade Técnica de Lisboa
Av. Rovisco Pais
1049-001 Lisboa (Portugal)
PALAVRAS-CHAVE Visualização; mecânica computacional;
elementos finitos.
INTRODUÇÃO
A crescente capacidade de cálculo dos meios computacionais
disponíveis possibilita o desenvolvimento de técnicas de
modelação numérica capazes de aproximar a solução dos
problemas em estudo com uma precisão crescente, às quais
estão associados valores numéricos em quantidades que
impossibilitam a sua interpretação directa. Torna-se por isso
imprescindível ter acesso a técnicas que permitam compreender
o comportamento do modelo, através de uma análise global dos
resultados, bem como a detecção dos pontos críticos no espaço
ou no tempo.
A visualização das soluções é a abordagem mais importante
utilizada neste contexto, sendo aliás uma opção hoje em dia
indispensável em qualquer código comercial. No entanto, quando
no âmbito do desenvolvimento de um programa se pretende
proceder à visualização dos resultados obtidos há que adaptar a
saída de resultados ao formato utilizado pelo programa de
visualização disponível. Além disso há que "esperar" que o
programa de visualização seja capaz de representar o tipo de
informação produzido na forma desejada, o que nem sempre se
passa, não sendo possível adaptar programas que são fornecidos
unicamente em versão binária.
Do ponto de vista do desenvolvimento da técnica numérica há
por isso que encontrar o ponto de equilíbrio entre a capacidade e
a adaptabilidade do programa a utilizar, não deixando de ter em
conta a necessidade de não se desejar dar maior atenção aos
aspectos da visualização do que à modelação numérica.
Apresenta-se neste artigo a experiência dos autores com a
utilização do programa MayaVi, o qual fornece uma interface
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
facilmente configurável sobre a biblioteca vtk. As capacidades
destas ferramentas e a forma como se faz a interligação entre
elas serão explicadas, procurando dar ênfase aos aspectos, tanto
positivos como negativos, que maior importância tiveram na
implementação referida. Ela poderá servir como orientação em
projectos semelhantes.
A BIBLIOTECA vtk
A biblioteca vtk (Visualization ToolKit [1]) é a base de um
sistema, literalmente um conjunto de ferramentas de
visualização, desenvolvido em código aberto, para a
representação
gráfica
de
modelos
tridimensionais,
processamento de imagem e visualização.
Os algoritmos de visualização implementados possibilitam
diversos tipos de visualização de campos escalares, vectoriais e
tensoriais. São também possíveis operações de modelação
geométrica que permitem, entre outras, a representação
implícita de funções, operações sobre modelos poliédricos,
cortes e triangulações de Delaunay. O núcleo do sistema é uma
biblioteca de classes programadas em C++, as quais foram
desenvolvidas de forma a também ser possível e fácil utilizá-lo a
partir de linguagens interpretadas, nomeadamente Tcl/Tk, Java
e Python.
As classes/objectos são imbuídas de significado, atributos e
métodos, de acordo com o seu comportamento, representando o
papel que desempenham no funcionamento do sistema. Os seus
atributos representam propriedades ou parâmetros das
entidades, enquanto os seus métodos alteram os atributos e
determinam as suas acções.
11
Applied Computing Engineering
Todo o processo de visualização é baseado no conceito do
"visualization pipeline", o qual implica que cada objecto pode ser
simultaneamente um produtor e um consumidor de informação
sobre a visualização. Por exemplo um objecto do tipo
vtkCubeSource cria uma representação poligonal de um cubo,
mas não trata dos aspectos directamente relacionados com a
visualização, para isso há que criar (entre outros) um vtkActor
e um vtkRenderer. Assim, enquanto as propriedades
geométricas do cubo são definidas a nível da fonte
(vtkCubeSource), a cor, textura e/ou a transparência desse
cubo são propriedades do vtkActor que recebe como input o
output que veio da vtkCubeSource, enquanto que o tipo de
projecção utilizada e o ponto de vista do observador são
definidos pelo objecto de tipo vtkRenderer, o qual pode receber
com input o output de diversos actores.
No contexto do presente trabalho iremos operar com modelos do
tipo UNSTRUCTURED_GRID os quais são constituídos por células
sem organização, geométrica ou topológica, prédefinida. Apesar
de estarem definidos outros tipos de células o VTK_HEXAHEDRON
(um hexaedro genérico) e o VTK_TETRA (um tetraedro genérico)
são suficientes para definir qualquer malha de elementos finitos
tridimensional.
A conduta de visualização pode conter informação sobre a
geometria e a topologia do modelo representado, sendo a
geometria definida pelas coordenadas dos pontos e a topologia
pela incidência através da indicação de quais os pontos que
definem cada uma das células - pontos, linhas, figuras planas ou
tridimensionais. Além disso a cada ponto ou a cada célula podem
estar associados atributos escalares, vectoriais e/ou tensoriais.
O PROGRAMA MayaVi
Este modelo possibilita a criação de objectos que funcionam
como filtros, alterando as propriedades da informação que
processam. Por exemplo um objecto do tipo vtkWrapVector
pode ler como input uma geometria qualquer e adicionar um
vector a cada um dos seus nós. A consistência do modelo é
garantida pela verificação que é feita da concordância entre o
tipo de output produzido a montante e o tipo de input requerido
a jusante.
A versatilidade do sistema resulta da facilidade com que se
desenvolvem interfaces utilizando uma linguagem interpretada,
os quais utilizam o núcleo da biblioteca que executa os
algoritmos de visualização numa linguagem compilada. Esta
combinação possibilita o rápido desenvolvimento de interfaces,
sem perda de eficiência.
A licença de utilização, o código-fonte, versões binárias e
exemplos de aplicação deste toolkit podem ser obtidas a partir
de http://www.vtk.org/.
FICHEIROS DE DADOS
Apesar de ser possível programar directamente os dados
referentes a um dado modelo utilizando as bibliotecas do
sistema vtk, essa abordagem é pouco prática, sendo regra geral
mais simples e genérico criar um ficheiro de dados com a
informação desse modelo escrita num formato que possa ser lido
por forma a criar um objecto do tipo vtkSource. Estão
predefinidas classes que permitem ler ficheiros em formatos
utilizados por outros programas, nomeadamente: Wavefront
(.obj), movie.byu (.byu), digital elevation models (.dem) e
PLOT3D. Além disso a biblioteca define um formato próprio, em
formato texto ou binário, adaptado às suas capacidades e às
necessidades. Este formato (.vtk) será utilizado no presente
trabalho.
Este ficheiro contém informação sobre o tipo de modelo utilizado
(STRUCTURED_POINTS, STRUCTURED_GRID, UNSTRUCTURED_GRID,
POLYDATA ou RECTILINEAR_GRID), a geometria (as coordenadas
dos pontos), a topologia (tipo e incidência das células) e os
atributos (escalares, vectores ou tensores associados aos pontos
ou às células).
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
Note-se que, na versão corrente da biblioteca, tanto a geometria
como as propriedades variam linear ou bilinearmente nas faces,
pelo que elementos quadráticos ou de maior grau devem ser
subdivididos, por forma a poder representar com precisão os
seus campos. No entanto estão a ser desenvolvidas classes que
permitirão representar células não-lineares.
O programa MayaVi foi desenvolvido, igualmente num modelo
de código aberto, como uma interface para a visualização de
dados científicos por meio da biblioteca vtk [2]. Está escrito em
Python [3], uma linguagem interpretada, "object oriented", que
permite facilmente conjugar as potencialidades da biblioteca vtk,
utilizadas em rotinas compiladas, com a facilidade de
desenvolvimento inerente a uma linguagem interpretada.
A
utilização
deste
programa
não
requer
quaisquer
conhecimentos específicos de programação e a sua curva de
aprendizagem é muito rápida. Para se proceder à visualização há
que indicar pelo menos um conjunto de dados, os quais podem,
na versão actual, estar guardados num ficheiro em formato
".vtk" ou ".plot3d". A esse nível escolhe-se igualmente quais
os campos escalares, vectoriais e tensoriais a utilizar nessa
visualização. Pode-se escolher um ou nenhum campo de cada
tipo.
A visualização propriamente dita recorre a dois conceitos de
operação: os módulos e os filtros. Um módulo é um conjunto de
rotinas com capacidade para representar um determinado
ficheiro de dados, por exemplo a representação da superfície de
um dado volume, colorida de acordo com o valor do escalar
seleccionado, enquanto que um filtro opera sobre os dados no
visualization pipeline, por exemplo efectuando um corte segundo
um plano definido pelo utilizador por forma a representar a
intersecção de um volume com esse plano.
A escolha do ponto de vista do utilizador é feita interactivamente
através da movimentação do cursor, associada a toques do rato
ou teclas, sendo também possível obter informação das
coordenadas e do valor numérico dos campos em qualquer
célula ou vértice indicado pelo cursor (picking).
Para cada módulo e para cada filtro existe um menu de
configuração, o qual permite escolher a forma como esse
elemento actua, por exemplo qual a posição e orientação do
plano de corte ou qual a escala de valores utilizada na coloração.
Os módulos e filtros abaixo indicados serão referidos no contexto
da presente comunicação, pelo que importa dar uma indicação
básica do seu funcionamento.
SurfaceMap: módulo que representa a superfície exterior do
modelo definido, colorida a partir do escalar escolhido ou
com uma cor prédefinida;
VelocityVector: módulo que representa em cada vértice do
modelo um símbolo (uma seta ou um cone), correspondente
ao campo vectorial escolhido;
12
Applied Computing Engineering
TensorGlyphs: módulo que representa em cada vértice um
elipsóide ou um conjunto de eixos, orientados e escalados
de acordo com o campo tensorial escolhido;
ScalarCutPlane: módulo que realiza um corte num modelo,
segundo um plano determinado pelo utilizador;
Threshold: filtro que selecciona as células cujo escalar está
entre valores máximo e mínimo definidos pelo utilizador;
WarpVector: filtro que modifica as coordenadas dos vértices
adicionado-lhes um vector, o qual pode ser multiplicado por
um factor de escala;
ExtractVectorComponents e ExtractTensorComponents:
filtros que permitem seleccionar componentes de um campo
vectorial ou tensorial.
A licença de utilização, o código-fonte, pacotes de instalação e
manuais de utilização podem ser obtidos a partir de
http://mayavi.sourceforge.net/.
UM MODELO NUMÉRICO PARA A ANÁLISE DE
PÓRTICOS ESPACIAIS DE BETÃO ARMADO
O modelo numérico utilizado na análise estrutural é baseado no
trabalho desenvolvido no programa de doutoramento de J.G.M.
Soler, “Análise não-linear de pórticos espaciais de concreto
armado” [4], o qual incorpora os efeitos da não-linearidade física
e geométrica, considerando que o betão se comporta como um
material não-linear, seguindo as equações constitutivas definidas
pela NBR 6118 ou pelo CEB-FIP MC90. A não-linearidade
geométrica é considerada utilizando um modelo em que a matriz
de rigidez é corrigida, tendo em conta os deslocamentos no
ponto de equilíbrio anterior [5].
Sendo as lajes aproximadas por um modelo de grelha, todos os
elementos estruturais são discretizadas como elementos finitos
unidimensionais, com seis graus de liberdade por nó. Apesar de,
em termos de visualização, este modelo ser muito simples,
quando se pretende representar as peças como elementos
tridimensionais, há que ter em conta os principais aspectos que
teriam de estar presentes para a visualização dos resultados de
uma análise tridimensional.
O programa foi escrito em Fortran [6], sendo os seus resultados
fornecidos unicamente como valores numéricos, sendo por isso
um bom modelo para testar a adaptabilidade do programa de
visualização.
VISUALIZAÇÃO DOS DADOS DE ENTRADA
(GEOMETRIA, CONDIÇÕES DE FRONTEIRA,
ACÇÕES)
A primeira visualização que pode ser feita serve para conferir se
as
coordenadas
e
as
incidências
foram
introduzidas
correctamente. É possível ter uma vista simples do eixo da
estrutura (figura 1) ou da estrutura completa, com as dimensões
de vigas, pilares e lajes (figura 2). Para as obter há que criar um
ficheiro de dados com a definição da estrutura e utilizar o
módulo SurfaceMap para a visualizar.
A definição destas geometrias através de um ficheiro “.vtk”
requer a definição do número de vértices, as suas coordenadas,
o número de células (linhas ou hexaedros), a sua incidência e a
definição do seu tipo. Por exemplo para definir uma consola
usando o modelo mais simples basta criar o seguinte ficheiro:
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
# vtk DataFile Version 3.0
Consola de 10 m (segundo y) em wireframe
ASCII
DATASET UNSTRUCTURED_GRID.
POINTS 2 float.
0. 0. 0. 0. 10. 0.
CELLS 1 3
2 0 1
CELL_TYPES 1
3
Este ficheiro é simple de interpretar, sendo no entanto útil
realçar os seguintes aspectos:
♦ A primeira linha serve para identificar o tipo de ficheiro e
qual a versão utilizada;
♦ A segunda linha é um título à escolha do utilizador;
♦ Este é um ficheiro em formato texto (ASCII). Existe também
um formato binário que não iremos considerar;
♦ Neste artigo consideraremos sempre modelos constituídos
por malhas não-estruturadas (unstructured grid), mas para
modelos garantidamente regulares, tanto geometricamente
como apenas em termos da topologia, pode haver
vantagem em utilizar outros tipos de malhas;
♦ As coordenadas dos vértices devem ser introduzidas
sequencialmente, não sendo relevante a divisão em linhas.
Ao primeiro vértice é atribuído o número 0 (zero);
♦ Quando se indica o número de células é também necessário
indicar a dimensão da lista que as vai representar, o qual é
igual ao número de células mais a soma do número de
vértices em cada célula;
♦ A única célula deste modelo é do tipo 3 (VTK_LINE) e tem
dois vértices, com os números 0 e 1.
A definição
complexa:
do
modelo
tridimensional
é
um
pouco
mais
# vtk DataFile Version 3.0
Consola de 10 m, secção 1x1, em 3D
ASCII
DATASET UNSTRUCTURED_GRID.
POINTS 8 float.
0.5 0.0 0.5 0.5 0.0 -0.5 -0.5 0.0 -0.5 -0.5
0.0 0.5
0.5 10.0 0.5 0.5 10.0 -0.5 -0.5 10.0 -0.5 -0.5
10.0 0.5
CELLS 1 9
8 0 1 2 3 4 5 6 7
CELL_TYPES 1
12
Neste caso há novas situações a realçar:
♦ A única célula deste modelo é do tipo 12 (VTK_HEXAHEDRON),
a qual tem oito vértices e é necessário introduzir suas
incidências de acordo com a sequência definida pelo
sistema;
♦ A numeração dos vértices deixa de corresponder à
numeração dos nós do modelo estrutural, os quais deixam
aliás de estar presentes no modelo visualizado.
Optou-se no presente caso por gerar para cada elemento os
vértices necessários para o representar, os quais passam a ter
13
Applied Computing Engineering
símbolos diferentes consoante o tipo de restrição aplicada no nó.
No entanto essa abordagem não é simples de implementar
directamente, tendo-se optado em vez disso por definir em cada
nó dois vectores, correspondentes às condições de fronteira, os
quais são nulos nos vértices livres (figura 3). A visualização dos
elementos representado os vectores (linhas, setas ou cones) é
feita recorrendo ao módulo VelocityVector.
Estes vectores são definidos como campos associados aos
vértices dos dados visualizados. Para os exemplos da consola
apresentados anteriormente é necessário acrescentar ao ficheiro
“.vtk” a informação dos vectores correspondentes aos vértices,
os quais devem valer (1;1;1) nos nós com coordenada y=0 e
(0;0;0) nos nós com coordenada y=10.
Tem-se então:
Figura 1: Representação dos eixos
das barras do pórtico espacial.
Figura 2: Representação das
barras e lajes do pórtico espacial.
uma numeração múltipla do número de nós gerados na
discretização da secção tranversal.
A implementação que foi feita só permite visualizar
correctamente barras de secção rectangular, mas, recorrendo a
células do tipo VTK_HEXAEDRON e eventualmente VTK_WEDGE, é
possível representar barras cuja secção transversal possa ser
aproximada por quadriláteros e triângulos.
A visualização em modelo tridimensional permite, à custa de
mais informação, uma visualização mais correcta do modelo,
nomeadamente quando existam problemas na orientação das
secções. Não se considera relevante, no presente contexto,
refinar a representação dos vértices em que convergem barras
com secções diferentes. Como o modelo é baseado em peças
uni- ou bidimensionais considera-se mais correcto utilizar o
resultado por ele calculado, o qual não é totalmente consistente
nos nós de ligação.
Como o modelo numérico exige a definição de condições de
fronteira em termos de deslocamentos lineares e de rotações a
sua visualização não é imediata. Uma solução possível é utilizar
Figura 3: Visualização das condições de apoio
através de setas.
COMUNICAÇÕES
POINT_DATA 2
VECTORS apoio_linear float
1. 1. 1. 0. 0. 0.
VECTORS apoio_rotação float
1. 1. 1. 0. 0. 0.
para o primeiro exemplo e
POINT_DATA 8
VECTORS apoio_linear float
1. 1. 1. 1. 1. 1. 1. 1. 1.
0. 0. 0. 0. 0. 0. 0. 0. 0.
VECTORS apoio_rotação float
1. 1. 1. 1. 1. 1. 1. 1. 1.
0. 0. 0. 0. 0. 0. 0. 0. 0.
1. 1. 1.
0. 0. 0.
para o segundo.
Esta parte do ficheiro de dados, referente a atributos dos
vértices, deve ser definida tendo em conta seguintes aspectos:
♦ A dimensão de POINT_DATA deve ser igual ao número de
vértices (POINTS);
♦ Podem ser definidos vários vectores;
♦ Para definir atributos escalares deve utilizar-se a instrução
“SCALARS nome tipo 1”, em que o tipo é
regra geral float (um número real), mas
pode também ser, por exemplo, int (um
número inteiro). Neste caso é também
necessário indicar a tabela de cores a
utilizar na representação desse escalar,
através
da
instrução
adicional
“LOOKUP_TABLE nome”. Regra geral basta
utilizar a tabela padrão do sistema,
indicando o nome default. O número de
valores a indicar é igual ao número de
vértices;
♦ Podem também ser definidos campos
tensoriais usando a instrução “TENSORS
nome tipo”. Neste caso há que indicar
nove valores por vértice.
Figura 4: Localização das armaduras da estrutura
espacial.
Volume 1, Número 3 „ Novembro de 2002
1. 1. 1.
0. 0. 0.
A definição de atributos das células é feita de
um modo semelhante, sendo iniciada através
da indicação “CELL_DATA tamanho”, sendo
tamanho igual ao número de células.
Como se referiu, recorrendo ao picker sobre os
14
Applied Computing Engineering
nós de fronteira é possível validar as ligações. Por exemplo, no
caso de se solicitar informação sobre um dos apoios na figura 3,
obtém-se a informação apresentada abaixo, a qual informa que
o apoio possui restrições em relação a x, y e z.
Picked Point number:18
Picked position: 400.000000, 0.000000,
400.000000
Scalar: None
Vector: (1.0, 1.0, 1.0)
Tensor: None
É também possível visualizar a armadura, como exemplificado
na figura 4 e verificar se o valor da área de armadura está
correcto. Para isso prepara-se um ficheiro separado, em que os
varões são definidos como linhas, fazendo-lhes corresponder a
área como um atributo escalar.
A visualização simultânea dos ficheiros com a definição da
estrutura e da armadura, fazendo a estrutura parcialmente
transparente ou usando planos de corte, permite uma fácil
inspecção visual dos dados introduzidos.
A visualização das acções a que a estrutura é submetida, está
exemplificada na figura 5, onde as forças aplicadas estão
representadas como cones, orientados segundo a direcção da
resultante, cujo tamanho e cor varia em função da sua
intensidade. Neste caso as forças são definidas como um campo
vectorial nos vértices, à semelhança do que foi apresentado para
os apoios. Os momentos aplicados são definidos como um novo
campo vectorial. Na figura 5 foi também activado o módulo
Axes, o qual permite representar o sistema de eixos.
Figura 5: Representação, por meio de cones, das forças aplicadas à estrutura e
indicação do sistema de eixos.
Através dos procedimentos apresentados podem ser facilmente
detectados erros grosseiros na introdução de dados, os quais
são os mais comuns, como por exemplo a introdução de
coordenadas ou de incidência trocadas. É também possível
detectar muitos erros mais subtis, como por exemplo na
definição de orientações ou de atributos, sendo neste caso
exigida alguma atenção por parte do utilizador.
Há também recursos que podem auxiliar na interpretação da
forma e da sua discretização. Pode-se, por exemplo verificar a
secção transversal discretizada, como representado na figura 6.
VISUALIZAÇÃO DE RESULTADOS
Visualizando os esforços e deslocamentos fornecidos pela análise
é possível, de uma forma simples, efectuar uma validação
preliminar desses valores. É também possível dar início ao
processo de interpretação que permite ao analista entender, a
partir dos valores que obtém, se a sua estrutura funciona da
forma que idealizou.
Como os esforços são grandezas vectoriais uma forma de
proceder à sua visualização seria representar em cada secção,
para cada esforço, o vector correspondente. Apesar de esta
solução poder ter vantagens em determinadas situações, como
por exemplo quando há confusão acerca de qual a orientação
escolhida, optou-se por representar os esforços locais como
escalares cuja intensidade determina a coloração das células em
que se subdividem as barras, conforme se exemplifica na Figura
7. Assim as secções onde está instalado o menor esforço (regra
geral o maior esforço negativo) são coloridas a vermelho, sendo
as secções onde está instalado o maior esforço (regra geral o
maior esforço positivo) coloridas a azul. É possível conhecer o
valor do esforço numa determinada secção por inspecção visual
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
Figura 6: Representação da discretização das barras e lajes do pórtico
espacial.
do modelo e da escala de cor ou recorrendo ao picker.
A introdução destes dados no ficheiro de dados é feita de uma
forma semelhante à descrita no contexto da definição das
condições de apoio, tendo em conta que neste caso interessa
definir escalares em células, sendo portanto necessário utilizar
as instruções “CELL_DATA ...” e “SCALARS nome ...”
Sobre a representação de um campo escalar é possível aplicar o
filtro Threshold, o qual permite eliminar as células em que o
15
Applied Computing Engineering
campo escalar considerado se situa fora de um intervalo definido
pelo utilizador, conforme representado na figura 8, onde se
representa um campo de momentos e se eliminaram as células
de esforço positivo.
Diversas representações são possíveis para visualizar o campo
de deslocamentos correspondente à solução: desenhando os
vectores correspondentes ao deslocamento de cada vértice,
colorindo o modelo de acordo com a intensidade de uma
componente ou da resultante do deslocamento e adicionando a
cada coordenada o valor do deslocamento, por forma a
representar a estrutura deformada.
Os vectores correspondentes ao deslocamento de cada vértice
podem ser desenhados directamente recorrendo ao módulo
VelocityVector, conforme foi indicado para a representação das
condições de apoio.
Para efectuar a coloração de acordo com a intensidade do
deslocamento há que extrair dos vectores que definem o
deslocamento em cada vértice a informação escalar desejada.
Para isso utiliza-se o filtro ExtractVectorNorm caso se deseje
utilizar a intensidade da resultante do deslocamento ou o filtro
ExtractVectorsComponents se desejar uma coloração de
acordo com uma das componentes do deslocamento, a qual tem
de ser seleccionada pelo utilizador. Esta última situação está
exemplificada na figura 9, para o deslocamento horizontal
segundo o eixo x. Para obter esta figura foi aplicado o filtro
ExtractVectorComponents, escolhido a opção X-component,
com o módulo SurfaceMap activado.
Figura 8: Distribuição do momento segundo x, com eliminação das células
com esforço positivo.
Como foi referido o filtro WarpVector permite adicionar à
coordenada de cada vértice um campo vectorial, o qual pode ser
multiplicado por um factor de escala. Dessa forma a geometria
da modelo passa a ser a da estrutura deformada, sendo possível
representar sobre ela um campo escalar, conforme indicado na
figura 10, onde um dos campo de momentos flectores está
representado
sobre
a
estrutura
deformada,
com
os
deslocamentos ampliados 36 vezes. É também possível
representar em simultâneo a estrutura deformada e não-deformada.
Figura 9: Distribuição do deslocamento segundo x.
Figura 7: Distribuição do esforço normal.
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
Figura 10: Distribuição do momento segundo x, representado na figura
deformada (com os deslocamentos ampliados 36 vezes).
16
Applied Computing Engineering
CONCLUSÕES
A utilização do programa MayaVi permitiu visualizar, de uma
maneira muito simples, os dados de entrada e os resultados de
um programa que tinha sido concebido sem ter em conta essa
necessidade. Através dessa visualização é possível verificar os
dados de entrada, corrigindo, pelo menos, os erros mais
grosseiros.
Como a informação é transmitida através de um ficheiro em
formato texto, com uma sintaxe simples e fácil de aprender e
utilizar, a linguagem de programação em que foi desenvolvido o
programa de análise torna-se irrelevante para o utilizador [7].
Os módulos e filtros existentes cobrem na generalidade as
necessidades sentidas, mas a modularidade do programa
permite a sua expansão, o que é particularmente facilitado pelo
facto de ser criado num modelo de código aberto, existindo uma
comunidade de utilizadores que cooperam para o seu
desenvolvimento. A linguagem de programação utilizada é
simples, compacta e fácil de aprender, pelo que é fácil introduzir
novas opções com base nos elementos existentes.
Pelas razões expostas julgamos que esta é uma boa solução de
visualização para projectos de investigação centrados no
desenvolvimento de modelos numéricos.
AGRADECIMENTOS
Este trabalho foi realizado no âmbito das actividades de
investigação do ICIST, Instituto de Engenharia de Estruturas,
Território e Construção, tendo sido possível graças à bolsa
BEX2248/01-8, concedida pela CAPES no âmbito do projecto
CAPES/ICCTI 075/01.
REFERÊNCIAS
[1] W. Schroeder, K. Martin, B. Lorensen; The visualization
Toolkit, An Object-Oriented Appoach to 3D Graphics, 2nd
Edition, Prentice- Hall, 646, 1997.
[2] P. Ramachandran; MayaVi: A free tool for CFD data
visualization; 4th Annual CFD Symposium, Aeronautical Society
of India, 2001.
[3] F.L. Drake Jr., G. Rossum; Python Reference Manual,
Release 2.1.2, 2002.
[4] J.G.M. Soler; Análise não-linear de pórticos espaciais de
concreto armado; Dissertação de Doutoramento, EPUSP/USP,
1995.
[5] J.G.M. Soler; Análise não Linear de Pórticos Planos de
Concreto Armado; Dissertação de Mestrado, EPUSP/USP,
1989.
[6] T.M.R. Ellis; Fortran 77 Programming, 2nd Edition, (with an
introduction to the Fortran 90 standard), Addison Wesley,
1990.
[7] J.G.M. Soler, J.P.M. Almeida, P.M. Pimenta; Pré e pós
processador para utilização em programas de elementos
finitos; First South-Americam Congress on Computational
Mechanics, III Brazilian Congress on Computational Mechanics
and VII Argentine Congress on Computational Mechanics,
MECOM2002, 28-31 de Outubro de 2002, Santa Fé-Paraná,
Argentina.
O espaço restante desta página foi intencionalmente deixado em branco.
El siguiente espacio ha sido dejado en blanco intencionalmente.
The remainder of this page was intentionally left blank.
COMUNICAÇÕES
Volume 1, Número 3 „ Novembro de 2002
17
Applied Computing Engineering
Cursos
Conferências
Congressos
C
C
C
DIMACS Workshop on Implementation of Geometric
Algorithms
COMPLAS 2003 – VII International Conference on
Computational Plasticity
4-6 de Dezembro de 2002 „ Universidade de Rutgers,
Piscataway, NJ, EUA
http://dimacs.rutgers.edu/Workshops/GeomAlgorithms/
7-10 de Abril de 2003 „ Barcelona, Espanha
http://www.cimne.upc.es/congress/complas/
CSE03 – SIAM Conference on Computational Science
and Engineering
10-13 de Fevereiro de 2003 „ San Diego, Califórnia, EUA
http://www.siam.org/meetings/cse03/
SAC’03 – ACM Symposium on Applie Computing,
Special Track on Computational Sciences 2
9-12 de Março de 2003 „ Melbourne, Florida, EUA
http://www.cs.mtu.edu/~asandu/Conferences/SAC03/sac03-cs
HPSCHanoi2003 – International Conference on High
Performance Scientific Computing 2
10-14 de Março de 2003 „ Hanoi, Vietname
http://www.iwr.uni-heidelberg.de/HPSCHanoi2003/
SURFACE TREATMENT 2003 – Sixth International
Conference on Computer Methods and Experimental
Measurements for Surface Treatment Effects
11-13 de Março de 2003 „ Creta, Grécia
http://www.wessex.ac.uk/conferences/2003/surface03/index
CONTACT MECHANICS 2003 – Sixth International
Conference on Computational Methods and
Experimental Measurements in Contact Mechanics
12-14 de Março de 2003 „ Creta, Grécia
http://www.wessex.ac.uk/conferences/2003/contact03/index.html
EURO-C 2003 – Computational Modelling of Concrete
Structures 2
17-20 de Março de 2003 „ St. Johann im Pongau, Áustria
http://euro-c.tuwien.ac.at/
VII Congresso de Mecânica Aplicada e
Computacional 2
14-16 de Abril de 2003 „ Évora, Portugal
http://www.cge.uevora.pt/congresso_mecanica/
CMEM 2003 – 11th International Conference on
Computational Methods and Experimental
Measurements
12-14 de Maio de 2003 „ Halkidiki, Grécia
http://www.wessex.ac.uk/conferences/2003/cmem03/
OPTI 2003 – Eight International Conference on
Computer Aided Optimum Design of Structures
19-21 de Maio de 2003 „ Detroit, Michigan, EUA
http://www.wessex.ac.uk/conferences/2003/opti03/
MAFELAP 2003 – The Mathematics of Finite Elements
and Applications 2
21-24 de Junho de 2003 „ Uxbridge, Reino Unido
http://www.brunel.ac.uk/~icsrbicm/mafelap03
COASTAL ENGINEERING 2003 – Sixth International
Conference on Computer Modelling and Experimental Measeurements of Seas and Coastal Regions
23-25 de Junho de 2003 „ Cádis, Espanha
http://www.wessex.ac.uk/conferences/2003/coastal03/index.html
USNCCM7 – 7th US National Congress on
Computational Mechanics 2
28-30 de Julho de 2003 „ Albuquerque, Novo México, EUA
http://www.esc.sandia.gov/usnccm
ELECTROCOMP 2003 – 6th International Conference
on Computational Methods for the Solution of
Electrical/Electromagnetic Engineering Problems
FEF 03 – 12th International Conference on Finite
Element Methods in Flow Problems 2
10-12 de Setembro de 2003 „ Split, Croácia
http://www.wessex.ac.uk/conferences/2003/electrocomp03
2-4 de Abril de 2003 „ Nagoya, Japão
http://cmlabtp.meijo-u.ac.jp/fef03/
MOVING BOUNDARIES 2003 – Seventh International
Conference on Computational Modelling of Free and
Moving Boundary Problems
Biomedicine 2003 – 5th International Conference on
Simulations in Biomedicine 2
4-6 de Novembro de 2003 „ Santa Fé, Novo México, EUA
http://www.wessex.ac.uk/conferences/2003/movingboundaries03
2-4 de Abril de 2003 „ Ljubljana, Eslovénia
http://www.wessex.ac.uk/conferences/2003/biomed03/
2
-
Nova entrada na lista | Por la primera vez en la lista | First time in the list
CURSOS, CONFERÊNCIAS E CONGRESSOS
Volume 1, Número 3 „ Novembro de 2002
18
Applied Computing Engineering
MIUP 2002 - Maratona
Inter-Universitária de
Programação
A prestigiada instituição americana ACM – Association for
Computing Machinery promove anualmente a realização do
ACMICPC – The ACM International Collegiate Programming
Contest, um concurso mundial de programação envolvendo equipas de alunos universitários. Este evento teve início em 1970
como um concurso local no estado do Texas, tendo vindo a crescer de forma exponencial, quer em termos do número de universidades participantes, quer do número de países envolvidos. No
ano de 2001 estiveram envolvidas 3082 equipas, de 1300 universidades e 67 países, participantes em 30 concursos regionais
repartidos por 96 locais. Destes concursos, apuraram-se 62
equipas para a final mundial que se realizou em Março de 2002
em Honolulu, no Havai (http://icpc.baylor.edu/icpc/). Mais
recentemente este evento tem sido designado como the
Superbowl of Computer Programming, ou mesmo the Olympic
Games of Computer Science.
Para a apuração para o ACMICPC, Portugal insere-se na região
sudoeste da Europa, juntamente com a Espanha, a França, a
Itália, a Suíça, parte oeste da Áustria e parte oeste da Alemanha. Em 2001, o SWERC – Southwestern Europe Regional ACM
Programming Contest realizou-se na cidade do Porto. A escolha
dos representantes portugueses é feita num evento análogo à
SWERC, designado por MIUP – Maratona Inter-Universitária de
Programação. Esta competição tem como principal objectivo
alertar, cativar, motivar e preparar equipas de instituições
universitárias portuguesas para uma participação meritória a
nível internacional. Este tipo de concursos proporcionam aos
alunos uma oportunidade para demonstrarem e melhorarem os
seus conhecimentos e capacidades na resolução de problemas.
Além do convívio que uma competição como esta proporciona, o
concurso constitui também uma excelente oportunidade para
estabelecer novos contactos.
O processo de selecção é realizado numa prova cujo objectivo é
resolver o maior número de problemas no menor tempo possível. Num concurso típico, são propostos 8 a 9 problemas que
deverão ser resolvidos em 5 horas por equipas com, no máximo,
3 elementos. Destreza na resolução de problemas, bons conhecimentos de algoritmos, rapidez de programação e bom espírito
de equipa são factores importantes. Na MIUP são usadas as
linguagens de programação C, C++, Java e Pascal. De um modo
genérico os problemas cobrem um vasto leque de áreas de
aplicação. Não se espera que a resolução de um problema se
reduza à escrita de um algoritmo de ordenação, sendo mais
razoável que envolva uma fase de ordenação, por exemplo, para
apresentação dos resultados ordenados. Muitos dos problemas
procuram simular o tipo de situações que poderão ocorrer em
casos reais empresariais. Os problemas variam em grau de
dificuldade e, para uma correcta resolução, são necessários
conhecimentos de técnicas avançadas de informática, nomeadamente, retrocesso (backtracking), percursos mínimos, máquinas
de estado, teoria da informação, computação gráfica, etc.
Relativamente ao ambiente da prova, um factor importante para
as equipas é a gestão dos recursos disponíveis. Cada equipa
participante no MIUP tem acesso a apenas um computador. O
ambiente de trabalho em cada computador é o sistema operativo Linux (distribuição Red Hat 7.3) com todos os utilitários
habituais instalados. As linguagens de programação utilizadas
NOTÍCIAS
Volume 1, Número 3 „ Novembro de 2002
são o Gnu C (gcc 2.96),
o Gnu C++ (g++ 2.96),
o Java (jdk 1.4.0) e o
Pascal (Free Pascal). O
trabalho das equipas é
Figura 1: Prova de selecção do MIUP na Universidade de
desenvolvido localmenAveiro
te. Quando a equipa
entender adequado deverá submeter a sua proposta de solução (código-fonte) ao
sistema de avaliação automática. Para que um estudante seja
considerado "elegível" como participante basta que esteja inscrito numa licenciatura ou bacharelato de uma instituição do ensino
superior, no ano lectivo de 2001-2002 com, no mínimo, metade
da carga horária normal. Cada instituição pode participar com
três equipas. Uma vez feita a avaliação das propostas de resolução o resultado é confirmado por um júri constituido por membros da Comissão Científica da MIUP. As equipas são classificadas de acordo com o número de problemas resolvidos sendo, em
caso de empate, seriadas pelo somatório dos tempos dos problemas resolvidos.
A prova de eliminação da Universidade de Aveiro (UA) foi realizada no dia 25 de Setembro, sob orientação do Prof. Dr. Delfim
Marado Torres, do Departamento de Matemática daquela universidade (figura 1). Esta prova realizou-se por via remota em
simultâneo com as Faculdades de Ciências e de Engenharia da
Universidade do Porto. As quatro equipas concorrentes em
Aveiro foram (i) os Byte Raiders, (ii) The 3 Clusters, (iii) os
ObjectPro e (iv) Os 3 Estarolas. Segundo o Professor Delfim
Marado Torres, o balanço da prova local de programação na UA
foi muito positivo, proporcionando uma boa familiarização com o
ambiente da MIUP e um excelente treino para todas as equipas.
Os resultados finais daquelas equipas foram: os Byte Raiders em
vigésimo terceiro lugar, os The 3 Clusters em décimo segundo
lugar, os ObjectPro em oitavo lugar e Os 3 Estarolas, como
grandes vencedores, no primeiríssimo lugar.
No encontro realizado no dia 12 de Outubro na Faculdade de
Ciências da Universidade de Lisboa participaram as 33 melhores
equipas nacionais. O evento foi seguido em directo através da
internet, contando com a participação de equipas estrangeiras
que assim puderam, a partir de outros locais em todo o mundo,
medir forças extra-concurso com os melhores programadores
portugueses. Os vencedores da MIUP foram os Virtuais, da
FEUP, que assim repetem a proeza do ano passado e vêm demonstrar que neste tipo de concursos a experiência prática é
muito importante. As equipas Aveirenses conquistaram o 6º
lugar (Os 3 Estarolas), o 21º lugar (ObjectPro) e o 29º lugar
(The 3 Clusters). Os 3 Estarolas e os ObjectPro estão agora a
realizar um estágio de resolução de problemas de uma base de
dados em Valladolid (http://acm.uva.es). Deste modo poderão
preparar-se e concentrar-se para atingirem a sua melhor forma
para o próximo embate: a SWERC – Southwestern Europe Regional Contest 2002 (http://swerc.up.pt/2002), a realizar no
Porto, em 17 de Novembro de 2002. Todos os participantes da
MIUP receberam um diploma e uma t-shirt. As 3 melhores equipas receberam livros oferecidos pela FCA. O primeiro classificado
recebeu ainda um CD-RW, o segundo um Scanner e o terceiro
um DVD-ROM.
19
Applied Computing Engineering
FAQs in Computational Mechanics
http://garlic.q.t.u-tokyo.ac.jp/faq
Esta home page foi desenvolvida e é mantida pelo laboratório
Yagawa do Department of Quantum Engineering and Systems
Science, da Faculdade de Engenharia da Universidade de Tokyo.
O objectivo principal da página é disponibilizar respostas para
perguntas frequentemente colocadas (Frequently Asked
Questions – FAQs) relacionadas com assuntos da mecânica
computacional. Apesar de ser uma página ainda em construcção,
consegue já proporcionar tópicos de aprendizagem muito
interessantes e especificamente dirigidos a todos os que
trabalham ou se interessam por estes assuntos. A intenção
principal dos criadores da página FAQs in Computacional
Mechanics é ser útil quer a jovens curiosos acerca do potencial
dos computadores na resolução de problemas reais quer a
investigadores que procuram aprofundar as suas áreas de
actividade científica ou entrar em novas áreas de estudo. Aqui é
possível encontrar informação sobre a história do Método dos
Elementos Finitos, programas de simulação disponíveis para
aplicações de mecânica computacional, links e livros ou
publicações de interesse, etc.
Next Limit
http://www.nextlimit.com
A Next Limit foi fundada em
1998 por um conjunto engenheiros
e artistas empenhados em chegar a um
nível
superior de realismo no mundo do processamento
gráfico computacional. Esta empresa desenvolveu um conjunto
de poderosas ferramentas de simulação em mecânica de fluidos.
Os seus produtos RealFlow™, RealWave™ e Flowtracer™ são
aclamados como packages de simulação state-of-the-art. Os
programas de simulação desenvolvidos pela Next Limit têm
ampla aplicação, sendo utilizados quer por investigadores quer
por artistas gráficos ligados ao
mundo do audiovisual, cinema
incluído. É de realçar o interesse
desta página não apenas para
adquirir as aplicações referidas
mas também no respeitante à
quantidade de imagens e vídeos
que exemplificam de forma
extremamente apelativa o potencial dos produtos. Vale a pena
fazer-lhe uma visita.
Finite Element People
http:// www-math.cudenver.edu/~lfranca/links/fem_people
Quase como uma mera curiosidade, mas porventura com
ocasional interesse práctico, esta página não é mais que uma
lista de contactos de algumas pessoas proeminentes na área da
simulação recorrendo ao método dos elementos finitos. Contém
ligações a páginas pessoais ou de trabalho de cientistas e
investigadores que trabalham directa ou indirectamente no
desenvolvimento, análise e optimização do método dos
elementos finitos nas mais variadas áreas de aplicação.
The NIST Center for Theoretical and Computational Materials Science
http://www.ctcms.nist.gov
O Center for Theoretical and
Computational Materials Science,
do NIST – National Institute of
Standards and Technology,
assume como missão primordial
a investigação de problemas
relacionados com a ciência dos materiais e a sua modelação com
recurso a métodos computacionais. Neste sentido, é fomentada
a hipótese de colaboração com outros investigadores e
instituições que desenvolvam trabalho nestas áreas. No NIST
são desenvolvidas novas ferramentas de simulação e cálculo,
LINKS
Volume 1, Número 3 „ Novembro de 2002
mantendo sempre em vista uma correcta integração posterior
em ambiente de investigação industrial. Este centro está ainda
disponível para avaliar propostas de colaboração, participação na
organização e realização de workshops, investigação e acções de
pós-graduação ou mesmo de participação em projectos nas suas
áreas de actividade. Realça-se ainda o facto de o site do
National Institute of Standards and Technology disponibilizar,
nas várias áreas de estudo referidas, introduções teóricas aos
assuntos, descrições e caracterização de alguns projectos
associados e programas desenvolvidos. É ainda possível, em
alguns casos, fazer download de exemplos de aplicação.
20
Applied Computing Engineering
Softwareem
Revista
10100111010101101010010100101110101101001010101010101101111011111110111010101111111101110100100110111111101100000010110101010010100111010101101010010100
110101101001010101010101101111011111110111010101111111101110100100110111111101100000010110101010111111010010010100100101010010010100101011001010011101010
010100101001011101011010010101010101011011110111111101110101011111111011101001001101111111011000000101101010101111110100100101001001010100100101001010110
01001110101011010100101001011101011010010101010101010111111010010010100100101010010010100101011001010011101010110101001010010111010110100101010101010110
COSMOS/M™
O COSMOS/M (http://www.cosmosm.com/cosmosm.htm) é um
programa comercial de elementos finitos completo e sofisticado
que oferece uma vasta gama de capacidades de análise:
modelador geométrico, pré- e pós-processador de elementos
finitos para malhagem e visualização de resultados, vários tipos
de análise: deslocamentos, tensões, frequências, encurvadura,
transmissão de calor, não-linear, dinâmica e, ainda, fadiga,
optimização, análise de electromagnetismo de baixa- ou alta-frequência, e análise bi- ou tridimensional de fluidos. Assim, o
programa COSMOS/M é adequado para utilizadores que
necessitem de ferramentas de análise por elementos finitos
avançadas. A sua estrutura modular permite ao utilizador
adquirir apenas os módulos necessários para a resolução de
vários tipos de problema: estruturais estáticos ou dinâmicos,
lineares ou não-lineares, fadiga, optimização, transferência de
calor (linear ou não-linear), mecânica de fluidos e
electromagnetismo. O programa encontra-se disponível em três
configurações distintas: básica, intermédia e avançada. Deste
modo oferecem-se ao utilizador as capacidades de análise
necessárias, sem a necessidade de ter encargos suplementares
pelos módulos que não necessita. Para os utilizadores com
necessidades de análise mais específicas, encontra-se também
disponível uma série especial de módulos adicionais, pelo que é
possível construir-se uma configuração personalizada verificando
os requisitos específicos de análise de cada utilizador. O
programa COSMOS/M encontra-se disponível para plataformas
Windows NT®, Windows® 95, 98 e 2000.
funcionalmente da temperatura. Permite definir condições de
contorno em função do tempo e/ou temperatura, realizar análise
de transmissão de calor em regime permanente e/ou transitório,
considerar um coeficiente de transmissão por convecção
funcionalmente dependente do tempo e/ou temperatura, etc.
NSTAR: Módulo de análise estrutural não-linear estática ou
dinâmica para resolver problemas não-lineares, seja geométrica
ou materialmente, estáticos ou dinâmicos, com ou sem contacto,
nomeadamente problemas de carga limite de encurvadura, pós-encurvadura, plasticidade, materiais hiperelásticos, impacto,
etc.
ASTAR: Módulo avançado de análise dinâmica para cálculo da
resposta dinâmica a cargas temporais impostas ou de frequência. Inclui ainda as seguintes opções de análise: histórico-modal
no domínio do tempo; harmónica em regime permanente;
vibrações aleatórias; geração de espectros de resposta.
COSMOS/M™ - Básico
GEOSTAR: corresponde à parte central do código, sendo o
modelador geométrico, o pré- e pós-processador de elementos
finitos, o complemento ideal para os utilizadores de
COSMOS/DesignSTAR Básico e COSMOS/Works Básico, já que
disponibiliza ao utilizador: uma vasta livraria de mais de 40 tipos
de elementos finitos diferentes, 1, 2 ou 3D; as últimas técnicas e
capacidades de malhagem (tanto paramétrica como automática); primitivas geométricas (pontos, curvas, superfícies,
volumes, poliedros) e potentes capacidades de pós-processamento para verificação gráfica de resultados de análise.
STAR: Módulo de análise linear estática para obter deslocamentos e tensões mecânicas. Suporta materiais isotrópicos,
ortotrópicos, anisotrópicos, compósitos com múltiplas camadas e
materiais cujas propriedades dependem funcionalmente da
temperatura.
Inclui
elementos
de
contacto
lineares,
encruamento, restrições múltiplas, equações de restrição, etc.
DSTAR: Módulo de análise de frequência e encurvadura linear
para cálculo das frequências naturais e modos de vibração associados. Permite considerar os fenómenos de encruamento,
calcular a carga crítica de encurvadura e os modos associados.
FFE: Módulo que possui um fast solver (Estático/Dinâmico
/Térmico), além de um solver iterativo de gradiente conjugado
pré-condicionado, um solver directo de tipo esparso e um solver
do tipo clássico skyline.
COSMOS/M™ - Intermédio
HSTAR: Módulo de análise de transmissão de calor para cálculo
de condução, convecção ou radiação. Suporta materiais
isotrópicos,
ortotrópicos,
anisotrópicos,
compósitos
com
múltiplas camadas e materiais cujas propriedades dependem
SOFTWARE EM REVISTA
Volume 1, Número 3 „ Novembro de 2002
COSMOS/M™ - Avançado
FSTAR: Módulo de análise de fadiga para cálculo de dano total
ou parcial. Permite o funcionamento conjunto com todos os
módulos estruturais anteriores.
OPSTAR: Módulo de análise de optimização de forma e
tamanho, assim como o estudo de sensibilidade integrado
conjuntamente com o GEOSTAR.
HFS: Módulo de análise electromagnética de alta-frequência
para análise bi- ou tridimensional de problemas de electromagnetismo de alta-frequência, incluindo a capacidade de
análise de estruturas ressonantes.
COSMOS/M™ Explorer
É uma versão especial de COSMOS/M limitada a 5000 nós, 5000
elementos ou 30000 graus de liberdade dirigida a utilizadores
principiantes na análise por elementos finitos. Oferece
exactamente as mesmas capacidades de análise, tipos de
elemento, etc., que a versão profissional do COSMOS/M a um
preço muito reduzido. Há ainda a hipótese de, possuindo a
versão EXPLORER, proceder à troca deste pela versão
profissional com base no pagamento da diferença de preços.
Structural Research &
Para mais informações contactar a
Analysis Corp. ([email protected]).
21
Applied Computing Engineering
Introdução à Edição
em LaTeX
Estrutura Hierárquica de um Documento ◣
Referências Cruzadas e Citações ◣
Ferramentas Básicas de Fromatação ◣
ESTRUTURA HIERÁRQUICA DE
UM DOCUMENTO
Como foi referido no ultimo fascículo desta breve introdução ao
processamento de texto em LaTeX (ver App. Comput. Engng.
1(1):25-26, 2002), a elaboração de um documento com este
processador tem que obedecer a regras muito rígidas e estar
estruturado de forma algo complexa.
A título de exemplo imagine-se que se pretende escrever um
texto na forma de relatório. Para esse efeito recorre-se à classe
report. Nesta classe, o comando \chapter{} define o primeiro
nível – nível zero – da estrutura do documento. Por outro lado, o
comando \section{} define o nível um e assim sucessivamente
para os comandos \subsection{}, \subsubsection{}, etc.
Existe ainda o comando opcional \part{} que é definido como o
nível menos um. Noutras classes de documento este pode ser o
nível zero (por exemplo nas classes onde não é definido
\chapter{}). No exemplo 1 mostra-se uma construção típica de
um ficheiro-fonte LaTeX.
Porém, nem todos os comandos agora referidos estão definidos
em todas as classes de documentos LaTeX. Por exemplo, nas
classes article ou letter o comando \chapter{} não existe. A
classe letter nem sequer suporta comandos de seccionamento,
como facilmente se entenderá.
De um modo genérico, os comandos de seccionamento do
documento efectuam, de forma completamente automática, uma
ou mais operações. Estas operações actuam no documento
criando determinadas formatações. Nos pontos seguintes dão-se
alguns exemplos:
♦ Atribuem numeração aos títulos, numeração esta que reflecte
no nível hierárquico da secção correspondente;
♦ Armazenam o texto dos títulos das secções para,
posteriormente, criar o índice ou tabela de conteúdos (toda
esta informação fica armazenada no ficheiro de extensão
.toc);
♦ Guardam o texto dos títulos para ser eventualmente utilizado
nos cabeçalhos e/ou rodapés e
♦ Formatam os textos dos títulos.
LATEX, 3
Volume 1, Número 3 „ Novembro de 2002
Fascículo 3
Neste terceiro fascículo da série de Introdução à
Edição em LaTeX pretende-se mostrar ao leitor
como se pode estruturar um documento complexo
respeitando a hierarquia geral, dividindo-o em
partes, capítulos, secções, etc. Descreve-se de
forma expedita todo o processo de utilização de
citações e referências cruzadas. Faz-se ainda uma
breve introdução à forma geral de escrita em LaTeX.
Referem-se as ferramentas básicas de formatação,
os caracteres disponíveis para a edição de um
ficheiro-fonte LaTeX e dão-se algumas indicações
sobre o modo de escrita de palavras, frases, e
parágrafos. Introduzem-se os símbolos e comandos
especiais mais comuns.
As regras de sintaxe utilizadas em todos os comandos de seccionamento são comuns a todas as classes de documentos. Por
exemplo, acrescentando um asterisco ao comando de
% Inicialização de um documento tipo livro
% recorrendo a classe book
\document{book}
\begin{document}
% Página de capa do documento
\maketitle
% Prefácio do documento
\section*{Prefácio}
\tableofcontents
\listoffigures
\listoftables
% construção do índice
% lista de figuras
% lista de tabelas e quadros
% Inicialização do corpo do documento
\part{Primeira Parte}
\chapter{Este é o primeiro capítulo}
Aqui fica o texto do primeiro capítulo.
\section{Um Texto Divertido}
E agora o texto da primeira secção.
\part{Última Parte}
\chapter{O Derradeiro}
Era uma vez um engenheiro.
% Finalização do documento
\appendix
% seguem-se os anexos
\chapter{Anexo I}
% o primeiro anexo
\chapter{Anexo II}
% e mais outro anexo
% E assim acaba o documento
\end{document}
Exemplo 1: Contrução típica de um ficheiro de fonte LaTeX para criar um documento
da classe book. Note-se a utilização do símbulo % para introduzir comentários que
facilitem a interpretação do ficheiro-fonte.
22
Applied Computing Engineering
seccionamento (e.g. \section*{}) suprime a numeração do
título a ser produzido.
Tabela 1: Hierarquia de comandos de seccionamento de um documento em LaTeX.
Exemplos para as classes book, report e article.
REFERÊNCIAS CRUZADAS E CITAÇÕES
Classes book e report
O processador LaTeX disponibiliza um conjunto de comandos
específicos que simplificam muito a utilização de referências
cruzadas (referências a equações, figuras, capítulos, secções,
anexos, páginas, parágrafos, etc.) e citações bibliográficas.
Para cruzar referências de elementos dentro de um documento é
necessário atribuir uma etiqueta ao elemento do documento que
se pretende referir (figura, secção, página, etc.) Cada etiqueta
não é mais do que um conjunto de letras, números e/ou sinais
de pontuação. Para cruzar a referência basta então utilizar a
etiqueta. O processador LaTeX encarrega-se de determinar a
numeração correta a aplicar.
♦ O comando de atribuição de uma etiqueta é
\label{etiqueta}
♦ Para cruzar a referências utiliza-se o comando
\ref{etiqueta}
♦ Se a referência pertendida for relativa à numeração de
determinada página então o comando próprio é
\pageref{etiqueta}
A instrução \label{} atribui uma etiqueta ao elemento do
documento em que estiver inserida (figura, tabela, equação,
etc.) Por outro lado, o comando \ref{} determina a numeração
do elemento identificado e etiquetado com o \label{}. Já o
comando \pageref{} calcula a referência ao número da página
em que o \label{} foi inserido. No exemplo 2 mostra-se o
código que produziria o texto:
Quero uma referência à secção anterior (secção 1.1, página 2).
\document{book}
[...]
\chapter{Este é o primeiro capítulo}
\section{Um Texto Divertido}
E agora o texto da primeira secção. \label{sec:ant}
\section{Esta Secção}
Quero uma referência à secção anterior (secção
\ref{sec:ant}, página \pageref{sec:ant})
[...]
\end{document}
Exemplo 2: Exemplo de utilização de referências cruzadas num documento
LaTeX. Comandos \label{}, \ref{} e \pageref{}.
Naturalmente, assume-se que não pode existir duplicidade de
etiquetas em todo o documento, sob pena de o processador
LaTeX emitir um código de erro e impedir a criação do
documento. Porém, cada uma pode ser referenciada um número
ilimitado de vezes.
FERRAMENTAS BÁSICAS DE FORMATAÇÃO
Assumindo que o leitor sabe como utilizar um editor de texto,
neste capítulo será indicado o que poderá fazer parte de um
ficheiro-fonte (ficheiro de extensão .tex) que posteriormente
será compilado pelo processador LaTeX. Em primeiro lugar é
possível utilizar todas as letras maiúsculas e minúsculas do
alfabeto, bem como os dez algarismos. É ainda possível utilizar
qualquer um dos dezasseis caracteres de pontuação que se
indicam seguidamente:
. : ; , ? ! ‘ ’ ( ) [ ] - / * @
LATEX, 3
Volume 1, Número 3 „ Novembro de 2002
Comando
Nível
-1
0
1
2
3
4
\part{}
\chapter{}
\section{}
\subsection{}
\subsubsection{}
\paragraph{}
Classe article
Comando
Nível
\part{}
\section{}
\subsection{}
\subsubsection{}
\paragraph{}
\subparagraph{}
0
1
2
3
4
5
Porém, existem nove caracteres especiais que estão reservados
unicamente como parte de comandos de LaTeX. São eles:
# $ % & ~ _ ^ { }
No entanto, estes nove caracteres especiais também podem ser
utilizados no próprio texto. Para tal, basta colocar o carácter \
imediatamente antes do respectivo carácter. Por exemplo, para
que no texto apareça $, &, %, #, _, { ou }, basta utilizar,
respectivamente, os comandos:
\$
\&
\%
\#
\_
\{
\}
O carácter \ (usualmente designado por backslash) é o carácter
indicador de início da generalidade dos comandos em LaTeX. Os
cinco caracteres + = | < > são utilizados quase unicamente na
construcção de equações e notação matemáticas. Apesar disso,
os símbolos + e = podem ainda ser utilizados na escrita de texto
corrente.
Travessão
É possível produzir diferentes tipos de travessão simplesmente
escrevendo um, dois ou três caracteres “–“. De uma forma
genérica, não existe espaço nem antes nem depois da utilização
do travessão.
Frases e Parágrafos
A escrita de frases e a indicação de final de parágrafo não
apresenta dificuldades. Naturalmente que o separador de
palavras é o espaço e o final de uma frase é indicado por um
ponto final. A quantidade de espaços introduzidos entre palavras
ou depois do fim de uma frase é indiferente, uma vez que o
espaçamento é determinado e optimizado automaticamente pelo
processador LaTeX. Um espaço vale tanto como cem.
Uma ou mais linhas em branco dão a indicação de fim de
parágrafo. O processador LaTeX ignora totalmente o modo como
a informação é formatada no ficheiro-fonte. Só dá importância
aos conceitos lógicos de fim-de-palavra, fim-de-frase e fim-de-parágrafo.
Outros Comandos Simples de Geração de Texto
Parte de uma frase pode ser produzida utilizando comandos
próprios de geração de texto específico. Por exemplo, o logótipo
do LaTeX pode ser produzido de uma forma simples com o
comando \LaTeX.
Outro comando de geração de texto muito útil é o comando
\today que introduz no local do texto em que é colocado a data
actual.
Os rodapés são produzidos colocando o comando \footnote{}
no local de chamada do rodapé. O argumento do comando
\footnote{} é o próprio texto da nota de rodapé.
23
Applied Computing Engineering
Notas sobre... Dual-Boot
Por mais que se goste de
determinado sistema
operativo (SO), não deixa de
ser interessante, prático e
por vezes útil experimentar
sistemas alternativos. Por
exemplo, se bem que os
sistemas Windows™
suportam os programas mais
utilizados, tal não deverá ser
impedimento para a utilização de outros. A verdade é
que não é difícil ter dois
sistemas operativos numa
mesma máquina, mesmo
com um único disco. Presentemente a maioria dos PCs
têm espaço suficiente para suportar mais do que um sistema
operativo realizando aquilo que se designa usualmente por dualboot. Nestas notas técnicas fornece-se alguma informação sobre
como, em condições normais, se pode efectuar a instalação de
sistemas operativos adicionais sem alterar a instalação do
primeiro e minimizando os riscos de perda de informação.
Primeiros Cuidados
A gestão de partições num disco duro é um processo delicado
visto que um pequeno descuido se pode traduzir na perda de
dados armazenados. Assim, em primeiro lugar, é aconselhável
fazer backups do disco. Deste modo será possível recuperar toda
e qualquer infomação que acidentalmente venha a ser apagada.
Numa máquina com dual-boot cada SO necessita de uma partição separada. Ao criar as partições, divide-se o disco em drives
virtuais mais pequenas, diminuindo a capacidade disponível para
executar aplicações. Para diminuir as hipóteses de a memória
virtual utilizada por um sistema operativo ser esgotada, dever-se-á proceder a uma limpeza do disco, eliminando ficheiros não
utilizados. Operações como (i) esvaziar a pasta reciclagem; (ii)
eliminar todos os ficheiros temporários ou (iii) remover aplicações desnecessárias são úteis, mas uma revisão mais cuidada
seguida de uma desfragmentação será o mais aconselhável para
garantir um funcionamento óptimo. Adicionalmente, criar uma
disquete de arranque é sempre uma segurança extra.
Dual-boot com Windows™ 95 ou 98
O procedimento para instalar um segundo sistema operativo é
idêntico em computadores com Windows™ 95 e Windows™ 98.
O primeiro passo é criar as partições no disco. Porém, neste
caso, a utilização do programa disponibilizado pela Microsoft
(fdisk) não é a mais aconselhada. Apesar de práctico para uma
instalação inicial, o programa fdisk tem o inconveniente de
apagar todo o conteúdo do disco, impossibilitando a divisão de
um disco cujo conteúdo se quer preservar. Assim, aconselha-se
a aquisição de um programa comercial para gestão do disco.
Existem aplicações que permitem criar e manipular partições
sem apagar dados, facilitando a criação de drives de backup
virtuais e a instalação de outros sistemas operativos. Exemplos
de tais programas são: o PartitionMagic™ da Powerquest™ e o
System Commander™ da VCommunications™. Estes programas
têm a vantagem adicional de disporem de uma interface gráfica
de utilização muito intuitiva.
Para criar as partições, os programas referidos permitem que se
escolha o tipo de sistema de armazenamento desejado.
TÉCNICA
Volume 1, Número 3 „ Novembro de 2002
A escolha correcta depende de factores como, por exemplo, o
espaço disponível, o SO a instalar e a eventual necessidade de
acesso a outros sistemas operativos. Sempre que se pretende
partilhar dados ou aplicações entre diferentes SO é forçoso
escolher formatos compatíveis. No caso de um dos SO ser o
Linux, a partição correspondente deverá ser Linux ext2 ou ext3.
Na tabela abaixo podem analisar-se as compatibilidades entre
sistemas operativos.
File System
SO compatível
FAT
O denominador comum no mundo DOS/Windows™.
Acessível por DOS, Win3.x/95/NT/2000 e OS/2. É também
possível o acesso por Linux.
FAT32
Uma evolução do FAT, com armazenamento 32bit,
resultando numa utilização de espaço em disco mais
eficiente. Também aqui o acesso por Linux é possível.
NTFS
Usado em todos os Windows™ de base NT™ (NT™, 2000 e
XP™). De notar que a última versão NTFS 5, introduzida
no Win2000, apenas é reconhecida pelo WinNT com a
instalção do Service Pack 4.
HPFS
Usada pelo OS/2 e reconhecida pelo Windows™ NT 3.51.
Linux ext2/ext3
Acessível apenas em Linux
Uma vez criada a nova partição, deve proceder-se à instalação
do novo sistema operativo. Note-se que o Win95/98 tem sempre
que ser instalado na primeira partição do primeiro disco. Para
instalar o WinNT, Win2000, WinXP, OS/2 ou Linux na nova
partição basta utilizar o respectivo programa de instalação. Uma
vez finalizada a instalação do novo SO, caso este não tenha
incorporadas funções de dual-boot, deve recorrer-se novamente
ao progama de gestão do disco para criar a prompt de selecção
de sistema operativo no arranque do computador.
Dual-boot com Windows™ 2000
Os sistemas operativos de base 2000 (Win2000 e WinXP) têm já
incorporadas funções para dual-boot. Depois de criada a nova
partição, estes SO permitem que se instale correctamente o
Win3.x/95/98/NT, MS-DOS ou OS/2. Contudo, para instalar o
Linux será necessário recorrer a programas específicos de
gestão de disco, normalmente incluídos na própria distribuição
Linux. Para instalar o Win2000 num computador Win95/98,
basta seguir as intrucções referidas anteriormente. Note-se
porém que o Win2000 pode ser instalado num drive secundário.
Para correr os dois sistemas operativos num computador sem
qualquer sistema Windows™ já instalado, a regra geral acaba
por ser sempre instalar primeiro o sistema mais antigo. A
PowerQuest™ lançou o PartitionMagic™ 5.01 exactamente para
ser compatível com Win2000, sendo o System Commander™
também compatível.
Para instalar o novo sistema operativo, no caso de este ser
compatível com Win2000, basta executar o correspondente
programa de instalação a partir do actual sistema. Se o segundo
OS for Linux, a solução mais simples é utilizar o programa de
gestão de disco para executar a instalação. Depois de concluída
a instalação, o Win2000 deverá criar automaticamente um menu
de escolha de sistema operativo no arranque do computador.
Mais uma vez, no caso de instalação Linux, é este que se
encarrega de criar o menu de escolha de sistema, já que o
Windows™ nem sequer o reconhece.
24
Applied Computing Engineering
Palavrasacerca
TÉCNICA
de
Palavras
língua etimologia curiosidade português significado
por Alexandre Pinho da Cruz
semântica morfologia pronúncia sinónimo ortografia sinónimo
português significado semântica morfologia pronúncia sinónimo ortografia sinónimo acentuação língua etimologia curiosidade português significado semântica morfologia pronúncia sinónimo ortografia sinónimo acentuação
Curiosidades Etimológicas
Assassino: Por volta do século XI
surgiu uma seita muçulmana que
espalhava o terror na zona da Pérsia, da
Síria e do actual Iraque. Esta seita foi
fundada pelo príncipe Hassan ben
Sabbat nos finais do século XI aquando
da sua expulsão do Cairo. Após se
instalar na Pérsia, Hassan ben Sabbat,
também conhecido como “O Velho da
Montanha”, reuniu um vasto número de
sectários, geralmente jovens muçulmanos fanáticos, que daí partiam em expedições sangrentas contra
os seus opositores, quer religiosos (as cruzadas cristãs) quer
políticos (a nível de poder). Exigindo uma obediência ilimitada,
fornecia aos seus seguidores haxixe, que era por eles ingerido,
fazendo-lhes acreditar que, ao submeterem-se ao príncipe,
alcançariam o Paraíso de Alá. Assim, procediam a violentos e
sangrentos ataques, chacinando não só populações inteiras mas
também matando quer xeques e príncipes árabes quer cristãos.
Os membros desta seita eram usualmente denominados
hashshashin, i.e. “os que comem haxixe”, palavra que deu
origem, em Português, a “assassino”. Esta seita só terá sido
eventualmente extinta no século XIII devido às Grandes
Invasões Mongóis.
Carrasco: Na Lisboa do século XVII, o executor da
pena de morte foi, durante vários anos, Belchior Nunes
Carrasco, que terá, na altura, ficado célebre pela sua
sinistra função. Deste modo, “carrasco” passou a ser
_sinónimo de algoz, verdugo, i.e. aquele que é
encarregado de matar outrem por ordem dos que
representam o poder público, sejam militares,
governantes ou juízes.
Greve: Noutros tempos a Praça do
Município de Paris era denominada Place
de Grève. Esta denominação devia-se ao
facto de nas suas proximidades existir, no
rio Sena, uma zona de extracção de areia
utilizada na construção civil. Atenda-se ao
facto de “grève” significar, em Francês, areal, praia ou areia
grossa para argamassa. Era exactamente na referida praça que
os operários sem trabalho se reuniam à espera que os
empresários os fossem contratar. No entanto, após acesa
discussão, quando o salário proposto não lhes agradava face ao
esforço que teriam de desempenhar, recusavam o trabalho e
ficavam na praça, i.e. em Grève, até que o patronato
regressasse com propostas que lhes parecessem mais
proveitosas.
Alguns Erros Comuns de Ortografia
LOGÓTIPO:
Grupo de duas ou mais letras fundidas em um só tipo para simplificar a composição tipográfica ou para
formar sigla; símbolo constituído por um grupo de letras especialmente desenhado para representar uma
empresa ou instituição. E não: logotipo. Deste modo, esta palavra deve pronunciar-se como esdrúxula
(logotipo) e não como grave (logotipo).
ORGANOGRAMA:
Representação gráfica da organização de uma instituição ou serviço, assinalando os seus elementos
constitutivos e suas inter-relações (e não: “interrelações” ou “inter relações”). E não: organigrama.
TERRAPLENAR:
Execução de trabalhos de aterro e escavação necessários para efectuar uma determinada obra; encher de
terra os vãos de um terreno até ficar pleno, i.e. cheio ou completo. E não: terraplanar.
Factos...
James
Bond:
Ao
contrário
do
que
é
frequentemente apregoado, o primeiro actor a
desempenhar o papel de James Bond foi Barry
Nelson no filme Casino Royale, de 1954, e não
Sean Connery no filme Dr. No, de 1962! Em Casino
Royale, ainda a preto-e-branco (e não: a preto e
branco), James Bond é um agente da C.I.A. (e não
um agente Britânico!) que tem a missão de deter um vilão
(Peter Lorre) que necessita de dinheiro para manter o seu vício
no jogo. James Bond acaba por conseguir o seu intento
CURIOSIDADES
Volume 1, Número 3 „ Novembro de 2002
por Alexandre Pinho da Cruz
enfrentando o vilão num disputado jogo de Bacará. Casino
Royale foi o terceiro episódio da série da C.B.S. Climax Mystery
Theater. No entanto há que referir que Casino Royale não faz
parte da lista oficial de filmes do agente secreto 007, pelo que
oficialmente Sean Connery é o primeiro 007. Como curiosidade
refira-se que posteriormente, em 1967, foi realizado outro filme
de James Bond, que se intitulava nem mais nem menos que
Casino Royale. Embora o filme tivesse o mesmo nome, desta vez
David Niven era James Bond e Woody Allen o vilão, Dr. Noah!
Mas isto é outra história...
25
Applied Computing Engineering
por António Gil Andrade Campos
A conhecida marca de automóveis Alfa Romeo
teve origem na ligação do acrónimo de Anonima
Lombarda Fabbrica Automobili (ALFA), empresa
fundada em 1910, e do apelido do engenheiro
Nicola Romeo, que adquiriu a fábrica em 1915.
O símbolo da marca apresenta uma cruz vermelha em fundo branco, que remonta à mais antiga bandeira da
província, datada de 1405, ano em que ocorreu a pacificação
entre os plebeus (de bandeira branca) e os nobres de Milão (de
bandeira vermelha), e a serpente que foi herdada do brasão da
Signoria Viscontea, i.e. pertencente a uma família de nobres que
habitava em Milão.
... um processador a 1GHz pode ter uma maior
performance do que um processador a 2,8GHz.
Na realidade a velocidade de um processador não é um
parâmetro único para comparar performances dos processadores. Muitas vezes processadores de velocidades inferiores
têm melhor performance do que outros com velocidades
superiores. Tudo depende da arquitectura do processador.
Três características diferenciam os processadores: (i) o
conjunto de instruções (todas as instruções que um processador pode realizar); (ii) a largura de banda (número de bits
processados por instrução); (iii) a velocidade do processador
(determina quantas instruções por segundo o processador
consegue executar). Em todos os casos, quanto maior o
valor, mais eficiente é o processador. Por exemplo, um
processador de 32bits a 50MHz é mais poderoso que um
processador de 16bits a 25MHz. Mas um processador de
64bits a 1GHz pode ser mais eficiente do que outro de 32bits
a 1,7GHz. Logo, um processador a 1GHz pode ter maior
performance do que um a 2,8GHz.
Sabia que
Será útil olhar para dentro de um microprocessador e tentar
perceber como funciona. Um microprocessador executa uma
série de instruções-máquina que definem o que fazer. Baseado nessas instruções, o processador realiza as seguintes operações básicas: (i) usando a Unidade Aritmética/Lógica (ALU)
o processador realiza operações matemáticas; (ii) um microprocessador consegue mover informação de um local de
memória para outro e (iii) consegue tomar decisões saltando
para outros conjuntos de instruções. Estas actividades
dependem ainda de outros factores como (i) o Address Bus,
que envia endereços para a memória; (ii) a Data Bus, que
pode enviar ou receber informação da memória; (iii) linhas
de comando de leitura e/ou escrita, para libertar ou ocupar
espaço endereçado; (iv) o comando clock line e (v) o
comando reset line, que inicializa o relógio.
Como é então posível avaliar a performance de um
processador? O número de transístores no
chip do processador tem um efeito
decisivo na sua performance. O
uso de mais transístores
permitiu o desenvolvimento da tecnologia de pipelining,
permitindo a realização simultânea de várias instruções em vários
estágios de execução. Deu-se
a adição de memória virtual de
suporte (Cache L1) directamente no
chip do processador. Todos estes factos
CURIOSIDADES
Volume 1, Número 3 „ Novembro de 2002
ó
Acentos: O Português é conhecido pelas suas regras
complicadas, sendo a regra da acentuação uma delas.
No entanto, existem outras línguas em que é permitido
utilizar mais do que um acento por palavra, pelo que
surgem palavras que, em termos de acentuação, nos
podem parecer um pouco singulares: As palavras
húngaras újjáépítésérõl, e újjáépítésére, que significam,
respectivamente, “sobre a sua reconstrução” e “para a sua
construção” possuem, nem mais nem menos que 6 acentos
agudos (o til não é um acento, mas sim um sinal gráfico de
nasalação), e a palavra francesa hétérogénéité, que significa
“heterogeneidade”, tem 5 acentos agudos!
fizeram com que o número de transístores aumentasse,
levando a que, actualmente, existam unidades capazes de
executar mais de um milhão de instruções por segundo. A
Cache é também um factor decisivo na performance.
Quando um processador acede à memória RAM demora cerca
de 60 nanosegundos. Porém, sabendo que o processador
trabalha com ciclos da ordem dos 2 nanosegundos, então o
tempo de acesso à memória central parece uma eternidade.
Para ultrapassar este problema construiram-se pequenos
bancos de memória, permitindo que o processador aceda
mais rapidamente. Este banco de memória é chamado Cache
de nível 2 (L2 Cache). Existem também bancos de memória
mais pequenos e mais rápidos, designados por Cache de
nível 1 (L1 Cache). Nos processadores actuais de grande
porte (e.g. Intel Itanium2) existe ainda um terceiro nível
de Cache, a Cache L3, que pode ir até 3Mb.
Um exemplo utilizado para explicar a necessidade e funcionamento do sistema
Cache é o de uma biblioteca. Imagine-se o bibliotecário sentado atrás de uma
secretária. Para obter determinado livro nesta biblioteca é necessário pedir ao
bibliotecário que o vá buscar a uma das estantes.
Chega o primeiro cliente e pede o livro. O bibliotecário levanta-se, vai até à
respectiva estante, regressa ao balcão e entrega o livro ao cliente. Na
devolução o cliente entrega o livro ao bibliotecário que o volta a colocar na
estante, sentando-se depois na secretária à espera de outro cliente. Imagine-se que outro cliente pede o mesmo livro. O bibliotecário terá que repetir todo
o processo. Consequentemente, neste sistema, o bibliotecário terá de fazer
uma ronda completa cada vez que lhe é pedido um livro, mesmo aqueles que
lhe são pedidos repetidamente. Esta seria uma biblioteca sem Cache.
Uma forma de tornar todo o processo mais eficaz seria dar ao bibliotecário
uma caixa que lhe permita guardar, e.g., cerca de 10 livros. Sempre que um
cliente lhe entrega um livro, ele guarda-o na caixa até que fique cheia.
Posteriormente, bastar-lhe-á verificar se tem o livro na caixa e retirá-lo para o
entregar ao cliente. Esta seria uma biblioteca com Cache.
Os sistemas de Cache mais usuais são os seguintes:
Cache L1: Acessos de memória à velocidade do
microprocessador (10 nanosegundos, de 4 a 16kb);
Cache L2: Acessos de memória do tipo SRAM (20 a 30
nanosegundos, de 128 a 512kb);
Memória central: Acesso de memória do tipo RAM (60
nanosegundos, de 32 a 512Mb);
Disco duro: Acesso mecânico e lento (cerca de 12
milisegundos, de 1 a 100Gb);
Internet: Acesso muito lento (1 segundo mas tamanho
ilimitado).
A Cache L1 armazena a Cache L2 que por seu lado armazena
a memória central, sendo esta utilizada para armazenar
informação do disco duro, e assim por diante. Para concluir,
um processador de 1Ghz, como é o caso do Intel
Itanium2 (mas que tem 3 níveis elevadas de Cache e
direccionamento físico de 50 bits) tem uma maior performance do que um processador a 2.8 GHz, como é o caso do
Intel Pentium4 (a 32 bits e com 2 níveis de Cache).
26