arriemeijer-creator/AeroJAX

AeroJAX: A differentiable, structure-preserving framework for real-time flow simulation, control, and inverse design. Architected for neural operator integration and latent-space acceleration. Built with JAX.

해결하는 문제

AeroJAX는 전산유체역학(CFD)을 배치 지향 프로세스에서 대화형 경험으로 변환합니다. 기존 CFD는 시뮬레이션을 구성하고, 완료될 때까지 실행한 후, 결과를 분석해야 합니다. AeroJAX는 사용자가 시뮬레이션을 다시 시작하지 않고도 솔버 매개변수, 경계 조건 및 형상을 실시간으로 수정할 수 있게 합니다.

작동 방식

JAX 기반으로 구축된 이 프레임워크는 종단 간 미분 가능한 파이프라인을 구현합니다. 비압축성 Navier-Stokes(유한 차분) 및 Lattice Boltzmann(D2Q9/D2Q7) 솔버를 모두 지원합니다. CPU에서 실시간 성능을 달성하기 위해 공유 메모리 제로 카피 버퍼를 사용하는 분리된 솔버, 렌더 및 메트릭 스레드를 사용합니다. 침지 경계에 Brinkman 페널티를 사용하여 사용자가 장애물을 그리거나 에어포일을 실시간으로 이동할 수 있습니다. 수치적 안정성과 정확성을 위해 다양한 이류 기법(RK2/RK3)과 압력 솔버(FFT, 켤레 기울기, 다중 격자)를 제공하며, 난류를 위한 Smagorinsky LES 모델도 제공합니다.

대상 사용자

흐름 연구, 제어 및 역설계를 위해 설계되었으며, 특히 2D 유체 시뮬레이션 프로토타입을 만들거나 CFD용 신경 연산자를 연구하는 사람들을 대상으로 합니다.

주요 기능

  • 대화형 형상: 런타임 중에 마우스로 사용자 지정 장애물을 그리거나 NACA 에어포일을 도메인 전체로 드래그할 수 있습니다.
  • 미분 가능한 솔버: JAX 네이티브 구현으로 별도의 어드조인트 솔버 없이도 기울기 기반 역설계(예: 항력을 최소화하도록 에어포일 형상 최적화)가 가능합니다.
  • 수치적 투명성: 솔버 추적 뷰어를 통해 수치 파이프라인을 단계별로 검사하고 중간 필드와 LaTeX 렌더링 방정식을 노출할 수 있습니다.
  • 신경 연산자 통합: 데이터 세트 생성, 신경 연산자 훈련, 시뮬레이션 중간에 표준 압력 솔버를 훈련된 모델로 교체하는 실험적 도구가 포함되어 있습니다.
  • 높은 CPU 성능: 실시간 사용에 최적화되어 512×96 그리드에서 노트북 CPU로 약 297 FPS에 도달합니다.

요약

실시간, JAX 네이티브 CFD 프레임워크로, 런타임 중에 흐름 매개변수와 형상을 대화형으로 수정할 수 있으며, 미분 가능한 역설계 및 신경 연산자 연구를 지원합니다.

제목

대화형, 미분 가능한 CFD 프레임워크: 실시간 흐름 연구 및 역설계용

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트