jtoumey / fvm-conv_dif Goto Github PK
View Code? Open in Web Editor NEWModel Convection-Diffusion problems using the finite volume method
Model Convection-Diffusion problems using the finite volume method
Write the value of phi
along the diagonal from (0, ymax
) to (xmax
,0). Results along this line will clearly illustrate the deficiencies with the various schemes.
The output file (phi_oblique.dat) should be in two column format:
y phi
There are lots of arrays and variables that could be arranged into data structures.
For example, all FVM coefficients (as
, aw
, ap
, ae
, an
) could be organized in a single structure to aid in passing arrays to subroutines.
The current solution method is a direct method -- the Thomas algorithm for tri-diagonal matrices. This works by solving along N-S lines and treating W and E coefficients explicitly.
Add the option to choose iterative solvers (Jacobi, Gauss-Seidel, etc.) as an exercise.
Additionally, I can modularize all of the components of the Thomas algorithm procedure (e.g., bounds calculation, update_explicit
, and thomas
).
The Su
vector (b in Ax = b) is not updated properly. After solving the first N-S line, Su
is zero for all subsequent lines. This returns a result of zero when solving directly with the Thomas algorithm.
The BCs are currently hard-coded.
The code currently solves for phi for just one sweep of the grid. Now that this feature appears to work acceptably, I need to add a residual calculation and solve to a desired tolerance.
I thought I had to use FORTRAN90
modules. These are like classes in OOP, but they felt like global arrays the way I was using them. This caused a lot of problems.
The solution is to, in the called subroutine, explicitly declare the size of the array when you make the intent(inout)
statement.
Like in this lovely stackoverflow article.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.