All Projects → ucns3d-team → UCNS3D

ucns3d-team / UCNS3D

Licence: GPL-3.0 license
Unstructured Compressible Navier Stokes 3D code (UCNS3D)

Programming Languages

fortran
972 projects

Projects that are alternatives of or similar to UCNS3D

hybridCentralSolvers
United collection of hybrid Central solvers - one-phase, two-phase and multicomponent versions
Stars: ✭ 42 (-70.21%)
Mutual labels:  cfd, computational-fluid-dynamics, compressible-flows
lethe
Repository for the open-source lethe CFD/DEM/CFD-DEM project
Stars: ✭ 120 (-14.89%)
Mutual labels:  cfd, computational-fluid-dynamics
TrainingTracks
Materials for training tracks for continua media - OpenFOAM, vortex method, and other
Stars: ✭ 59 (-58.16%)
Mutual labels:  cfd, computational-fluid-dynamics
exadg
ExaDG - High-Order Discontinuous Galerkin for the Exa-Scale
Stars: ✭ 62 (-56.03%)
Mutual labels:  cfd, computational-fluid-dynamics
SNaC
A multi-block solver for massively parallel direct numerical simulations (DNS) of fluid flows
Stars: ✭ 26 (-81.56%)
Mutual labels:  cfd, computational-fluid-dynamics
opensbli
A framework for the automated derivation and parallel execution of finite difference solvers on a range of computer architectures.
Stars: ✭ 56 (-60.28%)
Mutual labels:  compressible-fluid-dynamics, computational-fluid-dynamics
magic
MagIC is a high-performance code that solves the magneto-hydrodynamics equations in rotating spherical shells
Stars: ✭ 67 (-52.48%)
Mutual labels:  cfd, computational-fluid-dynamics
range3
Range Software - Finite Element Analysis
Stars: ✭ 31 (-78.01%)
Mutual labels:  cfd, computational-fluid-dynamics
CaNS
A code for fast, massively-parallel direct numerical simulations (DNS) of canonical flows
Stars: ✭ 144 (+2.13%)
Mutual labels:  cfd, computational-fluid-dynamics
CFD
Basic Computational Fluid Dynamics (CFD) schemes implemented in FORTRAN using Finite-Volume and Finite-Difference Methods. Sample simulations and figures are provided.
Stars: ✭ 89 (-36.88%)
Mutual labels:  cfd, computational-fluid-dynamics
WABBIT
Wavelet Adaptive Block-Based solver for Interactions with Turbulence
Stars: ✭ 25 (-82.27%)
Mutual labels:  cfd
2D-Elliptic-Mesh-Generator
2D orthogonal elliptic mesh generator which solves the Winslow partial differential equations
Stars: ✭ 36 (-74.47%)
Mutual labels:  cfd
caeroc
☴🖩 Compressible Aerodynamics Calculator for Python
Stars: ✭ 25 (-82.27%)
Mutual labels:  compressible-flows
nalu-wind
Solver for wind farm simulations targeting exascale computational platforms
Stars: ✭ 85 (-39.72%)
Mutual labels:  cfd
Omega2D
Two-dimensional flow solver with GUI using vortex particle and boundary element methods
Stars: ✭ 17 (-87.94%)
Mutual labels:  cfd
ccfd
A 2D finite volume CFD code, written in C
Stars: ✭ 26 (-81.56%)
Mutual labels:  cfd
fosolvers
FOSolverS: a Suite of Free & Open Source Solvers. A brief overview:
Stars: ✭ 24 (-82.98%)
Mutual labels:  cfd
NGA2
Object-oriented multi-mesh version of the classic reacting turbulent multiphase flow solver
Stars: ✭ 25 (-82.27%)
Mutual labels:  cfd
lettuce
Computational Fluid Dynamics based on PyTorch and the Lattice Boltzmann Method
Stars: ✭ 74 (-47.52%)
Mutual labels:  cfd
MacroUtils
MacroUtils is a collection of high-level APIs in order to make your life easier when writing STAR-CCM+ JAVA macros.
Stars: ✭ 32 (-77.3%)
Mutual labels:  cfd

UCNS3D: The Open-Source High-Order Finite-Volume CFD Solver

Overview

This repository contains the source code ucns3d Computational Fluid Dynamics (CFD) solver and instructions on how to use it with representative examples.

UCNS3D is an open-source computational solver for compressible flows on unstructured meshes. State-of-the-art high-order methods are are available in a versatile 2D and 3D unstructured CFD framework for a wide-range of compressible flow problems.

The 2022 "whitepaper" contains a detail overview of the methods, capabilities and application of the solver.

Overview

The ucns3d solver is portable to Linux operating systems and MacOS (Catalina or newer) as well as on Windows 10 using Windows Subsystem for Linux (WLS-2). The parallel CFD code employing MPI+OpenMP for distributed memory machines.

ucns3d can deal with triangular, quadrilateral,tetrahedral,pyramidal, prismatic, and hexahedral elements.

Install

There are two main methods to locally install the solver and run the solver.

  • Install through Docker
  • Install all dependencies and compilers manually.

Docker

  1. Install Docker Desktop on any operating system you are working. For Windows 10 or 11 you would need WSL ideally WSL2 installed, follow Microsoft's instructions.

  2. In your bash terminal build the ucns3d image, you would need invoke docker build from the repository root directory:

docker build . -t ucns3d -f Dockerfile
  1. Once the image is build run the image, you can run the image interactively like so:
docker run -ti ucns3d

The current Dockerfile contains an example case under tests. Alternatively, you can mount a tmp directory and copy other uses cases when you run the image like so:

docker run -v $PWD/tmp/:/tmp/ -ti ucns3d

Manual Build

The source code is written in Fortran and can be compiled in various environment. The following OS options are available.

  • Linux x86-64 (Tested on Redhat, Ubuntu, Centos, Suse).
  • MacOS Intel based (Catalina and newer).
  • Windows 10 through WSL2, Ubuntu 20.04

Build

The source code requires compilation and linking both static and dynamic libraries. The source code can be compiled with the following compilers.

  • Intel Parallel Studio Version 17 or newer.
  • G-Fortran and gcc with an MPI distribution.

Compilation Dependencies

The solver makes use of BLAS libraries that are required for the compilation and running of the solver.

  • Intel MKL library
  • OpenBLAS

The mesh is partitioned using metis software.

  • Open a terminal window in the src directory

  • Ensure that you have selected the desirable compiling options in the Makefile, by specifying the appropriate fortran compiler (ftn, ifort etc) and ensure that you have copied the static libraries from the lib directory. Always compile with full debug options when developing something new, and then proceed to the more optimised compiler options.

  • For a clean installation

make -f Makefile clean all
  • For recompiling changed files and their dependencies
make -f Makefile
  • the name of the executable is ucns3d_p.

Running

For running ucns3d you will need the following files in a directory of your choice:

  • a grid file generated with any software packages exported in Ansys fluent format (ASCII *.msh extension), given the name grid.msh or their translated to native format files GRID.cel, GRID.vrt, GRID.bnd (a detailed description of the files can be found in FILES.md)
  • the UCNS3D.DAT parameter file responsible for all the settings of the code (details for the parameters of this can be found in PARAMETERS.md file)
  • the executable ucns3d_p
  • For interactively running the code specify the number of threads to be used by typing in the terminal window
export OMP_NUM_THREADS=N

N being the number of threads to be used (use 1 for MPI only mode)

  • in the same terminal window run the code by typing
mpirun -np M ./ucns3d_p

M being the number of MPI processes (at least 2 are required), for running at different HPC systems sample scripts and libraries are provided.

Visualisation of outputs

The solver outputs to different formats enable post-processing and visualisation through the folowing software

Examples

Representative tests can be downloaded from

tests1

tests2

and a detailed description is provided in the file TESTS.md

License

The ucns3d solver is distributed under the GNU General Public Licence v3 See the LICENSE file for details.

Support

Please get in touch and let us know how we can make this project better [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].