Collection of showcase applications that I have developed over the years.
🚧 This repository is under constant development 🚧
A classical physical example of an ODE is the damped harmonic oscillator. Consider the following equation that describes the motion of a damped spring
This equation can be rewritten in the following way
where
Porous convection is an important physical process that describes the dynamics of fluid extraction from an essentially undeforming solid in a multiphase aggregate. Applications include industrial filtration systems, subsurface hydrogeological reservoirs, or melt extraction below a volcano. The movie below shows porous convection across a 2D domain. To calculate the fluid motion through the pore space, Darcy's equation is coupled to the Heat equation. The solution is obtained iteratively applying a pseudo-transient time stepping method.
Attribute | Value |
---|---|
Physics | Darcy's law + Heat equation |
Method | central finite differences |
Time integration | fully implicit |
Advection scheme | upwind (first order) |
Programming language | Julia |
Parallelization | no |
Rayleigh-No | 1000 |
Porosity | 10 % (const.) |
PC_impl_BConFlux_mov.mov
For benchmarking purposes it is useful to compare the numerical solution to analytical solutions. For some equations it is possible to derive a solution analytically for others they do not exist. In this section, I showcase a 1D Diffusion-Convection equation for which I have derived an analytical solution assuming an initial normal (or Gaussian) distribution of a scalar quantity and homogeneous Dirichlet boundary conditions. As shown in the movie below the numerical fits the analytical solution up to an acceptable tolerance.
DiffusionConvection.mov
The following figure shows an example of fitting the temperature-dependent rock density using neural networks. The linear regression algorithm was developed using the Flux.jl package.
This technique allows to find the root of any function
NewtonRaphson.mov
This and similar methods are widely used in optimization algorithms and PDE solvers. I have also used this technique to find the liquidus temperature of geomaterials as a function of pressure and chemical composition.