• Nenhum resultado encontrado

3 Metodologia

3.3 Formulação do Programa AG

3.3.2 Descrição do programa

Neste trabalho foi desenvolvido um programa de otimização para um pórtico tridimensional de concreto armado utilizando AG. A análise de estruturas, passo intermediário para avaliação dos indivíduos, foi realizada no programa comercial ANSYS. A escolha do ANSYS se deve ao fato da sua disponibilidade da versão estudante 18.2 pela Ansys Inc. e pela sua condição de trabalho, que permite que o programa seja iniciado por uma linha de comando com os parâmetros de entrada. O programa que contém o AG inclui também o dimensionamento dos elementos estruturais e verificações das restrições, função objetivo e demais processos. A Figura 3.4 apresenta o fluxograma genérico do procedimento utilizado no programa.

O processo iterativo de otimização é iniciado com a definição das variáveis de projeto pelo AG, o qual é reescrito em um formato ANSYS, e em seguida é formado o arquivo de entrada que ativa o processo do ANSYS em modo “batch”. Assim, após o AG definir os dados de entrada, parte-se para a construção do modelo computacional e a análise da estrutura via método dos elementos finitos no ANSYS, que fornecerá os relatórios dos esforços e deformações dos elementos estruturais.

A integração com o programa comercial é feita dentro das rotinas de otimização através de uma sub-rotina especifica que utiliza recursos do FORTRAN. No momento em que o programa ANSYS é chamado, a rotina de otimização recebe um “pause”, ficando temporariamente parada até que o ANSYS termine o processo e gere os arquivos de saída. O ANSYS produz dois relatórios de saída, um para o Estado Limite de Último (ELU) e um para Estado Limite de Serviço (ELS). Em seguida, o AG faz a leitura dos relatórios gerados pelo ANSYS e prossegue para as rotinas de dimensionamento. Este processo de avalição da estrutura é repetido a cada nova iteração ou em todo momento que se deseja determinar a função objetivo e restrições.

Figura 3.4: Fluxograma do programa desenvolvido, com detalhe à direita para a avaliação dos indivíduos.

Não Sim Sim Não Ansys Esforço/Deformação Dimensionamento Vigas Pilares Verificação do ELU Verificação do ELS Fim da Sub-rotina Verificação do Detalhamento

Cálculo da Função Objetivo Avaliação dos indivíduos da População Entrada de Dados Geometria/Cargas Inicialização da População Indivíduo selecionado é mais apto que o

menos apto?

Número de gerações maior que

o máximo? Geração do Novo Indivíduo

Cruzamento e Mutação

Impressão dos Melhores Indivíduos

Fim do Programa Ordenação da População

“ranking”

Seleção do indivíduo(s) para reprodução

Substituir o menos apto pelo mais apto Seleção do indivíduo para sobreviver

Avaliação dos indivíduos da População Avaliação dos indivíduos da População

Assim, após a avaliação da população, o AG colocará os indivíduos em ordem (ranking) de acordo com a aptidão e então irá repetir as seguintes etapas, até o critério de parada ser satisfeito: selecionar os indivíduos para reprodução, aplicar os operadores genéticos de cruzamento e mutação, avaliar os indivíduos gerados e selecionar o que sobreviverá na população. Nesta última etapa, se o indivíduo gerado for melhor que o pior elemento da população atual, então este indivíduo será inserido na população, de acordo com sua classificação, gerando a população da nova geração.

3.3.2.1 Preparação do arquivo de entrada

Inicialmente, é escrito o arquivo de entrada para o programa ANSYS, que descreve o modelo de elementos finitos a ser analisado com as características do projeto inicial.

A separação do arquivo de entrada se faz necessária, pois o arquivo que contém as variáveis de projeto sofre manipulação constante, com várias modificações provocadas pelo AG. A manutenção deste arquivo ocorre automaticamente dentro da rotina de otimização, através de comandos da linguagem de programação FORTRAN, que escrevem o arquivo de variáveis de projeto com os comandos específicos do programa ANSYS. Por fim, ocorre a concatenação com os arquivos de geometria e demais características necessárias para proceder à análise.

As definições que fazem parte dos módulos que compõem o ANSYS são:

 Pré-processamento (/PREP7): Neste módulo o arquivo mostra as definições das características da estrutura. O arquivo mostra as características do modelo geométrico e de elementos finitos, indicando as propriedades materiais e o tipo de elemento a ser usado. Nesta etapa se encontram também outros comandos relativos a controle e geração de malha e condições de contorno.

 Solução (/SOLU): Neste módulo é definido o tipo de análise e são calibrados alguns aspectos que dependem do tipo de análise, por exemplo, aspectos de não linearidade de material, não linearidade geométrica, entre outras.

 Pós-processamento (/POST1): Este é o último módulo do processo de análise numérica por elementos finitos, onde são gerados os arquivos dos resultados dos esforços e deformações da estrutura através do comando /OUTPUT.

3.3.2.2 Descrição das sub-rotinas principais

O procedimento de otimização proposto é apresentado de maneira genérica na Figura 3.4. Nesta seção serão expostas com mais detalhes as rotinas mais relevantes do programa.

 Rotina Principal Main: Nesta rotina o usuário irá inicializar alguns parâmetros de controle do processo de otimização, através da leitura do arquivo “paramAG”, tais como: número de variáveis de projeto, número de rodadas do AG, número da população, número de gerações, limite inferior e superior das variáveis de projetos, probabilidade de cruzamento e taxa de mutação. Após as inicializações, é chamada a sub-rotina Ag.

 Sub-Rotina Ag: É nesta sub-rotina onde se inicia o processo de otimização propriamente dito. Daqui parte a chamada para outras sub-rotinas e funções que permitirão determinar o valor ótimo do problema, tais como determinação da função objetivo, processo de seleção, probabilidade de cruzamento e taxa de mutação. Assim, iterativamente o processo se repete até a máxima iteração ser alcançada.

 Função Objfun: Esta função é responsável pela formação da função objetivo. A função Objfun chama a sub-rotina Ag_p_ansys, que executará o programa ANSYS. Nesta sub-rotina ocorre a geração do arquivo das variáveis de projeto, que é feito de forma automática com a linguagem FORTRAN. Após o término do programa ANSYS, que gera os arquivos que contém os esforços e deslocamentos da estrutura, procede-se a leitura dos arquivos de saída através da sub-rotina Ansys_p_ag, para buscar os dados referente a função objetivo. Por fim, é chamada a sub-rotina objetivopenalidades que é responsável pela determinação efetiva da função objetivo

 Sub-rotina Ag_p_ansys e Ansys_p_ag: A função da sub-rotina Ag_p_ansys é fazer a concatenação dos arquivos particionados e formar o arquivo de entrada do ANSYS. Então através de recursos da linguagem de programação se faz a chamada do ANSYS por uma linha de comando que possui alguns parâmetros que identificam que o programa ANSYS executará no modo “batch”, e gerará o arquivo de saída. Após o ANSYS terminar de executar a função Objfun é retomada e, em seguida, chama a sub-rotina Ansys_p_ag responsável pela leitura

dos arquivos de saída do ANSYS e armazenamento dos esforços e deslocamentos dos elementos estruturais.

 Sub-rotina Objetivopenalidades: Esta sub-rotina é responsável pela determinação da função objetivo, armazenando a cada interação os valores já penalizados dos custos do concreto, aço e forma dos elementos estruturais. O cálculo das armaduras das vigas e pilares são chamados através das sub-rotinas dimensionamento_viga e dimensionamento_pilar, respectivamente, necessárias para a determinação dos custos já penalizados da estrutura.

Documentos relacionados