/CFD2021-G4-Projects

Two teams working together.

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

CFD2021-G4-Projects

Codacy grade CircleCI build status CodeCov coverage Standard-README compliant License: Apache-2.0 Wakatime timing
ColPrac: Contributor's Guide GitHub Repository Discussions Zoom meeting Tencent meeting

This repository dedicates to the team projects related to the computational fluid dynamics course by Prof. Ren, 2021 spring, at SAS, THU.
Efforts are contributed by a joined 4-member group.
For practice and performance, we attempt to use the Julia programming language in these projects.

Configuration

The project is mainly written in Julia, albeit FORTRAN C/C++ Python Wolfram MATLAB may also marginally used. As CFD is a mature community we utilized various robust tools built by the community, which require user/contributors to do some preparation before setting the project up.

Prerequisites

To use or contribute to the project, these tools should be previously installed:

  • Julia
  • Python
  • Conda

Setup

  • Clone the repository with Git:
git clone git@github.com:tsinghua-TEEP/CFD2021-G4-Projects.git
  • Instantiate the dependencies.
    • (to be implemented) In the root directory of the repository, run:
      python ./setup.py
    • For now, you need to instantiate the dependencies yourself.
      • Julia: type julia in the OS shell to enter the Julia REPL, then type ] to enter the Pkg interface; from there:
      (@v1.6) pkg> activate .
      (CFD2021Projects) pkg> instantiate
      
      in case you need to update the dependencies after that, do
      (CFD2021Projects) pkg> update; precompile
      
      • Conda: in the repo root, from the OS shell execute
      conda env create --prefix ./.conda/env/CFD2021-G4-Projects --file ./conda-environment.yml
      • Git submodules: some of the dependencies are git submodules. In the repo, from the OS shell execute
      git submodule update --init --recursive

Contents

Projects are listed as below:

Project 1

Analytical and elliptic grid generation for geometrical and general setups.

TODOs:

  • General purpose solver for the inverted Poisson equation. (see gauss-seidel.jl from CFD-Julia)
  • Processing general NACA airfoils (formula generation, discretization, splining, etc.)
  • Port the output to standard Gmsh format.