-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What exactly is BoundaryConditionDirichlet? #965
Comments
As stated in our README.md (and common in CFD; finite volume, discontinuous Galerkin, flux reconstruction, ... methods), we use
in Trixi.jl. Such a shock tube problem is usually run to a small final time so that the numerical solution does not interact with the boundary. In that case, such a boundary condition is fine. |
@ranocha Er… could you explain the b.c. with traditional math notation, or add a reference readable for a CFD noob? I think it would be good to include such stuff in the tutorial.
Perhaps we can extend the discussion a bit: It may be my illusion, but I have a feeling that introductions of Euler equations in various materials tend to avoid discussing solutions interacting with the boundary of Euler equations, they're almost always about solutions localized in a small domain, or periodic. Is it because solutions interacting with the boundary is too complicated to discuss? (BTW b.c. of PDE is something that confuses me for years, I asked a question here: https://math.stackexchange.com/q/450367/58219) |
Boundary conditions for hyperbolic problems, especially for hyperbolic systems are tricky and quite different to e.g. elliptic PDEs. If you want to read up on this, I would read up on for instance "characteristic boundary conditions" and do a search on it. BCs for hyperbolic problems are often difficult, as they are in some sense artificial for many applications (except, when you have solid wall BCs). If you follow the key word characteristic boundary condition, you will most likely get to the theoretical background and the difficulties. Also, look up for non-reflecting boundary conditions. I recommend for instance the CFD book by BLAZEK, but there are many others that discuss the implementation (and the difficulty) of boundary conditions. In Trixi.jl, DirichletBoundaryConditions refers to prescribing an outer state at the boundary, but use the numerical flux at the surface to handle the situation (num flux uses value outside and insede and computes a boundary flux). Note that technically, there is no such thing as Dirichlet BC for compressible Euler (only in a very particular case, e.g. supersonic inflow). By using a numerical flux function, the BC state is applied weakly to the scheme. In particular, if you use a very accurate numerical flux function such as e.g. Roe's approximate Riemann solver, the Trixi.jl Dirichlet BC approaches a characteristic BC...if you use for instance Lax_Friedrichs numerical flux, it is more akin to a penalty type BC. |
@gregorgassner I strongly recommend including these in the document, ideally a section named Boundary Conditions or so, but even |
We recently added a reference to a good introductory paper in the docs. |
The document and its name seem to suggest it's used for setting Dirichlet boundary condition, but is it true? If I set
tspan = (0, 0.7)
in #962, the following solution is obtained:Seems that something like open boundary condition (or transparent boundary condition, or boundary condition at infinity, or whatever you want to call it) has been set. (I haven't compared it to the analytic solution, so I may be wrong. )
What's the actual boundary condition here?
The text was updated successfully, but these errors were encountered: