Code Monkey home page Code Monkey logo

paper-self-gravitating-gas-dynamics's Introduction

A purely hyperbolic discontinuous Galerkin approach for self-gravitating gas dynamics

License: MIT DOI

Simulation of self-gravitating Sedov blast wave with adaptive mesh refinement.
Simulation of self-gravitating Sedov blast wave with adaptive mesh refinement.

This repository contains information and code to reproduce the results presented in the article

@online{schlottkelakemper2020purely,
  title={A purely hyperbolic discontinuous {G}alerkin approach for
         self-gravitating gas dynamics},
  author={Schlottke-Lakemper, Michael and Winters, Andrew R and
          Ranocha, Hendrik and Gassner, Gregor J},
  year={2020},
  month={08},
  eprint={2008.10593},
  eprinttype={arXiv},
  eprintclass={math.NA}
}

If you find these results useful, please cite the article mentioned above. If you use the implementations provided here, please also cite this repository as

@misc{schlottkelakemper2020purelyRepro,
  title={Self-gravitating gas dynamics simulations with {T}rixi.jl},
  author={Schlottke-Lakemper, Michael and Winters, Andrew R and
          Ranocha, Hendrik and Gassner, Gregor J},
  year={2020},
  month={08},
  howpublished={\url{https://github.com/trixi-framework/paper-self-gravitating-gas-dynamics}},
  doi={10.5281/zenodo.3996575}
}

Abstract

One of the challenges when simulating astrophysical flows with self-gravity is to compute the gravitational forces. In contrast to the hyperbolic hydrodynamic equations, the gravity field is described by an elliptic Poisson equation. We present a purely hyperbolic approach by reformulating the elliptic problem into a hyperbolic diffusion problem, which is solved in pseudotime using the same explicit high-order discontinuous Galerkin method we use for the flow solution. The flow and the gravity solvers operate on a joint hierarchical Cartesian mesh and are two-way coupled via the source terms. A key benefit of our approach is that it allows the reuse of existing explicit hyperbolic solvers without modifications, while retaining their advanced features such as non-conforming and solution-adaptive grids. By updating the gravitational field in each Runge-Kutta stage of the hydrodynamics solver, high-order convergence is achieved even in coupled multi-physics simulations. After verifying the expected order of convergence for single-physics and multi-physics setups, we validate our approach by a simulation of the Jeans gravitational instability. Furthermore, we demonstrate the full capabilities of our numerical framework by computing a self-gravitating Sedov blast with shock capturing in the flow solver and adaptive mesh refinement for the entire coupled system.

Numerical experiments

The numerical experiments presented in the paper use Trixi.jl, a flexible tree-based numerical simulation framework for PDEs written in Julia. To reproduce the numerical experiments, you need to install Julia. Postprocessing some numerical experiments requires Python, Paraview, and MATLAB.

The subfolders of this repository contain README.md files with instructions to reproduce the numerical experiments, including postprocessing.

The numerical experiments were carried out using Julia v1.5.0. The MATLAB scripts were executed using MATLAB R2018a.

Authors

Disclaimer

Everything is provided as is and without warranty. Use at your own risk!

paper-self-gravitating-gas-dynamics's People

Contributors

ranocha avatar sloede avatar andrewwinters5000 avatar

Watchers

James Cloos avatar  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.