From 017d164eeba08d7cefbef9fd3ba0c79fb03b66de Mon Sep 17 00:00:00 2001 From: Humberto Date: Sun, 1 Sep 2024 23:11:30 +0200 Subject: [PATCH] docs: first draft for home page --- docs/src/index.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/docs/src/index.md b/docs/src/index.md index a528a5a3..6fa2186c 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,3 +1,54 @@ # XCALibre.jl -Documentation for XCALibre.jl +# What is XCALibre.jl? + +XCALibre.jl (pronounced as the mythical sword *Excalibur*) is a general purpose Computational Fluid Dynamics library for 2D and 3D simulations on structured/unstructured grids using the finite volume method. XCALibre.jl has been designed to act as a platform for developing, testing and using *XPU CFD Algorithms and Libraries* to give researchers in both academia and industry alike a tool that can be used to test out ideas easily within a framework that offers acceptable performance. To this end, XCALibre.jl has been implemented to offer both CPU multi-threaded capabilities or GPU acceleration using the same codebase (thanks to the unified programming framework provided by `KernelAbstractions.jl`). Additionally, XCALibre.jl also offers a friendly API for those users who are interested in running CFD simulations with the existing solvers and models built into XCALibre.jl. + +# Why XCALibre.jl? + +# Main features + +### Multiple backends +XCALibre.jl embraces parallelism out-of-the-box on all the compute backends supported by KernelAbstractions (the developers have only been able to test GPU operation Nvidia GPUs due no access to other hardware) +* GPU acceleration on +* Multi-threaded runs on CPUs + +### Mesh formats +XCALibre.jl uses its own mesh format to allow the geometry and boundary information for the case to be stored in a format that is suitable for both CPU and GPU calculations. However, mesh conversion tools for the following mesh formats are provided: + +* OpenFOAM meshes for 3D simulations (ascii only) +* UNV meshes for 2D simulations (ascii only) +* UNV meshes for 3D simulations (ascii only) + +### Solvers +* Incompressible steady and transient (based on the SIMPLE and PISO algorithms) +* Weakly-compressible steady and transient (based on the SIMPLE and PISO algorithms) + +### Turbulence and energy models +* Reynolds-Averaged Navier-Stokes (RANS) + * ``k-\omega`` + * ``k-\omega`` LKE +* Large Eddy Simulation (LES with implicit filtering) + * Smagorinsky +* Energy models + * Sensible energy (enthalphy) + +### Numerical schemes +* Linear - second order schemes for gradients, laplacian and divergence terms +* Upwind - first order upwind-biased scheme for divergence terms +* LUST (divergence) - mixed order upwind-biased scheme for divergence terms +* Midpoint - skew-corrected scheme for gradient calculations +* SteadyState - dummy scheme used to dispatch solvers for operation in steady mode +* Euler - first order semi-implicit time scheme + +# Installation + +# Example + +# Planned development + +### Capabilities, solvers, algorithms, etc. + +### API + +### Internals