numerical-mooc / assignment-bank

Contribute alternative assignments for Numerical Methods with Python
MIT License
14 stars 75 forks source link

final project submission #31

Open hasan2014 opened 9 years ago

labarba commented 9 years ago

I find that your presentation is not friendly to readers who do not already know what the Lattice Boltzmann method is, or even know some details of how it works. Straight away, you talk about lattice nodes, collision and distribution functions, and then you throw in a D1Q3 for good measure. Why should I know what you are talking about here? You don't show the governing equation for LBM and simply state that it's similar to Navier-Stokes.

And there's no reason to call the heat equation a "Navier-Stokes equation which only has the diffusion part." It's just the diffusion equation!

The code in this notebook seems to be solving a 1D heat equation. That's what is implied in your first heading. Yet the governing equation that is written in there is the 2D heat equation. What problem are you solving? We are forced to try to figure it out from your code and the final image: in the code, it looks like you are defining a 1D domain between 0 and 1, but the plot covers from 0 to 100. Inspecting some more, we find that you do xl=xl*100 later. Why? Your reader is confused.

In the section under the heading "Connection with FD and the Navier-Stokes Equations," you reference a textbook for more details—but there is no reference list in your notebook! I find, though, that the following sentence: "The primary reason why LBM can serve as a method for fluid simulations is that the Navier-Stokes equations can be recovered from the discrete equations through the "Chapman-Enskog" procedure, a multi-scaling expansion technique" … comes from this (uncredited) source: http://www.cims.nyu.edu/~billbao/report930.pdf This is bad form: never use bits of text from your sources and always cite all your sources.

Did you notice that you are loading NumPy twice?

hasan2014 commented 9 years ago

Professor Barba Hello .

Thanks for your comments on my work . It would be better to illustrate more

about the structure of my assignment .

I created a separate file named " introduction" . One is needed to start from introduction file rather than the code number (1) . In the introduction I tried to briefly describe this method and put some primary formulas to start . I could not describe the whole book and derivation of all formulas in just one notebook. I illustrated how to deal with boundary conditions and also diffusion or viscosity and some concerns arising in this method as well as in these codes.

The reliable reference is the first one by "A.A.Mohamad , Lattice Boltzmann Method " . I started from this book because of simple illustration . There is also another reference by " sukop " which was hard to follow as the start material . There are some complementary illustrations in other notebooks such as lid-driven or natural convection . in each problems new issues are discussed .

It is your right that the reader may confuse about D1Q3 or D2Q9 . I did not include figures in my notebook but in all the references it is shown in detail and specially for D1Q3 I mentioned that " D1Q3 means one dimensional with two particles placed in the left and right hand side of a certain particle zero" the position of particles were presented in introduction. However you are right it was better to add corresponding figures .

I wrote the LBM main formulas (please see the introduction file ) . We can estimate the derivative of LBM equation similar to FDM and then by comparison find the relation between diffusion coefficient and relaxation time of LBM . You are right that heat conduction is not a Navier-Stokes equation however we can learn how to model diffusion part in Navier-Stokes equation and also how to model Navier-stokes equation for example in stokes regime which the advection term is negligible ( such as couette flow or ...)

I could not understand your point about "Yet the governing equation that is written in there is the 2D heat equation " . I am solving one dimensional because of using D1Q3 and weighting coefficient and one dimensional distribution function . In Both FDM and LBM the length is set as 100 . but for plotting I at first createed nodes between 0 to 1 and then multiply each length by 100 . In LBM you could not have the real length similar to the problem (in contrast with FDM). Considering the length of 1 for cavity in liddriven . In FDM or FVM or other grid-based method you set your final length az one and then divided into grids. However in LBM we model the length by particles . we can not set the length as one particle . That is why for example we consider 80 particles for this length . Now we need to fix 80 nodes as the length one . I spoke about this issue in lid-driven file ( do it by defining non-dimensional parameters- Ref.3 ) .

Relation LBM to Navier-Stokes could be described by "Chapman-Enskog" procedure which could be find in detain through Ref. (1) in introduction . It is to some extent complicated procedure . It should be mentioned that in contrast to FDM or ... we could not directly solve the equations . We need at first transfer these equations in LBM format . that is why for each type of problem we need to discover related parameters to start simulation . For example If you want to add some source terms in LBM ( for example natural convection with buoyancy force ) one is not allowed to put the terms ( gB(T-Tcold ) ) in the right hand of LBM equations .

The best reference for starting is reference one that is why I prioritize this book as my first reference .

In fact choosing a project in FDM or FVM was easier for me because I only needed to encounter with only one problem and with little additional description . However describing the whole book was hard for me in a short time . I could simulate lid-driven or natural convection with FVM however preferred to focus on preparing codes for new method hope to be a initial platform in LBM techniques to have a very little role in this class .

Excuse me for illustration to you and thanks again for reviewing my work .

Thank you .

On Thu, Dec 25, 2014 at 9:12 PM, Lorena A. Barba notifications@github.com wrote:

I find that your presentation is not friendly to readers who do not already know what the Lattice Boltzmann method is, or even know some details of how it works. Straight away, you talk about lattice nodes, collision and distribution functions, and then you throw in a D1Q3 for good measure. Why should I know what you are talking about here? You don't show the governing equation for LBM and simply state that it's similar to Navier-Stokes.

And there's no reason to call the heat equation a "Navier-Stokes equation which only has the diffusion part." It's just the diffusion equation!

The code in this notebook seems to be solving a 1D heat equation. That's what is implied in your first heading. Yet the governing equation that is written in there is the 2D heat equation. What problem are you solving? We are forced to try to figure it out from your code and the final image: in the code, it looks like you are defining a 1D domain between 0 and 1, but the plot covers from 0 to 100. Inspecting some more, we find that you do xl=xl*100 later. Why? Your reader is confused.

In the section under the heading "Connection with FD and the Navier-Stokes Equations," you reference a textbook for more details—but there is no reference list in your notebook! I find, though, that the following sentence: "The primary reason why LBM can serve as a method for fluid simulations is that the Navier-Stokes equations can be recovered from the discrete equations through the "Chapman-Enskog" procedure, a multi-scaling expansion technique" … comes from this (uncredited) source: http://www.cims.nyu.edu/~billbao/report930.pdf This is bad form: never use bits of text from your sources and always cite all your sources.

Did you notice that you are loading NumPy twice?

— Reply to this email directly or view it on GitHub https://github.com/numerical-mooc/assignment-bank/pull/31#issuecomment-68118661 .

labarba commented 9 years ago

I only saw one notebook, and since it did not include any links to other files, I didn't notice there were more. Digging into your repo, I can see now that there is a bunch of files. This is a bit unwieldy.

We either need a table of contents, or hyperlinks to help us navigate the file set.

hasan2014 commented 9 years ago

Hello Professor

I have listed the code based on numbering them . we have one file called Introduction and then the first code is number one and the second code is number two and so on .

On Fri, Dec 26, 2014 at 4:43 PM, Lorena A. Barba notifications@github.com wrote:

I only saw one notebook, and since it did not include any links to other files, I didn't notice there were more. Digging into your repo, I can see now that there is a bunch of files. This is a bit unwieldy.

We either need a table of contents, or hyperlinks to help us navigate the file set.

— Reply to this email directly or view it on GitHub https://github.com/numerical-mooc/assignment-bank/pull/31#issuecomment-68159473 .

hasan2014 commented 9 years ago

Professor Barba Hello .

I have added the file named " Table of Contents " as you said me .

Thank you.

On Fri, Dec 26, 2014 at 4:43 PM, Lorena A. Barba notifications@github.com wrote:

I only saw one notebook, and since it did not include any links to other files, I didn't notice there were more. Digging into your repo, I can see now that there is a bunch of files. This is a bit unwieldy.

We either need a table of contents, or hyperlinks to help us navigate the file set.

— Reply to this email directly or view it on GitHub https://github.com/numerical-mooc/assignment-bank/pull/31#issuecomment-68159473 .

labarba commented 9 years ago

Did you forget to push it to your GitHub? I don't see any updates in the pull request … Thanks!

hasan2014 commented 9 years ago

I pushed it and can see it in assignment-bank and Final.Project.Hassan

On Fri, Dec 26, 2014 at 7:19 PM, Lorena A. Barba notifications@github.com wrote:

Did you forget to push it to your GitHub? I don't see any updates in the pull request … Thanks!

— Reply to this email directly or view it on GitHub https://github.com/numerical-mooc/assignment-bank/pull/31#issuecomment-68163851 .