diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 00000000..517a6493 --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,38 @@ +name: Build and Deploy +on: + push: + paths: + - 'Docs/IAMReX_documentation/source/**' + - '.github/workflows/docs.yaml' + +concurrency: + group: ${{ github.head_ref }}-docs + cancel-in-progress: true + +jobs: + build-and-deploy: + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Dependencies + run: | + echo "Installing python packages for docs..." + python3 -m pip install --upgrade pip + python3 -m pip install sphinx sphinx_rtd_theme breathe sphinxcontrib.bibtex docutils + + - name: Install and Build + run: | + echo "Build the Sphinx documentation for IAMR." + make html + + - name: Deploy + if: github.event_name == 'push' && github.repository == 'ruohai0925/IAMReX' && github.ref == 'refs/heads/development' + uses: JamesIves/github-pages-deploy-action@v4 + with: + ssh-key: ${{ secrets.DEPLOY_KEY }} # repo secrets env + branch: gh-pages # The branch the action should deploy to. + folder: build/html # The folder the action should deploy. + target-folder: docs # The folder the action should deploy to. + clean: false # Do not remove existing files from the deploy target. diff --git a/Docs/IAMReX_documentation/Makefile b/Docs/IAMReX_documentation/Makefile new file mode 100644 index 00000000..d0c3cbf1 --- /dev/null +++ b/Docs/IAMReX_documentation/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/Docs/IAMReX_documentation/make.bat b/Docs/IAMReX_documentation/make.bat new file mode 100644 index 00000000..dc1312ab --- /dev/null +++ b/Docs/IAMReX_documentation/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/Docs/IAMReX_documentation/source/Acknowledgements.rst b/Docs/IAMReX_documentation/source/Acknowledgements.rst new file mode 100644 index 00000000..173dd833 --- /dev/null +++ b/Docs/IAMReX_documentation/source/Acknowledgements.rst @@ -0,0 +1,6 @@ +.. _Chap:Acknowledgements: + +Acknowledgements +================= + +We are grateful to Ann Almgren, Andy Nonaka, Andrew Myers, Axel Huebl, and Weiqun Zhang in the Lawrence Berkeley National Laboratory (LBNL) for their discussions related to `AMReX `_ and `IAMR `_. Y.Z. and Z.Z. also thank Prof. Lian Shen, Prof. Ruifeng Hu, and Prof. Xiaojing Zheng during their Ph.D. studies. \ No newline at end of file diff --git a/Docs/IAMReX_documentation/source/GettingStarted/IAMR_LSAMR.png b/Docs/IAMReX_documentation/source/GettingStarted/IAMR_LSAMR.png new file mode 100644 index 00000000..1b88d048 Binary files /dev/null and b/Docs/IAMReX_documentation/source/GettingStarted/IAMR_LSAMR.png differ diff --git a/Docs/IAMReX_documentation/source/GettingStarted/Monodisperse.png b/Docs/IAMReX_documentation/source/GettingStarted/Monodisperse.png new file mode 100644 index 00000000..36271e7f Binary files /dev/null and b/Docs/IAMReX_documentation/source/GettingStarted/Monodisperse.png differ diff --git a/Docs/IAMReX_documentation/source/GettingStarted/RSV.jpeg b/Docs/IAMReX_documentation/source/GettingStarted/RSV.jpeg new file mode 100644 index 00000000..a4d9da28 Binary files /dev/null and b/Docs/IAMReX_documentation/source/GettingStarted/RSV.jpeg differ diff --git a/Docs/IAMReX_documentation/source/GettingStarted/RT_tip.png b/Docs/IAMReX_documentation/source/GettingStarted/RT_tip.png new file mode 100644 index 00000000..6c559b90 Binary files /dev/null and b/Docs/IAMReX_documentation/source/GettingStarted/RT_tip.png differ diff --git a/Docs/IAMReX_documentation/source/Getting_Started.rst b/Docs/IAMReX_documentation/source/Getting_Started.rst new file mode 100644 index 00000000..d943fa5b --- /dev/null +++ b/Docs/IAMReX_documentation/source/Getting_Started.rst @@ -0,0 +1,443 @@ +.. _Chap:GettingStarted: + +Getting Started +=============== +This section walks you through a brief introduction to using IAMReX. + + +Downloading the code +-------------------- +IAMReX is built on top of the AMReX framework. In order to run +IAMReX, you must download separate git modules for IAMReX, AMReX +and AMReX-Hydro. + +First, make sure that git is installed on your machine. + +#. Download the AMReX repository by typing: + + .. code:: shell + + git clone https://github.com/ruohai0925/amrex.git + + This will create a folder called ``amrex/`` on your machine. + +#. Download the AMReX-Hydro repository by typing: + + .. code:: shell + + git clone https://github.com/ruohai0925/AMReX-Hydro.git + + This will create a folder called ``AMReX-Hydro/`` on your machine. + +#. Download the IAMReX repository by typing: + + .. code:: shell + + git clone https://github.com/ruohai0925/IAMReX.git + + This will create a folder called ``IAMReX/`` on your machine. + +After cloning, one will have three folder in your current directory: ``AMReX``, ``AMReX-Hydro``, ``IAMReX``. + + +Building the code +----------------- + +We recommend using the GNU compiler to compile the program on the Linux platform. The compilation process requires preparing a make file, which you can find in the example folder under Tutorials. It is strongly recommended to use the GNUmakefile prepared in advance by the example. If you want to know more about the configuration information of the compilation parameters, you can check it in the `AMReX building `_. + +For example, if we want to compile in the ``FlowPastSphere``, refer to the following steps: + +#. cd to the FlowPastSphere directory + + .. code:: shell + + cd IAMReX/Tutorials/FlowPastSphere + +#. Modify compilation parameters in GNUmakefile. + + The compilation parameters depend on your computing platform. If you use MPI to run your program, then set USE_MPI = TRUE. If you are running the program with Nvidia GPU(CUDA), then set USE_CUDA = TRUE. When using GPU runtime, please make sure your CUDA environment is ok. + +#. Compile + + With the above settings, you can compile the program: + + .. code:: shell + + make + + You can add parameters after make, such as -f your_make_file to customize your parameter file, and -j 8 to specify 8 threads to participate in the compilation. + +If the compilation is successful, an executable file will be generated. Usually the executable file is named in the following format:amr[DIM].[Compiler manufacturers].[computing platform].[is Debug].ex. The executable file name of the Release version of the three-dimensional compiled using the GNU compiler in the MPI environment is: amr3d.GNU.MPI.ex. + + +Running the code +---------------- +You should takes an input file as its first command-line argument. The file may contain a set of parameter definitions that will overrides defaults set in the code. In the ``FlowPastSphere``, you can find a file named ``inputs.3d.flow_past_sphere``, run: + + .. code:: shell + + ./amr3d.GNU.MPI.ex inputs.3d.flow_past_sphere + +If you use ``MPI`` to run your program, you can type: + + .. code:: shell + + mpirun -np how_many_threads amr3d.GNU.MPI.ex inputs.3d.flow_past_sphere + +This code typically generates subfolders in the current folder that are named ``plt00000``, ``plt00010``, etc, and ``chk00000``, ``chk00010``, etc. These are called plotfiles and checkpoint files. The plotfiles are used for visualization of derived fields; the checkpoint files are used for restarting the code. + + +Key parameters +--------------- + +.. tip:: + you can find more parameters in `IAMR guide `_. + +.. list-table:: NavierStokes parameters + :widths: 40 100 20 20 + :header-rows: 1 + + * - + - Description + - Type + - Default + * - do_diffused_ib + - enable IBM + - Int + - 0 + * - fluid_rho + - density of fluid + - Real + - 1.0 + +The above parameters are designed for the immersed boundary (IB) method. Additionally, the ``particle.input`` flag (such as ``particle_inputs``) must be specified to define IB-related parameters. The program will query these parameters through this flag. The specific parameters include the following: + +.. list-table:: DiffusedIB parameters + :widths: 40 100 20 20 + :header-rows: 1 + + * - + - Description + - Type + - Default + * - x + - particle x position + - Real Array + - 0.0 + * - y + - particle y position + - Real Array + - 0.0 + * - z + - particle z position + - Real Array + - 0.0 + * - rho + - density of particles + - Real Array + - 1.0 + * - radius + - radius of particles + - Real Array + - 0.0 + * - velocity_x + - The initial velocity of the particles in the x direction + - Real Array + - 0.0 + * - velocity_y + - The initial velocity of the particles in the y direction + - Real Array + - 0.0 + * - velocity_z + - The initial velocity of the particles in the z direction + - Real Array + - 0.0 + * - omega_x + - The initial angular velocity of the particle around the x-axis + - Real Array + - 0.0 + * - omega_y + - The initial angular velocity of the particle around the y-axis + - Real Array + - 0.0 + * - omega_z + - The initial angular velocity of the particle around the z-axis + - Real Array + - 0.0 + * - TLX + - Particle freedom in x-direction + - Int Array + - 0 + * - TLY + - Particle freedom in y-direction + - Int Array + - 0 + * - TLZ + - Particle freedom in z-direction + - Int Array + - 0 + * - RLX + - Particle rotation about x-axis + - Int Array + - 0 + * - RLY + - Particle rotation about y-axis + - Int Array + - 0 + * - RLZ + - Particle rotation about z-axis + - Int Array + - 0 + * - RD + - particle retraction distance + - Real + - 0.0 + * - write_freq + - How many steps to export the particle information + - Int + - 1 + * - LOOP_NS + - Ns loop time + - Int + - 2 + * - LOOP_SOLID + - particle update steps + - Int + - 1 + * - start_step + - How much steps does it take for the particles to move + - Int + - -1 + * - collision_model + - particle collision model + - Int + - 1.0 + * - verbose + - Whether to output debug information + - Int + - 0 + * - init + - particle init file path + - file path + - + +Among the above parameters, array-type parameters are used to specify parameters for multiple particles individually, or define particle positions via an init file (e.g., a precomputed position data file). +If particle positions are provided through an external file, other array-type parameters only need to provide a single value, which will be applied to all particles uniformly. + +example inputs file as blow : + +:: + + #******************************************************************************* + # INPUTS.3D.FLOW_PAST_SPHERE + #******************************************************************************* + + #NOTE: You may set *either* max_step or stop_time, or you may set them both. + + # Maximum number of coarse grid timesteps to be taken, if stop_time is + # not reached first. + max_step = 2 + + # Time at which calculation stops, if max_step is not reached first. + stop_time = 100.0 + + ns.fixed_dt = 0.01 + ns.cfl = 0.3 + ns.init_iter = 0 + + # Diffused IB input file + particle.input = particle_inputs + + # Refinement criterion, use vorticity and presence of tracer + amr.refinement_indicators = tracer + + amr.max_level = 0 # maximum number of levels of refinement + # amr.tracer.value_greater = 0.1 + # amr.tracer.value_less = 1.1 + amr.tracer.field_name = tracer + amr.tracer.in_box_lo = 0.5 0.5 0.5 + amr.tracer.in_box_hi = 1.5 1.5 1.5 + + amr.blocking_factor = 8 + + #******************************************************************************* + + # Number of cells in each coordinate direction at the coarsest level + # amr.n_cell = 16 8 8 + amr.n_cell = 256 128 128 + # amr.n_cell = 288 128 128 + amr.max_grid_size = 16 + # amr.max_grid_size = 32 + + #******************************************************************************* + + # Interval (in number of level l timesteps) between regridding + amr.regrid_int = 1 # regrid_int + + #******************************************************************************* + + # Refinement ratio as a function of level + amr.ref_ratio = 2 2 2 2 + + #******************************************************************************* + + # Sets the "NavierStokes" code to be verbose + ns.v = 1 + nodal_proj.verbose = 1 + mac_proj.verbose = 1 + + # mac_proj.mac_tol = 0.1 + # mac_proj.mac_abs_tol = 0.1 + + #******************************************************************************* + + # Sets the "amr" code to be verbose + amr.v = 1 + + #******************************************************************************* + + # Interval (in number of coarse timesteps) between checkpoint(restart) files + + amr.check_int = 4000 + + #amr.restart = chk01400 + + #******************************************************************************* + + # Interval (in number of coarse timesteps) between plot files + amr.plot_int = 1 + + + #******************************************************************************* + + # Viscosity coefficient + ns.vel_visc_coef = 0.01 + + #******************************************************************************* + + # Diffusion coefficient for first scalar + ns.scal_diff_coefs = 0.0 + + #******************************************************************************* + + # Forcing term defaults to rho * abs(gravity) "down" + ns.gravity = 0.0 # -9.8 + + #******************************************************************************* + + # skip level_projector + ns.skip_level_projector = 0 + + #******************************************************************************* + + # subcycling vs. non-subcycling + amr.subcycling_mode = None + + #******************************************************************************* + + # Set to 0 if x-y coordinate system, set to 1 if r-z. + geometry.coord_sys = 0 + + #******************************************************************************* + + # Physical dimensions of the low end of the domain. + geometry.prob_lo = 0. 0. 0. + + # Physical dimensions of the high end of the domain. + geometry.prob_hi = 20. 10. 10. + + #******************************************************************************* + + #Set to 1 if periodic in that direction + geometry.is_periodic = 0 1 1 + + #******************************************************************************* + + # Boundary conditions on the low end of the domain. + ns.lo_bc = 1 0 0 + + # Boundary conditions on the high end of the domain. + ns.hi_bc = 2 0 0 + + # 0 = Interior/Periodic 3 = Symmetry + # 1 = Inflow 4 = SlipWall + # 2 = Outflow 5 = NoSlipWall + + # Boundary condition + xlo.velocity = 1. 0. 0. + + #******************************************************************************* + + # Problem parameters + prob.probtype = 1 + + #******************************************************************************* + + # Add vorticity to the variables in the plot files. + # amr.derive_plot_vars = avg_pressure + + #******************************************************************************* + ns.isolver = 1 + ns.do_diffused_ib = 1 + ns.fluid_rho = 1.0 + + #ns.sum_interval = 1 + + particles.do_nspc_particles = 0 + + nodal_proj.proj_tol = 1.e-8 + nodal_proj.proj_abs_tol = 1.e-9 + + nodal_proj.maxiter = 200 + nodal_proj.bottom_maxiter = 200 + + mac_proj.mac_tol = 1.e-8 + mac_proj.mac_abs_tol = 1.e-9 + + + ############################ + # # + # Diffused IB cfg file # + # # + ############################ + + # particle's location + # x = p1x p2x p3x ... + particle_inputs.x = 5.0 + particle_inputs.y = 5.0 + particle_inputs.z = 5.0 + + # particle's density + # rho = p1r p2r p3r ... + particle_inputs.rho = 1.0 + + # particle's radius + # single + particle_inputs.radius = 0.5 + + # particle's velocity + # vx = p1vx p2vx p3vx ... + particle_inputs.velocity_x = 0.0 + particle_inputs.velocity_y = 0.0 + particle_inputs.velocity_z = 0.0 + + # particle's omega + # omega = p1omega_x p2omega_x p3omega_x ... + particle_inputs.omega_x = 0.0 + particle_inputs.omega_y = 0.0 + particle_inputs.omega_z = 0.0 + + # particle's 6DOF + # TLX = p1tl p2tl ... + particle_inputs.TLX = 0 + particle_inputs.TLY = 0 + particle_inputs.TLZ = 0 + particle_inputs.RLX = 0 + particle_inputs.RLY = 0 + particle_inputs.RLZ = 0 + + + # msg print + particle_inputs.verbose = 1 + +If you want to know more about the parameters, you can check the `AMReX `_. \ No newline at end of file diff --git a/Docs/IAMReX_documentation/source/Introduction_Chapter.rst b/Docs/IAMReX_documentation/source/Introduction_Chapter.rst new file mode 100644 index 00000000..7e1684c7 --- /dev/null +++ b/Docs/IAMReX_documentation/source/Introduction_Chapter.rst @@ -0,0 +1,46 @@ +Introduction +=================== + +This IAMReX repo extends the capability of original `IAMR `_ codes, aiming at simulating the multiphase incompressible flows and fluid structure interaction problems on both CPUs and GPUs with/without subcycling. The Navier-Stokes euqations are solved on an adaptive semi-staggered grid using the projection method. The gas-liquid interface is captured using the level set (LS) method. The fluid-solid interface is resolved using the multidirect forcing immersed boundary method (IBM). The particle-wall as well as the particle-particle collisions are also captured by the adaptive collision time model (ACTM). + + +Features +------------------ + +Key software and algorithmic features of IAMR include: + +* LS method and reinitialization schemes + +* Multidirect forcing Immersed Boundary Method + +* Particle Collision Algorithms with Discrete Element Method + +Figures +------------------ + +.. figure:: ./GettingStarted/RSV.jpeg + :align: center + :alt: Profiles of drop interface in the RSV problem at t/T=1 after one rotation. Black line: Analytical Solution; Red line: 64*64; Blue line: 128*128; Green line: 256*256 + :width: 5.00000in + + Profiles of drop interface in the RSV problem at t/T=1 after one rotation. Black line: Analytical Solution; Red line: 64*64; Blue line: 128*128; Green line: 256*256 + +.. figure:: ./GettingStarted/IAMR_LSAMR.png + :align: center + :alt: (a) Density profile at t/T=2.42 using LS method. (b) Density profile at t/T=2.42 using IAMR convective scheme. + :width: 5.00000in + + Density profile: a. Density profile at t/T=2.42 using LS method. b. Density profile at t/T=2.42 using IAMR convective scheme. + +.. figure:: ./GettingStarted/RT_tip.png + :align: center + :alt: Comparison of the tip locations of the falling fluid and the rising fluid. + :width: 5.00000in + + Comparison of the tip locations of the falling fluid and the rising fluid. + +.. figure:: ./GettingStarted/Monodisperse.png + :align: center + :width: 5.00000in + + Contours of velocity magnitude in yz plane diff --git a/Docs/IAMReX_documentation/source/Results.rst b/Docs/IAMReX_documentation/source/Results.rst new file mode 100644 index 00000000..b6dde6b4 --- /dev/null +++ b/Docs/IAMReX_documentation/source/Results.rst @@ -0,0 +1,80 @@ +.. _Chap:Results: + +Validation Cases +================ + +Flow Past Fixed Sphere +---------------------- + +.. Figure:: ./Results/FlowPastSphere.png + :align: center + :width: 5.0in + + The schematic of the flow passing through the spherical particles + +we validate the accuracy and efficacy of our adaptive solver by simulating a spherical particle in uniform flow with different particle Reynolds numbers. The diameter of the particle is :math:`D_p = 1`, the computational domain is :math:`L_x \times L_y \times L_z = 20D_p \times 10D_p \times 10D_p`, the distance of the particle from the inlet is :math:`d = 5D_p` and located in the center of the yz plane. The inlet and outlet boundaries are applied in the x direction and the inlet velocity :math:`U` is :math:`1m/s`. Both y and z directions are periodic boundaries. + +The influence of AMR on the simulation results is investigated by using the subcycling method with different levels. As shown in Fig. + +.. Figure:: ./Results/FlowPastSphereResult.png + :align: center + :width: 5.0in + + The drag coefficient of the particle under uniform flows varies with Particle Reynolds number at different AMR levels. + +Three different types of grid were selected: level 0 indicates the single-level grid containing no AMR, level 1 indicates the two-level grid, and level 2 indicates the three-level grid. For all three types of grid, the ratio of the diameter of the particles to the grid spacing on the finest level is 16. The drag force, including the contributions of Lagrangian force and the PVF function, is calculated by + +.. math:: + \mathbf{F}_D=-\rho_f \sum_{l=1}^{N_L} \mathbf{F}_l^{n+1/2} \Delta V_l+\rho_f \frac{d}{d t}\left(\int_{V_p} \mathbf{u} d V\right), + +The theoretical S-N law for calculating the drag coefficient of the shaped particles is + +.. math:: + C_D = (24/Re_p)(1+0.15Re_p^{0.687}), + +which is proposed by schiller etal, and :math:`Re_p = UD_p/\nu` represents the particle Reynolds number. It can be seen from above Fig that the present results under different particle Reynolds numbers are in good agreement with S-N law. The fact that different levels of grid produce the nearly identical results validated the accuracy of our solver on the adaptive grid. + + +Cluster of monodisperse particles +--------------------------------- + +We demonstrate the accuracy and efficacy of our codes for simulating clusters of particles on the multi-level grid. As shown in Fig + +.. figure:: ./Results/MonodisperseParticlesAMR.png + :align: center + :width: 7.0in + + Monodisperse particles on a three-level AMR grid + +80 particles of diameter :math:`D = 1` are randomly distributed in a channel of size :math:`L_x\times L_y \times L_z = 10\times 20 \times 10`. To choose an optimal interaction number :math:`N_s` in this complex configuration, the maximum error of the no-slip boundary condition among 80 particles is tested with a unit flow field :math:`u=(1,0,0)`.the maximum error of no-slip condition decreases as :math:`N_s` increases and it is strongly reduced for :math:`N_s=2`. According to the selection suggestions provided by Breugem etal, :math:`N_s=2` is the optimal value for balancing the accuracy of the no-slip boundary and the computational efficiency. After determining :math:`N_s`, the fluid flow is driven by applying a pressure gradient of 1.0 in the z direction. This case can represent a porous medium with a volume fraction of 0.02. Three levels of the AMR grid is applied. The grid resolution on the finest level is :math:`d/h=16`. Since the multi-direct forcing immersed boundary method and fictitious domain method require cube grid cells, the grid cell requirement is equals to case 1 in Table. + + +------+---------+---------+---------+-------------+ + | case | level 0 | level 1 | level 2 | Total cells | + +======+=========+=========+=========+=============+ + | 1 | 8192000 | | | 8192000 | + +------+---------+---------+---------+-------------+ + | 2 | 128000 | 534656 | 1593664 | 2256320 | + +------+---------+---------+---------+-------------+ + +Compared with them, our algorithm has a 72.5% grid reduction with :math:`d/h=16`. And it has a 62.5% Lagrangian markers reduction compared with the DLM method with :math:`d/h=16`. + +When the simulation reaches the steady state, the total pressure drop balances the IB force generated by all particles in the streamwise z direction. Following the equation in akiki etal, the theoretical drag force is given by + +.. math:: + F_{theory} = (\frac{\Delta p}{\Delta z}L_z)L_xL_y + +Fig represents the velocity contour of three different interfaces in the x direction at the steady state. + +.. figure:: ./Results/MonodispersSliceResult.png + :align: center + :width: 5.0in + + Contours of velocity magnitude in :math:`yz` plane at the different x position: (a) x=2.5; (b) x=5.0; (c) x=7.5 + +The flow passes around the particles and generates the wakes behind. Fig. shows the time series of total IB force for all particles. The resistance gradually reaches a steady state after 40000 steps. In this case, the theoretical value of drag force given by :math:`F_{theory}` is 2000, while the present average values at steady state with :math:`N_s=2` and 4 are all converged around 2000. It indicates that :math:`N_s=2` is sufficient for this case. And the agreement between theory and present results validates the accuracy of our proposed framework in dealing with large amounts of particles in the fluid system. + +.. figure:: ./Results/MonodispersPDrop.png + :align: center + :width: 5.0in + + Comparison of total drag force between the theory and present results with different :math:`N_s=2` diff --git a/Docs/IAMReX_documentation/source/Results/FlowPastSphere.png b/Docs/IAMReX_documentation/source/Results/FlowPastSphere.png new file mode 100644 index 00000000..c30fd31d Binary files /dev/null and b/Docs/IAMReX_documentation/source/Results/FlowPastSphere.png differ diff --git a/Docs/IAMReX_documentation/source/Results/FlowPastSphereResult.png b/Docs/IAMReX_documentation/source/Results/FlowPastSphereResult.png new file mode 100644 index 00000000..759f349f Binary files /dev/null and b/Docs/IAMReX_documentation/source/Results/FlowPastSphereResult.png differ diff --git a/Docs/IAMReX_documentation/source/Results/MonodispersPDrop.png b/Docs/IAMReX_documentation/source/Results/MonodispersPDrop.png new file mode 100644 index 00000000..5cb1c7b9 Binary files /dev/null and b/Docs/IAMReX_documentation/source/Results/MonodispersPDrop.png differ diff --git a/Docs/IAMReX_documentation/source/Results/MonodispersSliceResult.png b/Docs/IAMReX_documentation/source/Results/MonodispersSliceResult.png new file mode 100644 index 00000000..95c494a0 Binary files /dev/null and b/Docs/IAMReX_documentation/source/Results/MonodispersSliceResult.png differ diff --git a/Docs/IAMReX_documentation/source/Results/MonodisperseParticlesAMR.png b/Docs/IAMReX_documentation/source/Results/MonodisperseParticlesAMR.png new file mode 100644 index 00000000..a11267a2 Binary files /dev/null and b/Docs/IAMReX_documentation/source/Results/MonodisperseParticlesAMR.png differ diff --git a/Docs/IAMReX_documentation/source/conf.py b/Docs/IAMReX_documentation/source/conf.py new file mode 100644 index 00000000..f82c22b4 --- /dev/null +++ b/Docs/IAMReX_documentation/source/conf.py @@ -0,0 +1,43 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +import sphinx_rtd_theme + +project = 'IAMReX' +copyright = '2025, IAMReX' +author = 'YD Z' +release = '0.1.0' + +bibtex_bibfiles = ["refs.bib"] +source_suffix = { + '.rst': 'restructuredtext', + '.txt': 'markdown', + '.md': 'markdown', +} +main_doc = 'index' + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = ['sphinx.ext.mathjax', + 'sphinxcontrib.bibtex', + 'sphinx.ext.githubpages', + 'sphinx.ext.viewcode', + 'sphinx.ext.intersphinx', + 'sphinx.ext.autosectionlabel' + ] + +templates_path = ['_templates'] +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'sphinx_rtd_theme' +html_static_path = ['_static'] diff --git a/Docs/IAMReX_documentation/source/index.rst b/Docs/IAMReX_documentation/source/index.rst new file mode 100644 index 00000000..6fd5d678 --- /dev/null +++ b/Docs/IAMReX_documentation/source/index.rst @@ -0,0 +1,23 @@ +.. IAMReX documentation master file, created by + sphinx-quickstart on Sun Apr 27 13:57:52 2025. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +IAMReX documentation +==================== + +This IAMReX repo extends the capability of original `IAMR `_ codes, aiming at simulating the multiphase incompressible flows and fluid structure interaction problems on both CPUs and GPUs with/without subcycling. The Navier-Stokes euqations are solved on an adaptive semi-staggered grid using the projection method. The gas-liquid interface is captured using the level set (LS) method. The fluid-solid interface is resolved using the multidirect forcing immersed boundary method (IBM). The particle-wall as well as the particle-particle collisions are also captured by the adaptive collision time model (ACTM). + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + Introduction_Chapter + Getting_Started + Results + Acknowledgements + +.. toctree:: + :caption: References: + + references diff --git a/Docs/IAMReX_documentation/source/references.rst b/Docs/IAMReX_documentation/source/references.rst new file mode 100644 index 00000000..df8273ba --- /dev/null +++ b/Docs/IAMReX_documentation/source/references.rst @@ -0,0 +1,7 @@ +********** +References +********** + +.. bibliography:: refs.bib + :style: unsrt + :all: \ No newline at end of file diff --git a/Docs/IAMReX_documentation/source/refs.bib b/Docs/IAMReX_documentation/source/refs.bib new file mode 100644 index 00000000..76327c49 --- /dev/null +++ b/Docs/IAMReX_documentation/source/refs.bib @@ -0,0 +1,1437 @@ +@article{uhlmann2005immersed, + title={An immersed boundary method with direct forcing for the simulation of particulate flows}, + author={Uhlmann, Markus}, + journal={Journal of Computational Physics}, + volume={209}, + number={2}, + pages={448--476}, + year={2005}, + publisher={Elsevier} +} + +@article{sussman2000coupled, + title={{A coupled level set and volume-of-fluid method for computing 3D and axisymmetric incompressible two-phase flows}}, + author={Sussman, Mark and Puckett, Elbridge Gerry}, + journal={Journal of Computational Physics}, + volume={162}, + number={2}, + pages={301--337}, + year={2000}, + publisher={Elsevier} +} + +@inproceedings{natarajan2019actuator, + title={Actuator-line simulations of wind turbines with block-structured adaptive mesh refinement}, + author={Natarajan, Mahesh and Sitaraman, Hariswaran and Ananthan, Shreyas and Alan Sprague, Michael}, + booktitle={APS Division of Fluid Dynamics Meeting Abstracts}, + pages={C09--008}, + year={2019} +} + +@article{zeng2022subcycling, + title={A subcycling/non-subcycling time advancement scheme-based DLM immersed boundary method framework for solving single and multiphase fluid--structure interaction problems on dynamically adaptive grids}, + author={Zeng, Yadong and Bhalla, Amneet Pal Singh and Shen, Lian}, + journal={Computers \& Fluids}, + volume={238}, + pages={105358}, + year={2022}, + publisher={Elsevier} +} + +@article{zeng2023consistent, + title={{A consistent adaptive level set framework for incompressible two-phase flows with high density ratios and high Reynolds numbers}}, + author={Zeng, Yadong and Liu, Han and Gao, Qiang and Almgren, Ann and Bhalla, Amneet Pal Singh and Shen, Lian}, + journal={Journal of Computational Physics}, + volume={478}, + pages={111971}, + year={2023}, + publisher={Elsevier} +} + +@phdthesis{zeng2022numerical, + title={Numerical Simulations of the Two-phase flow and Fluid-Structure Interaction Problems with Adaptive Mesh Refinement}, + author={Zeng, Yadong}, + year={2022}, + school={University of Minnesota} +} + +@article{zhang2021amrex, + title={AMReX: Block-structured adaptive mesh refinement for multiphysics applications}, + author={Zhang, Weiqun and Myers, Andrew and Gott, Kevin and Almgren, Ann and Bell, John}, + journal={The International Journal of High Performance Computing Applications}, + volume={35}, + number={6}, + pages={508--526}, + year={2021}, + publisher={SAGE Publications Sage UK: London, England} +} + +@inproceedings{zeng2021subcycling, + title={A subcycling/non-subcycling time advancement scheme-based sharp-interface immersed boundary method framework for solving fluid-structure interaction problems on dynamically adaptive grids}, + author={Zeng, Yadong and Bhalla, Amneet Pal and He, Sida and Shen, Lian}, + booktitle={APS Division of Fluid Dynamics Meeting Abstracts}, + pages={F26--004}, + year={2021} +} + +@article{song2016hydrodynamic, + title={Hydrodynamic forces and coefficients on flexible risers undergoing vortex-induced vibrations in uniform flow}, + author={Song, Leijian and Fu, Shixiao and Zeng, Yadong and Chen, Yifan}, + journal={Journal of Waterway, Port, Coastal, and Ocean Engineering}, + volume={142}, + number={4}, + pages={04016001}, + year={2016}, + publisher={American Society of Civil Engineers} +} + +@book{faltinsen1993sea, + title={Sea loads on ships and offshore structures}, + author={Faltinsen, Odd}, + Volume={1}, + year={1993}, + publisher={Cambridge university press} +} + +@article{kolahdouz2020immersed, + title={An immersed interface method for discrete surfaces}, + author={Kolahdouz, Ebrahim M and Bhalla, Amneet Pal Singh and Craven, Brent A and Griffith, Boyce E}, + journal={Journal of Computational Physics}, + volume={400}, + pages={108854}, + year={2020}, + publisher={Elsevier} +} + +@article{zhang2004airflow, + title={Airflow structures and nano-particle deposition in a human upper airway model}, + author={Zhang, Z and Kleinstreuer, C}, + journal={Journal of Computational Physics}, + volume={198}, + number={1}, + pages={178--210}, + year={2004}, + publisher={Elsevier} +} + +@article{zeng2022aparallel, + title={A parallel cell-centered adaptive level set framework for efficient simulation of two-phase flows with subcycling and non-subcycling}, + author={Zeng, Yadong and Xuan, Anqing and Blaschke, Johannes and Shen, Lian}, + journal={Journal of Computational Physics}, + volume={448}, + pages={110740}, + year={2022}, + publisher={Elsevier} +} + +@article{zhang2019amrex, + title={{AMReX: a framework for block-structured adaptive mesh refinement}}, + author={Zhang, Weiqun and Almgren, Ann and Beckner, Vince and Bell, John and Blaschke, Johannes and Chan, Cy and Day, Marcus and Friesen, Brian and Gott, Kevin and Graves, Daniel and others}, + journal={Journal of Open Source Software}, + volume={4}, + number={37}, + year={2019}, + publisher={Lawrence Berkeley National Lab.(LBNL), Berkeley, CA (United States)} +} + +@article{almgren1998conservative, + title={{A conservative adaptive projection method for the variable density incompressible Navier--Stokes equations}}, + author={Almgren, Ann S and Bell, John B and Colella, Phillip and Howell, Louis H and Welcome, Michael L}, + journal={Journal of Computational Physics}, + volume={142}, + number={1}, + pages={1--46}, + year={1998}, + publisher={Elsevier} +} + +@article{bhalla2013unified, + title={{A unified mathematical framework and an adaptive numerical method for fluid--structure interaction with rigid, deforming, and elastic bodies}}, + author={Bhalla, Amneet Pal Singh and Bale, Rahul and Griffith, Boyce E and Patankar, Neelesh A}, + journal={Journal of Computational Physics}, + volume={250}, + pages={446--476}, + year={2013}, + publisher={Elsevier} +} + +@article{popinet2003gerris, + title={{Gerris: a tree-based adaptive solver for the incompressible Euler equations in complex geometries}}, + author={Popinet, St{\'e}phane}, + journal={Journal of Computational Physics}, + volume={190}, + number={2}, + pages={572--600}, + year={2003}, + publisher={Elsevier} +} + +@article{popinet2009accurate, + title={{An accurate adaptive solver for surface-tension-driven interfacial flows}}, + author={Popinet, St{\'e}phane}, + journal={Journal of Computational Physics}, + volume={228}, + number={16}, + pages={5838--5866}, + year={2009}, + publisher={Elsevier} +} + +@article{martin2000cell, + title={{A cell-centered adaptive projection method for the incompressible Euler equations}}, + author={Martin, Daniel F and Colella, Phillip}, + journal={Journal of Computational Physics}, + volume={163}, + number={2}, + pages={271--312}, + year={2000}, + publisher={Elsevier} +} + +@article{martin2008cell, + title={{A cell-centered adaptive projection method for the incompressible Navier--Stokes equations in three dimensions}}, + author={Martin, Daniel F and Colella, Phillip and Graves, Daniel}, + journal={Journal of Computational Physics}, + volume={227}, + number={3}, + pages={1863--1886}, + year={2008}, + publisher={Elsevier} +} + +@inproceedings{balaras2009adaptive, + title={Adaptive mesh refinement strategies for immersed boundary methods}, + author={Balaras, Elias and Vanella, Marcos}, + booktitle={47th AIAA aerospace sciences meeting including the new horizons forum and aerospace exposition}, + pages={162}, + year={2009} +} + +@article{yadong2020osm, + title={Modelling Wave Energy Converter (WEC) pointer absorbers using AMR techniques with both subcycling and non-subcycling}, + author={Zeng, Yadong}, + journal={Authorea Preprints}, + year={2022}, + publisher={Authorea} +} + +@article{berger1989local, + title={{Local adaptive mesh refinement for shock hydrodynamics}}, + author={Berger, Marsha J and Colella, Phillip}, + journal={Journal of Computational Physics}, + volume={82}, + number={1}, + pages={64--84}, + year={1989}, + publisher={Elsevier} +} + +@article{berger1984adaptive, + title={{Adaptive mesh refinement for hyperbolic partial differential equations}}, + author={Berger, Marsha J and Oliger, Joseph}, + journal={Journal of Computational Physics}, + volume={53}, + number={3}, + pages={484--512}, + year={1984}, + publisher={Elsevier} +} + +@article{chorin1967numerical, + title={{The numerical solution of the Navier-Stokes equations for an incompressible fluid}}, + author={Chorin, Alexandre Joel}, + journal={Bulletin of the American Mathematical Society}, + volume={73}, + number={6}, + pages={928--931}, + year={1967} +} + +@article{sussman1999adaptive, + title={{An adaptive level set approach for incompressible two-phase flows}}, + author={Sussman, Mark and Almgren, Ann S and Bell, John B and Colella, Phillip and Howell, Louis H and Welcome, Michael L}, + journal={Journal of Computational Physics}, + volume={148}, + number={1}, + pages={81--124}, + year={1999}, + publisher={Elsevier} +} + +@article{almgren1996numerical, + title={{A numerical method for the incompressible Navier--Stokes equations based on an approximate projection}}, + author={Almgren, Ann S and Bell, John B and Szymczak, William G}, + journal={SIAM Journal on Scientific Computing}, + volume={17}, + number={2}, + pages={358--369}, + year={1996}, + publisher={SIAM} +} + +@TECHREPORT{rider1995approximate, + author = {William J. Rider}, + title = {Approximate Projection Methods for Incompressible Flow: Implementation, Variants and Robustness}, + institution = {Los Alamos National Laboratory}, + number = {LA-UR-94-2000}, + type = {LANL Unclassified Report}, + year = {1995} +} + +@inproceedings{zeng2019unified, + title={{A unified AMR framework for multiphase flow and fluid-structure interaction problems with both non-subcycling and subcycling}}, + author={Zeng, Yadong and Shen, Lian}, + booktitle={APS Division of Fluid Dynamics Meeting Abstracts}, + pages={S19--001}, + year={2019} +} + +@article{zeng2022parallel, + title={{A parallel cell-centered adaptive level set framework for efficient simulation of two-phase flows with subcycling and non-subcycling}}, + author={Zeng, Yadong and Xuan, Anqing and Blaschke, Johannes and Shen, Lian}, + journal={Journal of Computational Physics}, + volume={448}, + pages={110740}, + year={2022}, + publisher={Elsevier} +} + +@article{nonaka2011three, + title={{A three-dimensional, unsplit godunov method for scalar conservation laws}}, + author={Nonaka, Andy and May, Sandra and Almgren, Ann S and Bell, John B}, + journal={SIAM Journal on Scientific Computing}, + volume={33}, + number={4}, + pages={2039--2062}, + year={2011}, + publisher={SIAM} +} + +@inproceedings{bell1991efficient, + title={{An efficient second-order projection method for viscous incompressible flow}}, + author={Bell, John and Howell, Louis and Colella, Phillip}, + booktitle={10th Computational Fluid Dynamics Conference}, + pages={1560}, + year={1991} +} + +@article{griffith2012immersed, + title={{Immersed boundary model of aortic heart valve dynamics with physiological driving and loading conditions}}, + author={Griffith, Boyce E}, + journal={International journal for numerical methods in biomedical engineering}, + volume={28}, + number={3}, + pages={317--345}, + year={2012}, + publisher={Wiley Online Library} +} + +@article{griffith2007adaptive, + title={{An adaptive, formally second order accurate version of the immersed boundary method}}, + author={Griffith, Boyce E and Hornung, Richard D and McQueen, David M and Peskin, Charles S}, + journal={Journal of Computational Physics}, + volume={223}, + number={1}, + pages={10--49}, + year={2007}, + publisher={Elsevier} +} + +@article{bhalla2013forced, + title={A forced damped oscillation framework for undulatory swimming provides new insights into how propulsion arises in active and passive swimming}, + author={Bhalla, Amneet Pal Singh and Griffith, Boyce E and Patankar, Neelesh A}, + journal={PLoS Computational Biology}, + volume={9}, + number={6}, + pages={e1003097}, + year={2013}, + publisher={Public Library of Science} +} + +@article{khedkar2021inertial, + title={{The inertial sea wave energy converter (ISWEC) technology: device-physics, multiphase modeling and simulations}}, + author={Khedkar, Kaustubh and Nangia, Nishant and Thirumalaisamy, Ramakrishnan and Bhalla, Amneet Pal Singh}, + journal={Ocean Engineering}, + volume={229}, + pages={108879}, + year={2021}, + publisher={Elsevier} +} + +@article{yu2013reynolds, + title={{Reynolds-Averaged Navier--Stokes simulation of the heave performance of a two-body floating-point absorber wave energy system}}, + author={Yu, Yi-Hsiang and Li, Ye}, + journal={Computers \& Fluids}, + volume={73}, + pages={104--114}, + year={2013}, + publisher={Elsevier} +} + +@article{sharma2024exawind, + title={ExaWind: Open-source CFD for hybrid-RANS/LES geometry-resolved wind turbine simulations in atmospheric flows}, + author={Sharma, Ashesh and Brazell, Michael J and Vijayakumar, Ganesh and Ananthan, Shreyas and Cheung, Lawrence and deVelder, Nathaniel and Henry de Frahan, Marc T and Matula, Neil and Mullowney, Paul and Rood, Jon and others}, + journal={Wind Energy}, + volume={27}, + number={3}, + pages={225--257}, + year={2024}, + publisher={Wiley Online Library} +} + +@inproceedings{mullowney2021preparing, + title={Preparing an incompressible-flow fluid dynamics code for exascale-class wind energy simulations}, + author={Mullowney, Paul and Li, Ruipeng and Thomas, Stephen and Ananthan, Shreyas and Sharma, Ashesh and Rood, Jon S and Williams, Alan B and Sprague, Michael A}, + booktitle={Proceedings of the international conference for high performance computing, networking, storage and analysis}, + pages={1--16}, + year={2021} +} + +@article{fujimoto2006electromagnetic, + title={{Electromagnetic full particle code with adaptive mesh refinement technique: Application to the current sheet evolution}}, + author={Fujimoto, Keizo and Machida, Shinobu}, + journal={Journal of Computational Physics}, + volume={214}, + number={2}, + pages={550--566}, + year={2006}, + publisher={Elsevier} +} + +@article{balsara2001divergence, + title={{Divergence-free adaptive mesh refinement for magnetohydrodynamics}}, + author={Balsara, Dinshaw S}, + journal={Journal of Computational Physics}, + volume={174}, + number={2}, + pages={614--648}, + year={2001}, + publisher={Elsevier} +} + +@article{santilli2015stratified, + title={{The stratified ocean model with adaptive refinement (SOMAR)}}, + author={Santilli, Edward and Scotti, Alberto}, + journal={Journal of Computational Physics}, + volume={291}, + pages={60--81}, + year={2015}, + publisher={Elsevier} +} + +@article{mirzadeh2016parallel, + title={{Parallel level-set methods on adaptive tree-based grids}}, + author={Mirzadeh, Mohammad and Guittet, Arthur and Burstedde, Carsten and Gibou, Frederic}, + journal={Journal of Computational Physics}, + volume={322}, + pages={345--364}, + year={2016}, + publisher={Elsevier} +} + +@article{peraire1987adaptive, + title={{Adaptive remeshing for compressible flow computations}}, + author={Peraire, Jaime and Vahdati, Morgan and Morgan, Ken and Zienkiewicz, Olgierd C}, + journal={Journal of Computational Physics}, + volume={72}, + number={2}, + pages={449--466}, + year={1987}, + publisher={Elsevier} +} + +@article{popinet2007tree, + title={{A tree-based solver for adaptive ocean modelling}}, + author={Popinet, St{\'e}phane and Rickard, Graham}, + journal={Ocean Modelling}, + volume={16}, + number={3-4}, + pages={224--249}, + year={2007}, + publisher={Elsevier} +} + +@article{van2018towards, + title={{Towards adaptive grids for atmospheric boundary-layer simulations}}, + author={van Hooft, J Antoon and Popinet, St{\'e}phane and van Heerwaarden, Chiel C and van der Linden, Steven JA and de Roode, Stephan R and van de Wiel, Bas JH}, + journal={Boundary-Layer Meteorology}, + volume={167}, + number={3}, + pages={421--443}, + year={2018}, + publisher={Springer} +} + +@inproceedings{williamschen2013parallel, + title={{Parallel anisotropic block-based adaptive mesh refinement algorithm for three-dimensional flows}}, + author={Williamschen, Michael and Groth, Clinton P}, + booktitle={21st AIAA Computational Fluid Dynamics Conference}, + pages={2442}, + year={2013} +} + +@article{sverdrup2018highly, + title={Highly parallelisable simulations of time-dependent viscoplastic fluid flow with structured adaptive mesh refinement}, + author={Sverdrup, Knut and Nikiforakis, Nikolaos and Almgren, Ann}, + journal={Physics of Fluids}, + volume={30}, + number={9}, + pages={093102}, + year={2018}, + publisher={AIP Publishing LLC} +} + +@article{peskin2002immersed, + title={{The immersed boundary method}}, + author={Peskin, Charles S}, + journal={Acta Numerica}, + volume={11}, + pages={479--517}, + year={2002}, + publisher={{Cambridge University Press}} +} + +@article{nangia2019dlm, + title={{A DLM immersed boundary method based wave-structure interaction solver for high density ratio multiphase flows}}, + author={Nangia, Nishant and Patankar, Neelesh A and Bhalla, Amneet Pal Singh}, + journal={Journal of Computational Physics}, + volume={398}, + pages={108804}, + year={2019}, + publisher={Elsevier} +} + +@article{kempe2012improved, + title={{An improved immersed boundary method with direct forcing for the simulation of particle laden flows}}, + author={Kempe, Tobias and Fr{\"o}hlich, Jochen}, + journal={Journal of Computational Physics}, + volume={231}, + number={9}, + pages={3663--3684}, + year={2012}, + publisher={Elsevier} +} + +@article{kempe2012collision, + title={{Collision modelling for the interface-resolved simulation of spherical particles in viscous fluids}}, + author={Kempe, Tobias and Fr{\"o}hlich, Jochen}, + journal={Journal of Fluid Mechanics}, + volume={709}, + pages={445--489}, + year={2012}, + publisher={Cambridge University Press} +} + +@article{breugem2012second, + title={{A second-order accurate immersed boundary method for fully resolved simulations of particle-laden flows}}, + author={Breugem, Wim-Paul}, + journal={Journal of Computational Physics}, + volume={231}, + number={13}, + pages={4469--4498}, + year={2012}, + publisher={Elsevier} +} + +@article{gong2023cp3d, + title={{CP3d: A comprehensive Euler-Lagrange solver for direct numerical simulation of particle-laden flows}}, + author={Gong, Zheng and Wu, Zi and An, Chenge and Zhang, Bangwen and Fu, Xudong}, + journal={Computer Physics Communications}, + volume={286}, + pages={108666}, + year={2023}, + publisher={Elsevier} +} + +@article{akiki2016immersed, + title={{Immersed boundary method with non-uniform distribution of Lagrangian markers for a non-uniform Eulerian mesh}}, + author={Akiki, Georges and Balachandar, S}, + journal={Journal of Computational Physics}, + volume={307}, + pages={34--59}, + year={2016}, + publisher={Elsevier} +} + +@article{zhu2022particle, + title={{Particle resolved simulation of sediment transport by a hybrid parallel approach}}, + author={Zhu, Zhengping and Hu, Ruifeng and Lei, Yinghaonan and Shen, Lian and Zheng, Xiaojing}, + journal={International Journal of Multiphase Flow}, + volume={152}, + pages={104072}, + year={2022}, + publisher={Elsevier} +} + +@article{zhu2023multiple, + title={{A multiple-time-step integration algorithm for particle-resolved simulation with physical collision time}}, + author={Zhu, Zhengping and Hu, Ruifeng and Zheng, Xiaojing}, + journal={International Journal of Multiphase Flow}, + volume={163}, + pages={104411}, + year={2023}, + publisher={Elsevier} +} + +@article{wang2023drag, + title={{Drag model of finite-sized particle in turbulent wall-bound flow over sediment bed}}, + author={Wang, Ping and Lei, Yinghaonan and Zhu, Zhengping and Zheng, Xiaojing}, + journal={Journal of Fluid Mechanics}, + volume={964}, + pages={A9}, + year={2023}, + publisher={Cambridge University Press} +} + +@article{cui2018sharp, + title={A sharp-interface immersed boundary method for simulating incompressible flows with arbitrarily deforming smooth boundaries}, + author={Cui, Zuo and Yang, Zixuan and Jiang, Hong-Zhou and Huang, Wei-Xi and Shen, Lian}, + journal={International Journal of Computational Methods}, + volume={15}, + number={01}, + pages={1750080}, + year={2018}, + publisher={World Scientific} +} + +@article{he2022numerical, + title={{Numerical simulation of interaction between multiphase flows and thin flexible structures}}, + author={He, Sida and Yang, Zixuan and Sotiropoulos, Fotis and Shen, Lian}, + journal={Journal of Computational Physics}, + volume={448}, + pages={110691}, + year={2022}, + publisher={Elsevier} +} + +@article{pinelli2010immersed, + title={{Immersed-boundary methods for general finite-difference and finite-volume Navier--Stokes solvers}}, + author={Pinelli, Alfredo and Naqavi, IZ and Piomelli, Ugo and Favier, Julien}, + journal={Journal of Computational Physics}, + volume={229}, + number={24}, + pages={9073--9091}, + year={2010}, + publisher={Elsevier} +} + +@article{gan2016cfd, + title={{CFD--DEM modeling of gas fluidization of fine ellipsoidal particles}}, + author={Gan, Jieqing and Zhou, Zongyan and Yu, Aibing}, + journal={AIChE Journal}, + volume={62}, + number={1}, + pages={62--77}, + year={2016}, + publisher={Wiley Online Library} +} + +@article{wu2024implicit, + title={{An implicit immersed boundary method for Robin boundary condition}}, + author={Wu, Buchen and Shu, Chang and Wan, Minping}, + journal={International Journal of Mechanical Sciences}, + volume={261}, + pages={108694}, + year={2024}, + publisher={Elsevier} +} + +@article{costa2015collision, + title={{Collision model for fully resolved simulations of flows laden with finite-size particles}}, + author={Costa, Pedro and Boersma, Bendiks Jan and Westerweel, Jerry and Breugem, Wim-Paul}, + journal={Physical Review E}, + volume={92}, + number={5}, + pages={053012}, + year={2015}, + publisher={APS} +} + +@article{balachandar2010turbulent, + title={Turbulent dispersed multiphase flow}, + author={Balachandar, S and Eaton, John K}, + journal={Annual review of fluid mechanics}, + volume={42}, + number={1}, + pages={111--133}, + year={2010}, + publisher={Annual Reviews} +} + +@article{brandt2022particle, + title={Particle-laden turbulence: progress and perspectives}, + author={Brandt, Luca and Coletti, Filippo}, + journal={Annual Review of Fluid Mechanics}, + volume={54}, + number={1}, + pages={159--189}, + year={2022}, + publisher={Annual Reviews} +} + +@article{schiller1933uber, + title={{On the basic calculations in gravity processing}}, + author={Schiller, Von L}, + journal={Z. Association of German Engineers}, + volume={77}, + pages={318--321}, + year={1933} +} + +@article{tenCate2002, + title={Particle imaging velocimetry experiments and lattice-Boltzmann simulations on a single sphere settling under gravity}, + author={Ten Cate, A and Nieuwstad, CH and Derksen, Jacobus J and Van den Akker, HEA}, + journal={Physics of Fluids}, + volume={14}, + number={11}, + pages={4012--4025}, + year={2002}, + publisher={AIP Publishing} +} + +@article{sverdrup2019embedded, + title={{An embedded boundary approach for efficient simulations of viscoplastic fluids in three dimensions}}, + author={Sverdrup, Knut and Almgren, Ann and Nikiforakis, Nikolaos}, + journal={Physics of Fluids}, + volume={31}, + number={9}, + year={2019}, + publisher={AIP Publishing} +} + +@article{tschisgale2017non, + title={{A non-iterative immersed boundary method for spherical particles of arbitrary density ratio}}, + author={Tschisgale, Silvio and Kempe, Tobias and Fr{\"o}hlich, Jochen}, + journal={Journal of Computational Physics}, + volume={339}, + pages={432--452}, + year={2017}, + publisher={Elsevier} +} + +@article{young2009method, + title={{The method of fundamental solutions for solving incompressible Navier--Stokes problems}}, + author={Young, DL and Lin, YC and Fan, CM and Chiu, CL}, + journal={Engineering analysis with boundary elements}, + volume={33}, + number={8-9}, + pages={1031--1044}, + year={2009}, + publisher={Elsevier} +} + +@article{roma1999adaptive, + title={An adaptive version of the immersed boundary method}, + author={Roma, Alexandre M and Peskin, Charles S and Berger, Marsha J}, + journal={Journal of computational physics}, + volume={153}, + number={2}, + pages={509--534}, + year={1999}, + publisher={Elsevier} +} + +@article{liu1995reproducing, + title={Reproducing kernel particle methods}, + author={Liu, Wing Kam and Jun, Sukky and Zhang, Yi Fei}, + journal={International journal for numerical methods in fluids}, + volume={20}, + number={8-9}, + pages={1081--1106}, + year={1995}, + publisher={Wiley Online Library} +} + +@article{jang2017immersed, + title={An immersed boundary method for nonuniform grids}, + author={Jang, Juwon and Lee, Changhoon}, + journal={Journal of Computational Physics}, + volume={341}, + pages={1--12}, + year={2017}, + publisher={Elsevier} +} + +@article{yao2022massively, + title={{A massively parallel time-domain coupled electrodynamics--micromagnetics solver}}, + author={Yao, Zhi and Jambunathan, Revathi and Zeng, Yadong and Nonaka, Andrew}, + journal={The International Journal of High Performance Computing Applications}, + volume={36}, + number={2}, + pages={167--181}, + year={2022}, + publisher={SAGE Publications Sage UK: London, England} +} + +@article{min2024towards, + title={Towards exascale for wind energy simulations}, + author={Min, Misun and Brazell, Michael and Tomboulides, Ananias and Churchfield, Matthew and Fischer, Paul and Sprague, Michael}, + journal={The International Journal of High Performance Computing Applications}, + volume={38}, + number={4}, + pages={337--355}, + year={2024}, + publisher={SAGE Publications Sage UK: London, England} +} + +@article{guittet2015stable, + title={{A stable projection method for the incompressible Navier--Stokes equations on arbitrary geometries and adaptive Quad/Octrees}}, + author={Guittet, Arthur and Theillard, Maxime and Gibou, Fr{\'e}d{\'e}ric}, + journal={Journal of Computational Physics}, + volume={292}, + pages={215--238}, + year={2015}, + publisher={Elsevier} +} + +@article{burstedde2011p4est, + title={p4est: Scalable algorithms for parallel adaptive mesh refinement on forests of octrees}, + author={Burstedde, Carsten and Wilcox, Lucas C and Ghattas, Omar}, + journal={SIAM Journal on Scientific Computing}, + volume={33}, + number={3}, + pages={1103--1133}, + year={2011}, + publisher={SIAM} +} + +@article{libMeshPaper, + title={libMesh: a C++ library for parallel adaptive mesh refinement/coarsening simulations}, + author={Kirk, Benjamin S and Peterson, John W and Stogner, Roy H and Carey, Graham F}, + journal={Engineering with Computers}, + volume={22}, + pages={237--254}, + year={2006}, + publisher={Springer} +} + +@article{gunney2016advances, + title={{Advances in patch-based adaptive mesh refinement scalability}}, + author={Gunney, Brian TN and Anderson, Robert W}, + journal={Journal of Parallel and Distributed Computing}, + volume={89}, + pages={65--84}, + year={2016}, + publisher={Elsevier} +} + +@article{fryxell2000flash, + title={{FLASH: An adaptive mesh hydrodynamics code for modeling astrophysical thermonuclear flashes}}, + author={Fryxell, Bruce and Olson, Kevin and Ricker, Paul and Timmes, Francis X and Zingale, Michael and Lamb, DQ and MacNeice, Peter and Rosner, Robert and Truran, JW and Tufo, H}, + journal={The Astrophysical Journal Supplement Series}, + volume={131}, + number={1}, + pages={273}, + year={2000}, + publisher={IOP Publishing} +} + +@article{colella2009chombo, + title={{Chombo software package for AMR applications design document}}, + author={Colella, Phillip and Graves, Daniel T and Ligocki, TJ and Martin, DF and Modiano, D and Serafini, DB and Van Straalen, B}, + journal={Available at the Chombo website: http://seesar. lbl. gov/ANAG/chombo/(September 2008)}, + volume={2}, + year={2009} +} + + +@incollection{burstedde2014forestclaw, + title={ForestClaw: Hybrid forest-of-octrees AMR for hyperbolic conservation laws}, + author={Burstedde, Carsten and Calhoun, Donna and Mandli, Kyle and Terrel, Andy R}, + booktitle={Parallel Computing: Accelerating Computational Science and Engineering (CSE)}, + pages={253--262}, + year={2014}, + publisher={IOS Press} +} + +@article{verzicco2023immersed, + title={Immersed boundary methods: Historical perspective and future outlook}, + author={Verzicco, Roberto}, + journal={Annual Review of Fluid Mechanics}, + volume={55}, + number={1}, + pages={129--155}, + year={2023}, + publisher={Annual Reviews} +} + +@article{griffith2020immersed, + title={Immersed methods for fluid--structure interaction}, + author={Griffith, Boyce E and Patankar, Neelesh A}, + journal={Annual review of fluid mechanics}, + volume={52}, + number={1}, + pages={421--448}, + year={2020}, + publisher={Annual Reviews} +} + +@article{sotiropoulos2014immersed, + title={Immersed boundary methods for simulating fluid--structure interaction}, + author={Sotiropoulos, Fotis and Yang, Xiaolei}, + journal={Progress in Aerospace Sciences}, + volume={65}, + pages={1--21}, + year={2014}, + publisher={Elsevier} +} + +@article{mittal2005immersed, + author = "Mittal, Rajat and Iaccarino, Gianluca", + title = "IMMERSED BOUNDARY METHODS", + journal= "Annual Review of Fluid Mechanics", + year = "2005", + volume = "37", + number = "Volume 37, 2005", + pages = "239-261", + doi = "https://doi.org/10.1146/annurev.fluid.37.061903.175743", + url = "https://www.annualreviews.org/content/journals/10.1146/annurev.fluid.37.061903.175743", + publisher = "Annual Reviews", + issn = "1545-4479", + type = "Journal Article", + } + +@article{goldstein1993modeling, + title={Modeling a no-slip flow boundary with an external force field}, + author={Goldstein, D and Handler, R and Sirovich, L}, + journal={Journal of computational physics}, + volume={105}, + number={2}, + pages={354--366}, + year={1993}, + publisher={Elsevier} +} + +@article{saiki1996numerical, + title={Numerical simulation of a cylinder in uniform flow: application of a virtual boundary method}, + author={Saiki, Eileen M and Biringen, S}, + journal={Journal of computational physics}, + volume={123}, + number={2}, + pages={450--465}, + year={1996}, + publisher={Elsevier} +} + +@article{angot1999penalization, + title={A penalization method to take into account obstacles in incompressible viscous flows}, + author={Angot, Philippe and Bruneau, Charles-Henri and Fabrie, Pierre}, + journal={Numerische Mathematik}, + volume={81}, + number={4}, + pages={497--520}, + year={1999}, + publisher={Springer} +} + +@article{specklin2018sharp, + title={A sharp immersed boundary method based on penalization and its application to moving boundaries and turbulent rotating flows}, + author={Specklin, Mathieu and Delaur{\'e}, Yan}, + journal={European Journal of Mechanics-B/Fluids}, + volume={70}, + pages={130--147}, + year={2018}, + publisher={Elsevier} +} + +@article{lai2000immersed, + title={An immersed boundary method with formal second-order accuracy and reduced numerical viscosity}, + author={Lai, Ming-Chih and Peskin, Charles S}, + journal={Journal of computational Physics}, + volume={160}, + number={2}, + pages={705--719}, + year={2000}, + publisher={Elsevier} +} + +@article{lee2003stability, + title={Stability characteristics of the virtual boundary method in three-dimensional applications}, + author={Lee, Changhoon}, + journal={Journal of Computational Physics}, + volume={184}, + number={2}, + pages={559--591}, + year={2003}, + publisher={Elsevier} +} + +@article{fadlun2000combined, + title={Combined immersed-boundary finite-difference methods for three-dimensional complex flow simulations}, + author={Fadlun, Ever A and Verzicco, Roberto and Orlandi, Paolo and Mohd-Yusof, Jamaludin}, + journal={Journal of computational physics}, + volume={161}, + number={1}, + pages={35--60}, + year={2000}, + publisher={Elsevier} +} + +@article{luo2007full, + title={Full-scale solutions to particle-laden flows: Multidirect forcing and immersed boundary method}, + author={Luo, Kun and Wang, Zeli and Fan, Jianren and Cen, Kefa}, + journal={Physical Review E—Statistical, Nonlinear, and Soft Matter Physics}, + volume={76}, + number={6}, + pages={066709}, + year={2007}, + publisher={APS} +} + +@article{griffith2005order, + title={On the order of accuracy of the immersed boundary method: Higher order convergence rates for sufficiently smooth problems}, + author={Griffith, Boyce E and Peskin, Charles S}, + journal={Journal of Computational Physics}, + volume={208}, + number={1}, + pages={75--105}, + year={2005}, + publisher={Elsevier} +} + +@article{jain2020effect, + title={Effect of particle shape on bedload sediment transport in case of small particle loading}, + author={Jain, Ramandeep and Tschisgale, Silvio and Froehlich, Jochen}, + journal={Meccanica}, + volume={55}, + number={2}, + pages={299--315}, + year={2020}, + publisher={Springer} +} + +@article{ji2013direct, + title={Direct numerical simulation of sediment entrainment in turbulent channel flow}, + author={Ji, C and Munjiza, A and Avital, E and Ma, J and Williams, JJR}, + journal={Physics of Fluids}, + volume={25}, + number={5}, + year={2013}, + publisher={AIP Publishing} +} + +@article{ji2014saltation, + title={Saltation of particles in turbulent channel flow}, + author={Ji, Chunning and Munjiza, Ante and Avital, Eldad and Xu, Dong and Williams, John}, + journal={Physical Review E}, + volume={89}, + number={5}, + pages={052202}, + year={2014}, + publisher={APS} +} + +@article{kidanemariam2014direct, + title={Direct numerical simulation of pattern formation in subaqueous sediment}, + author={Kidanemariam, Aman G and Uhlmann, Markus}, + journal={Journal of Fluid Mechanics}, + volume={750}, + pages={R2}, + year={2014}, + publisher={Cambridge University Press} +} + +@article{kidanemariam2017formation, + title={Formation of sediment patterns in channel flow: minimal unstable systems and their temporal evolution}, + author={Kidanemariam, Aman G and Uhlmann, Markus}, + journal={Journal of Fluid Mechanics}, + volume={818}, + pages={716--743}, + year={2017}, + publisher={Cambridge University Press} +} + +@article{kidanemariam2022open, + title={Open-channel flow over evolving subaqueous ripples}, + author={Kidanemariam, Aman G and Scherer, Markus and Uhlmann, Markus}, + journal={Journal of Fluid Mechanics}, + volume={937}, + pages={A26}, + year={2022}, + publisher={Cambridge University Press} +} + +@article{scherer2022role, + title={On the role of turbulent large-scale streaks in generating sediment ridges}, + author={Scherer, Markus and Uhlmann, Markus and Kidanemariam, Aman G and Krayer, Michael}, + journal={Journal of Fluid Mechanics}, + volume={930}, + pages={A11}, + year={2022}, + publisher={Cambridge University Press} +} + +@article{vowinckel2016entrainment, + title={Entrainment of single particles in a turbulent open-channel flow: A numerical study}, + author={Vowinckel, Bernhard and Jain, Ramandeep and Kempe, Tobias and Fr{\"o}hlich, Jochen}, + journal={Journal of Hydraulic Research}, + volume={54}, + number={2}, + pages={158--171}, + year={2016}, + publisher={Taylor \& Francis} +} + +@article{li2009mesh, + title={{Mesh refinement algorithms in an unstructured solver for multiphase flow simulation using discrete particles}}, + author={Li, Yuanhong and Kong, Song-Charng}, + journal={Journal of Computational Physics}, + volume={228}, + number={17}, + pages={6349--6360}, + year={2009}, + publisher={Elsevier} +} + + +@article{bhalla2014fully, + title={{Fully resolved immersed electrohydrodynamics for particle motion, electrolocation, and self-propulsion}}, + author={Bhalla, Amneet Pal Singh and Bale, Rahul and Griffith, Boyce E and Patankar, Neelesh A}, + journal={Journal of Computational Physics}, + volume={256}, + pages={88--108}, + year={2014}, + publisher={Elsevier} +} + +@article{liu2024investigate, + title={{Investigate the efficiency of incompressible flow simulations on CPUs and GPUs with BSAMR}}, + author={Liu, Dewen and He, Shuai and Cheng, Haoran and Zeng, Yadong}, + journal={arXiv preprint arXiv:2405.07148}, + year={2024} +} + +@article{squires1990particle, + title={Particle response and turbulence modification in isotropic turbulence}, + author={Squires, Kyle D and Eaton, John K}, + journal={Physics of Fluids A: Fluid Dynamics}, + volume={2}, + number={7}, + pages={1191--1203}, + year={1990}, + publisher={American Institute of Physics} +} + +@article{wang1993settling, + title={Settling velocity and concentration distribution of heavy particles in homogeneous isotropic turbulence}, + author={Wang, Lian-Ping and Maxey, Martin R}, + journal={Journal of fluid mechanics}, + volume={256}, + pages={27--68}, + year={1993}, + publisher={Cambridge University Press} +} + +@article{ferrante2003physical, + title={On the physical mechanisms of two-way coupling in particle-laden isotropic turbulence}, + author={Ferrante, Antonino and Elghobashi, Said}, + journal={Physics of fluids}, + volume={15}, + number={2}, + pages={315--329}, + year={2003}, + publisher={American Institute of Physics} +} + +@article{vance2006properties, + title={Properties of the particle velocity field in gas-solid turbulent channel flow}, + author={Vance, Marion W and Squires, Kyle D and Simonin, Olivier}, + journal={Physics of Fluids}, + volume={18}, + number={6}, + year={2006}, + publisher={AIP Publishing} +} + +@article{zhao2010turbulence, + title={Turbulence modulation and drag reduction by spherical particles}, + author={Zhao, LH and Andersson, Helge I and Gillissen, JJJ}, + journal={Physics of Fluids}, + volume={22}, + number={8}, + year={2010}, + publisher={AIP Publishing} +} + +@article{lee2015modification, + title={Modification of particle-laden near-wall turbulence: Effect of Stokes number}, + author={Lee, Junghoon and Lee, Changhoon}, + journal={Physics of Fluids}, + volume={27}, + number={2}, + year={2015}, + publisher={AIP Publishing} +} + +@article{li2016modulation, + title={Modulation of turbulence by dispersed solid particles in a spatially developing flat-plate boundary layer}, + author={Li, Dong and Luo, Kun and Fan, Jianren}, + journal={Journal of Fluid Mechanics}, + volume={802}, + pages={359--394}, + year={2016}, + publisher={Cambridge University Press} +} + +@article{wang2019two, + title={Two mechanisms of modulation of very-large-scale motions by inertial particles in open channel flow}, + author={Wang, G and Richter, DH}, + journal={Journal of Fluid Mechanics}, + volume={868}, + pages={538--559}, + year={2019}, + publisher={Cambridge University Press} +} + +@article{zheng2021modulation, + title={Modulation of turbulence by saltating particles on erodible bed surface}, + author={Zheng, Xiaojing and Feng, Shengjun and Wang, Ping}, + journal={Journal of Fluid Mechanics}, + volume={918}, + pages={A16}, + year={2021}, + publisher={Cambridge University Press} +} + +@article{pan1997numerical, + title={Numerical investigation of the effects of large particles on wall-turbulence}, + author={Pan, Y and Banerjee, S}, + journal={Physics of Fluids}, + volume={9}, + number={12}, + pages={3786--3807}, + year={1997}, + publisher={American Institute of Physics} +} + +@article{bagchi2003effect, + title={Effect of turbulence on the drag and lift of a particle}, + author={Bagchi, Prosenjit and Balachandar, S}, + journal={Physics of fluids}, + volume={15}, + number={11}, + pages={3496--3513}, + year={2003}, + publisher={AIP Publishing} +} + +@article{burton2005fully, + title={Fully resolved simulations of particle-turbulence interaction}, + author={Burton, Tristan M and Eaton, John K}, + journal={Journal of Fluid Mechanics}, + volume={545}, + pages={67--111}, + year={2005}, + publisher={Cambridge University Press} +} + +@article{shao2012fully, + title={Fully resolved numerical simulation of particle-laden turbulent flow in a horizontal channel at a low Reynolds number}, + author={Shao, Xueming and Wu, Tenghu and Yu, Zhaosheng}, + journal={Journal of Fluid Mechanics}, + volume={693}, + pages={319--344}, + year={2012}, + publisher={Cambridge University Press} +} + +@article{picano2015turbulent, + title={Turbulent channel flow of dense suspensions of neutrally buoyant spheres}, + author={Picano, Francesco and Breugem, Wim-Paul and Brandt, Luca}, + journal={Journal of Fluid Mechanics}, + volume={764}, + pages={463--487}, + year={2015}, + publisher={Cambridge University Press} +} + +@article{wang2016flow, + title={Flow modulation by finite-size neutrally buoyant particles in a turbulent channel flow}, + author={Wang, Lian-Ping and Peng, Cheng and Guo, Zhaoli and Yu, Zhaosheng}, + journal={Journal of Fluids Engineering}, + volume={138}, + number={4}, + pages={041306}, + year={2016}, + publisher={American Society of Mechanical Engineers} +} + +@article{wang2022direct, + title={Direct numerical simulation of a stationary spherical particle in fluctuating inflows}, + author={Wang, Yuqi and Zhu, Zhengping and Hu, Ruifeng and Shen, Lian}, + journal={AIP Advances}, + volume={12}, + number={2}, + year={2022}, + publisher={AIP Publishing} +} + +@article{Apte2009ANM, + title={A numerical method for fully resolved simulation (FRS) of rigid particle--flow interactions in complex flows}, + author={Apte, Sourabh V and Martin, Mathieu and Patankar, Neelesh A}, + journal={Journal of Computational Physics}, + volume={228}, + number={8}, + pages={2712--2738}, + year={2009}, + publisher={Elsevier} +} + +@article{Liao2015SimulationsOT, + title={Simulations of two sedimenting-interacting spheres with different sizes and initial configurations using immersed boundary method}, + author={Liao, Chuan-Chieh and Hsiao, Wen-Wei and Lin, Ting-Yu and Lin, Chao-An}, + journal={Computational Mechanics}, + volume={55}, + pages={1191--1200}, + year={2015}, + publisher={Springer} +} + +@article{Young2009TheMO, + title={The method of fundamental solutions for solving incompressible Navier--Stokes problems}, + author={Young, DL and Lin, YC and Fan, CM and Chiu, CL}, + journal={Engineering analysis with boundary elements}, + volume={33}, + number={8-9}, + pages={1031--1044}, + year={2009}, + publisher={Elsevier} +} + +@article{sadowski2024particle, + title={Particle-resolved simulations and measurements of the flow through a uniform packed bed}, + author={Sadowski, Wojciech and Sayyari, Mohammed and di Mare, Francesca and Velten, Christin and Z{\"a}hringer, Katharina}, + journal={Physics of Fluids}, + volume={36}, + number={2}, + year={2024}, + publisher={AIP Publishing} +} + +@article{zaidi2024particle, + title={Particle resolved direct numerical simulations for heat transfer analysis of a spouted bed}, + author={Zaidi, Ali Abbas}, + journal={Powder Technology}, + volume={433}, + pages={119239}, + year={2024}, + publisher={Elsevier} +} + +@article{mazzuoli2024particle, + title={Particle-resolved direct numerical simulation of the oscillatory flow and sediment motion over a rippled bed}, + author={Mazzuoli, Marco and Blondeaux, Paolo and Vittori, Giovanna}, + journal={International Journal of Multiphase Flow}, + volume={172}, + pages={104707}, + year={2024}, + publisher={Elsevier} +} + +@article{niu2023particle, + title={Particle-resolved CFD modeling of the flow and heat transfer characteristics of the fluid in a fixed bed}, + author={Niu, Binguang and Ahmed, Mukhtiar and Wen, Tao and Xu, Guangwen and Liu, Xiaoxing}, + journal={Powder Technology}, + volume={421}, + pages={118445}, + year={2023}, + publisher={Elsevier} +} + +@article{liu2023experimental, + title={Experimental and fluid flow simulation studies of laser-electrochemical hybrid manufacturing of micro--nano symbiotic superamphiphobic surfaces}, + author={Liu, Yang and Liu, Xinyu and Zhang, Zhaoyang and Lu, Jinzhong and Wang, Yufeng and Xu, Kun and Zhu, Hao and Wang, Bo and Lin, Liqu and Xue, Wei}, + journal={The Journal of Chemical Physics}, + volume={159}, + number={11}, + year={2023}, + publisher={AIP Publishing} +} + +@article{yang2024boundary, + title={Boundary fluid constraints during electrochemical jet machining of large size emerging titanium alloy aerospace parts in gas--liquid flows: Experimental and numerical simulation}, + author={Yang, LIU and Ningsong, QU and Hansong, LI and ZHANG, Zhaoyang}, + journal={Chinese Journal of Aeronautics}, + year={2024}, + publisher={Elsevier} +} + +@article{pozzetti2019parallel, + title={{A parallel dual-grid multiscale approach to CFD--DEM couplings}}, + author={Pozzetti, Gabriele and Jasak, Hrvoje and Besseron, Xavier and Rousset, Alban and Peters, Bernhard}, + journal={Journal of computational physics}, + volume={378}, + pages={708--722}, + year={2019}, + publisher={Elsevier} +} + +@article{myers2021porting, + title={{Porting WarpX to GPU-accelerated platforms}}, + author={Myers, Andrew and Almgren, A and Amorim, Ligia Diana and Bell, J and Fedeli, Luca and Ge, Lixin and Gott, Kevin and Grote, David P and Hogan, M and Huebl, Axel and others}, + journal={Parallel Computing}, + volume={108}, + pages={102833}, + year={2021}, + publisher={Elsevier} +} + +@article{yousefi2023role, + title={On the role of inertia in channel flows of finite-size neutrally buoyant particles}, + author={Yousefi, Ali and Costa, Pedro and Picano, Francesco and Brandt, Luca}, + journal={Journal of Fluid Mechanics}, + volume={955}, + pages={A30}, + year={2023}, + publisher={Cambridge University Press} +} + +@article{xia2020effects, + title={Effects of the collision model in interface-resolved simulations of particle-laden turbulent channel flows}, + author={Xia, Yan and Xiong, Hongbing and Yu, Zhaosheng and Zhu, Chenlin}, + journal={Physics of Fluids}, + volume={32}, + number={10}, + year={2020}, + publisher={AIP Publishing} +} + +@article{fan2023three, + title={A three-dimensional fictitious domain method for direct numerical simulations of particle-laden flows with heat transfer}, + author={Fan, Peifei and Lin, Zhaowu and Xu, Jian and Yu, Zhaosheng}, + journal={Physics of Fluids}, + volume={35}, + number={6}, + year={2023}, + publisher={AIP Publishing} +} + +@article{sharma2022coupled, + title={A coupled distributed Lagrange multiplier (DLM) and discrete element method (DEM) approach to simulate particulate flow with collisions}, + author={Sharma, Govind and Nangia, Nishant and Bhalla, Amneet Pal Singh and Ray, Bahni}, + journal={Powder Technology}, + volume={398}, + pages={117091}, + year={2022}, + publisher={Elsevier} +} + +@article{tschisgale2018general, + title={A general implicit direct forcing immersed boundary method for rigid particles}, + author={Tschisgale, Silvio and Kempe, Tobias and Fr{\"o}hlich, Jochen}, + journal={Computers \& Fluids}, + volume={170}, + pages={285--298}, + year={2018}, + publisher={Elsevier} +} + +@article{wang2017simple, + title={A simple and efficient implicit direct forcing immersed boundary model for simulations of complex flow}, + author={Wang, Wen-Quan and Yan, Yan and Tian, Fang-Bao}, + journal={Applied Mathematical Modelling}, + volume={43}, + pages={287--305}, + year={2017}, + publisher={Elsevier} +} \ No newline at end of file