# JustRelax More or less near-future TODO/wish list [JustRelax.jl](https://github.com/PTsolvers/JustRelax.jl) - [x] 2D viscous stokes - [x] 2D visco-elsatic stokes - [ ] 2D non-Newtonian rheology - [ ] 2D visco-elasto-plasticity - [ ] 2D 2-phase flow (Sidney) - [x] 3D Visco-elastic stokes - [ ] Add the Zaremba-Jaumann rate of the Cauchy stress - [ ] Refactor thermal diffusion (2D and 3D) - [x] Paraview interface for 3D viz with [WriteVTK.jl](https://github.com/jipolanco/WriteVTK.jl) - [ ] Advection: Particles-in-cell - [ ] Scalability tests - [ ] Support for [GeoParams.jl](https://github.com/JuliaGeodynamics/GeoParams.jl) (**ongoing**) - [ ] I/O [StencilInterpolations.jl](https://github.com/albert-de-montserrat/StencilInterpolation) - [x] CPU bi-linear interpolation - [x] CUDA bi-linear interpolation - [x] CPU tri-linear interpolation - [x] CUDA tri-linear interpolation - [x] CPU inverse 2D weighted distance interpolation - [x] CPU inverse 3D weighted distance interpolation - [x] CUDA (with `@atomics`) 2D inverse weighted distance interpolation - [x] CUDA (with `@atomics`) 3D inverse weighted distance interpolation - [ ] Handle particles located on grid external boundaries - [ ] Unit testing (**priority**) - [ ] MPI support - [ ] Multi-gpu support - [ ] Scalability tests - [ ] Interface for [MACadvect.jl](https://github.com/JuliaGeodynamics/MACadvect.jl/tree/main/src) [GeoParams.jl](https://github.com/JuliaGeodynamics/GeoParams.jl.git) - [x] Functors to available creep laws - [x] Elasticity struct - [x] Interoperability with ParallelStencil.jl - [x] `compute_viscosity()` agnostic to input parameters - [x] composable custom creep law [MACadvect.jl](https://github.com/JuliaGeodynamics/MACadvect.jl/tree/main/src) - [ ] Rename to _PiCadvect.jl_ ? - [ ] 2D RK2 advection scheme - [ ] 3D RK2 advection scheme