GithubHelp home page GithubHelp logo

radimir-tubs / adflow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joanibal/adflow

0.0 0.0 0.0 42.57 MB

ADflow is a finite volume RANS solver tailored for gradient-based aerodynamic design optimization.

License: Other

Makefile 2.49% Python 6.19% Fortran 85.19% C 6.08% C++ 0.04% NASL 0.01%

adflow's Introduction

ADflow

Build Status Documentation Status

ADflow is a flow solver developed by the MDO Lab at the University of Michigan. It solves the compressible Euler, laminar Navier–Stokes and Reynolds-averaged Navier–Stokes equations using structured multi-block and overset meshes. ADflow's features include the following:

  • Discrete adjoint implementation
  • "Complexified" code for complex-step derivative verification
  • Massively parallel (both CPU and memory scalable) implementation using MPI

ADflow has been used in aerodynamic, aerostructural, and aeropropulsive design optimization of aircraft configurations. Furthermore, we used ADflow to perform design optimization of hydrofoils and wind turbines.

Documentation

Please see the documentation for installation details and API documentation.

To locally build the documentation, enter the doc folder and enter make html in terminal. You can then view the built documentation in the _build folder.

Citation

Please cite ADflow in any publication for which you find it useful. The major developments in ADflow are published in the following articles:

Python API

The Python API for ADflow and its advantages are detailed in this paper.

Charles A. Mader, Gaetan K. W. Kenway, Anil Yildirim, and Joaquim R. R. A. Martins, “ADflow: An Open-Source Computational Fluid Dynamics Solver for Aerodynamic and Multidisciplinary Optimization”, Journal of Aerospace Information Systems, 2020. doi: 10.2514/1.I010796

Approximate Newton–Kyrlov Solver

The theory and implementation of the approximate Newton–Krylov (ANK) solver in ADflow is detailed in this paper.

Anil Yildirim, Gaetan K. W. Kenway, Charles A. Mader, and Joaquim R. R. A. Martins, “A Jacobian-free approximate Newton–Krylov startup strategy for RANS simulations”, Journal of Computational Physics, 397:108741, November 2019. doi: 10.1016/j.jcp.2019.06.018

Adjoint Implementation

The adjoint implementation in ADflow, along with a general approach towards adjoint methods for CFD solvers is detailed in this paper.

Gaetan K. W. Kenway, Charles A. Mader, Ping He, and Joaquim R. R. A. Martins, “Effective Adjoint Approaches for Computational Fluid Dynamics”, Progress in Aerospace Sciences, 110:100542, October 2019. doi: 10.1016/j.paerosci.2019.05.002

License

Copyright 2019 MDO Lab

Distributed using the GNU Lesser General Public License (LGPL), verstion 2.1; see the LICENSE file for details.

adflow's People

Contributors

anilyil avatar asitav avatar bbrelje avatar camader avatar daburdette avatar davidanderegg avatar denera avatar economon avatar eirikurj avatar ewu63 avatar gkenway avatar jrram avatar justinsgray avatar lambe avatar lvzhoujie avatar nbons avatar neysecco avatar shamsheersc19 avatar sichenghe avatar yqliaohk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.