---
# System prepended metadata

title: JustRelax

---

# 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