Sets the ghost state to the provided freestream state. More...
#include <Boundary_condition.hpp>
Public Member Functions | |
| Freestream (Mat<> freestream_state) | |
freestream_state.size() must equal the n_var() of the Boundary_connection you apply_state it to | |
| 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 &) |
Sets the ghost state to the provided freestream state.
Technically this can result in an ill-posed problem if used in anything other than a supersonic inlet, but in numerical practice it often gets you the right answer anyway, at least for inviscid problems.
|
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.