hexed 0.4.0
 
Loading...
Searching...
No Matches
hexed::Pressure_outflow Class Reference

sets pressure on outflow boundaries More...

#include <Boundary_condition.hpp>

Inheritance diagram for hexed::Pressure_outflow:
hexed::Flow_bc

Public Member Functions

 Pressure_outflow (double pressure)
 
void apply_state (Boundary_connection &) override
 applies boundary condition to state variables (Dirichlet BCs)
 
void apply_flux (Boundary_connection &) override
 
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 &)
 

Detailed Description

sets pressure on outflow boundaries

  • For supersonic outflow, same as Riemann_invariants
  • For subsonic outflow, sets the pressure instead of the incoming characteristic.
  • Not valid for inflow. In principle, this could be less destructive than Riemann invariants for some wakes or boundary layers.
    Attention
    Sets all the viscous fluxes to zero regarding of Mach number, which makes it technically ill-posed. Not sure if that matters in practice.

Member Function Documentation

◆ apply_flux()

void hexed::Pressure_outflow::apply_flux ( Boundary_connection & con)
overridevirtual
Todo
make this formally well-posed

Implements hexed::Flow_bc.

◆ apply_state()

void hexed::Pressure_outflow::apply_state ( Boundary_connection & )
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.

◆ smooth()

bool hexed::Pressure_outflow::smooth ( ) const
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.


The documentation for this class was generated from the following files: