Live data from Hacker News

Poisson's Equation

mattferraro.dev

151–160 of 167 posts

Re: Poisson's Equation

#151

Why is the laplacian so ubiquitous? Well, locally any reasonable PDE is well approximated by a linear one. And linear PDEs are of the form Lu = f for a linear differentiable operator L. But why does the particular case of L = laplacian show up so often in physics? Galilean invariance says that the laws of physics should be invariant under translation and rotation. Checking this against Lu = f, you can verify that one…

> you can show [...] every linear differential operator [that commutes with translations and rotations] is a polynomial in the Laplacian.

I may be tripping over something here but this doesn't sound right. If you mean polynomial in the real number sense, i.e.

Lu = a0 + a1 Delta(u) + a2 Delta(u)^2 + ...

(where Delta = Laplacian, and a0, a1, ... real numbers), then is this true? The famous wave operator doesn't have this form.

And if you mean "polynomial" as in a series over function space, i.e.

Lu ~ a0 + a1 Du + a2 D^2u + ... (infinite terms, not equality but convergence)

where D is the usual differential operator and a0 is a number, a1 is a 1-d vector, a2 is a 2d matrix, so on, then this is standard calculus of variations on any reasonable function space. Taylor series for function spaces if you want. I don't think that's limited to nice Galilean operators.

Re: Poisson's Equation

#152

Earlier quoted context omitted.

I feel the same. How can it be that I went to a world famous institution providing 2-to-1 student-teacher ratios, but I still think the best explanations are these modern internet explanations? I guess the best explanations just bubble up in the modern environment. > you're not supposed to learn everything in college, you're supposed to learn how to learn But to learn how to learn, you gotta learn some things to a so…

The answer is statistics: what is more likely, that the best explainer of a certain topic is within a group of people you have access to, or that person is somewhere else in the world? This is very analogous to the problem industrial research groups face trying to answer a certain problem, e.g. ‘how do we ensure that our team is the most likely to solve a particular problem first?’ This is why start up acquisitions a…

You are assuming that the best explanation can be given without interaction. I don’t have to be a great explainer but only have enough social skills to do an iterative search thru explanations, using my learning friends face and questions as metric, and find a very good explanation for that person at that time. If but only if they missed some but of linear algebra, i can sketch it out. And while Many people learn well by listening and note taking, many others also learn well by doing. We have documents and so on at work but when I see a good PR then I know the message is understood.

Start ups are better than large companies not because the people are so much smarter, but because the structure enables for so much more rapid learning and search of the solution space.

Re: Poisson's Equation

#153

Earlier quoted context omitted.

> rather than add a curve to a test that makes a 23 out of 100 an "A" grade. For people wondering why fresh college grads they interview somehow have 4.0 averages yet can’t code FizzBuzz during an interview, this is the answer. It’s also why good hiring managers do not even bother to look at GPAs listed on CVs. They are so inflated as to be totally meaningless.

Obviously depends on the school, and how much grade inflation (or deflation) they've gone through. When I studied Electrical Engineering, class average was 2.8 or so. The few students that actually had anything close to a 4.0 were terrific students. I remember in our real analysis class, the professor started with a comment (to the class) in the lines of: "This is a demanding class. Top performing students usually sp…

Hmmm. I took a real analysis class at UNC Charlotte and one at Oxford and the latter one transformed my understand of maths. I felt if I ever taught a “maths for humanities” class Lebesgue integration and measure theory would be key components. I think if they are taught well by a person that really understands it backwards and forwards, well enough to explain it like a physicist, it is accessible.

Re: Poisson's Equation

#154

I could have used this 32(!) years ago when I was struggling in college. (This and 3b1b.) It amazes me just how many key topics were so inaccessible to the majority of the class at engineering school. I base this on observations from group study sessions and the hyper-aggressive test curves. I knew lots of people who never got the hang of div/grad/curl, or a Jacobians, or eignenvectors, or Z-transforms... These are k…

> you'd think colleges would bend over backwards to make sure these concepts are learned as succinctly as possible rather than add a curve to a test that makes a 23 out of 100 an "A" grade

School is not about learning. It's about money. Seating as many students as possible for as long as possible to suck in as much student loan money as possible. For this you need to be a prestigious school. Of course they want to boost their grades.

These are the people who have the gall to claim a moral high ground when they find and punish "cheaters".

Re: Poisson's Equation

#155
This article details matrices as fixed known sets of data.

Much more interesting is the vector calculus. Vectors as the result of the sum of their components are good. But think of the reverse. Your model outputs the current vector. Your model predicts the next vector in sequence. Just from current and next, your model provides any amount of underlying components, as high resolution as you want. Nature fails before your model does, through the lack of continuity in steps and impulses and the mean value theorem no longer holds.

Vector analysis was pioneered by Josiah Gibbs, someone who doesn't nearly get enough credit. Up there with Boltzmann, Maxwell, Planck, and Einstein.

Re: Poisson's Equation

#156
Beautifully done. Everything was clear and intelligible.

I have a CS background, but no physics/aerodynamics background. What are the minimum additional steps beyond this tutorial which could produce an aerodynamically correct 2D wing simulator? (With turbulence, not a steady-state solution.) I've come back to tackle this topic intermittently but have never cracked it. To anyone with expertise here who could share an overview and links, I'd be grateful.

Re: Poisson's Equation

#157
Always looking to interrelate my knowledge that sometimes appears to more disparate that I care to consider. The simplicity of considering a matrix function in this way is very elegant. This type of methodology can help demystify some of the earlier steps in modeling by adding a simple intuitive picture that encourages a connection to calculation from the get go.

Re: Poisson's Equation

#158
post #60
post #2

Since you have written it as a symmetric, positive definite, sparse linear system, why don't use a standard solver like CHOLMOD which is available in Julia? (and behind octave's anti-slash operator). It should be faster than the ad-hoc single-scale Gauss-Seidel.

Conjugate gradient descent with a multigrid preconditioner also works quite well in my experience, especially for larger systems.

I've never worked with multi-grid, but I assume the preconditioner is also based on the Cholesky factorization? Incomplete Cholesky was pretty effective as the preconditioner for the pressure solve in my toy fluid sim.

Re: Poisson's Equation

#159

Why is the laplacian so ubiquitous? Well, locally any reasonable PDE is well approximated by a linear one. And linear PDEs are of the form Lu = f for a linear differentiable operator L. But why does the particular case of L = laplacian show up so often in physics? Galilean invariance says that the laws of physics should be invariant under translation and rotation. Checking this against Lu = f, you can verify that one…

> you can show [...] every linear differential operator [that commutes with translations and rotations] is a polynomial in the Laplacian. I may be tripping over something here but this doesn't sound right. If you mean polynomial in the real number sense, i.e. Lu = a0 + a1 Delta(u) + a2 Delta(u)^2 + ... (where Delta = Laplacian, and a0, a1, ... real numbers), then is this true? The famous wave operator doesn't have th…

Thanks for pointing this out, I should have been more precise. I was referring to time invariant equations. You are right that this doesn't apply to the wave operator (which also does not commute with rotations in R^4). But in space only, yes polynomial means polynomial with constant coefficients.

The proof basically goes that commuting with translations implies immediately that L has constant coefficients. Then on the Fourier side applying L translates to multiplying by a polynomial, and commuting with rotations translates to the claim that that polynomial is rotation invariant. And every rotation invariant polynomial in several variables is p(|x|^2) for some polynomial p in on variable. Then on the spacial side p(|x|^2) translates to L = p(laplacian).

Re: Poisson's Equation

#160

Beautifully done. Everything was clear and intelligible. I have a CS background, but no physics/aerodynamics background. What are the minimum additional steps beyond this tutorial which could produce an aerodynamically correct 2D wing simulator? (With turbulence, not a steady-state solution.) I've come back to tackle this topic intermittently but have never cracked it. To anyone with expertise here who could share an…

There are many different ways to do what you'd like. The easiest starting point would probably be this tutorial: https://github.com/barbagroup/CFDPython

But that won't handle turbulence. The real "turbulence problem" is that computing actual turbulent flows requires enormous computational resources. So instead of solving the Navier-Stokes equations, related equations with lower computational cost are solved. Because of how these equations are developed, they require modeling of "unclosed" terms, and this is a likely source of inaccuracy.

If you want something relatively simple, you could take the RANS approach and use the Spalart-Allmaras model:

https://www.cfd-online.com/Wiki/Introduction_to_turbulence/R...

https://www.cfd-online.com/Wiki/Spalart-Allmaras_model

How to implement the changes to the final part of Lorena Barba's tutorial should be fairly obvious by the time you get there.

Post reply on HN