Socket
Book a DemoInstallSign in
Socket

aircraft-design

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aircraft-design

Condensed module for Aircraft Design

0.0.17
pipPyPI
Maintainers
1

aircraft_design

Para instalar a biblioteca oficialmente, você pode usar o gerenciador de pacotes pip. A seguinte linha de comando pode ser executada no terminal ou prompt de comando:

pip install aircraft-design

Assim, a biblioteca será baixada e instalada em seu ambiente de desenvolvimento Python. Também é possível instalar a versão mais recente diretamente do repositório GitHub, executando o comando:

pip install git+https://github.com/NisusAerodesign/aircraft-design.git

Feito isso, já é possível importar e utilizar a biblioteca nas suas aplicações.

0.1. Como instalar

Para instalar basta acessar pelo repositório da própria pipy* e já estará pronto para uso.

Projeto de Design de Aeronaves NISUS-aerodesign

O projeto aircraft-design é um esforço desenvolvido por membros da equipe de competição NISUS-aerodesign com o objetivo de facilitar a análise de aeronaves. A equipe utiliza a ferramenta Vortex Lattice (ou malha de vórtices, em tradução livre), desenvolvida pelo MIT*, para conduzir essas análises.

A ferramenta Vortex Lattice permite que a equipe tenha uma visão detalhada das propriedades aerodinâmicas da aeronave, como por exemplo, a geração de sustentação, arrasto e forças de inclinação. Isso permite que a equipe faça melhorias no design da aeronave, tornando-a mais eficiente e segura para voo.

Repositório GitHub

1. aircraft_design.Wing

A classe Wing (Asa) é responsável por criar superfícies aerodinâmicas, como asas e estabilizadores. Ela possui diversos parâmetros que podem ser ajustados para atender às necessidades específicas de cada projeto.

A tabela abaixo apresenta cada um dos parâmetros da classe Wing, incluindo seu tipo de dado, valor padrão e se é obrigatório ou não:

ParâmetroTipo de dadoValor Padrão
airfoilPathObrigatório
wingspanfloatObrigatório
mean_chordfloatObrigatório
taper_ratiofloat1.0
transition_pointfloat0.0
alpha_anglefloat0.0
sweep_anglefloat0.0
x_positionfloat0.0
y_positionfloat0.0
z_positionfloat0.0
alignstr'LE'
namestr'wing'
controllist[None]
panel_chordwiseint10
panel_spanwiseint25

Além disso, a classe Wing possui métodos Getters e Setters para todos os seus elementos, permitindo a manipulação de seus parâmetros de forma fácil e precisa. Também podemos encontrar outros métodos importantes, como Wing().surface -> avl.Surface e Wing().reference_area() -> float, que fornecem informações valiosas sobre a superfície da asa e sua área de referência.

1.1. Ferramenta de plotagem

A biblioteca possui uma ferramenta de plotagem para melhor visualização da aeronave construída. Para utilizá-la, basta invocar o método plot() nas classes Wing e Aircraft.

A tabela a seguir apresenta os parâmetros que podem ser especificados na função de plotagem:

ParâmetroTipo de dadoValor Padrão
figurematplotlib.figure | NoneNone
axismatplotlib.axis | NoneNone
linewidthfloat1.0
colorstr'black'

Ambas as classes Wing e Aircraft podem receber uma figura e um eixo para se adequarem aos padrões de plotagem do usuário. Além disso, o plot gerado é tridimensional.

2. aircraft_design.Aircraft

A classe Aircraft é responsável por agrupar as superfícies aerodinâmicas e torná-las executáveis nos parâmetros da biblioteca de simulação de voo. Ela é um elemento fundamental para o projeto, pois permite a definição do avião como um todo, e é a partir dela que serão realizadas as simulações.

Abaixo seguem os principais parâmetros que compõem a classe Aircraft:

ParâmetroTipo de dadoValor Padrão
machfloatObrigatório
ground_effectfloatObrigatório
reference_chordfloatObrigatório
reference_spanfloatObrigatório
surfaces_listlistObrigatório
ref_point_xfloat0.0
ref_point_yfloat0.0
ref_point_zfloat0.0

Além desses parâmetros, a classe Aircraft possui métodos Getters e Setters para todos eles, assim como outros métodos que podem ser necessários para realizar as simulações.

2.1. Gerar a geometria

Para poder executar a simulação deve ser gerada a geometria para poder ser executada.

Aircraft().geometry(name:str)

2.2. Ferramenta de plotagem

A ferramenta de plotagem para o módulo Aircraft é totalmente compatível com o módulo Wing, recebendo os mesmos parâmetros.

Verificar 1.1.

aircraft_design.Session

A classe Session é responsável por realizar a execução do código no AVL. Para fazer isso, é necessário que sejam fornecidos os seguintes parâmetros:

ParâmetroTipo de dadoValor Padrão
geometryAircraft.geometryObrigatório
casesCase |NoneNone
namestr |NoneNone

A variável geometry representa a geometria da aeronave, que será utilizada pelo AVL para realizar as análises. A variável cases é opcional e representa os casos de simulação que serão executados no AVL. Por fim, a variável name é também opcional e representa o nome da sessão que está sendo executada.

Com esses parâmetros em mãos, a classe Session é capaz de realizar as simulações no AVL, gerando informações valiosas sobre o comportamento da aeronave em diferentes condições.

aircraft_design.MultiSession

A classe MultiSession é responsável por realizar a execução de múltiplas sessões no AVL utilizando uma abordagem paralela que aproveita a capacidade de processamento dos múltiplos núcleos da CPU.

Para fazer isso, a classe MultiSession possui o seguinte parâmetro:

ParâmetroTipo de dadoValor Padrão
session_arraylist[Session]Obrigatório

A variável session_array representa a lista de sessões que serão executadas no AVL, que são objetos da classe Session com suas respectivas geometrias e casos de simulação.

A classe MultiSession é responsável por gerenciar os Workers, compartilhar a memória entre eles e organizar as filas de execução das sessões. Dessa forma, a classe MultiSession permite que múltiplas sessões sejam executadas em paralelo, aumentando a eficiência do processo de simulação.

A utilização da classe MultiSession é recomendada quando o número de sessões é maior ou igual ao dobro do número de núcleos da CPU, para que seja possível obter o máximo aproveitamento da capacidade de processamento do hardware.

Keywords

aircraft

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.