/Classical-Finite-Differences

Classical Finite Differences Schemes for numerically solve different Partial Differential Equations.

Primary LanguagePython

Classical Finite Differences

Classical Finite Differences Schemes for numerically solve different Partial Differential Equations.

All the codes are distributed under MIT License on GitHub and are free to use, modify, and distribute giving the proper copyright notice.

Description 📝

This repository contains a variety of Classical Finite Differences Schemes to solve:

  1. Poisson Equation.

    1. Iterative approach.
      1. Classical 1D problem with Dirichlet conditions.
      2. Classical 2D problem with Dirichlet conditions.
      3. 1D problem with Neumann and Dirichlet conditions with a two-point-backward approach for Neumann condition.
      4. 1D problem with Neumann and Dirichlet conditions with a two-point-centered approach for Neumann condition.
      5. 1D problem with Neumann and Dirichlet conditions with a three-point-forward approach for Neumann condition.
    2. Matrix approach.
      1. Classical 1D problem with Dirichlet conditions.
      2. Classical 2D problem with Dirichlet conditions.
      3. 1D problem with Neumann and Dirichlet conditions with a two-point-backward approach for Neumann condition.
      4. 1D problem with Neumann and Dirichlet conditions with a two-point-centered approach for Neumann condition.
      5. 1D problem with Neumann and Dirichlet conditions with a three-point-forward approach for Neumann condition.
  2. Diffusion Equation.

    1. Iterative approach.
      1. Classical 1D problem with Dirichlet conditions.
      2. Classical 1D problem with Dirichlet conditions with a Crank-Nicolson approach.
      3. Classical 2D problem with Dirichlet conditions.
      4. Classical 2D problem with Dirichlet conditions with a Crank-Nicolson approach.
      5. 1D problem with Dirichlet conditions using a MOL approach.
      6. 2D problem with Dirichlet conditions using a MOL approach.
    2. Matrix approach.
      1. Classical 1D problem with Dirichlet conditions.
      2. Classical 1D problem with Dirichlet conditions with a Crank-Nicolson approach.
      3. Classical 2D problem with Dirichlet conditions.
      4. Classical 2D problem with Dirichlet conditions with a Crank-Nicolson approach.
  3. Advection Equation.

    1. Iterative approach.
      1. Classical 1D problem with Dirichlet conditions using a FTCS stencil.
      2. Classical 1D problem with Dirichlet conditions using a FTBS stencil.
      3. Classical 1D problem with Dirichlet conditions using a FTFS stencil.
      4. Classical 1D problem with Dirichlet conditions using a Leapfrog approach.
      5. Classical 1D problem with Dirichlet conditions using a Lax-Wendroff approach.
      6. Classical 1D problem with Dirichlet conditions using a Beam Warming approach.
      7. Classical 2D problem with Dirichlet conditions using a FTCS stencil.
      8. Classical 2D problem with Dirichlet conditions using a FTBS stencil.
      9. Classical 2D problem with Dirichlet conditions using a FTFS stencil.
      10. Classical 2D problem with Dirichlet conditions using a Lax-Wendroff approach.
      11. Classical 2D problem with Dirichlet conditions using a Beam Warming approach.
      12. 1D problem with Dirichlet conditions using a MOL approach.
      13. 2D problem with Dirichlet conditions using a MOL approach.
    2. Matrix approach.
      1. Classical 1D problem with Dirichlet conditions using a FTCS stencil.
      2. Classical 1D problem with Dirichlet conditions using a FTBS stencil.
      3. Classical 1D problem with Dirichlet conditions using a FTFS stencil.
      4. Classical 1D problem with Dirichlet conditions using a Leapfrog approach.
      5. Classical 1D problem with Dirichlet conditions using a Lax-Friedrichs approach.
      6. Classical 1D problem with Dirichlet conditions using an optimized Lax-Friedrichs approach.
      7. Classical 1D problem with Dirichlet conditions using a Lax-Wendroff approach.
      8. Classical 1D problem with Dirichlet conditions using a Beam Warming approach.
      9. Classical 2D problem with Dirichlet conditions using a FTCS stencil.
      10. Classical 2D problem with Dirichlet conditions using a FTBS stencil.
      11. Classical 2D problem with Dirichlet conditions using a FTFS stencil.
      12. Classical 2D problem with Dirichlet conditions using a Lax-Wendroff approach.
      13. Classical 2D problem with Dirichlet conditions using a Beam Warming approach.
  4. Advection-Diffusion Equation.

    1. Iterative approach.
      1. Classical 1D problem with Dirichlet conditions.
      2. Classical 1D problem with Dirichlet conditions with a Crank-Nicolson approach.
      3. Classical 2D problem with Dirichlet conditions.
      4. Classical 2D problem with Dirichlet conditions with a Crank-Nicolson approach.
      5. 1D problem with Dirichlet conditions using a MOL approach.
      6. 2D problem with Dirichlet conditions using a MOL approach.
    2. Matrix approach.
      1. Classical 1D problem with Dirichlet conditions.
      2. Classical 1D problem with Dirichlet conditions with a Crank-Nicolson approach.
      3. Classical 2D problem with Dirichlet conditions.
      4. Classical 2D problem with Dirichlet conditions with a Crank-Nicolson approach.

Researchers 🧑‍🔬

All the codes presented were developed by:

Students 👨‍🎓 👩‍🎓

Funding 💵

With the financing of:

  • National Council of Humanities, Sciences and Technologies, CONAHCyT (Consejo Nacional de Humanidades, Ciencias y Tecnologías, CONAHCyT), México.

  • Coordination of Scientific Research, CIC-UMSNH (Coordinación de la Investigación Científica de la Universidad Michoacana de San Nicolás de Hidalgo, CIC-UMSNH), México.

  • Aula CIMNE-Morelia, México.