Giter Club home page Giter Club logo

fvm's Introduction

DOI

Solving the advection-diffusion equation on an non-uniform mesh with the finite-volume method


This repo is basically my notes on learning the finite-volume method when applied to the advection-diffusion equation. The methods are based on the the book by W. Hundsdorfer and J. G. Verwer, Numerical solutions of time-dependent advection-diffusion reaction equations.

For my lab-book notes on solving the advection-diffusion equation with the finite-volume method see the accompanying gh-pages branch, https://danieljfarrell.github.io/FVM/index.html.

The code is written in python using numpy as scipy libraries.

Ideas I wanted to explore:

  • How to implement a cell centred mesh?
  • How to implement a non-uniform mesh?
  • How to include adaptive upwinding?
  • This means that the discretisation automatically adjusts to an appropriate scheme depending on the local value of the Peclet number.
  • I use exponentially fitting which is a nice method because it enables to equations to be solved for any Peclet number.
  • A central difference scheme is limited to Peclet number < 2, however a upwind scheme the Peclet number is unbounded.
  • Please not that the CFL condition imposes a limited on the time step when using upwind method.
  • How to include Robin boundary conditions which do not allow any out flow.
  • How to include Dirichlet boundary conditions.
  • How to export a movie of time-dependent simulations.

fvm's People

Contributors

danieljfarrell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

fvm's Issues

Problem with equation formatting in the notes

Hello. I was looking at your really excellent notes on discretizing finite volume problems. However for some reason, it seems like something is amiss with either mathjax or katex or whatever is formatting the latex equations. Here is a picture of what I am seeing in my browser. I actually tried 2 different browsers to see if it was a problem on my end, but it was not.

Not sure what it could be, but perhaps it is some simple adjustment to the version or something when generating the static pages.

Here is a picture of what I am seeing.

Selection_001

Efficiency

Hi Daniel,
I went through the code and I see there may be rooms for efficiency. By the way I have some questions:

  1. Why the the model iteself creates a, d, k while you have created them already in the example code?
  2. Is there any reason the solver is not implemented inside Model calss?
  3. Why not to include the source term?

Project License

Hi Daniel.

I have developed a framework where one of the validation scripts is based on your FVM notes.
I would like to open source our framework for other researchers to use under BSD 3 license.
In the process of cleaning code, references etc, I noticed that your FVM project does not have any license, which may be a problem to open source it from my side.
If you do not mind me asking: could it be possible to add a license to your github?

That would help the development of other projects based on your very useful script.

Thanks a lot.
Regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.