A freestream boundary condition that sets only the ingoing characteristics. More...
#include <Boundary_condition.hpp>
Public Member Functions | |
| Riemann_invariants (Mat<> freestream_state) | |
| void | apply_state (Boundary_connection &) override |
| applies boundary condition to state variables (Dirichlet BCs) | |
| void | apply_flux (Boundary_connection &) override |
| applies boundary condition to viscous fluxes (if applicable) | |
| bool | smooth () const override |
Returns false if this BC tends to cause the flow not to be smooth. | |
Public Member Functions inherited from hexed::Flow_bc | |
| virtual void | apply_advection (Boundary_connection &) |
| applies boundary condition to linear advection equation used to compute nonsmoothness indicator | |
| virtual void | apply_diffusion (Boundary_connection &) |
| virtual void | flux_diffusion (Boundary_connection &) |
| virtual void | init_cache (Boundary_connection &) |
| virtual int | n_prescribed (int n_dim) const |
| virtual void | set_prescribed (Interpreter &, Boundary_connection &) |
A freestream boundary condition that sets only the ingoing characteristics.
Works in almost any situation. Should generally be the default farfield boundary condition.
|
overridevirtual |
applies boundary condition to viscous fluxes (if applicable)
Implements hexed::Flow_bc.
|
overridevirtual |
applies boundary condition to state variables (Dirichlet BCs)
writes to the first n_var()*size() entries of ghost_state() (called on the provided Boundary_face.)
Implements hexed::Flow_bc.
|
inlineoverridevirtual |
Returns false if this BC tends to cause the flow not to be smooth.
Farfield BCs should be expected to cause non-smoothness, especially if they are over-constrained, whereas wall boundary conditions should not. When performing AMR, cells on non-smooth boundaries will receive special treatment to avoid excessive refinement. So, when in doubt, have new boundary conditions return true so that they can be refined.
Implements hexed::Flow_bc.