Skip to content

This is a repository for storing some advection case for teaching CGFD.

Notifications You must be signed in to change notification settings

sreveryone/iap-cgfd-adv-cases

 
 

Repository files navigation

Introduction

This repository contains some classic or practical advection schemes for demonstrating them to the first year graduates:

  • FTCS (Forward-in-time, centered-in-space)
  • Upwind
  • Beam-Warming
  • Lax-Wendroff
  • Fromm
  • Leap-frog
  • Crank-Nicolson
  • TSPAS
  • MPDATA
  • WENO
  • FFSL
  • Semi-Lagrangian

You can download it, and run each schemes by:

$ cd <repository directory>
$ mkdir build
$ cd build
$ cmake ..
$ make
$ cd upwind
$ ./upwind_adv_1d_case.exe
$ ncl ../../tools/plot_adv_1d.ncl scheme=\"upwind\"

Software dependencies

  • Fortran compiler (I use gfortran)
  • NetCDF library (for outputting data)
  • GSL library (optional for tridiagonal matrix solver)
  • CMake (for generating Makefile)
  • NCL (for plotting)

If you encounter difficulties to fulfill the requirement, you may use Docker image which we have created by:

$ docker pull dongli/iap-cgfd-adv-cases:0.0.2
$ docker run -it dongli/iap-cgfd-adv-cases:0.0.2

TODO list

Next I would like to do the following things:

  • Add 2D upwind, Lax-Wendroff scheme cases
  • Extend TSPAS to 2D and include cross terms

Authors

About

This is a repository for storing some advection case for teaching CGFD.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 88.5%
  • NCL 6.8%
  • CMake 3.3%
  • Dockerfile 1.2%
  • Shell 0.2%