Commit cfd920fe authored by Johannes Blaschke's avatar Johannes Blaschke
Browse files

Merge branch 'master' of https://github.com/AMReX-Codes/MFIX-Exa

parents fa46aff8 eaf87826
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
# MFIX-Exa
This is the public face of the MFiX-Exa project.

The code for now lives at NETL; instructions for how to get access to the code will be given below.
The code for now lives at NETL; instructions for how to get access to the code
will be given below.

This repo is designed to host the documentation, gallery of results, etc.

## Editing

Do not push any edits to the `gh-pages` branch as these will be overwritten.
Instead, commit your changes to the `master` branch, and the `gh-pages` branch
will be updated automatially a few minutes later. The documentation source is
in `docs/source/` and the html source for the cover page is in `docs/webroot/`.
+23 −0
Original line number Diff line number Diff line
.. role:: cpp(code)
   :language: c++


.. _sec:particle-basics:

Particle Basics
===============

In MFiXi-Exa, particles are managed by the :cpp:`MFIXParticleContainer` class.
This class is derived from AMReX's :cpp:`NeighbourParticleContainer` and
handles all of the particle data. Most importantly,
:cpp:`MFIXParticleContainer` also provides the functions for solving the
particle dynamics (based on particle-particle, particle-fluid, and
particle-wall forces). Most importantly, :cpp:`MFIXParticleContainer` also
provides the functions for solving the particle dynamics (based on
particle-particle, particle-fluid, and particle-wall forces).


Particle Dynamics
-----------------

+29 −0
Original line number Diff line number Diff line
.. role:: cpp(code)
   :language: c++


.. _sec:particle-fluid:

Particle/Fluid Interactions
===========================

A standard :cpp:`mfix_level::Evolve` step looks like this (for brevity, we are
omitting some details here):

.. highlight:: c++

::

    // Calculate particle volume fraction:
    mfix_calc_volume_fraction(lev, sum_vol)

    // Eolve fluid
    if ( use_proj_method )
        EvolveFluidProjection(lev, nstep, dt, ...)
    else
        EvolveFluidSimple(lev, nstep, dt, ...)

    // Apply fluid drag force on particles
    mfix_calc_drag_particle(lev)

    // Move particles (using forces acting on particles)
    pc -> EvolveParticles(lev, nstep, dt ...)

Here, ``lev`` represents the AMR level, and ``pc`` is a pointer to a
:cpp:`MFIXParticleContainer` instance.
+4 −0
Original line number Diff line number Diff line
Particle/Wall Interactions
==========================

+20 −0
Original line number Diff line number Diff line
Particles
=========

MFiX-Exa supports solid particles which are immersed in the fluid. In the
future particles can be implemented using the immersed-boundary method (and
hence these IBM-particles can support non-spherical shapes, and special
hydrodynamical and chemical interactions). But for now, particles are
spherical, with approximate fluid-particle interactions. The main consequence
of this approximation is that particles should not be bigger than the fluid
grid resolution.

Particles interact with container walls (implemented using AMReX's
Embedded-Boundary functionality) using a level-set constructed from the signed
closest distance function at the beginning of the simulation.

Refer to the subsequent sections for details on the implementation of the
particle-particle, particle-fluid, and particle-wall interactions.


.. toctree::
   :maxdepth: 1
   :caption: Contents:

   ParticleBasics
   ParticleFuild
   ParticleWalls


Loading