Check out this post for a more detailed description!
doc/
- compact documentation and progress tracking.src/
- source code.
main
- entry point.physics
- physical and EoS parameters.cfd
- hydrodynamics solver.thermo
- thermodynamics functions.computational
- computational methods.dump
- data dump + plot.SimulationParameters
- simulation parameters.test/
- for unit testing.aux/
- supplementary problems leading up to main project.Second order finite difference method for spatial discretization using a staggered grid.
Explicit predictor-corrector method according to the Heun scheme for time integration.
Newton-Raphson method for finding pressure and gas saturation.
We are given the densities $\rho_i = \rho_i(t)$.
Finding the pressure and gas saturation using the Newton-Raphson method from the condition of equality of the pressure of the gas and the liquid:
$$P = P_1 \left( \frac{\rho_1}{s} \right) = P_2 \left( \frac{\rho_2}{1 - s}\right)$$
Calculation of fluxes from Darcy's law.
Calculation of the densities $\rho_i(t + \Delta t)$ based on the known fluxes.
Renaming $\rho_i = \rho_i(t + \Delta t)$ and moving on to the next time step.
TODO: PkgTemplates.jl
In normal mode:
julia src/main.jl
In debug mode:
JULIA_DEBUG=Main julia src/main.jl